Skip to content

fix(converter): track v3.11.2 — render skill-rules.json from the staged dist#34

Merged
ak2k merged 1 commit into
mainfrom
worktree-track-v3.11.2
Jun 8, 2026
Merged

fix(converter): track v3.11.2 — render skill-rules.json from the staged dist#34
ak2k merged 1 commit into
mainfrom
worktree-track-v3.11.2

Conversation

@ak2k

@ak2k ak2k commented Jun 8, 2026

Copy link
Copy Markdown
Owner

What

Fixes the publish-dist failure when converting upstream v3.11.2 (failed run).

Root cause — a latent converter bug, not stale YAML

write_hooks(dist) received the staging dir but called render_hook_rules() without forwarding it, so skill-rules.json was derived from the committed dist/ manifest (the previous release) rather than the build in progress. Harmless when staged and committed manifests match — which is why it survived a year of same-release bumps — but a cross-release jump emits skill-rules.json keyed to the old persona set, and validate.py rejects the orphans.

v3.11.2 drops 7 agents vs v3.8.4: ce-kieran-{python,rails,typescript}-reviewer, ce-dhh-rails-reviewer, ce-schema-drift-detector, ce-data-migration-expert; and ce-data-migrations-reviewerce-data-migration-reviewer.

Changes (converter-only; dist/ is regenerated by publish-dist)

  • Fix: forward dist through render_hook_rules so hook rules track the built manifest.
  • Regression test: write_hooks must read the manifest from the dir it's given (fails without the fix, leaking ce-data-migration-expert — the exact CI symptom).
  • YAML hygiene: prune the 7 removed/renamed personas from persona-keywords.yaml; add Pass-B (claude -p) keywords for the new ce-data-migration-reviewer.
  • Message accuracy: the validate failure pointed at a non-existent DEFAULT_HOOK_RULES; now names the real causes.

Verification

  • nix flake check — all pass (format + actionlint + 165 pytest)
  • Full pipeline + validate.py --upstream into a clean staging dir (exact CI condition): passes for both v3.11.2 and v3.8.4
  • No other v3.11.2 drift (no new persona suffixes / dispatch sources / round-trip breaks)

After merge

Dispatch publish-dist --field upstream_tag=compound-engineering-v3.11.2 to open the dist/ PR shipping 3.11.2-lite.

…tree dist/

write_hooks(dist) received the staging directory but called
render_hook_rules() without forwarding it, so the hook rules were derived
from the committed dist/ manifest (the previous release) instead of the
build in progress. Harmless when the staged and committed manifests match,
but a cross-release bump emits skill-rules.json keyed to the old persona
set, and validate.py rejects the orphaned personas.

Surfaced converting upstream v3.11.2, which drops 7 agents relative to
v3.8.4 (kieran python/rails/typescript, dhh-rails, schema-drift,
data-migration-expert; data-migrations-reviewer -> data-migration-reviewer).

- Forward `dist` through render_hook_rules so rules track the built manifest.
- Add a regression test asserting write_hooks reads the manifest from the
  dir it is given.
- Prune the 7 removed/renamed personas from persona-keywords.yaml and
  add Pass-B keywords for the new ce-data-migration-reviewer.
- Correct the validate.py failure message (referenced a non-existent
  DEFAULT_HOOK_RULES; the real causes are stale overrides or an
  unthreaded dist).
@ak2k ak2k merged commit 0a3e4fc into main Jun 8, 2026
2 checks passed
@ak2k ak2k deleted the worktree-track-v3.11.2 branch June 8, 2026 20:49
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