Development record
abcd-lab-mechanises-the-lab-conventions-three-hand-run
specclosedspc-2609212141418943
Summary
The design record for itd-2609212137128014: the abcd lab verb family, the procedure record and the recording model, from the capstone under the machine-scoped lab store.
Scope
- The store:
~/.abcd/lab/<lab-id>/withindex.jsonl, keyed as the worktree and transcript stores are (criterion 1). - mint / preflight / record / sweep / harvest in
internal/core/lab, each writing only under the lab home (criteria 1 to 4). - The discipline record under
intents/disciplines/, from the capstone's amendment list (criterion 6). - Halt-and-record: the preflight and the sweep exit non-zero and write the finding (criterion 5).
Out of scope
- Auto-merge; labs as a grouping; a next-labs runner.
Approach
The capstone documents are the source: series-review.md for the procedure, recording-model.md for the store's shape, the harvests for the harvest template. The verb writes nothing into a repository; its output enters the record only through capture.
Footprint
- packages: internal/core/lab, internal/surface/cli, .abcd/development/intents/disciplines
- tests: each verb over a fixture lab home; the sweep on a planted unapplied correction; the harvest shape
How the criteria are satisfied
| Criterion | Where |
|---|---|
| 1 mint | scope 1, 2 |
| 2 preflight halts | scope 2, 4 |
| 3 sweep | scope 2 |
| 4 harvest | scope 2 |
| 5 halt-and-record | scope 4 |
| 6 discipline record | scope 3 |
Frontmatter
| id | spc-2609212141418943 |
|---|---|
| type | spec |
| lifecycle | closed |
.abcd/development/specs/closed/spc-2609212141418943-abcd-lab-mechanises-the-lab-conventions.md
open on GitHub ↗ · commit history ↗
References1
- itd-2609212137128014abcd lab mechanises the lab conventions three hand-run experiments provedimplements
mentions1
- dcn-26092600000000042026-09-26 — The lab store is keyed `~/.abcd/lab/<root-sha>/<lab-id>/`, with one `index.jsonl` registry per root-sha lane beside the lab homes (lane implementer, autonomous run A, on review-lab's third finding against spc-2609212141418943 for itd-2609212137128014). This supersedes two recorded texts: the spec's literal `~/.abcd/lab/<lab-id>/` (scope item 1), and the 2026-08-31 lab-convention entry's hand-run keying `~/.abcd/lab/<timestamp>-<source-sha7>/` with a single top-level `~/.abcd/lab/index.jsonl`, whose stated divergence from root-sha keying is withdrawn. Why: the intent's scope condition keys the store "as the other machine-scoped stores are", and the worktree and transcript stores key on the repository's root commit, because a checkout moves, is renamed and is cloned twice on one machine while its root commit does none of that; a lab's identity is still its intention, carried by its id `lab-<yymmddHHMMSS>-<pin7>` (the UTC mint time and the pin), so several labs share one baseline inside one lane. The hand-run labs that predate the verb stay where they are, beside the root-sha lanes, and the verb neither reads nor writes them or the top-level registry, so no real lab is moved or migrated by the change. A later text naming `~/.abcd/lab/<lab-id>/` (the open spc-2609221011151661's `pairs.jsonl` among them) means the lab home inside its root-sha lane.