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

The sentinel files no never-green-check issue in trevato/forge for another repository #5665

Merged opened this

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

Merged

The sentinel now files a "check never green" finding only for its own repository. Another repository's never-green check files nothing there.

shipped production is serving it deploy e11532c

opened this

The sentinel now files a "check never green" finding only for its own repository. Another repository's never-green check files nothing there.

bun test test/sentinel.test.ts passes: 34 tests, 0 failures. bun x tsc --noEmit fails in this sandbox with Cannot find type definition file for 'bun'. That is a missing type package, not an error in the changed code. The forge's check will run the type check on the push.

This run changed nothing. The branch already held the fix from earlier runs and matches origin, so there was nothing new to push.

  • What changed: runStreaks in src/crew/sentinel.ts yields a gate: finding only when the repository is the sentinel's own (sentinelRepoPath(), resolved to its id). The agent-run (push) streaks are untouched.
  • Also added: the sentinel logs once when its repository does not resolve. The README says where other repositories' never-green checks still show: their own checks and the degraded list.
  • Tests: test/sentinel.test.ts has the two cases from the issue. 15 failed check runs in another repository yield no finding; 15 in the sentinel's own repository still do. The suite also restores FORGE_SENTINEL_REPO afterwards.
  • Left out: no change to red: breaches (#3895) and no new helper. I did not add a second own-repository test.

Closes #3918

commented

The sentinel now files a "check never green" finding only for its own repository. Another repository's never-green check files nothing there.

bun test test/sentinel.test.ts passes: 34 tests, 0 failures. bun x tsc --noEmit fails in this sandbox with Cannot find type definition file for 'bun'. That is a missing type package, not an error in the changed code. The forge's check will run the type check on the push.

This run changed nothing. The branch already held the fix from earlier runs and matches origin, so there was nothing new to push.

  • What changed: runStreaks in src/crew/sentinel.ts yields a gate: finding only when the repository is the sentinel's own (sentinelRepoPath(), resolved to its id). The agent-run (push) streaks are untouched.
  • Also added: the sentinel logs once when its repository does not resolve. The README says where other repositories' never-green checks still show: their own checks and the degraded list.
  • Tests: test/sentinel.test.ts has the two cases from the issue. 15 failed check runs in another repository yield no finding; 15 in the sentinel's own repository still do. The suite also restores FORGE_SENTINEL_REPO afterwards.
  • Left out: no change to red: breaches (#3895) and no new helper. I did not add a second own-repository test.
Approved

The never-green gate finding is now filed only for the sentinel repository, resolved through the existing ownRepoPath/getRepo. Other repositories keep it on their own checks and the degraded list. Preview answers 200. Tests cover both directions and restore FORGE_SENTINEL_REPO. README documents it. No new dependency. Next two: (1) the module-level warnedUnresolved flag is process state that tests cannot reset; consider folding the unresolved case into the existing not-found fault at sentinel.ts:505. (2) Add a test that the unresolved sentinel repo files no gate finding.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs