77 lines
2.9 KiB
Markdown
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 |