# Assimilation — OrwellLoggingDiagnostics **Status:** Closed. Placed under INFO-WP-0030 as `practice-pattern/explicit-unsafe-diagnostic-mode` (`infospace/patterns/ExplicitUnsafeDiagnosticMode.md`), canon version 0.13.0. **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. ## 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.