Development record
abcd ahoy install --answers stops with exit 2 at a question the answers file does not answer, and writes no answers record, but it does not always write nothing, as spc-2610030911534855's B3 says it must.
abcd ahoy install --answers stops with exit 2 at a question the answers file does not answer, and writes no answers record, but it does not always write nothing, as spc-2610030911534855's B3 says it must.
Narrowed on 2026-10-04 (lane e8term3fix): setup now checks the answers file before its first write. An entry whose question has a fixed set of answers (a config value, the house-style question, a status-line element, every approval) must give one of them, and every config value the run would ask (the visibility, the docs target, the oracle backend, deep scanning) must be answered by its flag or by the file, walked by ahoy.WalkConfigValueQuestions in the order and as far as the install asks them. Either refusal comes before Install runs and says that nothing was written. The adoption and the approvals were already asked before the first write.
What remains: the questions whose asking the run itself decides are still checked only when they are put, between the install's steps: the status line's elements, the routing and status-line offers, the lineage question, the house-style question and the artefact kind (the drain rule, the git identity and a conventions file's retirement are never answered from a file). A stop at one of them leaves the steps before it done; its message now says so ("what the install changed before this question stays"), and the next run asks only what is still open. Closing it needs the question plan in core ahoy that the remedy names.
Frontmatter
| id | iss-2610040025088395 |
|---|---|
| type | issue |
| lifecycle | open |
| severity | minor |
.abcd/work/issues/open/iss-2610040025088395-abcd-ahoy-install-answers-stops-with.md
open on GitHub ↗ · commit history ↗
mentions4
- dcn-26100400000000052026-10-04 — Decided without a question under the person's ruling that an obvious answer is decided (lane e8term3fix of autonomous run A, on sec-e8term3 finding 5; iss-2610040025088395): the gap with B3's "writes nothing" is split. This branch settles before the install's first write what is fixed before the run: every answers-file entry whose question has a fixed set of answers is checked against that set, and every config value the run would ask is walked by `ahoy.WalkConfigValueQuestions`, which follows the install's own collection (`collectMissingValues`), so those refusals write nothing and say so. The questions whose asking the run itself decides (the status line's elements, the routing and status-line offers, the lineage question, the house-style question, the artefact kind) are still checked when they are put, and their stop now says that what the steps before it changed stays; iss-2610040025088395 stays open for them, waiting on a question plan in core ahoy, the setup questions' owner's area. Why: the config values depend only on detection, the flags and two answers given before any write, so they can be settled without the plan, while the rest depend on state the steps before them write. Alternative not taken: holding the whole fix for the plan, which would leave the common case (a missing visibility leaving `.abcd/config.json` behind) open.
- dcn-26100400000000082026-10-04 — Rulings of the product thinker on closing itd-2610030810370060's spec spc-2610030911534855 (asked by abcd-e8, one question at a time, answers verbatim): (1) "Ship it as partly done": the spec closes with --remainder and the intent stays planned, because iss-2610040025088395 (an answers file that stops at a question decided during the run leaves the earlier steps' writes) keeps criterion B3 from holding in that case; (2) "Add it to the remaining work": the AI-written interviews in a Terminal take a typed answer (the typed part on the question type) as well as the role's drafts; (3) "Add a real run to the remaining work": one real AI-written interview on the person's own runner route, with the person, before the intent is marked done, to confirm the change guard does not stop on what the runner itself writes. Alternatives not taken: ship as finished with the issue tracked; leave the drafts-only answers; skip the real run.
- spc-2610030911534855a-person-can-run-abcd-s-interviews-in-a-plain-terminal
- spc-2610040847280931plain-terminal-interviews-remaining-work