docs(architecture): ADR-016 — native session preamble (review 001 A-3)

- new ADR-016: channels open-op params pinned as {repo, service}
  (channels/git/sub, additionalProperties: false); direct-ALPN GitAdapter
  parses the git-daemon request line (POC-1-verbatim grammar, capture-
  backed); session tuple gains the service dimension on both substrates;
  GitSession mirrors the shapes; version deliberately stays out of the
  preamble (service fully determines the state machine)
- amend ADR-002/005/010 (tuple, substrate inputs, open-op params pin) and
  transport.md/doors.md/overview.md/backend.md accordingly
- add the ADR-016 wire shapes to OQ-03's freeze inventory; note in
  AGENTS.md convention 9 that the alkgit-specific framing now exists and
  is pinned
- review 001: A-3 marked resolved

verification: cargo test, clippy -D warnings, fmt --check, doc — clean
This commit is contained in:
glm-5.3-flash committed 2026-09-29 08:50:54 +00:00
1 parent 201c7a1fce
commit 41b0894740
12 files changed
+294 -52

No files matched your search

+7 -3
View File
@@ -68,7 +68,11 @@ resolved in earlier cycles. OQ-16 is deferred but blocks nothing in v1
optional door features. What remains deferred is the publish-time API
freeze itself: which type/feature/op names are pinned at first
crates.io publish. ADR-012 added the `git/repo/*` op set (names +
schemas) to the freeze inventory.
schemas) to the freeze inventory; ADR-013/014 added the push/negotiation
trait surface (`GitPackIngest` binding, `GitPackGen::common_haves`);
ADR-016 added the native-path preamble wire shapes (the `{repo,
service}` open-op params schema and the git-daemon request-line
grammar — the last native-path wire surface).
- **Door type**: one-way (API freeze is registry-visible to dependents)
- **Priority**: medium
- **Impacts**: blocks the first publish only, not implementation.
@@ -77,9 +81,9 @@ resolved in earlier cycles. OQ-16 is deferred but blocks nothing in v1
[backend.md](backend.md) §public API and [transport.md](transport.md)
§public API. ADR-013/014 added the push/negotiation trait surface
(`GitPackIngest` binding, `GitPackGen::common_haves`) to the freeze
inventory.
inventory; ADR-016 added the native preamble wire shapes.
- **Cross-references**: ADR-010, ADR-002, ADR-012, ADR-013, ADR-014,
backend.md, transport.md
ADR-016, backend.md, transport.md
## Theme: transport / protocol