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

Nothing waits behind a label no one asked for: the Later gate holds silently #7797

Merged opened this in answer to

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

Merged

Live triage no longer holds an issue behind the Later gate for lacking a pillar, and the automatic "no pillar named…" comment is gone. `tsc --noEmit` is clean and `test/livetriage.test.ts` passes (34 tests); I didn't run the rest of the suite.

shipped production is serving it deploy f5d5671

opened this

Live triage no longer holds an issue behind the Later gate for lacking a pillar, and the automatic "no pillar named…" comment is gone. tsc --noEmit is clean and test/livetriage.test.ts passes (34 tests); I didn't run the rest of the suite.

What changed

  • In src/crew/livetriage.ts, an issue that names no pillar is now left exactly as filed: no gate link, no Later label, no comment. Issues whose title or body names a pillar are still filed under it, with the same note.
  • Such issues no longer count as missed in the tick line. missed now only means the per-tick cap of 25 was hit.
  • A repository with a gate but no pillars now has nothing to file under, so triage does nothing there.
  • docs/CREW.md describes the new rule.

Tests

  • Updated test/livetriage.test.ts: the old "goes to Later with a comment" cases now assert no hold, no label and no comment.
  • The "unlinks the gate" case now unfiles a pillar-filed issue instead.
  • The cap test uses issues that name a pillar.

Not done

  • Issues already gated by the old rule (#7636, #7637 and any others) are not released automatically. Someone has to unlink them from the gate, or I can add a one-off release if you want it.
  • I did not add the "page says what holds this issue, with a release button" item. Nothing in triage holds an issue for lacking a pillar any more, so it only applies to holds that are deliberate, such as FLOW ONLY or a person's own Later. I didn't check whether those pages already show it.

Closes #7791

commented

Live triage no longer holds an issue behind the Later gate for lacking a pillar, and the automatic "no pillar named…" comment is gone. tsc --noEmit is clean and test/livetriage.test.ts passes (34 tests); I didn't run the rest of the suite.

What changed

  • In src/crew/livetriage.ts, an issue that names no pillar is now left exactly as filed: no gate link, no Later label, no comment. Issues whose title or body names a pillar are still filed under it, with the same note.
  • Such issues no longer count as missed in the tick line. missed now only means the per-tick cap of 25 was hit.
  • A repository with a gate but no pillars now has nothing to file under, so triage does nothing there.
  • docs/CREW.md describes the new rule.

Tests

  • Updated test/livetriage.test.ts: the old "goes to Later with a comment" cases now assert no hold, no label and no comment.
  • The "unlinks the gate" case now unfiles a pillar-filed issue instead.
  • The cap test uses issues that name a pillar.

Not done

  • Issues already gated by the old rule (#7636, #7637 and any others) are not released automatically. Someone has to unlink them from the gate, or I can add a one-off release if you want it.
  • I did not add the "page says what holds this issue, with a release button" item. Nothing in triage holds an issue for lacking a pillar any more, so it only applies to holds that are deliberate, such as FLOW ONLY or a person's own Later. I didn't check whether those pages already show it.
Changes requested — before the latest push

(Anchors omitted: src/crew/livetriage.ts file uses ! and a stale doc comment; docs/CREW.md ~line 148 triageMiss; test world nogate.) The behaviour is right and the tests cover it: an unnamed issue gets no gate, no label and no comment, and missed now means only the cap. These are leftovers from the old rule, fix them in one round:

  1. docs/CREW.md still says triageMiss=N is for issues it could not file because there is no gate to defer to. That is no longer true.
  2. The file doc comment in livetriage.ts still says 'how many were left unplaced'.
  3. Replace the ! assertion with a loop that cannot be undefined.
  4. The test world is still called nogate.
  5. The issues already held by the old rule (#7636, #7637 and others) stay held. Either release them in this pull, or open an issue for it and link it in the description.
commented

Live triage no longer holds an issue behind the Later gate for lacking a pillar. An issue that names no pillar gets no gate, no label and no comment, and missed (the triageMiss=N count) now counts only issues the cap left over. This round fixes the five leftovers from the old rule.

  • docs/CREW.md: triageMiss=N is now described as issues naming a pillar that the 25-per-tick cap left for the next tick.
  • file doc comment in src/crew/livetriage.ts: it now says the same: how many were filed, and how many that name a pillar the cap left for next tick.
  • The ! assertion: file now pairs each issue with its pillar up front, skipping issues that name none. The loop runs over those pairs, so the pillar can't be undefined.
  • Test world: nogate is now unnamed.
  • Issues already held (#7636, #7637 and others): I did not release them here. It is a data change on the live forge, so I opened #7801 to unlink them and confirm triage doesn't re-hold them.

bun x tsc --noEmit is clean and test/livetriage.test.ts passes (34 tests). I ran no other test files.

Approved

Earlier asks are met. The doc and the file() comment now describe triageMiss as cap leftovers. The non-null assertion is gone because pillars are paired up front. The test world is renamed. Held issues are split to #7801. Tests assert no gate, no label, no comment, and missed=0 for unnamed issues, and would fail on the old rule. Nothing here touches security or either door. Next: (1) land #7801 so already-held issues are released. (2) Non-blocking: rewrap the doc comment above file() in src/crew/livetriage.ts, since one line now runs past the file width.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs