Skills audit fixes: BOMs, mojibake, merge contradiction, retire jgengine-procedural, unify skill lists - #883
Merged
Merged
Conversation
…ine-procedural, unify skill lists Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuehpjvwcXpPYqy9yM9Hza
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JuehpjvwcXpPYqy9yM9Hza
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Resolve conflicts: keep skills-audit intent (retire jgengine-procedural, keep decay-meter capability), take main writeFileSync + baseline entry.
Noisemaker111
pushed a commit
that referenced
this pull request
Jul 16, 2026
…arrel - gen-barrels/barrels.test still referenced jgengine-procedural after #883 retired the skill dir, crashing the sync tests (ENOENT); procedural.ts stays as a frozen compat barrel. - Regen gameplay barrel: survival symbols now route there, and document the four survival types the barrel newly surfaces. These test failures were invisible for the same reason as the orphan gate: main's CI dies at check-types before tests run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB
Noisemaker111
added a commit
that referenced
this pull request
Jul 16, 2026
…on, surface red main (#945) * Fix orphan gate false positives, un-red main CI, surface red main as an issue - Orphan check now unions skill tokens across all skills: a primitive surfaced in any SKILL.md or adopted anywhere passes everywhere. Kills the 31 false orphans created when curated core barrels re-listed deep symbols under the main jgengine skill (whose docs never name them) — the failure that has kept main's checks job red and could not be baselined (ratchet is shrink-only). - gen-skill-api hard-fails when any extracted package lacks dist instead of silently dropping modules and corrupting api.md/baselines. - Gen mode exits 2 on gate failures so the safe wrapper keeps valid generated files instead of rolling back legitimate regeneration. - PR quick job now builds and runs check-skill-api so this failure class can no longer merge unseen; red main auto-files/updates a 'CI red on main' issue. - tsconfig.build excludes cover .test.tsx (first .tsx test broke builds). - Prune 97 orphan-baseline entries resolved by the union fix; regen stale capabilities.md; resync AGENTS.md with CLAUDE.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Fix barrel generator's retired-skill reference and drifted gameplay barrel - gen-barrels/barrels.test still referenced jgengine-procedural after #883 retired the skill dir, crashing the sync tests (ENOENT); procedural.ts stays as a frozen compat barrel. - Regen gameplay barrel: survival symbols now route there, and document the four survival types the barrel newly surfaces. These test failures were invisible for the same reason as the orphan gate: main's CI dies at check-types before tests run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Regen main-skill capabilities.md for barrel-surfaced survival primitives Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Fix compile breakage merged into main today (#899/#900/#904/#942 interactions) Upstream PRs merged red-on-red and never compiled together — invisible for the same reason this PR exists (PR CI runs no build; main CI red, unseen): - core: EditorDocument lacked the catalogs field and the ParamSchema import its own editor code referenced; three document constructors updated. - shell: AuthoredScene lost the placeObjects prop/render in the liveDocument refactor but kept its consts; defineGame loop hooks now satisfy the Required<GameLoop> shape from #942. - editor: missing seedEditorCatalogs/EditorCatalogDefinition/CatalogsPanel imports, undefined catalogById map, readonly-array push, frozen editor loop missing onReset/onDispose. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Fix compile breakage merged into main today (#899/#900/#904/#942 interactions) Upstream PRs merged red-on-red and never compiled together — invisible for the same reason this PR exists (PR CI runs no build; main CI red, unseen): - core: EditorDocument lacked the catalogs field and the ParamSchema import its own editor code referenced; three document constructors updated. - shell: AuthoredScene lost the placeObjects prop/render in the liveDocument refactor but kept its consts; defineGame loop hooks now satisfy the Required<GameLoop> shape from #942. - editor: missing seedEditorCatalogs/EditorCatalogDefinition/CatalogsPanel imports, undefined catalogById map, readonly-array push, frozen editor loop missing onReset/onDispose; new CLI/RPC plumbing exports marked @internal (no external adopters). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Trim jgengine-gameplay SKILL.md back under the size ratchet The systems paragraph from #942 grew it 2 lines past baseline — another red-main-invisible failure; merged into the barrel-import paragraph. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Move tower-guard editorCatalogs under src/game/ per game-shape gate Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Fix consumers of the #942 Required loop contract and the game-shape move apps/dev demos and the-robots/tower-guard were never updated for today's upstream contract changes (required onReset/onDispose, EditorDocument catalogs) — same red-main blindness; all 29 workspaces typecheck again. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Regen stale export manifest; drive claudecraft headless tests via composed loop Both pre-existing on merged main: #942 moved claudecraft combat into systems but its headless harness still ticked the raw loop export, and the export manifest was never regenerated for today's new modules. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB * Wire rpcPayload into the editor CLI; restore editorCatalogs convention More half-landed upstream: cli.ts referenced an undefined options var and never used parseEditorCliArgs/loadRpcPayload, so --rpc-file and stdin paths (and their tests) were dead. The catalog loader convention is src/editorCatalogs.ts — check-game-shape now allows that skeleton file instead of forcing it under src/game/ where the loader can't find it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjYn1uP6nf8maGvAvHFNjB --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes everything surfaced by the skills/CLAUDE.md audit:
check-skill-sync.ts+packages/jgengine/src/skills.ts. The BOM pushed frontmatter off byte 0, so five domain skills (world,procedural,combat,gameplay,multiplayer) rendered---empty descriptions in every session listing, and the sync gate's frontmatter checks silently skipped them.check-skill-syncnow hard-fails on any BOM'd SKILL.md.â€"em-dashes, arrows, ellipses) acrossgame,harvest-game,harvest-full-game, and four skill reference files.harvest/SKILL.mdinstructed "squash-merge immediately" andgame/SKILL.mdended its loop with "merge" — both now match CLAUDE.md's never-merge/user-owns-merging rule.jgengine-proceduralretired: its api surface was survival-only (34 lines of decay meters) while its description promised terrain/voxels/buildings — all of which live injgengine-world; its reference.md was a verbatim duplicate of world's.survivalnow routes tojgengine-gameplay; router tables injgengine/SKILL.mdand CLAUDE.md updated (also removes the duplicate "Terrain" routing row).stage-skills.ts,check-skill-sync.ts, andgen-skill-api-safe.tsnow derive fromskillRouting.SKILL_DIRSinstead of three divergent hard-coded lists;jgengine-editoris now included in the CLI skills bundle (GAME_SKILLS), which previously omitted it.persistprose was near-identical in three skills —jgengine-gameplayis now the single authoring guide,jgengine/jgengine-multiplayercarry pointers; duplicate "Race sessions" section inside gameplay removed; assets' Kenney blockquote shortened to a pointer at CLAUDE.md.api-doc-baseline.jsonas tracked debt.Full local gate green.
Generated by Claude Code