Files
alkblobs/docs/architecture/decisions
glm-5.3-flash eea472b375 docs(adr): 020 — family-explicit payloads under the closed op set (OQ-20 resolved, review-003's register)
The ADR-020 record wave: the correction review-003's addressing
conversation decided, landed across the architecture docs.

- decisions/020 (new): the invariant (facade + wire addressable classes
  both = registry; never an option, never a default, never
  length-implied); the wire speaks keys (tag-prefixed key hex, schema
  42/66, bare hex dead); the delivery-form asymmetry (wire put offer
  key + len mandatory; the put response echoes the key — amending
  ADR-012 §2's field); one derivation-explicit put seam (`put_as`;
  `put`, `put_git_object`, `from_git_oid_hex`, `Digest::derive`'s
  silent form deleted); reads unchanged by principle; the op set
  closed; the D-5 litmus; F-2's process record carried verbatim.
  Supersedes ADR-018 §Decision 2/§6 and ADR-012 §2's response field.
- ADR-018: §§2/6 superseded banners kept as wave-13 record; consequences
  and deviations items annotated; references corrected.
- ADR-012/014/010: amendment pointers where the shapes they pinned moved
  (response field; put offer).
- ops-surface.md (stable -> reviewed): the wire-form section rewritten
  around ADR-020; put offer `{namespace, key, len}`, response
  `{token, key}`; the unknown-length wire put and the deferred
  post-check arm deleted from the record.
- store-api.md (stable -> reviewed): the write path restated around
  `put_as(algorithm, len: Option<u64>, stream)` with both arms;
  `put_in_batch` takes the algorithm.
- hashing-and-keys.md (stable -> reviewed): family-explicit address
  formation only; the length-routed constructors die with their record.
- open-questions.md: OQ-20 opened and resolved by ADR-020 same-day (the
  OQ-15 pattern); review-003 register recorded; OQ-15's resolution
  marked partially superseded.
- README.md + AGENTS.md: ADR-020 in the catalog; the open-door paragraph
  moved from "ADR-020 pending" to "accepted, implementation wave
  pending — do not extend or rely on any superseded shape".

Verification: docs-only change (architecture records + AGENTS.md); no
code touched. Self-review pass plus an independent doc-review pass;
the review's critical/warning findings (link depth, the leftover
`put handlers call \`put\`` line, ADR-014/010/018 residue markers, the
repo-side doc ride-alongs named in §Decision 9) all addressed.
2026-10-18 16:28:38 +00:00
..