chore: release v0.12.0 - #768
Merged
Merged
Conversation
The v0.12.0 docs-currency review and the surface cross-check found pages and help that no longer say what the binary does; each now says what is. - upgrade guide: a run's state file is rewritten at schema version 8 (the version state.go writes), from version 1, the version v0.11.1 wrote. - build: the `key` check admits an issue id (the issue-keyed lane), and a refusal exits 3 on a locked run state as well as on a held intent. - history separation: its sentence names the store it resolves (a missing store created, a legacy corpus moved) and its refusal outside a git checkout; a Long help keeps the exit 1 on a finding. - guard: the default-word delete the guard blocks since 62d1ab5 leaves the unseen list, and the argument hint reads `check [--command ...]`, since check refuses a positional. - update and version: the network is reached only by a command whose job includes the call; the pages name each such path (launch --fetch-baseline, delegating verbs routed to a provider, ahoy connect and credential, site setup, the forge calls) in place of an "only" claim. - ahoy counts five changing sub-verbs, credential --home included; prepare-this-repo describes ADRs under timestamp ids; drain gains its argument hint and input line; the README sample board shows the Now / Next / Later block, taken from the built binary in a throwaway managed repository. The two help sentences are pinned by help_truth_test.go in both directions (the sentence, and the behaviour it names); the generated reference and the surface snapshot are regenerated. Assisted-by: Claude:claude-opus-5-5
The guard blocks `rm -rf ${DIR:-$HOME}` and `${X[0]]-$HOME}` as
rm-rf-root-or-home since 62d1ab5 and 598f477, and the chapter's own
reading of a default already says so. The v0.12.0 docs review held on the
stale clause in the list of what an allow does not see; this removes it,
matching the same fix to commands/guard.md in 4b8ff2a.
Assisted-by: Claude:claude-opus-5-5
The v0.12.0 re-review held on the tail of the same list: an alternative nested more than three deep and a `$PWD` substring that prints the root both block as rm-rf-root-or-home since iss-2609290426544292, and the chapter's own reading of a substring already says so. The release cross-check named three more claims in the chapter the shipped guard contradicts: only `guard check` speaks JSON, the hook answering by exit code and stderr alone; the `matches` list names every entry tripped, the one that fired included; and a hazard the guard reads in code rather than from the registry is enforced but not taught. Refs: iss-2609290426544292 Assisted-by: Claude:claude-opus-5-5
The v0.12.0 re-review read the guard chapter whole and held on one more sentence: `rm -rf ../.` is allowed, and the fold of a trailing `.` after a `..` warns only past a first segment (`./../.`). This applies the reviewer's drafted replacement through `docs fidelity --apply`, which flags the sentence for the product thinker's review in .abcd/work/brief-review-flags.json. Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
Assisted-by: Claude:claude-opus-5-5
Eleven of the docs-currency gate's 24 findings, the four major ones among them, are fixed in 4b8ff2a and the re-cut CHANGELOG; the thirteen remaining minors and nitpicks are captured as one documentation record. The cross-check's three user-facing findings and every finding on the guard chapter are fixed before the content commit. Its behaviour findings are captured with the two defects the docs reviews surfaced, as four minor records to fix in the first lane after the tag; x-001 is the stated behaviour of the breaking change, and it and the rest of the design-record drift are deferred to the systematic brief pass. The DECISIONS entry carries the run's agenda line, approve the publish step, under ruling A2 and the releases ruling of 2026-09-25T08:04:52Z. Refs: iss-2609302305500526 Refs: iss-2609302306003610 Refs: iss-2609302306019245 Refs: iss-2609302306153318 Refs: iss-2609302306281487 Refs: iss-2609091956001547 Assisted-by: Claude:claude-opus-5-5
…prose The guard chapter's prose above its generated appendix named a verb and a flag, which the brief's shape rule keeps to the appendix alone. The sentences say the same thing without the spelling: the check answers in JSON when asked, and the hook writes nothing on stdout in either output form. Assisted-by: Claude:claude-opus-5-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.12.0, cut by autonomous run A. When this merges, the tagging workflow reads the dated section and tags v0.12.0.
This is a breaking release. Two things stop working, and docs/how-to/upgrade-to-v0.12.0.md lists every replacement:
stage, notstep, for what a lane goes through. The JSON fieldsperformed,step,refusal.stepandlane.stepbecomeperformed_stage,stage,refusal.stageandlane.stage. The run state file moves to schema version 8: a run begun on v0.11.1 is read as it stands and rewritten at version 8 by its next step, which an older abcd cannot read, so finish a run with the abcd that will keep driving it.abcd ahoy dry-run,abcd ahoy identity-check,abcd version,abcd docs lintandabcd site checkexit 2 as unknown commands; useabcd ahoy --dry-run,abcd ahoy --identity,abcd --version(andabcd update --check),abcd lint docsandabcd lint site. Bareabcd identityand bareabcd ahoy remotelist their sub-verbs and exit 0.What ships, eleven intents, all additive:
abcd ahoy credential(itd-2609221017023290).abcd reflect(itd-24).abcd intent prepass(itd-42).abcd docs fidelitygates the spec close and the cut (itd-60).launch shipderived v0.12.0 (impact breaking) from 281 records that reached a terminal folder since v0.11.1: the eleven intents and 270 resolved or declined issues (171 fixes, nineteen additive, three breaking, 77 internal and outside the changelog). The release guard found the five removed spellings and the records declare them; the findings guard passed with the one major carried past v0.11.1 on its recorded deferral.The branch is eight commits on main a76d7f5:
../.(iss-2609302306019245), anddocs fidelityrecord and--applydisagreeing on a verdict's chapter shape (iss-2609302306153318). The docs-currency minors are iss-2609302306281487.ahoy remoteexiting 0 is the stated breaking change, not a defect; it and the rest of the design-record drift go to the systematic brief pass iss-2609091956001547.Local proof:
go run ./cmd/record-lint --release-gate fecdbed575f9e8e2cb0b875491d9aa48e8dfa0f9 --require-gate docs-currency-reviewer --require-gate iss35-brief-surface-crosscheckexits 0,launch receiptspasses,lint docs --release-gateexits 0, andlaunch archive --verify --tag v0.12.0 --repository intentdriven/abcdreproduces the committed pin.Refs: iss-2609302305500526
Refs: iss-2609302306003610
Refs: iss-2609302306019245
Refs: iss-2609302306153318
Refs: iss-2609302306281487
Refs: iss-2609091956001547
Assisted-by: Claude:claude-fable-5-1
Assisted-by: Claude:claude-opus-5-5