Ruling needed: does main's README quick start install main, or the latest release? (#103 item 2 reverts #89's fix) #118
Replies: 3 comments
|
Triage owes this thread the canonical block, and it was missing. The Two honest notes about the ladder itself. The clock is anchored to the escalation comment above (2026-07-23T23:25Z), not If the default fires, triage picks 3, mints the issue that carries it — citing Correction, 2026-07-24: this comment first cited rig's vendored Correction, 2026-07-24 (second): the |
|
12-hour re-read of the ladder (LABELS.md: "the setter re-reads the default against what has landed and asks whether it still holds and whether doubt remains"). Overdue — the rung was at 11:25Z and this is 12:50Z. Two findings, and the first one is against my own recommendation. 1. Option 3 was already mostly shipped when I recommended itMy curl -fsSL .../install.sh | bash # the latest release
curl -fsSL .../install.sh | RIG_REF=0.2.0 bash # pinned to a release
curl -fsSL .../install.sh | RIG_REF=main bash # the development treeByte-identical on What is genuinely left is much smaller than my own wording claimed: the L18 fence is unlabelled and shows the dev command alone, and the stable channel sits behind a five-line paragraph. A newcomer who copies the first thing that looks like an install command never reaches L29. So option 3 narrows to one comment on the first fence, or one line hoisted into it — not "add the stable command to the README". That is my error, not a change in the facts, and it is the correction that matters most here: it makes the default cheap where it read as substantial. 2. Option 2's hazard stopped being historicalThe escalation argued against option 2 from #89, an incident. It is a live, nameable failure today:
Under option 2 a reader today installs 0.3.0 from The defaultDirection holds and the new evidence points the same way, so this does not become a hard block. The deliverable is restated honestly: Options, recommendation and the 23:25Z clock are otherwise exactly as posted at 00:51Z. This is a rung, not a re-flag; the ladder does not restart. Unchanged#103 closed at 07:01:16Z when PR #122 merged, as the second correction above anticipated. Item 1 shipped; the ruling's landing site is a fresh issue citing #103 and this thread, and a closed #103 is not reopened for it. rig still has no @danmt — if the answer is 1 (leave it alone entirely), one word here closes this and nothing is minted. |
|
Decision — the default fired. 2026-07-24T23:25Z passed with no ruling; per the ladder's past-24h rung (LABELS.md, ceremony#50 D13–D14) triage picks and stays accountable: Option 3, as narrowed at the 12h re-read: the README's first fence names the development channel on a comment line and carries the latest-release command below the dev command — the dev command line stays byte-identical and first, because Recorded as #149 — minted @danmt — you overturn this at the merge gate, not before it: the change lands as an ordinary PR you can decline, and if the answer was "1 — leave it alone", closing #149 with that one word undoes everything. Resolving this thread; the decision record is this comment plus the two above it. |
Uh oh!
There was an error while loading. Please reload this page.
The decision
What contract does the quick-start command on
main's README serve?A — the README you are reading matches what the command installs. Current behaviour,
README.md:18:curl -fsSL https://raw.githubusercontent.com/heavy-duty/rig/main/install.sh | RIG_REF=main bashB — the landing page shows a newcomer the stable path, matching box and cast, with
mainstaying documented as the opt-in dev channel a few lines below:curl -fsSL https://raw.githubusercontent.com/heavy-duty/rig/main/install.sh | bashWhy this is a ruling and not a bug fix
rig#103 reads the
RIG_REF=mainoverride as "almost certainly a stale workaround from before rig had any release". It is not. It was added deliberately, one day earlier, by PR #91 (docs: align README quick start with main, merged 2026-07-20), to close #89 — and #89 was filed URGENT:The concrete failure:
mainhad landed two BREAKING renames (#76's-server/-boxsuffixes,#77's--root-door) that no release carried. A reader followed the README's install command, got 0.2.0, typed the role name the same page told them to type, and the CLI rejected it. Hard cut, no aliases —test/cli.shasserts the old names exit 2.So the two options trade the same defect back and forth:
mainis ahead — #89 exactlyNeither is free. B is only safe when
mainand the latest release document the same surface, which is precisely the condition that does not hold during a rename cycle — and rig has had two.What a builder would hit
There is a regression test pinning A (
test/cli.sh:430-436), added by the same PR:Anyone implementing B goes red on a test whose name states the opposing intent. That is the signature of a decision, not a defect — and the reason triage will not mint it.
Options, with a recommendation
main's README cannot document a surface the default install does not have. Real work, and it must land with B, not after.Triage recommends 3, then 1. #103's underlying worry — that the first command a reader meets installs the development tree — is legitimate, but option 2 pays for it by restoring a documented-vs-installed mismatch that someone already had to file as URGENT, and option 3 gets the same benefit for the price of a sentence.
Decider: @danmt. Whichever way this goes, the answer should be written into the README as a comment or into
test/cli.sh's block, so the next reader does not re-litigate it — this is the second time the line has been argued about in three days.All reactions