2026-09-22 16:21:37 +02:00
|
|
|
# Assimilation — OrwellLoggingDiagnostics
|
|
|
|
|
|
2026-09-28 00:06:16 +02:00
|
|
|
**Status:** Closed. Placed under INFO-WP-0030 as
|
|
|
|
|
`practice-pattern/explicit-unsafe-diagnostic-mode`
|
|
|
|
|
(`infospace/patterns/ExplicitUnsafeDiagnosticMode.md`), canon version 0.13.0.
|
2026-09-22 16:21:37 +02:00
|
|
|
**Disposition:** Adapt
|
|
|
|
|
**Source:** coordination-engine candidate
|
|
|
|
|
`docs/orwell-logging-diagnostics-candidate.md` at `628f984`, preserved
|
|
|
|
|
under `source/`
|
|
|
|
|
**Authority:** `INFO-DEC-2026-003`, canon owner decision of 2026-09-22
|
|
|
|
|
**Consumer follow-up:** coordination-engine `COORDINATION-WP-0004`
|
|
|
|
|
|
|
|
|
|
## Scope
|
|
|
|
|
|
|
|
|
|
The candidate proposes a practice for rare local debugging that needs fields
|
|
|
|
|
normal logging must omit, such as message bodies, credentials, and terminal
|
|
|
|
|
output. The capture is an explicit, per-invocation, non-production diagnostic
|
|
|
|
|
mode that writes to an owner-controlled private sink and is never projected
|
|
|
|
|
remotely. This assimilation covers the generic practice. TAMQ's `--orwell`
|
|
|
|
|
flag, its field list, and its sink location remain owned by tmux-amq.
|
|
|
|
|
|
|
|
|
|
## Findings
|
|
|
|
|
|
|
|
|
|
- **Not a duplicate.** The Observability Model owns `Log`, `LogRecord`,
|
|
|
|
|
`LogLevel` and `LogStream`, but states no rule separating verbosity from
|
|
|
|
|
disclosure. The Data and Security models own sensitive-data classification
|
|
|
|
|
and do not describe a controlled, temporary exception to omission. No
|
|
|
|
|
existing pattern covers the tension between diagnosability and
|
|
|
|
|
non-disclosure.
|
|
|
|
|
- **Pattern-shaped.** The candidate resolves a recurring tension with ordered
|
|
|
|
|
practice steps and evidence (the six verifications in its §6). That fits
|
|
|
|
|
`PracticePatternScheme`.
|
|
|
|
|
- **Known use is implemented, not intended.** tmux-amq `04de219` implements the
|
|
|
|
|
flag in `src/tamq/diagnostics.py` and `src/tamq/cli.py`, with
|
|
|
|
|
`tests/test_diagnostics.py`. That satisfies the scheme's rule that a
|
|
|
|
|
known use identifies what was observed. There is one known use, so the
|
|
|
|
|
lifecycle entry point is `candidate`.
|
|
|
|
|
- **Why adapt, not adopt.** The name and the `--orwell` flag are
|
|
|
|
|
consumer-specific. The canon form needs a generic name, the scheme's section
|
|
|
|
|
layout, and imports of the owning concepts instead of restated definitions.
|
|
|
|
|
The substance of the six practice points carries over.
|
|
|
|
|
|
|
|
|
|
## DecisionRecord — INFO-DEC-2026-003
|
|
|
|
|
|
|
|
|
|
### Context
|
|
|
|
|
|
|
|
|
|
coordination-engine prepared the candidate under COORDINATION-WP-0003-T04 and
|
|
|
|
|
transferred canon review to COORDINATION-WP-0004. That workplan cannot close
|
|
|
|
|
without an explicit owner disposition. The request had not reached this
|
|
|
|
|
repository through intake. It was raised with the owner directly on
|
|
|
|
|
2026-09-22.
|
|
|
|
|
|
|
|
|
|
### Decision
|
|
|
|
|
|
|
|
|
|
Adapt the candidate into a generic candidate-status practice pattern under
|
|
|
|
|
`infospace/patterns/`. It will have a neutral name, import Log/LogRecord,
|
|
|
|
|
data classification and environment concepts from their owners, and cite
|
|
|
|
|
tmux-amq as its known use. The Orwell name may remain as an alias in the
|
|
|
|
|
pattern's Known Uses.
|
|
|
|
|
|
|
|
|
|
### Consequences
|
|
|
|
|
|
|
|
|
|
- Canon placement, registration, and the canon version change are INFO-WP-0030
|
|
|
|
|
(stage 4 and 5). The assimilation closes when that workplan finishes.
|
|
|
|
|
- coordination-engine can record this disposition in COORDINATION-WP-0004-T01.
|
|
|
|
|
COORDINATION-WP-0004-T02 waits for the registered artifact ID from
|
|
|
|
|
INFO-WP-0030.
|
|
|
|
|
- This disposition does not authorize unsafe logging in any runtime. The
|
|
|
|
|
pattern describes a practice, and its adoption stays with each consumer.
|
2026-09-28 00:06:16 +02:00
|
|
|
|
|
|
|
|
## Closure — 2026-09-27
|
|
|
|
|
|
|
|
|
|
INFO-WP-0030 registered `practice-pattern/explicit-unsafe-diagnostic-mode`
|
|
|
|
|
(`infospace/patterns/ExplicitUnsafeDiagnosticMode.md`, `status: candidate`,
|
|
|
|
|
`version: 0.1`) in `infospace/artifacts/index.yaml` and `canon.yaml`, at canon
|
|
|
|
|
version 0.13.0 (`CHANGELOG.md`). It imports `Log`/`LogRecord` from
|
|
|
|
|
`model/observability`, `DataClassification`/`Sensitivity` from `model/data`,
|
|
|
|
|
and `EnvironmentPromotion` from `model/devsecops`. Its Known Uses section
|
|
|
|
|
cites tmux-amq `04de219` and names the one observed test
|
|
|
|
|
(`tests/test_diagnostics.py::test_orwell_log_is_private`), stating plainly
|
|
|
|
|
which invariants that test does and does not cover — tmux-amq has no
|
|
|
|
|
production/non-production distinction, so invariant 2 (production refusal)
|
|
|
|
|
is not demonstrated by this known use. This assimilation is closed.
|