Skip to content

Commit 8b92846

Browse files
committed
docs(adr-0020): drop the four object.zod.ts path-less L line pins
A third spelling of the same class, found by widening the caliber past the two literals the card measured: `L354/L371/L410/L765` written as bare prose beside a file-level link, carrying no path of its own. Sampled before deleting -- 4/4 stale. Those four lines of `packages/spec/src/data/object.zod.ts` are today a comment about a closed batch site, a comment about `where` guidance, `const nearMiss =`, and a comment about author-time rejection. None is the "managed-by buckets and toolbar lifecycle actions" the sentence cites them for; the file's `lifecycle` block now sits at 818-1010 as an ADR-0057 retention/ttl/storage/archive policy. The file-level link was already there and is kept, so the sentence's claim that `lifecycle` is overloaded in that file stays checked and stays true. ⛔ The prose is NOT repaired: whether the parenthetical's specifics ("managed-by buckets", "toolbar lifecycle actions") still describe that file is a separate defect and takes its own card, exactly as this gate's header instructs. Claude-Session: https://claude.ai/code/session_01AmH9bKvGoLjiY86Q4Z3og2 Co-authored-by: Claude <noreply@anthropic.com>
1 parent a774b02 commit 8b92846

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎docs/adr/0020-state-machine-converge-and-enforce.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Future automation is **AI-generated, human-previewed** (ADR-0010 / ADR-0011). Th
5858
- The audience for the *name* is the **model**, not a non-technical admin. The right heuristic is **"meet the model where its priors are"**: use the term that is densest in training data for this concept.
5959
- "**state machine**" is that term — Rails `state_machine`, AWS Step Functions "State Machine", XState, Spring Statemachine. An AI given a field named `state_machine` with a `{ from: [to] }` transition table hits its priors and produces correct code. A coined term (e.g. `lifecycle`) forces the model off its priors onto local docs alone.
6060
- `state_machine` also reads as **maximally distinct from `flow`** — eliminating the `flow` / `workflow` near-synonym ambiguity that makes an AI pick the wrong type.
61-
- `lifecycle` is additionally **already overloaded** in this codebase (managed-by buckets and toolbar "lifecycle actions" in [`object.zod.ts`](../../packages/spec/src/data/object.zod.ts) at L354/L371/L410/L765), so reusing it would create a *new* ambiguity.
61+
- `lifecycle` is additionally **already overloaded** in this codebase (managed-by buckets and toolbar "lifecycle actions" in [`object.zod.ts`](../../packages/spec/src/data/object.zod.ts)), so reusing it would create a *new* ambiguity.
6262

6363
Corollary (a trap to avoid): if we name it `state_machine`, the **shape must also match the well-known shape**. A conventional name on a bespoke structure is the worst case — the model's priors fire on the name and mislead on the structure. Keep the shape textbook FSM.
6464

0 commit comments

Comments
 (0)