boma/docs
sjat 2f4218814a Reconcile image pinning to a tiered tag@digest rule
Resolve the conflict between ADR-011 (tags-not-digests) and the security work
(digest pinning) with one coherent rule that respects ADR-011's stateless/stateful
split:

- Stateful → pin `tag@digest` (readable tag + integrity digest): legible diffs AND
  tamper-evidence. Snapshots cover broken updates; the digest covers swapped images.
- Stateless → rolling tags (latest/stable); digest-pinning would defeat the rolling
  design. Integrity rests on official/verified images + disposability.

Aligned across ADR-011 (decision 2), ADR-004 (image management), ADR-002
(supply-chain row), accepted-risk R1, the service checklist, and TODO 15.6.
TODO 16.7 marked decided.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 19:21:36 +02:00
..
decisions Reconcile image pinning to a tiered tag@digest rule 2026-06-04 19:21:36 +02:00
hardware Add hardware reference doc skeleton + reviews dir 2026-06-01 10:14:53 +02:00
reviews review-repo: harden scanner, apply safe fixes, record first review 2026-05-30 19:10:58 +02:00
runbooks Add per-service SECURITY.md convention; one role per service 2026-06-04 16:09:33 +02:00
security Reconcile image pinning to a tiered tag@digest rule 2026-06-04 19:21:36 +02:00
superpowers Add implementation plan for hardware capacity tooling 2026-06-01 10:04:59 +02:00
FRICTION.md Log Forgejo no-PR-workflow friction in FRICTION.md 2026-06-01 11:22:26 +02:00
README.md Add architecture decision records and runbooks 2026-05-30 14:10:01 +02:00
TODO.md Reconcile image pinning to a tiered tag@digest rule 2026-06-04 19:21:36 +02:00

docs/

Project documentation.

  • decisions/ — Architecture Decision Records (ADRs): the "why" behind the design. Numbered from 001; each records context, the decision, and what was ruled out.
  • runbooks/ — step-by-step operational procedures (add a host, add a role, rotate secrets).

For what is actually built vs only designed, see STATUS.md at the repo root — the ADRs describe intent, not necessarily current reality.