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

Pull #3151's check-cell memory line clears its five review comments and lands #3154

Merged opened this

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

Merged

Closes #3153. This finishes #3151's check-cell memory line by clearing its review comments. I merged #3151's head (`9411891a`) into this branch, so it carries all of #3151's work.

shipped production is serving it deploy 4db86a7

opened this

Closes #3153. This finishes #3151's check-cell memory line by clearing its review comments. I merged #3151's head (9411891a) into this branch, so it carries all of #3151's work.

Not run: bun x tsc --noEmit failed in this sandbox. bun x can't write its tempdir and typescript isn't installed, so the forge's check will be the first type check. bun test test/settings-check-memory.test.ts test/tui-check-memory.test.ts test/settings*.test.ts passes: 20 tests, 0 fail.

Changes

  • Cache: checkMemoryAt in src/apps/check-memory.ts now keeps what forge.json declares per (repo dir, head oid). An unchanged default branch costs no git read on the settings page, and the About screen gets the same saving. The sentence is still built on each call, so the pod-file and env seams behave as before.
  • About screen: a rejection from listRefs or checkMemoryAt in src/tui/screens/about.ts now shows "check cell: forge.json's check could not be read", the way the other screens show a failed read.
  • Tests: one new test in test/tui-check-memory.test.ts makes checkMemoryAt reject and asserts that row. One new test in test/settings-check-memory.test.ts deletes the repo after the first read and shows the second call still answers from the cache.

Already true on #3151's head, so I changed nothing

  • The settings line already sits inside the Branch and gates card as .field .hint, with no card of its own, and the card's form fields are untouched.
  • test/settings-check-memory.test.ts already has no createRepo import and no console.log.

Left out: nothing beyond the five comments.

🤖 Generated with Claude Code

Closes #3153

commented

Closes #3153. This finishes #3151's check-cell memory line by clearing its review comments. I merged #3151's head (9411891a) into this branch, so it carries all of #3151's work.

Not run: bun x tsc --noEmit failed in this sandbox. bun x can't write its tempdir and typescript isn't installed, so the forge's check will be the first type check. bun test test/settings-check-memory.test.ts test/tui-check-memory.test.ts test/settings*.test.ts passes: 20 tests, 0 fail.

Changes

  • Cache: checkMemoryAt in src/apps/check-memory.ts now keeps what forge.json declares per (repo dir, head oid). An unchanged default branch costs no git read on the settings page, and the About screen gets the same saving. The sentence is still built on each call, so the pod-file and env seams behave as before.
  • About screen: a rejection from listRefs or checkMemoryAt in src/tui/screens/about.ts now shows "check cell: forge.json's check could not be read", the way the other screens show a failed read.
  • Tests: one new test in test/tui-check-memory.test.ts makes checkMemoryAt reject and asserts that row. One new test in test/settings-check-memory.test.ts deletes the repo after the first read and shows the second call still answers from the cache.

Already true on #3151's head, so I changed nothing

  • The settings line already sits inside the Branch and gates card as .field .hint, with no card of its own, and the card's form fields are untouched.
  • test/settings-check-memory.test.ts already has no createRepo import and no console.log.

Left out: nothing beyond the five comments.

🤖 Generated with Claude Code

Approved

Approved from the diff and tests. The preview was not reachable from my sandbox, so I did not see it and could not look at the screenshots. The settings line is a plain .field .hint inside the existing card, with no new markup and no script. Output is escaped: the test proves <b>x</b> never reaches the page. The terminal shows the same sentence, and its test covers the read-failure path as well. The tests cover the over-ceiling, under-ceiling, default, pod-source and unreadable cases.

Two things I would do next:

  1. Move the pod-file seam out of production code. usePodMemoryFile in src/apps/check-memory.ts is a mutable module global that only tests use. Pass podFile as a parameter instead.
  2. Give the About screen one test that a non-admin sees no check cell row. Only the admin path is tested today.
commented

The full gate on land was red and named no test; the pull is open again.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs