Skip to content

Commit 1a91160

Browse files
The .exe is rejected rather than deferred, and a gap closes with it
Operator's decision, taken once the stability objection was withdrawn and the question stopped being technical. The .exe was argued for a person who does not use a terminal. That person is now served without one: collect-remote.mjs dispatches a collection and fetches the corpus, mcp-server.mjs exposes the same seam to an agent, and both already work. What rejecting it costs, stated so it is not discovered later: there is no offline path. Everything routes through a GitHub runner, so a machine with no network, or an operator with no GitHub account, cannot collect at all. Accepted deliberately rather than papered over. Reopening is cheap because the research is already done - an asset-aware branch in scaffold.mjs, decompose.mjs and artifact-validator.mjs at Stability 1.1, evidenced in docs/decisions/2026-09-21-sea-assets/. "Whether artifact download is ergonomic for the intended operator" closes with it, BY DECISION and not by evidence, and it is labelled that way in both ADR-0031 and the delivery corpus's gap list. It was carried because the answer would have decided between the artifact route and a local binary; with no alternative left to compare against, it stops being a gap and becomes ordinary feedback. If download proves painful, that reopens the .exe. Recording how it closed matters as much as that it did. A usability question was never going to be answered by collection, and carrying it indefinitely would have made the gap list less honest rather than more: an item nothing can ever close reads like diligence while functioning as noise. The sea-assets brief notes what it did NOT do - it did not recommend building the thing it had just unblocked. Removing an objection is not making a case, and the corpus had nothing to say about whether anyone wanted it. 832 passed, 0 failed. All four decision corpora PASS. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 51dbf18 commit 1a91160

4 files changed

Lines changed: 49 additions & 4 deletions

File tree

‎docs/adr/0031-actions-first-delivery-and-pin-the-api-version.md‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,25 @@ reaches 1.1, or if artifact download proves too awkward in practice.
157157
> sentence that looks like a citation. `corroboration` could not have caught it; the claim
158158
> was not under-sourced, it was unsourced and adjacent to a sourced one.
159159
160+
> **Decision, 2026-09-21 — the `.exe` is REJECTED, not deferred.** Operator's call, taken
161+
> once the stability objection was withdrawn and the question was no longer technical.
162+
>
163+
> The `.exe` was argued for a person who does not use a terminal. That person is now served
164+
> without one: `bin/collect-remote.mjs` dispatches a collection and fetches the corpus, and
165+
> `bin/mcp-server.mjs` exposes the same seam to an agent. Neither needs a packaged binary,
166+
> and both already work.
167+
>
168+
> What rejecting it costs, stated so it is not discovered later: there is still **no offline
169+
> path**. Everything routes through a GitHub runner, so a machine with no network, or an
170+
> operator without a GitHub account, cannot collect at all. That is a real limitation and it
171+
> is accepted deliberately rather than papered over — the kit itself already runs locally
172+
> from a terminal for anyone who has one.
173+
>
174+
> **Reopening is cheap and the research is now done.** The route is an asset-aware branch in
175+
> `lib/scaffold.mjs`, `lib/decompose.mjs` and `lib/artifact-validator.mjs`, at Stability 1.1,
176+
> evidenced in `docs/decisions/2026-09-21-sea-assets/`. If an offline operator ever turns up,
177+
> nothing here has to be re-researched.
178+
160179
**Hybrid first.** The strongest long-term shape and the most work, and it needs the
161180
collector anyway. It is what the collector grows into, not an alternative to building it.
162181

@@ -180,6 +199,17 @@ it.
180199

181200
The second is still open and always will be by this route — it is a usability question,
182201
and no vendor page answers it.
202+
203+
**Closed by decision, 2026-09-21, not by evidence.** With the `.exe` rejected above, the
204+
question "is artifact download ergonomic enough to justify building a binary instead" no
205+
longer has a decision hanging on it: there is no alternative left for it to be compared
206+
against. It stops being a gap and becomes ordinary feedback — if download proves painful
207+
in use, that is a reason to reopen the `.exe`, and the route is already researched.
208+
209+
Recording *how* it closed matters as much as that it did. A usability question was never
210+
going to be answered by collection, and carrying it as an open gap indefinitely would have
211+
made the gap list less honest, not more: an item nothing could ever close reads like
212+
diligence while functioning as noise.
183213
- The preliminary note keeps its text. It was right about the behaviour it observed and
184214
wrong about the cause, and rewriting it would erase the most useful thing in this
185215
decision: that reading a page and running the call gave different answers, and only

‎docs/decisions/2026-09-21-delivery-architecture/research/MAP.md‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,15 @@ what has been established.
6363
that is exactly why the gap deserved naming rather than assuming: the workflow installed
6464
`firecrawl`, which on npm is the SDK and ships no binary at all. The CLI is
6565
`firecrawl-cli`, and no amount of reading the documentation would have found it.
66-
- **Whether artifact download is ergonomic for the intended operator.** A usability
67-
question. No quantity of vendor documentation answers it, and this corpus does not
68-
pretend to.
66+
- ~~**Whether artifact download is ergonomic for the intended operator.**~~ **Closed by
67+
decision 2026-09-21, not by evidence.** A usability question. No quantity of vendor
68+
documentation answers it, and this corpus never pretended to — it was carried because the
69+
answer would have decided between the artifact route and a local `.exe`.
70+
`docs/decisions/2026-09-21-sea-assets/` removed the technical objection to the `.exe`, and
71+
the operator then rejected it on scope: the agent path already serves a person without a
72+
terminal. With no alternative left to compare against, the question stops being a gap and
73+
becomes ordinary feedback. If download proves painful in use, that reopens the `.exe`, and
74+
the route is already researched.
6975

7076
## Corroboration, 2026-09-21
7177

‎docs/decisions/2026-09-21-sea-assets/research/BRIEF.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ wanted now that the agent path exists. The MCP server and `collect-remote.mjs` a
4444
the collector without one, and the `.exe` was argued for a person who does not use a
4545
terminal rather than for an agent. That is the single question carried to the human.
4646

47+
> **Answered 2026-09-21: not wanted.** The operator rejected the `.exe` on scope once the
48+
> stability objection was gone. ADR-0031 records it as rejected rather than deferred, along
49+
> with what that costs — there is still no offline path — and the fact that reopening it
50+
> needs no new research, because this corpus is the research.
51+
>
52+
> Worth noting what this brief did *not* do: it did not recommend building the thing it had
53+
> just unblocked. Removing an objection is not the same as making a case, and the corpus had
54+
> nothing to say about whether anyone wanted it.
55+
4756
The cost is also now visible rather than assumed: taking the 1.1 route means the three
4857
runtime reads in `lib/scaffold.mjs`, `lib/decompose.mjs` and `lib/artifact-validator.mjs`
4958
need an asset-aware branch. That is real work, and it is a different objection from the one

‎docs/decisions/2026-09-21-sea-assets/research/DISCOVERY.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ would have made the corpus look broader than it is.
4646

4747
## Questions for the human (maximum 3)
4848

49-
1. Is a Windows `.exe` still wanted now that the agent path exists? The MCP server and
49+
1. ~~Is a Windows `.exe` still wanted~~ **ANSWERED 2026-09-21: no.** Rejected on scope by the operator; ADR-0031 records it. Original question kept as asked: Is a Windows `.exe` still wanted now that the agent path exists? The MCP server and
5050
`collect-remote.mjs` reach the collector without one, and the `.exe` was argued for a
5151
person who does not use a terminal rather than for an agent.
5252

0 commit comments

Comments
 (0)