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
Check · Review · Land · Live done — Landed and live in production.
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
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
missedin the tick line.missednow 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.mddescribes 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.
(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:
- docs/CREW.md still says
triageMiss=Nis for issues it could not file because there is no gate to defer to. That is no longer true. - The
filedoc comment in livetriage.ts still says 'how many were left unplaced'. - Replace the
!assertion with a loop that cannot be undefined. - The test world is still called
nogate. - 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.
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=Nis now described as issues naming a pillar that the 25-per-tick cap left for the next tick.filedoc comment insrc/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:filenow 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:
nogateis nowunnamed. - 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.
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.
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 --noEmitis clean andtest/livetriage.test.tspasses (34 tests); I didn't run the rest of the suite.What changed
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.missedin the tick line.missednow only means the per-tick cap of 25 was hit.docs/CREW.mddescribes the new rule.Tests
test/livetriage.test.ts: the old "goes to Later with a comment" cases now assert no hold, no label and no comment.Not done
Closes #7791