Files
alkgit/tasks/architecture/oq-06-metadata-backing.md
T
glm-5.3-flash addc874667 docs(architecture): resolve OQ-06/07/08 — per-repo authz, registry backing, CRUD ops
ADR-011 (resolves OQ-08): per-repo authorization — grants live in repo
records keyed on the stable logical identity id (alkcall ADR-025,
referenced); policy is alkgit-core's authorize() function (public+read
anonymous-first-class, write always authenticated+granted); alkgit
stores no identity records; vault placement resolved as nothing to
place in v1.

ADR-012 (resolves OQ-06/OQ-07): registry backing + write surface —
GitRegistryStore write supertrait (alknet ADR-035 read/write split
shape); registry-file default (per-repo record files + in-memory
index, config-seeded, op-mutable, no gitoxide); git/repo/* CRUD ops
shipped External with scope+ownership ACL (create mints ownership and
seeds creator grants; ownership never implies git access); the
two-op-kind classification recorded (open op + call ops from one
crate, per alkcall ADR-047); recorded split trigger for a downstream
platform crate.

Doc sync: backend.md (five-trait family, feature model split,
two-op-kinds), doors.md + overview.md (authorize policy, dual-kind
crate map), open-questions.md (OQ-06/07/08 resolved), README (ADR
table, current state), oq-06 tracker task closed (resolved early).

Verification: cargo test (default + --no-default-features), clippy
-D warnings, fmt --check.
2026-09-21 16:26:59 +00:00

41 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: architecture/oq-06-metadata-backing
name: OQ-06 unblock — metadata-scale requirements arrive
status: done
depends_on: []
scope: narrow
risk: trivial
impact: component
level: research
tags: [external-trigger, deferred-oq, resolved-early]
---
## Description
Tracker for OQ-06 (`deferred(scope)`): registry/metadata backing store.
**Resolved early (2026-09-21, ADR-012)** before the blocking condition
arrived: the deferral's premise was wrong — the deferred "metadata-scale
requirements" only ever gated a *persistence adapter* (future, separate,
additive), never the default backing. The default (`registry-file`
feature: per-repo record files + in-memory index, config-seeded,
op-mutable) is file-scale by design under the alknet repo/adapter
pattern. Marking done closes the tracker.
## Work
None. OQ-06 is resolved by
`docs/architecture/decisions/012-registry-backing-and-ops.md` (§1–2, §4).
## Verification
- OQ-06 status matches `docs/architecture/open-questions.md` (resolved).
## Out of scope
- Building a persistence adapter (gated on a real deployment need —
additive, no tracker needed until then).
## Summary
Resolved early via ADR-012: the repo/adapter pattern made the default
independent of scale requirements; the deferral dissolved.