finish(STATE-WP-0064): cut over scheduler and split sweep errors from failures

STATE-WP-0064 cutover (state-hub only):
- Retire local custodian-sync.timer; archive units under infra/systemd/archived/
- Mark workplan finished; update infra/README, cron-migration, runbook, AGENTS.md
- Point activity-core-delegation at the consistency-sweep runbook

Consistency engine — automation error vs assessment failure:
- C-00 is an automation error; C-01..C-23 assessment failures are recorded
  for follow-up but no longer fail --remote --all scheduled sweeps (exit 0)
- Skip workplans/README.md in the workplan glob (human index, not a workplan)
- Progress events and compare script expose automation_error and
  assessment_failures separately from exit_code
This commit is contained in:
2026-06-22 01:20:59 +02:00
parent 270033a50d
commit 39ed5459b9
14 changed files with 221 additions and 180 deletions

View File

@@ -515,6 +515,14 @@ class TestConsistencyExitContract:
def test_remote_all_treats_warning_only_as_success(self):
assert consistency_exit_code([self._report("WARN")], remote_all=True) == 0
def test_remote_all_treats_assessment_failures_as_success(self):
assert consistency_exit_code([self._report("FAIL")], remote_all=True) == 0
def test_remote_all_fails_on_automation_error(self):
report = ConsistencyReport(repo_slug="r", repo_path="/p")
report.add(severity="FAIL", check_id="C-00", message="api down")
assert consistency_exit_code([report], remote_all=True) == 1
class TestConsistencyMakeTargets:
CONSISTENCY_TARGETS = [