Skip to content

chore: roadmap for v2, plus Phase 1 — CI, drift check, and 12 version fixes - #5

Closed
jvanheerikhuize wants to merge 5 commits into
mainfrom
chore/ci-and-roadmap
Closed

jvanheerikhuize wants to merge 5 commits into
mainfrom
chore/ci-and-roadmap

Conversation

@jvanheerikhuize

Copy link
Copy Markdown
Owner

Roadmap for the v2 rebuild, plus all of Phase 1 executed.

The defect this starts from

Role version lives in three places — index.yaml, the > **Version:** line in prompt.md, and the same line in README.md. Nothing enforced agreement, and 12 of 25 roles disagreed about their own version.

The visible symptom: ./resolve.sh --id spray — the consumer-facing API — reported 1.0 for a prompt whose body declares <MASTER_PROMPT version="2.0">.

Two reasons nothing caught it:

  1. There was no .github/workflows/ at all. validate-index.sh and test-roles.sh are good scripts that nothing ran.
  2. Every check they make is existence-shaped ("the referenced file is present"), never agreement-shaped ("these files say the same thing"). The one bug the layout guarantees was the one class untested.

What's here

Commit
docs(roadmap) Rewrites ROADMAP.md around a phased sequence. The old one promoted SemantiCode as "current focus", which REBUILD_PLAN retires.
feat(validate) Agreement-shaped check in validate-index.sh. Failed on main with exactly 13 errors across the 12 drifted roles — that was the point.
fix(index) Reconciles all 12.
fix Module identity → Agent-Roles.
ci Runs both scripts plus a resolve.sh smoke test on every PR.

Which value was authoritative

Determined from history, not guessed. 73d2285 bumped 19 prompt.md files to 1.1 while touching neither index.yaml nor any README.md; 24525e9 bumped spray to 2.0 in prompt.md + README.md only. The prompt files record real content changes and the bump commits simply forgot the other files — so reconciliation goes toward prompt.md: 11 roles to 1.1, spray to 2.0.

module.version → 1.0.1, PATCH per VERSIONING.md ("metadata corrections").

Module rename

index.yaml declared name: agent-roledefinitions-submodule and a matching repository URL. Those URLs resolve today only because GitHub's rename redirect is holding — it dies if anyone claims the old name. Renamed across index.yaml, README.md, AGENTS.md, VERSIONING.md, resolve.sh. Resolves open decision #2 in the rebuild plan. docs/REBUILD_PLAN.md deliberately keeps the old name where it quotes it historically.

Where the roadmap diverges from REBUILD_PLAN

Flagged for review — these are opinions, not corrections:

  • Generate the README metadata header too. §3.1 keeps README.md hand-written; the README participates in the drift, so leaving it hand-written migrates the problem instead of ending it.
  • Two build targets, not six. system-prompt and manifest. §5 warns about scope creep; add targets when a real consumer asks.
  • Port scaffold.py from asdlc instead of writing tools/build.py fresh — that repo already runs the same pattern with a --check drift gate in CI.

Verification

All CI steps run locally before commit: validate-index.sh --check-crisis green, test-roles.sh green (4 pre-existing WARNs about hardcoded crisis numbers, unchanged by this PR), all four resolve.sh paths exercised.

Prompt bodies are untouched. No persona text changed.

🤖 Generated with Claude Code

jvanheerikhuize and others added 5 commits July 25, 2026 08:15
The old roadmap promoted SemantiCode as current focus, which REBUILD_PLAN
retires. Replace it with a phased sequence grounded in a measured defect:
12 of 25 roles disagree with index.yaml about their own version.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Every existing check is existence-shaped ('the referenced file is present'),
so none can catch two files disagreeing -- the one bug storing version in
three places guarantees. This check is agreement-shaped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
73d2285 bumped 19 prompt.md files to 1.1 without touching index.yaml or any
README; 24525e9 bumped spray to 2.0 in prompt.md and README only. The prompt
files record real content changes, so reconcile toward them.

Most visible symptom: resolve.sh --id spray, the consumer-facing API, reported
1.0 for a prompt declaring version 2.0.

Bumps module.version to 1.0.1 (PATCH: metadata corrections, per VERSIONING.md).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
index.yaml declared name and repository URL of
agent-roledefinitions-submodule. Those URLs resolve today only via GitHub's
rename redirect, which stops working if anyone claims the old name.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The repo had good validation scripts and nothing to run them. This is the
missing half.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jvanheerikhuize

Copy link
Copy Markdown
Owner Author

Superseded by #6. This branch was cut from a pre-#3 base, so its premise was measured against a tree that no longer exists — the rebuild had already resolved 11 of the 12 drift cases, and its .github/workflows/validate.yml collides with the one #3 added. #6 re-measures everything against current main.

@jvanheerikhuize
jvanheerikhuize deleted the chore/ci-and-roadmap branch July 25, 2026 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant