From c01006ca5ae5521e341e34afe016bf8a6a8d7b02 Mon Sep 17 00:00:00 2001 From: "jaunder-adr-promoter[bot]" Date: Wed, 26 Aug 2026 19:28:28 +0000 Subject: [PATCH] docs(adr): promote pending ADR drafts --- docs/ARCHITECTURE.md | 2 +- docs/README.md | 1 + docs/adr/0011-unified-observability.md | 2 +- ...aces.md => 0154-sink-specific-telemetry-interfaces.md} | 8 ++++---- .../2026-08-25-issue-1138-sink-specific-telemetry-plan.md | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) rename docs/adr/{drafts/sink-specific-telemetry-interfaces.md => 0154-sink-specific-telemetry-interfaces.md} (94%) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 0ff2b27e..7f620e7c 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1306,7 +1306,7 @@ permalink, or `Username`—and add no generic string, `Debug`, or `Display` fallback. Authors still write `skip(…)` / `skip_all` as explicit opt-outs. `server-fn-tracing` now checks source grammar, skip names, pattern-bound parameters, and declaration-only fields, but classifies no type names -([sink-specific telemetry interfaces](adr/drafts/sink-specific-telemetry-interfaces.md)). +([sink-specific telemetry interfaces](adr/0154-sink-specific-telemetry-interfaces.md)). Wire parse errors likewise own their sink projections: `user_message` selects feedback for the submitter and `telemetry_code` supplies a bounded diff --git a/docs/README.md b/docs/README.md index c863ea16..cdb00081 100644 --- a/docs/README.md +++ b/docs/README.md @@ -178,6 +178,7 @@ convention). See the Status column below for each ADR's current status. | [0151](adr/0151-subscriber-reference-invariant.md) | Subscriber references are non-blank validated identities | accepted | | [0152](adr/0152-adr-numbering-happens-after-merge.md) | ADR numbering happens after feature merge | accepted | | [0153](adr/0153-storage-owned-instants.md) | Storage-owned instants use UtcInstant | accepted | +| [0154](adr/0154-sink-specific-telemetry-interfaces.md) | Sink-Specific Telemetry Interfaces | accepted | diff --git a/docs/adr/0011-unified-observability.md b/docs/adr/0011-unified-observability.md index 2f2f8698..493cbbac 100644 --- a/docs/adr/0011-unified-observability.md +++ b/docs/adr/0011-unified-observability.md @@ -212,7 +212,7 @@ the convention became a gate: `server-fn-tracing`, in `cargo xtask check` and > 2026-08-25, `RECORDABLE_TYPES` no longer held the four admission grounds. > Type-owned `TraceField` projections and compiler trait resolution held them > instead; the grounds and exclusions below were unchanged. The replacement -> decision is `docs/adr/drafts/sink-specific-telemetry-interfaces.md`. +> decision is `docs/adr/0154-sink-specific-telemetry-interfaces.md`. ### The span (as of 2026-07-29) diff --git a/docs/adr/drafts/sink-specific-telemetry-interfaces.md b/docs/adr/0154-sink-specific-telemetry-interfaces.md similarity index 94% rename from docs/adr/drafts/sink-specific-telemetry-interfaces.md rename to docs/adr/0154-sink-specific-telemetry-interfaces.md index 1b591c5c..1eeae9e7 100644 --- a/docs/adr/drafts/sink-specific-telemetry-interfaces.md +++ b/docs/adr/0154-sink-specific-telemetry-interfaces.md @@ -1,12 +1,12 @@ -# ADR-DRAFT: Sink-Specific Telemetry Interfaces +# ADR-0154: Sink-Specific Telemetry Interfaces -- Status: proposed +- Status: accepted - Date: 2026-08-25 - Issue: [#1138](https://github.com/jaunder-org/jaunder/issues/1138) ## Context -[ADR-0011](../0011-unified-observability.md) admitted server-function parameter +[ADR-0011](0011-unified-observability.md) admitted server-function parameter values to tracing on four grounds: intrinsically bounded values, operator configuration, already-public permalink values, and `Username`. The `server-fn-tracing` gate stored that decision as `RECORDABLE_TYPES`, reducing @@ -44,7 +44,7 @@ declaration-only-field checks, but performs no type-name classification. The four admission grounds and exclusions from ADR-0011 remain unchanged. Secrets, email, arbitrary content, request aggregates, and the existing skipped parameters gain no tracing interface. -[ADR-0147](../0147-decision-path-observability.md) still permits decision-path +[ADR-0147](0147-decision-path-observability.md) still permits decision-path fields only as `tracing::field::Empty` declarations recorded later by the span owner. Rejecting value expressions plus the generated parameter `skip_all` prevents those declarations from bypassing `TraceField`. diff --git a/docs/archive/2026-08-25-issue-1138-sink-specific-telemetry-plan.md b/docs/archive/2026-08-25-issue-1138-sink-specific-telemetry-plan.md index f2bd4511..d9ce0020 100644 --- a/docs/archive/2026-08-25-issue-1138-sink-specific-telemetry-plan.md +++ b/docs/archive/2026-08-25-issue-1138-sink-specific-telemetry-plan.md @@ -83,7 +83,7 @@ Out: - [x] Task 5: Project and certify the policy replacement - Contract: add tracked draft - `docs/adr/drafts/sink-specific-telemetry-interfaces.md` with the canonical + `docs/adr/0154-sink-specific-telemetry-interfaces.md` with the canonical `# ADR-DRAFT` heading and `Status: proposed`. It supersedes ADR-0011's `RECORDABLE_TYPES` mechanism while retaining the four admission grounds and accounting for ADR-0147. Add only a reciprocal past-tense navigation