Skip to content

chore(skills): /be — refresh the pnpm FOD hash the instant the lockfile changes#1552

Draft
srid wants to merge 1 commit into
masterfrom
chore/self-improve-dd538ee1-881b-406a-aca8-f49137976b27
Draft

chore(skills): /be — refresh the pnpm FOD hash the instant the lockfile changes#1552
srid wants to merge 1 commit into
masterfrom
chore/self-improve-dd538ee1-881b-406a-aca8-f49137976b27

Conversation

@srid

@srid srid commented Jun 24, 2026

Copy link
Copy Markdown
Member

What

A one-sentence addition to /be §2, exactly where it already warns "just check green is not proof the artifact builds" — extending that lesson to the sibling dependency-change failure mode and cross-linking the /nix-typescript skill that fixes it.

Source edit lands in .apm/skills/be/SKILL.md; the two generated copies (.claude/, .agents/) and the apm.lock.yaml content-hashes ride the same commit (regenerated via just ai::apm).

Why — the intervention this engineers out

This is the per-session /self-improve pass over session dd538ee1, an autonomous /be run for the HTML session-export feature. The run needed only one human turn (the kickoff) — but it burned a full CI cycle on an avoidable red:

What happened Cost
§2 changed package.json + pnpm-lock.yaml (removed deps), never refreshed the fetchPnpmDeps FOD hash
§5 CI came back with every linux nix-build lane red at once (ci::pnpm-hash-fresh, ci::nix, ci::smoke, …) — the classic stale-hash cascade ~1 wasted CI cycle
Run diagnosed it, updated nix/modules/typescript.nix, re-ran all of CI green recovered, but serially

The /nix-typescript skill already documents this exact failure and its fix — and says to refresh the hash in the background the instant the lockfile changes, not at end of session. /be simply never loaded it. The fix is a cross-link (the lever map's lowest-churn move), not new machinery.

Evidence ledger

Edit Claim Evidence
/be §2 cross-link to /nix-typescript The skill it links to genuinely covers the FOD-hash refresh recipe + background directive .claude/skills/nix-typescript/SKILL.md §"Dependency hash management" + "Parallelization"
Same The run actually hit this gap (not hypothetical) Session transcript: ci::pnpm-hash-fresh red on both platforms → hash bump in nix/modules/typescript.nix → CI re-run
Same just check cannot catch it (only nix build can) — so the warning belongs in §2 next to the existing build-vs-typecheck caveat Edit placed on the same line as the existing "just check green is not proof the artifact builds" clause
Generated copies in sync .claude/ + .agents/ copies + apm.lock.yaml hashes regenerated from source just ai::apm; just check green

Gates

  • just ai::apm — regenerated (pre-existing unrelated orphan warning only)
  • just fmt — clean (0 reformatted)
  • just check — green (tsc all packages + biome)

Draft for human review — per /self-improve, these edits go live only when you merge.

🤖 Generated with Claude Code

…le changes

When a /be §2 change touches package.json / pnpm-lock.yaml, the recorded
fetchPnpmDeps hash in nix/modules/typescript.nix goes stale and every linux
nix-build CI lane reds at once — a guaranteed wasted CI cycle if left for §5
to surface. The export-session run hit exactly this: it changed the lockfile,
never refreshed the hash, and only discovered the staleness when a full CI
cycle came back red, then had to fix + re-run all of CI.

§2 already warns "just check green is not proof the artifact builds" for
bundler/entrypoint changes; this adds the sibling dependency-change case and
cross-links /nix-typescript, which documents the fix recipe and the
background-refresh-on-lockfile-change directive. just check never catches this;
only a real nix build does.

Provenance: mined from session dd538ee1-881b-406a-aca8-f49137976b27.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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