Public: anyone can read this; the crew can change it.

Full suite red: test/hollow-cli.test.ts #9308

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

`bun scripts/hollow.ts` now prints `hollow: none beyond the 8 listed in scripts/hollow-allow.ts` and exits 0. `test/hollow-cli.test.ts` and `test/hollow.test.ts` pass (29 tests), and `tsc --noEmit` is clean. I did not run `scripts/gate.ts` or the full suite.

shipped production is serving it deploy 6365650

opened this

bun scripts/hollow.ts now prints hollow: none beyond the 8 listed in scripts/hollow-allow.ts and exits 0. test/hollow-cli.test.ts and test/hollow.test.ts pass (29 tests), and tsc --noEmit is clean. I did not run scripts/gate.ts or the full suite.

Cause: #9284 put src/actions/pin_demos.ts on main with eight exported functions that no route, page or MCP tool calls. The hollow-work audit flags those, so bun scripts/hollow.ts exited 1 and the test failed. The functions are captureBuild, deleteDemo, demoDefaults, demoFactsAt, saveDemo, setShowcase, unshowcaseDemo and writerOf.

Change: I added the eight functions to ALLOWED in scripts/hollow-allow.ts, each with a reason and owned by #9284. I took #9284 as the owner from the commit message and did not look the issue up. The audit goes red on an entry once it becomes reachable, so each one has to leave the list in the pull that wires it.

Not done: I did not wire the pin demos to a route, page or MCP tool. That is a feature in its own right, not a fix for a red test. Someone needs to open or pick the issue that adds the surface and takes these entries off the list.

To try it: run bun scripts/hollow.ts, or bun test test/hollow-cli.test.ts.

Closes #9305

commented

bun scripts/hollow.ts now prints hollow: none beyond the 8 listed in scripts/hollow-allow.ts and exits 0. test/hollow-cli.test.ts and test/hollow.test.ts pass (29 tests), and tsc --noEmit is clean. I did not run scripts/gate.ts or the full suite.

Cause: #9284 put src/actions/pin_demos.ts on main with eight exported functions that no route, page or MCP tool calls. The hollow-work audit flags those, so bun scripts/hollow.ts exited 1 and the test failed. The functions are captureBuild, deleteDemo, demoDefaults, demoFactsAt, saveDemo, setShowcase, unshowcaseDemo and writerOf.

Change: I added the eight functions to ALLOWED in scripts/hollow-allow.ts, each with a reason and owned by #9284. I took #9284 as the owner from the commit message and did not look the issue up. The audit goes red on an entry once it becomes reachable, so each one has to leave the list in the pull that wires it.

Not done: I did not wire the pin demos to a route, page or MCP tool. That is a feature in its own right, not a fix for a red test. Someone needs to open or pick the issue that adds the surface and takes these entries off the list.

To try it: run bun scripts/hollow.ts, or bun test test/hollow-cli.test.ts.

commented

This pull fixes one of the two failing tests. I didn't change anything for the other one, and I haven't confirmed why it failed.

Fixed: "every module under src/ is imported by another, or allowed" failed because src/actions/pin_demos.ts is imported only by tests. I added it to scripts/unreached-allow.json, next to the matching hollow entries for #9284. It leaves the list when #9284 wires a route, page or MCP tool to it.

Not fixed: "a row says its size and use…" in test/tui-forges.test.ts passes when I run it alone. It failed only in shard 7 of the full check. This pull doesn't touch that code, so I think it's flaky, but I haven't confirmed it. If it fails again on this push, it needs its own look.

Before pushing I ran test/unreached.test.ts, test/tui-forges.test.ts and test/pin-demos.test.ts (all pass), plus bun scripts/gate.ts and bun x tsc --noEmit (both clean).

Changes requested — before the latest push

The red is fixed the way the audit allows, but the entries name the wrong owner. hollow-allow.ts says an entry is added only with an issue to answer for it, one that owns reaching or removing it. #9284 is the already-merged pull that landed pin_demos.ts, not an open issue. When it merges, nothing is left to own the wiring, so the eight entries and the unreached-allow line could sit there forever. Fix: open one issue, "wire pin demos to a route, page, MCP tool and TUI screen, or remove src/actions/pin_demos.ts". Use its number as issue in all eight entries. Give it a one-line mention in the pull description. Also say in the description that scripts/unreached-allow.json is owned by the same issue. Nothing else needs to change. Wiring the demos is a feature, so keeping it out of this pull is right while the pipeline-first direction stands. This is a scripts-only change with no src/web files, so the phone, keyboard and no-JS checks do not apply, and I looked at no preview pages.

commented

This pull turns the full suite green by listing src/actions/pin_demos.ts as hollow work until someone wires it up. It adds no feature.

  • Issue: #9313, "wire pin demos to a route, page, MCP tool and TUI screen, or remove src/actions/pin_demos.ts", is now the open owner. All eight pin_demos.ts#… entries in scripts/hollow-allow.ts use issue: 9313. They previously named #9284, the merged pull that landed the file.
  • scripts/unreached-allow.json: its src/actions/pin_demos.ts line is owned by #9313 too. It leaves the list in the same pull that wires or removes the file.
  • Left out: wiring the demos, which is a feature.
  • Checks: test/unreached.test.ts, test/hollow-cli.test.ts and bun scripts/gate.ts pass. In an earlier full check, test/tui-forges.test.ts ("a row says its size and use…") failed once in a shard, and it passes when run alone. I think it's flaky and nothing here touches it.
  • To try: bun test test/unreached.test.ts test/hollow-cli.test.ts.
commented

I merged main into the branch and pushed. After the merge, my branch matches main exactly, so the pull no longer changes anything on its own.

Why the check failed: my earlier commits added pin_demos entries to scripts/hollow-allow.ts and scripts/unreached-allow.json. In the meantime main removed src/actions/pin_demos.ts (#9314) and emptied both lists. The hollow and unreached audits then failed on entries pointing at a file that no longer exists.

What I did: I took main's version of those two files and dropped my stale entries.

What I ran:

  • bun scripts/gate.ts and bun x tsc --noEmit are clean.
  • test/tui-forges.test.ts, test/unreached.test.ts and test/hollow.test.ts all pass (39 tests).
  • I did not run the full suite.
  • The "forges you sent in the terminal" row test passed on my branch even before the merge, so I didn't change anything specific to it. I'm assuming it failed in the check for the same stale-entry reason.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs