55> Version: 1.5.0-draft
66> Status: Draft Specification (RFC 2119 Conformant)
77> Stability: Specification content is stable, pending reference implementation verification
8- > Last Updated: 2026-03-20
8+ > Last Updated: 2026-03-24
99
1010---
1111
@@ -4273,7 +4273,7 @@ id_map:
42734273 overrides: {} # MAY, manual ID mapping overrides
42744274```
42754275
4276- #### 8 .1.1 Default Values Summary
4276+ #### 9 .1.1 Default Values Summary
42774277
42784278Implementations ** must** follow these default value conventions:
42794279
@@ -4474,7 +4474,7 @@ trace_id_spec:
44744474 - "MUST NOT allow externally provided unvalidated trace_id"
44754475` ` `
44764476
4477- # ## 10.5 Sensitive Data Redaction
4477+ # ## 10.6 Sensitive Data Redaction
44784478
44794479Implementations **must** redact fields marked as `x-sensitive` in logs and trace outputs.
44804480
@@ -4503,7 +4503,7 @@ Steps:
45034503Complexity: O(n), where n is number of data fields
45044504```
45054505
4506- ### 10.6 Sampling Strategy
4506+ ### 10.7 Sampling Strategy
45074507
45084508Implementations **should** support the following sampling strategies:
45094509
@@ -4516,7 +4516,7 @@ Implementations **should** support the following sampling strategies:
45164516
45174517Sampling decision **must** be made at call chain root node, child calls **must** inherit parent call's sampling decision.
45184518
4519- ### 10.7 Span Naming Convention
4519+ ### 10.8 Span Naming Convention
45204520
45214521Implementations **should** follow these Span naming conventions:
45224522
@@ -4816,7 +4816,7 @@ Steps:
48164816
48174817Implementations **must** handle middleware edge cases according to the following table :
48184818
4819- # ### 10 .8.1 on_error Cascade
4819+ # ### 11 .8.1 on_error Cascade
48204820
48214821| Scenario | Behavior | Level |
48224822|------|------|------|
@@ -4825,7 +4825,7 @@ Implementations **must** handle middleware edge cases according to the following
48254825| `on_error()` returns `None` | Continue propagating error downward | **MUST** |
48264826| All `on_error()` return `None` | Throw original error to caller | **MUST** |
48274827
4828- # ### 10 .8.2 before() Edges
4828+ # ### 11 .8.2 before() Edges
48294829
48304830| Scenario | Behavior | Level |
48314831|------|------|------|
@@ -4835,7 +4835,7 @@ Implementations **must** handle middleware edge cases according to the following
48354835| `before()` throws `ModuleError` | Trigger `on_error()` chain, skip module execution | **MUST** |
48364836| `before()` modifies `context.data` | Allowed, modifications visible to subsequent middleware and module | **MUST** |
48374837
4838- # ### 10 .8.3 after() Edges
4838+ # ### 11 .8.3 after() Edges
48394839
48404840| Scenario | Behavior | Level |
48414841|------|------|------|
@@ -4844,7 +4844,7 @@ Implementations **must** handle middleware edge cases according to the following
48444844| `after()` throws `ModuleError` | Trigger `on_error()` chain, replace original result | **MUST** |
48454845| `after()` returns value not matching `output_schema` | Trigger `SCHEMA_VALIDATION_ERROR` | **MUST** |
48464846
4847- # ### 10 .8.4 Timeout Related
4847+ # ### 11 .8.4 Timeout Related
48484848
48494849| Scenario | Behavior | Level |
48504850|------|------|------|
@@ -5021,9 +5021,9 @@ Interface: MiddlewareManager
50215021 * Register middleware
50225022 * @param middleware — Middleware instance
50235023 *
5024- * Note: Priority is determined by registration order, not by an explicit
5025- * priority parameter. Middleware registered first executes first (before)
5026- * and last (after), following the onion model.
5024+ * Note: Priority is explicit (0-1000, higher executes first), as defined
5025+ * in §11.2. Registration order is used only as a tiebreaker when two
5026+ * middleware have equal priority. Execution follows the onion model.
50275027 * /
50285028 add(middleware: Middleware) → void
50295029
@@ -5041,7 +5041,7 @@ Interface: MiddlewareManager
50415041Interface: TracingProvider
50425042 /**
50435043 * Create new Span
5044- * @param name — Span name (follows §10.7 naming convention)
5044+ * @param name — Span name (follows §10.8 naming convention)
50455045 * @param context — Execution context (contains trace_id, parent_span_id)
50465046 * @return span — Span object
50475047 * /
0 commit comments