mirror of
https://github.com/CharlesWiltgen/Axiom.git
synced 2026-09-20 19:58:20 +08:00
6725bf4e96
Seven defects an independent review of the two previous commits found, all in code written minutes earlier. The substantive one: `build:manifest`'s cascade was keyed on whether this run wrote a file, so a body-only edit to any SKILL.md — the most common edit in a corpus of skill files — skipped it, and the command reported success over a tree whose Cursor, Codex and MCP outputs were stale. That is the trap the cascade was added to close, reached through the guard. It now keys on the distributions' actual inputs: ask.md, which they embed, or a dirty file under skills/, agents/ or commands/. The same change stops a manifest-only hand-edit from rebuilding all three for a bundle timestamp. In `pre-deploy` check 4: a duplicated manifest entry passed all three comparisons — a Set and a name→description map both collapse it, and the text comparison saw nothing wrong — while the comment claimed parity with the unit suite that catches it; a manifest-excluded skill was reported as "no corresponding skill on disk" when it is on disk and filtered by MANIFEST_EXCLUDED_SKILLS; and one `skills!.length` kept the non-null assertion this hunk removed one loop below. Each case measured. Duplicate → "27 entries for 26 distinct skills". Excluded skill → names both possible causes. Clean → 26 descriptions matching. Cascade: a clean tree stands down in 0.3s, a body-only edit rebuilds all three distributions, a manifest-only edit rebuilds none. Not addressed: the bundle step still requires pnpm and repeats package.json's command string; it now fails with a message naming `npm run build:mcp` rather than a raw ENOENT stack. Verified: npm test (static clean), npm run test:unit (524/524).