Roadmap source: kodiai-roadmap.md
- Phase: Phase 2 — Truthful Planning Surface
- Milestone: M055
Slice M055/S01 — README + CHANGELOG alignment
What this is
README.md states "30 milestones shipped (v0.1 through v0.30)." The actual shipped count per .gsd/milestones/ + PROJECT.md is well above 50; CHANGELOG.md is up to date through v0.30 (2026-04-19) / M052. The README's featureset list also predates M045–M047's contributor-experience redesign and M052's Slack webhook relay.
Acceptance criteria
Files to touch
Verify contract
- Command:
bun run verify:m055:s01
- Script:
scripts/verify-m055-s01.ts
- Check IDs:
readme_milestone_count_current, readme_mentions_recent_features, readme_documents_nightly_workflows.
- Status codes:
m055_s01_ok, m055_s01_stale_count, m055_s01_missing_feature_mention.
Slice M055/S02 — LICENSE and CONTRIBUTING expansion
What this is
The repo has CONTRIBUTING.md, CHANGELOG.md, and README.md but no LICENSE file. Usage rights are legally ambiguous. CONTRIBUTING.md is 99 lines and covers the test suite + PR process, but does not cover: migration .down.sql requirement, .gsd/ planning structure, milestone/slice naming convention, verify-script contract, or the "every slice summary must reference its verify script" rule.
Acceptance criteria
Files to touch
LICENSE — create.
CONTRIBUTING.md — expand.
.gsd/DECISIONS.md — append D-M055-01 (license choice rationale).
Verify contract
- Command:
bun run verify:m055:s02
- Script:
scripts/verify-m055-s02.ts
- Check IDs:
license_file_present, contributing_covers_gsd_v2, contributing_covers_migration_rules, contributing_covers_verify_contract.
- Status codes:
m055_s02_ok, m055_s02_missing_license, m055_s02_missing_section.
Slice M055/S03 — docs/ runbook audit
What this is
docs/ exists but has not been inventoried against current operational surfaces. Things likely missing: deploy rollback runbook (what do you do when a migration without .down.sql needs to be reverted?), key rotation for GITHUB_PRIVATE_KEY / ANTHROPIC_API_KEY, Slack webhook relay operational guidance (M052 added the runbook but may not cover failure modes), ACA job debugging (how to inspect a failed job's result.json).
Acceptance criteria
Files to touch
docs/INDEX.md, docs/runbooks/*.md.
Verify contract
- Command:
bun run verify:m055:s03
- Script:
scripts/verify-m055-s03.ts
- Check IDs:
docs_index_present, required_runbooks_present, runbook_commands_resolve.
- Status codes:
m055_s03_ok, m055_s03_missing_runbook, m055_s03_broken_command_reference.
Phase 3 — Code Safety Net
Theme: Close the test and rollback gaps that would bite on a bad deploy. Harden CI so these gaps can't silently reappear.
Sequencing rationale: M056 first because schema rollbacks unblock operational safety for everything else. M057 second because test coverage gaps will reveal themselves as CI churn once we land M058's broadened matrix. M058 last because the CI changes only pay off after coverage is actually there to run.
| Milestone |
Title |
Slices |
| M056 |
Migration Rollback Completeness |
S01, S02, S03 |
| M057 |
Core Handler & Webhook Test Backfill |
S01, S02, S03, S04 |
| M058 |
CI Workflow Hardening |
S01, S02, S03 |
Roadmap source:
kodiai-roadmap.mdSlice M055/S01 — README + CHANGELOG alignment
What this is
README.mdstates "30 milestones shipped (v0.1 through v0.30)." The actual shipped count per.gsd/milestones/+ PROJECT.md is well above 50;CHANGELOG.mdis up to date throughv0.30 (2026-04-19)/ M052. The README's featureset list also predates M045–M047's contributor-experience redesign and M052's Slack webhook relay.Acceptance criteria
.github/workflows/nightly-issue-sync.yml,nightly-reaction-sync.yml) are described in README — what they do, what they sync, what happens on failure.Files to touch
README.md,CHANGELOG.md.Verify contract
bun run verify:m055:s01scripts/verify-m055-s01.tsreadme_milestone_count_current,readme_mentions_recent_features,readme_documents_nightly_workflows.m055_s01_ok,m055_s01_stale_count,m055_s01_missing_feature_mention.Slice M055/S02 — LICENSE and CONTRIBUTING expansion
What this is
The repo has
CONTRIBUTING.md,CHANGELOG.md, andREADME.mdbut noLICENSEfile. Usage rights are legally ambiguous.CONTRIBUTING.mdis 99 lines and covers the test suite + PR process, but does not cover: migration.down.sqlrequirement,.gsd/planning structure, milestone/slice naming convention, verify-script contract, or the "every slice summary must reference its verify script" rule.Acceptance criteria
LICENSEfile exists at repo root. Decide: Apache-2.0, MIT, or Business Source License? Record the choice in a DECISIONS.md entry (D-M055-01).CONTRIBUTING.mdgains sections for: GSD v2 planning layout (.gsd/), milestone folder convention (link to M051 as exemplar), verify script contract, migration rules (up + down required, CI-gated), test-writing expectations (every newsrc/file ships with a.test.tssibling unless justified).package.jsongains an"engines"constraint — see M058/S02 which will close the same gap from the CI side. This slice just writes the contributor expectation.Files to touch
LICENSE— create.CONTRIBUTING.md— expand..gsd/DECISIONS.md— append D-M055-01 (license choice rationale).Verify contract
bun run verify:m055:s02scripts/verify-m055-s02.tslicense_file_present,contributing_covers_gsd_v2,contributing_covers_migration_rules,contributing_covers_verify_contract.m055_s02_ok,m055_s02_missing_license,m055_s02_missing_section.Slice M055/S03 —
docs/runbook auditWhat this is
docs/exists but has not been inventoried against current operational surfaces. Things likely missing: deploy rollback runbook (what do you do when a migration without.down.sqlneeds to be reverted?), key rotation forGITHUB_PRIVATE_KEY/ANTHROPIC_API_KEY, Slack webhook relay operational guidance (M052 added the runbook but may not cover failure modes), ACA job debugging (how to inspect a failed job'sresult.json).Acceptance criteria
docs/is inventoried in a singledocs/INDEX.mdlisting every doc and its purpose.docs/runbooks/deploy-rollback.md,docs/runbooks/key-rotation.md,docs/runbooks/aca-job-debugging.md,docs/runbooks/nightly-sync-failures.md.package.jsonorscripts/.Files to touch
docs/INDEX.md,docs/runbooks/*.md.Verify contract
bun run verify:m055:s03scripts/verify-m055-s03.tsdocs_index_present,required_runbooks_present,runbook_commands_resolve.m055_s03_ok,m055_s03_missing_runbook,m055_s03_broken_command_reference.Phase 3 — Code Safety Net
Theme: Close the test and rollback gaps that would bite on a bad deploy. Harden CI so these gaps can't silently reappear.
Sequencing rationale: M056 first because schema rollbacks unblock operational safety for everything else. M057 second because test coverage gaps will reveal themselves as CI churn once we land M058's broadened matrix. M058 last because the CI changes only pay off after coverage is actually there to run.