diff --git a/conductor/workflow.md b/conductor/workflow.md index 22a7d613..91d690ab 100644 --- a/conductor/workflow.md +++ b/conductor/workflow.md @@ -565,6 +565,24 @@ The recommended execution order is the topological sort of the `blocked_by` grap --- +## Chronology Maintenance + +**Chronology regeneration cadence.** After every track ships (completion commit + TRACK_COMPLETION report), the implementing agent must run `uv run python scripts/audit/generate_chronology.py --draft > conductor/chronology.md` to regenerate `conductor/chronology.md`. The regeneration is a single atomic commit (`docs(chronology): regenerate after shipped`). If the regeneration produces a diff beyond the new row (e.g., status changes on other rows), the agent must investigate before committing — a status drift on an unrelated row indicates a stale classifier, not a chronology bug. + +**Quality gate.** `scripts/audit/chronology_quality_gate.py` runs as part of the regeneration. It fails (exit 1) if >30% of rows are classified as `Needs Review`. A failing quality gate blocks the regeneration commit. Run `uv run python -m scripts.audit.chronology_quality_gate --strict` before committing the regenerated chronology. + +**When to regenerate:** +- After a track ships (TRACK_COMPLETION report committed) +- After a track is abandoned (TRACK_ABORTED report committed) +- After a track is superseded (state.toml status = "superseded") +- After a track folder is archived (moved to `conductor/archive/`) + +**When NOT to regenerate:** +- Mid-track (the chronology reflects filesystem state; a mid-track folder is correctly "In Progress" or "Active") +- After a plan.md edit (the chronology doesn't track plan content) + +--- + ## Tier 1 Track Initialization Rules (Added 2026-06-16; updated 2026-06-25 with §"The Python Type Promotion Mandate") These are the rules a Tier 1 Orchestrator follows when initializing a new