diff --git a/.abcd/work/DECISIONS.md b/.abcd/work/DECISIONS.md index e0b3b35ea..feade8374 100644 --- a/.abcd/work/DECISIONS.md +++ b/.abcd/work/DECISIONS.md @@ -2676,3 +2676,4 @@ together (the script's header says why there is no escape hatch). - 2026-10-05 — Release v0.13.0 is cut by the coordinating session abcd-d7 while the product thinker is away, and the run's agenda line is: approve the publish step. Under the product thinker's rulings of 2026-10-04 (~10:05Z, verbatim: "Yes, that order", to cut v0.13.0 now with the home rename #815 inside it and rename the folder on their return; "Yes, approve it", for the coordinating session to approve the GitHub publish deployment itself once every check has passed, then verify the downloads and the site; ~13:35, leaving overnight: "keep going autonomously so we can have a new release tomorrow morning"), the session approves the `release` environment's deployment of v0.13.0 only after the merge queue, the verify job and every other gate on the tagged commit report green, and stops with a handover instead if any does not. The cut: v0.13.0, impact breaking (decided by itd-2610030720038073, the home folder renamed to `~/.abcd.noindex` with every abcd entry point stopping until the person renames it; itd-2610030814013772, AGENTS.md the one conventions file; and iss-2610020723185314, only a personal route hands a role to a command-line runner), 55 records since v0.12.0: five shipped intents (two breaking, three additive: itd-201, itd-2610030810350727, itd-2610030821294016) and 50 resolved issues (41 fixes, one additive, one breaking, seven internal and outside the changelog); the release guard and the findings guard passed. The noindex intent's scan receipt (D6) was taken on a `.noindex` probe folder before the rename, with consent, and adr-2610030720195401 accepted with brief invariant 21 (6538ab4a). Brief fidelity: three tier-full reviews and their holds brought 25 brief sentences current before the close (9d57917c, 9e6e0aa0), and the guide's own review found one false sentence, corrected to say the rename is done in a plain Terminal (cde071b9, 405cf34d). Content commit c6441dc0, on top of 3a092b89, which the cross-check's one fix-before-tag finding required; both semantic gates ran at tier full over the first roll 317cd0cc, which differs from the content commit only by that commit and the re-cut CHANGELOG. The docs-currency-reviewer (Fable 5.1) found 2: dc-1 accepted as written (while only `~/.abcd` stands the plugin root holds no binary, so the hook refuses the rename too and the pages describe what the person meets), dc-2 a nitpick deferred to the next release notes. The brief-surface cross-check (45 pinned checkers, Opus 5.5, at most eight alive) found 144 (31 major, 94 minor, 19 nitpick), 143 valid and one invalid (x-036) on an independent classification (Fable 5.1); of the three user-facing findings x-065 (`abcd build --help` said the sub-agent ceiling is not counted, where it binds through `implement step` since ruling DR6) is fixed in 3a092b89, and x-010 and x-042 are minor and deferred; the 140 design-record findings go to the systematic brief pass iss-2609091956001547. Deferred out loud, to be captured after the tag as two records: `launch ship` reads the records at HEAD, so a spec close left uncommitted was silently missing from the cut rather than refused (the close was committed as 44a73e6f before the ingest), and `docs fidelity --apply` flags the drafted replacement while the landed sentence was hand-tidied, so .abcd/work/brief-review-flags.json carries the drafted wording for 10-docs, 15-prepare-this-repo, 22-site, 23-reading and 27-implement. Reason for deferring: neither changes what v0.13.0 ships, and the person's ruling was a release by morning. - 2026-10-05 — Decided without asking (facilitator default, recorded by abcd-e8 at abcd-d7's direction while the person is away): the dashboard refuses a node shared into the tailnet from another account, and a request relayed by another node's Serve or Funnel, until the person decides; decision 4's 'anyone on your Tailscale' did not settle either, a shared-in node belongs to someone else and a Funnel relay is the open internet, so refusing is the safe default. A raw TCP relay cannot be told apart and stays a residual. - 2026-10-07 — Ruling DR3 of the person (2026-09-29, in the human-step interview run for autonomous run A and relayed by its interviewer abcd-23 [b1e81b]), restated for iss-2610020728128805 (recorded by lane-1 of run-2610071733272557, records only). The answers of that interview are kept in the local-tier file `.abcd/.work.local/scratch/reports/rulings-answered-2609-29-b.md`, line 31, and are restated here because that file is not committed. DR3, verbatim: "itd-60 docs-fidelity verdict: FOUND AUTOMATICALLY by spec close and launch ship (a saved verdict labelled with the reviewed code's fingerprint; match -> proceed; none/stale -> refuse 'run the docs review first'), like the preflight receipt." It is the ruling the doc-fidelity gate's shape rests on (itd-60, ac-2: the semantic layer is a saved review for HEAD that `spec close` and `launch ship` find automatically, rather than a review run at the close), cited by `internal/core/docfidelity/store.go`, `internal/core/docfidelity/docfidelity.go` and `internal/core/lint/gatereceipt.go`. The issue was captured on 2026-10-02 against the 2026-09-30 entry above, which restates DR1, DR2, DR4, DR5 and DR6 and skips DR3; that entry is left as written (DA002). The 2026-10-02 entry of lane rd2 above already restated DR3 later the same day, after the capture, together with CB1, CC1, CD1 and CD2, and DQ2b and CJ1b have their own 2026-09-30 entries, so none of the rulings the issue names as owed is still missing; this entry adds the issue's own pointer to the ruling and changes no earlier line. +- 2026-10-09 — Rulings of the product thinker on the three hand-backs of the 2026-10-07/08 autonomous drain (asked by abcd-0b, one question at a time, answers verbatim): (1) iss-2609251618079479, whether the build-sequence chapter's build-milestone sense retires with the phase: "Rewrite in today's terms" — 06-delivery/01-build-sequence.md stays a current chapter, its build order restated as dependencies with no milestones (neither retired as history nor kept as a second sense of the word). (2) iss-2610040758569116, whether an agent may run 'abcd decide accept', which stamps the person's git name as accepted_by: "Agents too, disclosed" — no guard block as for 'source ledger --flip'; the commit's Assisted-by trailer is the disclosure. (3) iss-2610030956156354's open design point, whether a step still falls back to the agent harness when the size count already sent the brief to the person's own model server and the chat call then fails: "Move to the harness" — no answer received is the trigger, not nothing sent; recorded as iss-2610090701491123, since the resolved fix stops instead. diff --git a/.abcd/work/issues/open/iss-2609012313465609-every-pull-request-pays-two-full-ci-cycles-and-the-macos-check-takes-13-minutes.md b/.abcd/work/issues/open/iss-2609012313465609-every-pull-request-pays-two-full-ci-cycles-and-the-macos-check-takes-13-minutes.md index 7df168444..6e25f928c 100644 --- a/.abcd/work/issues/open/iss-2609012313465609-every-pull-request-pays-two-full-ci-cycles-and-the-macos-check-takes-13-minutes.md +++ b/.abcd/work/issues/open/iss-2609012313465609-every-pull-request-pays-two-full-ci-cycles-and-the-macos-check-takes-13-minutes.md @@ -29,3 +29,7 @@ Deferred past v0.11.1: The product thinker's ruling M19 of 2026-09-23: planned n ## Evidence 2026-10-07 The macOS leg hit its 45-minute job cap in the merge queue again. On #839's merge-group run (37590582904), `check (macos-latest)` ran 07:57:44 to 08:43:14 and was cancelled in `Test (race, internal)`, which had started at 08:14:47. The ubuntu leg was green. The queue dropped the pull request and it had to be re-queued by hand, adding a full cycle. This is the second time in two release cycles (the v0.13.1 release PR, 2026-10-05, was cancelled the same way). The queue retries nothing on a runner timeout, so an unattended run has to watch for it. + +## Evidence 2026-10-08 + +The macOS leg's 45-minute cap recurred three more times in the overnight drain, though iss-2609281514435020 was resolved for the same class. PR #852's own macOS check failed at 45m31s (2026-10-07 23:11Z). PR #854 was dropped from the merge queue at 2026-10-08 00:36Z on a failed merge-group check, its own checks green. PR #867 was dropped at 07:43Z: its merge-group ci run 37740516314 had check (macos-latest) cancelled at the cap (07:07 to 07:52). Each needed a hand re-run or re-enqueue (iss-2610090642376032 covers the silent drop). diff --git a/.abcd/work/issues/open/iss-2609091956001547-the-brief-surface-crosscheck-returns-a-fresh-nonzero-sample.md b/.abcd/work/issues/open/iss-2609091956001547-the-brief-surface-crosscheck-returns-a-fresh-nonzero-sample.md index ddaefa8a0..dc9db366a 100644 --- a/.abcd/work/issues/open/iss-2609091956001547-the-brief-surface-crosscheck-returns-a-fresh-nonzero-sample.md +++ b/.abcd/work/issues/open/iss-2609091956001547-the-brief-surface-crosscheck-returns-a-fresh-nonzero-sample.md @@ -126,3 +126,7 @@ x-083 to x-100 in `02-constraints/04-naming.md` and `05-internals/03-configuration.md`, which other branches were editing at the time. The two stable armings the acceptance asks for are not run: they fan out the pinned checkers and are the orchestrator's to arm, with the person's opt-in. + +## Evidence 2026-10-08 + +The v0.13.3 full-tier crosscheck (46 checkers over 41 brief documents and 5 surfaces) recorded 74 minor brief discrepancies, all deferred here: 50 false claims, 11 fictional layouts, 10 stale counts, 2 undocumented surfaces and 1 criterion violation. Each is listed with its location in the committed receipt .abcd/work/reviews/ecef2bf2a46f5f95fbc55ba88b09eff1907a16c6/iss35-brief-surface-crosscheck.json (failing[]). Two examples from the verb-tree checker: 05-internals/08-skills.md says five verbs have no command page where statusline makes six, and 02-constraints/04-naming.md says two verbs refuse when run bare where launch, decide and build make three. diff --git a/.abcd/work/issues/open/iss-2609251618079479-after-adr-2609212115255771-retired-the-phase-the-milestone.md b/.abcd/work/issues/open/iss-2609251618079479-after-adr-2609212115255771-retired-the-phase-the-milestone.md index f1a609084..ca64a7b41 100644 --- a/.abcd/work/issues/open/iss-2609251618079479-after-adr-2609212115255771-retired-the-phase-the-milestone.md +++ b/.abcd/work/issues/open/iss-2609251618079479-after-adr-2609212115255771-retired-the-phase-the-milestone.md @@ -9,7 +9,7 @@ found_during: "autonomous run A resumed 2026-09-25" origin: researcher-authored production_mode: hand-written found_at: ".abcd/development/brief/01-product/04-scope.md" -remedy: "Finish the sweep in the files it left, each once the branch editing it has landed: where the brief uses the phase or the milestone as the sequencing unit, state sequencing as dependencies (blocked_by, builds_on) plus the lifecycle shelves, the Now / Next / Later block and target_release, as adr-2609212115255771 decides; restate 04-surfaces/09-reflect.md at the release grain in the change that plans or builds itd-24; and ask the product thinker whether the build-sequence chapter's build-milestone sense retires with the phase. Grounds: the ADR fixes the replacement vocabulary, so each remaining site is a reading, not a decision, except the build-milestone sense, which the ADR does not name; a grep for phase and milestone over the brief that finds only history, the retired entries and the other senses listed in the record would show the sweep done." +remedy: "Finish the sweep in the files it left: where the brief uses the phase or the milestone as the sequencing unit, state sequencing as dependencies (blocked_by, builds_on) plus the lifecycle shelves, the Now / Next / Later block and target_release, as adr-2609212115255771 decides; restate 04-surfaces/09-reflect.md at the release grain in the change that plans or builds itd-24; and rewrite 06-delivery/01-build-sequence.md in today's terms, its build order stated as dependencies with no milestones, fixing the ten statements the v0.13.3 crosscheck found stale (product thinker ruling 2026-10-09: 'Rewrite in today's terms')." deferred_after: "v0.11.1" deferral_reason: "no ruling owed; carried past v0.11.1 by lane drainDrift3 (run A 2026-09-29) on its size: adr-2609212115255771 settles the model (sequencing is builds_on and blocked_by plus the drafts, planned and shipped shelves; the checkpoint is the derived release), but at 8322cdf65 the brief still names the phase at about 250 sites in 60 files, and each needs a reading to tell the retired sequencing unit from a legitimate use (the retired-term glossary entry, the phase-audit receipt, a process phase). It wants a docs lane of its own, taking 01-product/04-scope.md and the release, version, loop, plan and spec glossary entries first." --- diff --git a/.abcd/work/issues/open/iss-2610040758569116-abcd-decide-writes-an-adr-as-proposed-and-its-help-says-the.md b/.abcd/work/issues/open/iss-2610040758569116-abcd-decide-writes-an-adr-as-proposed-and-its-help-says-the.md index 04cd38de5..1708d255d 100644 --- a/.abcd/work/issues/open/iss-2610040758569116-abcd-decide-writes-an-adr-as-proposed-and-its-help-says-the.md +++ b/.abcd/work/issues/open/iss-2610040758569116-abcd-decide-writes-an-adr-as-proposed-and-its-help-says-the.md @@ -9,7 +9,7 @@ found_during: "downstream brief-authoring lab report, 2026-10-04" origin: researcher-authored production_mode: hand-written found_at: "internal/core/decide/decide.go" -remedy: "Add an accept sub-verb to decide that sets status: accepted on a proposed ADR and stamps who accepted it and when, refusing a record that is not proposed; test: accept on a proposed fixture ADR writes the status and the stamp, and a second accept is refused." +remedy: "Add an accept sub-verb to decide that sets status: accepted on a proposed ADR and stamps who accepted it and when, refusing a record that is not proposed; an agent may run it, disclosed by the commit's Assisted-by trailer, with no guard block (product thinker ruling 2026-10-09: 'Agents too, disclosed'). The reviewed code is parked on local branch parked/decide-accept-iss-2610040758569116 (bf7930a27) for reuse; test: accept on a proposed fixture ADR writes the status and the stamp, and a second accept is refused." --- abcd decide writes an ADR as proposed, and its help says the status stays proposed until the author sets accepted, but no verb sets it: accepting a decision means hand-editing status:, and nothing records who accepted it or when. A downstream project accepting its first decisions did exactly that. diff --git a/.abcd/work/issues/open/iss-2610051434156079-a-burst-of-subagent-stops-still-loses-transcripts-on-a-slow-host.md b/.abcd/work/issues/open/iss-2610051434156079-a-burst-of-subagent-stops-still-loses-transcripts-on-a-slow-host.md index 2632405e8..3ec5e3423 100644 --- a/.abcd/work/issues/open/iss-2610051434156079-a-burst-of-subagent-stops-still-loses-transcripts-on-a-slow-host.md +++ b/.abcd/work/issues/open/iss-2610051434156079-a-burst-of-subagent-stops-still-loses-transcripts-on-a-slow-host.md @@ -23,3 +23,7 @@ Deferred past v0.13.0: Found during the v0.13.1 cut in code that release does no ## Deferral 2026-10-07 Deferred past v0.13.1: Second deferral, made by the 2026-10-07 autonomous run cutting v0.13.2: that patch ships the hook-message fix and the change-guard hardening and touches no staging code. The loss has appeared only on a slow, race-instrumented macOS runner, so its cause is not yet established, and the remedy needs the staging lock reworked and proved under a deliberately slowed lock. That is an investigation of its own, owed before the next minor release; a third deferral should go to the product thinker. + +## Evidence 2026-10-08 + +Recurred in the merge queue: PR #869 (records only) was dropped at 06:59Z when its merge group's macOS check failed TestHookSubagentStopConcurrentCompletionsAllStage, staging 11 of 12 transcripts from 12 simultaneous completions (run 37736585477). Re-enqueued; it merged. The deferral past v0.13.1 lapsed at v0.13.2, and the v0.13.3 cut's findings gate did not trip on it because it predates that anchor. diff --git a/.abcd/work/issues/open/iss-2610071533256167-a-running-drain-s-pace-cannot-be-changed-abcd-drain-refuses.md b/.abcd/work/issues/open/iss-2610071533256167-a-running-drain-s-pace-cannot-be-changed-abcd-drain-refuses.md index 1c195e6c1..99fb49b02 100644 --- a/.abcd/work/issues/open/iss-2610071533256167-a-running-drain-s-pace-cannot-be-changed-abcd-drain-refuses.md +++ b/.abcd/work/issues/open/iss-2610071533256167-a-running-drain-s-pace-cannot-be-changed-abcd-drain-refuses.md @@ -13,3 +13,7 @@ remedy: "Give the drain a verb to change its pace mid-run (abcd drain pace