Skip to content

fix(converter): track upstream v3.8.4 (.md agent rename) + refresh idle figures#30

Merged
ak2k merged 2 commits into
mainfrom
worktree-reconcile-idle-figures
May 25, 2026
Merged

fix(converter): track upstream v3.8.4 (.md agent rename) + refresh idle figures#30
ak2k merged 2 commits into
mainfrom
worktree-reconcile-idle-figures

Conversation

@ak2k

@ak2k ak2k commented May 25, 2026

Copy link
Copy Markdown
Owner

Why

Upstream v3.8.4 renamed agent files from <name>.agent.md to plain <name>.md (the agents/ dir disambiguates now, not the extension). extract.py globbed *.agent.md, found zero agents, and produced an empty manifest — so publish-dist has failed every run since v3.8.4 was tagged (~5 days), leaving ce-lite stuck on v3.8.3 with auto-tracking silently broken.

What

Converter fix:

  • extract.py discovers agents/*.md, accepting a filename under either .agent.md (≤v3.8.3) or .md (v3.8.4+). Dist output unchanged (already <name>.md, from the frontmatter name).
  • validate.py round-trip resolves the upstream file under either extension.
  • New extract_agents regression tests (plain .md, legacy .agent.md, filename/name-mismatch guard) — the gap that let this regress with no failing unit test.

Docs:

  • Reconcile the idle-cost figure (was scattered across 6 files as 58.8k / 71k / 77k / 99.9k) to one measured, drift-resistant statement: ~2k idle tokens per registered agent, ~88k on v3.8.4, net ≈ −94k, 49 personas. (/context is the real measure of window occupancy; claude plugin details under-reports it.)
  • Soften claude -p headless references that implied working tests (integration-eval, measure-baseline.py) — opt-in/unreliable, not gates.

Verification

  • Full pipeline green against compound-engineering-v3.8.4: 49 personas, round-trip byte-equivalent, version 3.8.4-lite.
  • nix flake check (treefmt + actionlint + pytest) passes; 164 tests (+3 new).
  • Generated skill-rules.json is byte-identical v3.8.3 → v3.8.4 — persona routing unchanged, so no claude -p regeneration needed.

After merge

gh workflow run publish-dist --field upstream_tag=compound-engineering-v3.8.4 will now succeed, bumping ce-lite to 3.8.4-lite and ending the auto-tracking stall.

ak2k added 2 commits May 25, 2026 08:47
Upstream v3.8.4 renamed agent files from `<name>.agent.md` to plain
`<name>.md` (the agents/ dir disambiguates now, not the extension).
extract.py globbed `*.agent.md`, found zero agents, and produced an
empty manifest -- so publish-dist has failed every run since v3.8.4 was
tagged, leaving ce-lite stuck on v3.8.3 with auto-tracking silently
broken for ~5 days.

- extract.py: discover `agents/*.md`; accept a filename under either
  `.agent.md` (<=v3.8.3) or `.md` (v3.8.4+). Dist output is unchanged
  (already `<name>.md`, derived from the frontmatter name).
- validate.py: round-trip resolves the upstream file under either
  extension.
- tests: add extract_agents discovery coverage (plain `.md`, legacy
  `.agent.md`, and the filename/name-mismatch guard) -- the gap that
  let this regress with no failing unit test.

Verified: full pipeline green against compound-engineering-v3.8.4
(49 personas, round-trip byte-equivalent, version 3.8.4-lite).
…st overclaims

Figures: the idle-saving number was scattered across six files with four
different values (58.8k / 71k / 77k / 99.9k). Reconcile to one canonical,
drift-resistant statement measured via interactive /context: ~2k idle
tokens per registered agent, ~88k on upstream v3.8.4, net ~= -94k, with
all 49 personas preserved. The char-count estimates undercounted; the
/context "Custom agents" slot is the real measure of what occupies the
window (and `claude plugin details` under-reports it -- it counts
descriptions, not the loaded bodies).

Headless: stop implying ce-lite has working `claude -p` headless tests.
The integration-eval routing probe and measure-baseline.py are
opt-in/unreliable, not gates -- caveat them accordingly. Left
refine-keyword-rules.py (a generation tool, not a test) as-is.
@ak2k ak2k merged commit 1c49642 into main May 25, 2026
2 checks passed
@ak2k ak2k deleted the worktree-reconcile-idle-figures branch May 25, 2026 12:50
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