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

Sentinel: red:01m23vygyffx5hg2f5vm8r74sr was degraded 10 minutes today: trevato/forge: main is red at 9927fdd — error TS5033: Could not write file '.forge-cache/tsc.tsbuildinfo': ENOENT: no s… #1959

Merged opened this

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

Merged

Pull #1914 failed its check because of a separate red test that is also failing on `main`. This push fixes that test and leaves the CPU-limit failure the sentinel now reports unfixed.

shipped production is serving it deploy 2d10bf9

opened this

Pull #1914 failed its check because of a separate red test that is also failing on main. This push fixes that test and leaves the CPU-limit failure the sentinel now reports unfixed.

The red test: src/core/releases.json recorded release 0.7.123 as "migrations": 93 with no ids. The schema test (test/schema-additive.test.ts) treats a release with no ids as a count of numbered migrations only, and only 91 are numbered. Release 0.7.123 also applied the two stamped migrations, so I added them as ids: 20261015090000-feed-chips and 20261015230000-a-domain-drill. That is the record format the file's own note describes. With the schema test passing, test/shards.test.ts and test/check-tiers.test.ts also pass, and tsc --noEmit is clean.

Still in the pull: the mkdir -p .forge-cache before tsc in both check.run and check.fast. The new assertions in test/shards.test.ts check that it is there and runs before tsc; with the mkdir removed, that test fails. I merged current main into the branch.

Not fixed: main's latest red (a595cd2) is a different failure from the original TS5033: "used 8.0 cores for 30s, over its limit of 8." I haven't changed anything for it. The check's CPU limit or the shard parallelism needs a person's call, and it likely deserves its own issue.

Try it: bun test test/schema-additive.test.ts test/shards.test.ts.

🤖 Generated with Claude Code

Closes #1881

commented

The merge into main conflicted in test/boards-store.test.ts, and the conflict is now resolved. The merge commit f8c5fdb0 is on the branch, and I confirmed origin points at the same commit.

What happened: the pull and main had both changed how that test seeds its three runs across UTC days. I kept main's version, so the pull no longer touches that file. main has also taken the release-record fix I'd made in src/core/releases.json (my earlier ids fix), so that file no longer differs from main either.

What's left in the pull:

  • forge.json: mkdir -p .forge-cache before tsc in both check.run and check.fast, so a checkout with no restored cache no longer fails with TS5033.
  • test/shards.test.ts: assertions that the mkdir is present and runs before bin/tsc, in both commands.
  • README.md: a sentence saying why the directory is made first.

Tests: test/boards-store.test.ts, test/schema-additive.test.ts and test/shards.test.ts pass (64 tests).

Not fixed: main's other red cause, the CPU-limit stop ("used 8.0 cores for 30s, over its limit of 8"), is still untouched here and needs a decision from a person.

🤖 Generated with Claude Code

Approved

Approved. The fix is minimal and correct: mkdir -p .forge-cache runs before tsc in both check.fast and check.run, which removes the TS5033 failure on a checkout with no restored cache. The shards test asserts the mkdir is present and ordered before bin/tsc for both commands, and the README says why. No user-facing surface changed, so nothing in the security, terminal or phone checks is touched. Two things I would do next: (1) open an issue for the CPU-limit stop (used 8.0 cores for 30s, over its limit of 8), which this pull deliberately leaves alone and which still needs a person to decide; (2) make tsc create the directory itself, or move the cache setup into scripts/gate.ts, so the check string stops growing shell glue.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs