--- id: decide-log-facade-adoption name: Decide the log-facade posture (review 004 item 7, family-level) status: pending depends_on: [] scope: narrow risk: low impact: project level: implementation tags: [review-004-fixes, cross-cutting, decision] --- ## Description The family-level decision the review recorded rather than made, per `docs/reviews/004-pre-release-general-review.md` §"Findings recorded, not fixed" item 7: the workspace has no log facade — 17 library-path `eprintln!` sites carry the engines' diagnostics (verified secret-free: no DSN/password material ever printed). An operator currently sees nothing before wake loss in the arms `pg-fix-forwarder-diagnosability` will fix, and the fix's *output form* depends on this decision — which is why that task depends on this one. Decide, with the user (a family-level call): - **Adopt `log`** (facade-only; consumers wire the sink) — the light shape; check the family repos (alkcall/alktunnels/alksocks/alktty) for the house posture first and follow it if one exists. - **Adopt `tracing`** — richer, heavier; only if the family precedent supports it. - **Keep `eprintln!`** — document the discipline as the posture of record (what gets printed, the secret-free rule, the no-facade rationale). Considerations to weigh in the record: core's three-dependency posture (ADR-020 §4 — a facade dep on `alkstore` is a contract change; an engines-only adoption is the lighter shape and probably the right scope); published-crate consumer expectations (a facade that emits nothing until the consumer installs a sink vs stderr noise they didn't ask for); the 17 existing sites' disposition under whichever option lands. Output: a decision of record — a new ADR (or an amendment to an existing one) if adopting; a documented posture in `deployment.md` (or the engine specs) if declining. Either way, the user's sign-off is part of the record. ## Acceptance Criteria - [ ] The family-precedent check is done and recorded (what alkcall/alktunnels/alksocks/alktty do, if anything) - [ ] The decision of record landed: ADR (adoption) or documented posture (decline), with the rationale and the core-dep question answered explicitly - [ ] The 17 existing `eprintln!` sites' disposition under the decision is named (migrated / kept / reduced) - [ ] User sign-off recorded - [ ] Doc gate green (whatever text landed) ## References - docs/reviews/004-pre-release-general-review.md §"Findings recorded, not fixed" item 7 (the finding, the family-level framing) - docs/architecture/decisions/020-payload-encoding.md §4 (core's dependency posture — the constraint on core-side adoption) - docs/architecture/deployment.md (where a declining posture would be documented) - tasks/pg-fix-forwarder-diagnosability.md (the consumer of this decision) ## Notes > To be filled by implementation agent ## Summary > To be filled on completion