Problem
I identified several broken references, missing test coverage, CI supply-chain inconsistencies, and test runner gaps across the workspace:
- Broken relative doc links: Multiple markdown files link to internal monorepo paths (
docs/decisions/*, docs/prd/*, docs/CAVEMAN_LEARN_SPEC.md, docs/FASTCONTEXT_EXPLORER_SPEC.md, docs/research/*, PRODUCTS.yaml, examples/coding-agent) that were omitted from the open-source mirror, leading to 404s for external contributors.
- Missing
shrink package test script: shrink/package.json lacks a "test" script, causing pnpm -r test to silently skip the package entirely.
- Unpinned Actions in CI:
.github/workflows/ci.yml uses floating tags (actions/checkout@v4, actions/setup-node@v4, actions/setup-python@v5) while all other workflows (engine-ci.yml, release-*.yml) enforce immutable commit SHA pinning.
- Hard test failures when Go is not installed: In
packages/cli, 10 runtime tests throw spawnSync go ENOENT instead of gracefully skipping with t.skip("go toolchain not found") when executed in a JS/Node-only development environment.
- Silent
catch (e) {} blocks: Several fs.unlinkSync calls in hooks swallow errors without debug visibility.
Proposed Solution
- Replace unresolvable relative markdown links with plain text references across package documentation.
- Add
"test": "node --test tests/*.test.mjs" and package smoke tests to shrink/.
- Pin all Actions in
.github/workflows/ci.yml to full commit SHAs with version comments.
- Add Go toolchain existence checks in
packages/cli runtime tests to skip cleanly when Go is absent.
- Add
if (process.env.CAVEMAN_DEBUG === '1') console.error(...) to empty catch blocks around flag file cleanup.
Problem
I identified several broken references, missing test coverage, CI supply-chain inconsistencies, and test runner gaps across the workspace:
docs/decisions/*,docs/prd/*,docs/CAVEMAN_LEARN_SPEC.md,docs/FASTCONTEXT_EXPLORER_SPEC.md,docs/research/*,PRODUCTS.yaml,examples/coding-agent) that were omitted from the open-source mirror, leading to 404s for external contributors.shrinkpackage test script:shrink/package.jsonlacks a"test"script, causingpnpm -r testto silently skip the package entirely..github/workflows/ci.ymluses floating tags (actions/checkout@v4,actions/setup-node@v4,actions/setup-python@v5) while all other workflows (engine-ci.yml,release-*.yml) enforce immutable commit SHA pinning.packages/cli, 10 runtime tests throwspawnSync go ENOENTinstead of gracefully skipping witht.skip("go toolchain not found")when executed in a JS/Node-only development environment.catch (e) {}blocks: Severalfs.unlinkSynccalls in hooks swallow errors without debug visibility.Proposed Solution
"test": "node --test tests/*.test.mjs"and package smoke tests toshrink/..github/workflows/ci.ymlto full commit SHAs with version comments.packages/cliruntime tests to skip cleanly when Go is absent.if (process.env.CAVEMAN_DEBUG === '1') console.error(...)to empty catch blocks around flag file cleanup.