Make contracts and architecture docs match settled behavior #55

Open
opened 2026-10-04 17:41:57 +00:00 by kayg · 0 comments
Owner

Problem and evidence

Current documentation repeats superseded or stale statements:

  • docs/DESIGN.md:22-26 still depicts OIDC, Postgres and an outbound port-443 tunnel, while DECISIONS §§24 and 29 defer OIDC, settle on SQLite and describe the direct port-7443 tunnel.
  • docs/contracts.md:2477 says the generic-to-v1 failure adapter is not connected; crates/server/src/resources.rs:2095,2240,2325,2422 now call and implement it.
  • docs/contracts.md:2705 points installation idempotency at §1.3; the relevant section is §1.5.
  • crates/agent/PROVIDERS.md:75 says generic network RPC remains disabled. Current provider RPC code and contracts include negotiated list/detail/action calls, while production defaults still start through LegacyProvider. The same document says collection-time bounds are unfinished; that remains true for the legacy Engine list path, while provider-bollard has a bounded factory path. The docs need to distinguish those states.
  • docs/PLAN.md retains a long, superseded pre-approval step table in addition to the active plan.

Recommendation

Shrink docs/contracts.md to wire/security invariants as the owner decided. Correct stale status and references, accurately separate legacy-default and factory-path status, remove or relocate the superseded plan/handoff text, and make the current entry point obvious. Keep behavior requirements in code and tests; do not add a second prose requirement-to-test system.

Payoff and estimate

Reduces contradictory instructions and repeated reconstruction of current behavior. Estimate: 0.5–1 engineering day for the initial cleanup.

Priority: Now (≤1 day).

2026-10-04 owner decisions: The recommendation to add a requirements-to-tests index conflicts with the owner's decision that code and tests are the spec and contracts should contain invariants. This issue follows the owner's direction while keeping durable decision reasoning in DECISIONS.md.

Report: arch-review report
Source: arch-review 2026-10-04

## Problem and evidence Current documentation repeats superseded or stale statements: - `docs/DESIGN.md:22-26` still depicts OIDC, Postgres and an outbound port-443 tunnel, while DECISIONS §§24 and 29 defer OIDC, settle on SQLite and describe the direct port-7443 tunnel. - `docs/contracts.md:2477` says the generic-to-v1 failure adapter is not connected; `crates/server/src/resources.rs:2095,2240,2325,2422` now call and implement it. - `docs/contracts.md:2705` points installation idempotency at §1.3; the relevant section is §1.5. - `crates/agent/PROVIDERS.md:75` says generic network RPC remains disabled. Current provider RPC code and contracts include negotiated list/detail/action calls, while production defaults still start through `LegacyProvider`. The same document says collection-time bounds are unfinished; that remains true for the legacy `Engine` list path, while `provider-bollard` has a bounded factory path. The docs need to distinguish those states. - `docs/PLAN.md` retains a long, superseded pre-approval step table in addition to the active plan. ## Recommendation Shrink `docs/contracts.md` to wire/security invariants as the owner decided. Correct stale status and references, accurately separate legacy-default and factory-path status, remove or relocate the superseded plan/handoff text, and make the current entry point obvious. Keep behavior requirements in code and tests; do not add a second prose requirement-to-test system. ## Payoff and estimate Reduces contradictory instructions and repeated reconstruction of current behavior. Estimate: 0.5–1 engineering day for the initial cleanup. **Priority:** Now (≤1 day). **2026-10-04 owner decisions:** The recommendation to add a requirements-to-tests index conflicts with the owner's decision that code and tests are the spec and contracts should contain invariants. This issue follows the owner's direction while keeping durable decision reasoning in DECISIONS.md. **Report:** [arch-review report](/mnt/hdd/infraternal/jobs/arch-review/report.md) **Source: arch-review 2026-10-04**
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal-v0#55
No description provided.