Files
alkstore/tasks/decide-log-facade-adoption.md
T

77 lines
2.9 KiB
Markdown

---
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