mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-02 06:54:50 +01:00
docs(ship-policy): what a slot owner does when a stamp commit's lint step reports LINT_RATCHET_NEW (GSTA-203 PR 4)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
9f60858aac
commit
691bc5e3de
2 files changed
+19
No files matched your search
@@ -7,3 +7,5 @@
|
||||
### Changed
|
||||
- **`browse/test/commands.test.ts`**: the duplicate `import * as os` is gone; the test asserts the same things. `scripts/typecheck-test-baseline.json` drops the matching TS2300 entry.
|
||||
- **Dependabot skips oxlint**, because a bump needs the baseline rebuilt by a maintainer.
|
||||
- **`lib/run-evidence.ts`**: `NAME`'s character class drops a needless `\/` escape that landed on main before the ratchet (the same strings match).
|
||||
- **`docs/ship-policy.md`** (A lint finding that appears only in the train): when a stamp commit's lint step reports `LINT_RATCHET_NEW`, the slot owner fixes the finding on the PR branch as a new pin and the train is rebuilt, or the controller drops that slot. The baseline never grows.
|
||||
@@ -439,6 +439,23 @@ covers main only when its exact tree is some S_i of a green record (plain
|
||||
T_i records still cover modulo stamps). A dropped slot changes every later
|
||||
version, so the train is rebuilt, as today.
|
||||
|
||||
<a id="lint-ratchet-in-a-train"></a>
|
||||
**A lint finding that appears only in the train.** `bun run lint` (the typecheck
|
||||
job in `free-tests`) holds oxlint findings to `scripts/lint-baseline.json`, which
|
||||
only shrinks. Each pin passes it against its own base, but merging a train-mate
|
||||
can still add a finding at a stamp commit or the train head. That happens when a
|
||||
pin predates the ratchet, or when two pins interact (one drops the last use of
|
||||
something the other imports). The stamp commit's typecheck job then fails with
|
||||
`LINT_RATCHET_NEW` and names the file, line and rule. There are two ways out,
|
||||
and neither grows the baseline. (1) The owner of the slot whose files the finding
|
||||
sits in fixes it with a commit on that PR's branch. That is a new pin, so the PR
|
||||
reruns /ship and re-READYs, and the controller rebuilds the train from that
|
||||
slot. A stamp commit is never edited in place, because `train land` checks
|
||||
main's tree against S_i. (2) The controller drops that slot and rebuilds the
|
||||
train without it. `LINT_RATCHET_FIXED` at a stamp commit (two pins that together
|
||||
remove a finding) is handled the same way, with `bun run lint --write-baseline`
|
||||
on the slot's branch.
|
||||
|
||||
<a id="ship-before-ready"></a>
|
||||
**0. Lane: /ship before READY.** Every READY follows a /ship run on the branch
|
||||
at the head being READY'd, including a re-READY after a push (Garry,
|
||||
|
||||
Reference in new issue
Block a user