blun-king-cli 9.1.597 → 9.1.600

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +17 -1
  3. package/agent-spine-plugin/CHANGELOG.md +1 -1
  4. package/agent-spine-plugin/docs/host-integration.md +1 -15
  5. package/agent-spine-plugin/docs/preflight-recall.md +1 -1
  6. package/agent-spine-plugin/scripts/check-install.js +1 -6
  7. package/agent-spine-plugin/scripts/hermetic-process.js +8 -0
  8. package/agent-spine-plugin/scripts/release-check.js +2 -3
  9. package/agent-spine-plugin/scripts/run-tests-hermetic.js +8 -11
  10. package/agent-spine-plugin/src/hook.js +40 -40
  11. package/agent-spine-plugin/src/lib/briefing.js +6 -3
  12. package/agent-spine-plugin/src/lib/hook-context.js +63 -64
  13. package/agent-spine-plugin/src/lib/hook-output.js +115 -94
  14. package/agent-spine-plugin/src/lib/hook-timeline.js +20 -11
  15. package/agent-spine-plugin/src/lib/host-instruction-budget.js +8 -14
  16. package/agent-spine-plugin/src/lib/mcp-timeline-tools.js +0 -7
  17. package/agent-spine-plugin/src/lib/pre-answer-timeline-recall.js +104 -0
  18. package/agent-spine-plugin/src/lib/session-timeline-codex.js +0 -4
  19. package/agent-spine-plugin/src/lib/session-timeline-enrollment-source.js +0 -3
  20. package/agent-spine-plugin/src/lib/session-timeline-enrollment-storage.js +0 -4
  21. package/agent-spine-plugin/src/lib/session-timeline-enrollment-transport.js +0 -2
  22. package/agent-spine-plugin/src/lib/session-timeline-enrollment.js +0 -22
  23. package/agent-spine-plugin/src/lib/session-timeline-host-origin.js +0 -4
  24. package/agent-spine-plugin/src/lib/session-timeline-prior.js +42 -50
  25. package/agent-spine-plugin/src/lib/session-timeline-provider.js +0 -3
  26. package/agent-spine-plugin/src/lib/session-timeline-query.js +0 -1
  27. package/agent-spine-plugin/src/lib/session-timeline-sid-acl.js +0 -4
  28. package/agent-spine-plugin/src/lib/session-timeline-source.js +0 -3
  29. package/agent-spine-plugin/src/lib/session-timeline-transport.js +0 -8
  30. package/agent-spine-plugin/src/lib/session-timeline-windows-acl.js +0 -3
  31. package/agent-spine-plugin/src/lib/session-timeline.js +370 -408
  32. package/agent-spine-plugin/src/lib/source-roots.js +26 -16
  33. package/agent-spine-plugin/src/lib/timeline-user-feedback.js +0 -1
  34. package/bin/core-bootstrap.js +18 -10
  35. package/bin/launcher-mode.js +5 -0
  36. package/bin/launcher-runtime.js +27 -0
  37. package/bin/verify-bundled-agent-sources.cjs +28 -2
  38. package/blun.mjs +798 -143
  39. package/bundled-agent-sources.json +192 -155
  40. package/package.json +1 -1
  41. package/standard-skills/translate-native/README.md +1334 -1
  42. package/standard-skills/translate-native/SKILL.md +1 -1
  43. package/standard-skills/translate-native/VERSION +1 -1
  44. package/standard-skills/translate-native/docs/PREMORTEM.md +901 -0
  45. package/standard-skills/translate-native/docs/WEBSITE_LOCALIZATION.md +208 -41
  46. package/standard-skills/translate-native/docs/WEBSITE_LOCALIZATION_API.md +1319 -77
  47. package/standard-skills/translate-native/docs/WEBSITE_LOCALIZATION_EVIDENCE_HTTP.md +66 -11
  48. package/standard-skills/translate-native/docs/WEBSITE_LOCALIZATION_HTTP_PROVIDER.md +19 -1
  49. package/standard-skills/translate-native/docs/WEBSITE_LOCALIZATION_RECEIPT_VERIFIER_HTTP.md +24 -6
  50. package/standard-skills/translate-native/integrations/commercial_localization_profile.py +23 -0
  51. package/standard-skills/translate-native/integrations/website_localization.py +234 -10
  52. package/standard-skills/translate-native/integrations/website_localization_benchmark.py +39 -3
  53. package/standard-skills/translate-native/integrations/website_localization_cms.py +512 -10
  54. package/standard-skills/translate-native/integrations/website_localization_cms_client.py +116 -0
  55. package/standard-skills/translate-native/integrations/website_localization_cms_receiver.py +101 -11
  56. package/standard-skills/translate-native/integrations/website_localization_cms_receiver_runtime.py +12 -1
  57. package/standard-skills/translate-native/integrations/website_localization_cms_receiver_store.py +186 -24
  58. package/standard-skills/translate-native/integrations/website_localization_cms_source_client.py +64 -1
  59. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery.py +528 -5
  60. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_auth.py +918 -0
  61. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_auth_runtime.py +609 -0
  62. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_client.py +885 -0
  63. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_http.py +1244 -0
  64. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_runtime.py +220 -0
  65. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_sidecar_adapter.py +331 -0
  66. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_capabilities_http.py +444 -0
  67. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_client.py +673 -0
  68. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_dispatch.py +1317 -0
  69. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_dispatch_client.py +826 -0
  70. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_dispatch_http.py +1152 -0
  71. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_dispatch_openapi.py +896 -0
  72. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_dispatch_runtime.py +621 -0
  73. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_http.py +1180 -0
  74. package/standard-skills/translate-native/integrations/website_localization_cms_source_delivery_submission_runtime.py +1479 -0
  75. package/standard-skills/translate-native/integrations/website_localization_cms_source_http.py +133 -17
  76. package/standard-skills/translate-native/integrations/website_localization_cms_source_runtime.py +319 -4
  77. package/standard-skills/translate-native/integrations/website_localization_cms_source_service.py +72 -2
  78. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_notification_http.py +13 -0
  79. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_notification_receiver.py +56 -13
  80. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_notification_receiver_openapi.py +335 -0
  81. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_notification_receiver_runtime.py +66 -1
  82. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_processing_monitor.py +73 -7
  83. package/standard-skills/translate-native/integrations/website_localization_cms_terminal_receiver_client.py +93 -9
  84. package/standard-skills/translate-native/integrations/website_localization_evidence_http.py +221 -11
  85. package/standard-skills/translate-native/integrations/website_localization_health.py +6 -0
  86. package/standard-skills/translate-native/integrations/website_localization_http_provider.py +1 -1
  87. package/standard-skills/translate-native/integrations/website_localization_quality_profiles.py +350 -0
  88. package/standard-skills/translate-native/integrations/website_localization_queue.py +126 -56
  89. package/standard-skills/translate-native/integrations/website_localization_receipt_verifier_http.py +166 -13
  90. package/standard-skills/translate-native/integrations/website_localization_release.py +423 -17
  91. package/standard-skills/translate-native/integrations/website_localization_release_coordinator.py +168 -13
  92. package/standard-skills/translate-native/integrations/website_localization_runner.py +10 -0
  93. package/standard-skills/translate-native/integrations/website_localization_worker.py +213 -9
  94. package/standard-skills/translate-native/provenance.json +2 -2
  95. package/standard-skills/translate-native/references/commercial-localization.md +96 -17
  96. package/standard-skills/translate-native/scripts/blun_language_guard.py +3 -1
  97. package/standard-skills/translate-native/scripts/check_commercial_review.py +69 -9
  98. package/standard-skills/translate-native/scripts/commercial_localization_profile.py +829 -31
  99. package/standard-tools/language-guard/VERSION +1 -1
  100. package/standard-tools/language-guard/blun_language_guard.py +3 -1
  101. package/standard-tools/language-guard/check_commercial_review.py +69 -9
  102. package/standard-tools/language-guard/commercial_localization_profile.py +829 -31
  103. package/standard-tools/language-guard/provenance.json +2 -2
  104. package/standard-tools/manifest.json +1 -1
  105. package/worker-host.mjs +215 -82
  106. package/agent-spine-plugin/scripts/check-install-king.js +0 -37
@@ -1,5 +1,868 @@
1
1
  # Version 6 premortem
2
2
 
3
+ ## Durable general locale-policy invalidation (15 September 2026)
4
+
5
+ Assume a CMS accepts correctly signed localized content and the installed
6
+ target-locale quality policy changes before a later read or replay.
7
+
8
+ - Release evidence could prove the review receipt while omitting the exact
9
+ language-profile generation that governed it.
10
+ - A coherently substituted locale, version, and digest could pass a shape-only
11
+ check after restart.
12
+ - Reusing the commercial-only binding would leave ordinary content uncovered
13
+ or incorrectly couple it to the price-and-offer policy.
14
+ - A missing or failing general profile resolver could escape as an internal
15
+ error or allow an old bundle to remain active.
16
+
17
+ Every release proof will carry the exact current target-locale quality profile
18
+ and will be revalidated before approval lookup, CMS commit, active read, health,
19
+ or idempotent replay. The general binding applies to all content; the commercial
20
+ binding remains a separate add-on. Tests will cover all 24 EU locales, ordinary
21
+ content, profile drift and substitution, resolver failure, durable
22
+ read/health/replay blocking, and safe tombstone deletion.
23
+
24
+ ## Durable commercial locale-policy invalidation (15 September 2026)
25
+
26
+ Assume a CMS accepts correctly signed commercial copy and the installed
27
+ locale-specific quality policy changes before a later read or replay.
28
+
29
+ - The stored three-field quality binding could remain structurally valid while
30
+ its CLDR, morphology, terminology, or evaluation generation is obsolete.
31
+ - A coherently substituted version and digest could pass a shape-only release-
32
+ evidence check after restart.
33
+ - Applying the commercial lookup to ordinary content could incorrectly block
34
+ unrelated active localizations.
35
+ - A missing or failing profile resolver could escape as an internal exception
36
+ instead of a stable fail-closed validation result.
37
+
38
+ Every commercial release proof will be compared with the exact current target-
39
+ locale commercial quality profile before approval lookup, CMS commit, active
40
+ read, health, or idempotent replay. Non-commercial evidence retains strict null
41
+ bindings without invoking the commercial resolver. Tests will cover all 24 EU
42
+ locales, profile generation drift, resolver failure, durable read/health/replay
43
+ blocking, and safe tombstone deletion of obsolete content.
44
+
45
+ ## Exact routing contract at the reviewer transport (15 September 2026)
46
+
47
+ Assume an independent review adapter accepts the digest on a private offer
48
+ route but the remote reviewer never receives the contract that defines it.
49
+
50
+ - Separate capability discovery could be unavailable, stale, or associated
51
+ with a different commercial generation when the review attempt runs.
52
+ - A reviewer could interpret indexes or span ends differently while still
53
+ returning a structurally valid receipt for the supplied route.
54
+ - A self-rehashed substitute could appear internally consistent unless the
55
+ trusted adapter compares the complete contract with its local canonical one.
56
+ - Sending the contract for verified commercial or non-commercial work could
57
+ create an unintended review surface and weaken strict request nullability.
58
+
59
+ The quality-evidence request will carry the complete, content-free routing
60
+ contract alongside its private route only when commercial review is required.
61
+ The coordinator and HTTPS adapter will independently reconstruct and compare
62
+ the canonical object before authentication or transport, and request identity
63
+ will cover the full contract. Verified commercial and non-commercial requests
64
+ will require both route and contract to be `null`. Tests will cover exact
65
+ transport, stale and self-rehashed substitutions, request-ID invalidation,
66
+ strict nullability, and zero network access on rejection.
67
+
68
+ ## Contract-bound private offer routing (15 September 2026)
69
+
70
+ Assume a host and an independent reviewer both accept a syntactically valid
71
+ private routing object but disagree about whether offsets are bytes, Unicode
72
+ code points, inclusive ends, registry positions, or arbitrary labels.
73
+
74
+ - A schema name alone does not expose the complete routing semantics to a
75
+ provider-neutral adapter.
76
+ - A changed span, ordering, privacy, or text-length rule could reinterpret an
77
+ archived route without changing its apparent profile.
78
+ - A self-reported digest could legitimize a substituted routing contract unless
79
+ the trusted runtime reconstructs it independently.
80
+ - Publishing the actual private spans while advertising the contract would
81
+ leak project structure across the CMS boundary.
82
+
83
+ The public commercial capability will advertise a separately versioned,
84
+ content-free routing contract with deterministic SHA-256. Every private route
85
+ will carry that exact digest, and each worker, evidence adapter, receipt
86
+ verifier, release gate, benchmark boundary, and capability reader will
87
+ reconstruct and compare it. The advertised contract describes shapes and
88
+ semantics only; actual spans remain private and absent from CMS release
89
+ evidence. Tests will cover contract tampering, self-rehashing, stale route
90
+ digests, privacy, request invalidation, and zero provider access on failure.
91
+
92
+ ## Private offer routing for targeted commercial review (15 September 2026)
93
+
94
+ Assume a commercial summary correctly says that offer index 1 has an
95
+ unresolved tax claim, but the independent reviewer receives only the complete
96
+ source, target, and opaque index.
97
+
98
+ - An opaque index without its source and target regions is not an actionable
99
+ review route and can make the reviewer inspect the wrong offer.
100
+ - Reordered, overlapping, empty, or off-by-one Unicode spans could silently
101
+ relabel an offer while leaving the public summary unchanged.
102
+ - A routing context changed after evidence acquisition could be verified under
103
+ the original request or receipt identity.
104
+ - Publishing configured offer IDs, extracted text, or reviewer explanations
105
+ would break the content-free CMS boundary.
106
+
107
+ The worker now derives a private routing context from the already validated
108
+ offer registry: ordered numeric indexes, exact source/target lengths, and
109
+ non-overlapping Unicode code-point regions only. The context is required only
110
+ for unresolved commercial summaries, enters the evidence request identity and
111
+ every receipt-verification binding, and is revalidated before network access
112
+ and approval. Public release evidence explicitly excludes it. Tests cover
113
+ index and span drift, out-of-range regions, request-ID invalidation, receipt
114
+ binding, and the absence of IDs, text, and explanations.
115
+
116
+ ## Targeted per-offer commercial review scope (15 September 2026)
117
+
118
+ Assume one offer has an unresolved tax or cancellation claim while a second
119
+ offer in the same page is already fully verified.
120
+
121
+ - A dimension-only summary cannot tell the independent reviewer which offer
122
+ remains uncertain and can cause either incomplete review or needless replay.
123
+ - Publishing configured offer identifiers would disclose project product or
124
+ brand labels through otherwise content-free operational evidence.
125
+ - A resolution could echo the right dimensions while silently covering a
126
+ different subset of offers.
127
+ - Global evidence uncertainty and an empty offer registry still need a safe
128
+ route without inventing an offer identity.
129
+
130
+ The content-free summary now carries ordered zero-based offer indexes for every
131
+ dimension with offer-local uncertainty. The resolution must echo that exact
132
+ scope, while dimension-level uncertainty remains valid with an empty index list
133
+ when no private offer can be named. Validators reject duplicates, reordering,
134
+ out-of-range indexes, non-required dimensions, and scope changes at every HTTP
135
+ and CMS boundary; no price, brand, offer identifier, or reviewer prose leaves
136
+ the private evidence.
137
+
138
+ ## Stale-job quarantine without head-of-line blocking (15 September 2026)
139
+
140
+ Assume several durable locale jobs outlive the worker contract while valid
141
+ work is already waiting behind them.
142
+
143
+ - One stale head job per service tick could delay every current locale.
144
+ - A 24-locale plan could require many ticks merely to expose known drift.
145
+ - Quarantining stale rows must not consume attempts or resolve assets/providers.
146
+ - A later validator outage must not leave a partially committed batch decision.
147
+
148
+ One claim now quarantines a bounded batch of up to 24 consecutive stale jobs
149
+ inside the same transaction and leases the first current job reached within
150
+ that batch. This covers one complete EU-locale plan without an unbounded write
151
+ transaction. Proven stale rows become terminal and content-free with zero
152
+ attempts, while valid work proceeds in that same call. If any later validation
153
+ raises or mutates a payload, the whole batch rolls back and all work remains
154
+ recoverable.
155
+
156
+ ## Current job bindings before lease (15 September 2026)
157
+
158
+ Assume a canonical durable job outlives the planner or worker contract that
159
+ created it and a worker starts without first consulting service health.
160
+
161
+ - The stale job could consume a lease and retry attempt before local rejection.
162
+ - Translation memory or host-owned asset resolution could run against obsolete
163
+ identity before the worker validates the job.
164
+ - A validator outage could be mistaken for proven staleness and destroy
165
+ recoverable work.
166
+ - A validator could mutate the decoded payload between integrity checking and
167
+ execution.
168
+
169
+ Every claim now replays the current job binding inside the lease transaction.
170
+ Expected mismatch becomes terminal and content-free without incrementing the
171
+ attempt counter; unexpected validator failure or mutation rolls the complete
172
+ transaction back. The runner supplies its exact worker validator, and the queue
173
+ loads the same current contract by default for direct trusted-host claims.
174
+
175
+ ## Per-offer commercial dimension coverage (15 September 2026)
176
+
177
+ Assume a commercial page contains two offers but the source-fidelity provider
178
+ records one global equivalent verdict and evidence only for the first.
179
+
180
+ - A global pass can hide the omitted price, discount, tax statement, renewal,
181
+ cancellation term, or footnote of the second offer.
182
+ - Free-form offer lists can be incomplete, duplicated, or reordered while the
183
+ dimension result still looks internally plausible.
184
+ - A caller can label the aggregate status independently of its offer-level
185
+ findings and weaken a known defect into a pass.
186
+ - Regex comparison cannot safely repair the gap across number words, native
187
+ digits, locale separators, or equivalent time expressions.
188
+
189
+ The v2 evidence contract requires one ordered verdict per registered offer for
190
+ every dimension. The validator derives the aggregate status, requires local
191
+ evidence for every non-absent offer verdict, and rejects missing, duplicate,
192
+ reordered, or inconsistent matrices. Contract/profile/hash generation changes
193
+ invalidate old jobs and summaries without treating numeric spelling as proof.
194
+
195
+ ## Current job bindings in read-only health (15 September 2026)
196
+
197
+ Assume a durable commercial job remains queued across an evidence-contract
198
+ deployment change.
199
+
200
+ - Its stored JSON and unkeyed payload hash could still be internally valid.
201
+ - Health could report the queue as healthy until a worker leases the stale job.
202
+ - Operators could see a green service immediately before deterministic worker
203
+ rejection, delaying safe replanning.
204
+ - Drift detection must not depend on a provider response, mutate the queue, or
205
+ disclose source or target text.
206
+
207
+ The read-only health monitor now revalidates every stored job through the exact
208
+ current planner and worker contract. A stale or substituted binding emits only
209
+ `queue.job_binding_invalid`, blocks overall health through local validation, and
210
+ leaves durable state unchanged. Tests exercise a contract-only commercial
211
+ generation change while keeping the profile identifier and stored bytes valid.
212
+
213
+ ## Commercial evidence-contract identity at planning (14 September 2026)
214
+
215
+ Assume the public commercial review-evidence contract changed while its parent
216
+ commercial profile identifier remained stable.
217
+
218
+ - A queue could deduplicate the new work against a job created under the old
219
+ evidence semantics.
220
+ - A translation-memory lookup could reuse a candidate whose source-fidelity
221
+ review followed stale offer, span, or verdict rules.
222
+ - A caller could replace the job's contract digest while preserving all other
223
+ valid profile and locale-quality bindings.
224
+ - The provider request could carry the current full contract without proving
225
+ that it is the contract that created the job identity.
226
+
227
+ The v3 plan and job contracts bind the exact canonical review-evidence-contract
228
+ SHA-256 into every commercial job, idempotency key, and plan ID. The worker
229
+ joins that stored digest to the separately validated full fidelity contract
230
+ before any provider access. Tests cover contract-only generation changes,
231
+ tampered job bindings, stale jobs, and unchanged non-commercial payloads.
232
+
233
+ ## Commercial contract acknowledgement at enqueue (14 September 2026)
234
+
235
+ Assume a CMS discovered the public price and offer profile but enqueued work
236
+ under a different or unspecified commercial generation.
237
+
238
+ - A commercial change could omit the discovered profile acknowledgement.
239
+ - A caller could substitute one syntactically valid profile or rendering hash.
240
+ - An ordinary content change, cancellation, or tombstone could inject
241
+ commercial scope and later be mistaken for reviewed offer content.
242
+ - OpenAPI and the reference client could disagree with the runtime-only rule.
243
+
244
+ The v12 public dispatch contract carries one exact, content-free commercial
245
+ binding in every enqueue envelope. It must equal the current profile and
246
+ 24-locale rendering-registry generations for commercial changes and must be
247
+ `null` for all other operations. The authenticated raw body, runtime,
248
+ capability response, OpenAPI conditional, and reference client bind the same
249
+ value; omission, substitution, stale discovery, and cross-scope injection all
250
+ block before durable intake.
251
+
252
+ ## Public commercial profile at the outer CMS edge (14 September 2026)
253
+
254
+ Assume a CMS discovered a price and offer contract but still published under
255
+ the wrong commercial rules.
256
+
257
+ - The public response could accidentally include project prices, brands,
258
+ products, credentials, or website content.
259
+ - A locally valid profile could be returned while the live website is pinned
260
+ to another commercial-rendering generation.
261
+ - A caller could skip capability discovery or reuse an earlier generation
262
+ between discovery and the commercial-profile read.
263
+ - OpenAPI or a reference client could accept a merely similar profile and miss
264
+ a removed locale, changed semantic dimension, or added publication flag.
265
+
266
+ The v11 public dispatch capability exposes the exact content-free commercial
267
+ profile and all 24 locale rendering bindings through one separately scoped
268
+ body-free route. The dispatcher revalidates the live website capability and
269
+ requires its commercial registry hash to equal the canonical local registry;
270
+ the HTTP edge, OpenAPI profile, and client then independently require exact
271
+ closed values. Tests cover Maltese and Finnish presence, profile and registry
272
+ tampering, capability preconditions, project-content exclusion, and explicit
273
+ non-publication semantics.
274
+
275
+ ## Verified outer CMS lifecycle read (14 September 2026)
276
+
277
+ Assume a non-Python CMS safely submitted an edit but learned the wrong
278
+ downstream localization state afterward.
279
+
280
+ - A lifecycle read could contact the website service before durable outer
281
+ acceptance, duplicating uncertainty during retries or recovery.
282
+ - A guessed request identifier could reveal another tenant's processing state.
283
+ - A substituted nested lifecycle could retain the request ID while changing
284
+ the website, sidecar, source, or terminal-receiver generation.
285
+ - A CMS could mistake durable acceptance or a processing state for linguistic
286
+ approval and publication authority.
287
+ - The runtime, OpenAPI profile, and reference client could disagree about the
288
+ new route or its exact fail-closed errors.
289
+
290
+ The v10 public dispatch capability adds one separately scoped lifecycle read
291
+ bound to the complete known request identity and exact capability
292
+ precondition. The durable dispatcher permits its one downstream read only
293
+ after a fully revalidated accepted row, and the runtime, HTTP edge, OpenAPI
294
+ profile, and client each validate the complete nested lifecycle independently.
295
+ Tests cover pre-acceptance zero-I/O blocking, tenant isolation, generation
296
+ parity, content-free output, exact errors, and non-publication semantics.
297
+
298
+ ## Exact CMS error reasons (13 September 2026)
299
+
300
+ Assume a CMS handled the advertised success and failure statuses but made an
301
+ unsafe decision from an unverified error body.
302
+
303
+ - A peer could return a real status with an invented or stale error code.
304
+ - An open error object could carry private fields into logs or user interfaces.
305
+ - A transient `503` and terminal `409` could receive the wrong retry treatment.
306
+ - Bodyless routes could still emit undocumented `411` or `413` framing errors.
307
+ - A code-map change could escape the active capability and OpenAPI hashes.
308
+
309
+ The v7 capability generation binds the complete error-code set for every
310
+ route and status. The v6 OpenAPI document emits closed status-specific enums,
311
+ including the real bodyless framing outcomes. The reference client accepts
312
+ remote status and code metadata only after exact envelope validation and keeps
313
+ unknown, extra, malformed, or mismatched errors fail-closed. Tests exercise
314
+ valid terminal and retryable errors plus forged-code and private-field probes.
315
+
316
+ ## Executable CMS state invariants (13 September 2026)
317
+
318
+ Assume a generated CMS client rejected malformed fields but accepted a
319
+ cross-field contradiction as a real queue or monitor state.
320
+
321
+ - `leased` could be paired with no lease expiry, or another state with one.
322
+ - `accepted` could omit one of the remote binding digests or attempt fields.
323
+ - Health could claim `ok` while reporting failures or expired leases.
324
+ - Readiness could claim `ready` with a stopped worker, blocked outbox, or error.
325
+ - Portable-schema limits could leave important remaining relationships hidden.
326
+
327
+ The v6 capability generation now binds an exact response-invariant list per
328
+ operation. The v5 OpenAPI document enforces leased, accepted, health and
329
+ readiness relationships with JSON Schema 2020-12 conditionals and publishes
330
+ stable identifiers for non-portable attempt, identity and aggregate rules.
331
+ Tests prove exact capability-to-OpenAPI parity and inspect every executable
332
+ branch rather than accepting descriptive text as enforcement.
333
+
334
+ ## Exact CMS failure contracts (13 September 2026)
335
+
336
+ Assume a generated CMS client handled successful requests correctly but made
337
+ an unsafe retry or parsing decision on a non-success response.
338
+
339
+ - A single OpenAPI `default` branch hid which failures each route can emit.
340
+ - Conflict and tenant-safe not-found results could be mistaken for outages.
341
+ - Health and readiness can return a valid degraded monitor body at `503`, not
342
+ only the ordinary error envelope.
343
+ - New failure behavior could appear without changing the capability pin.
344
+
345
+ Every operation now carries an exact ordered `error_statuses` list inside the
346
+ v5 capability generation. OpenAPI emits only the success and those concrete
347
+ statuses; health and readiness use an explicit `oneOf` for their two valid
348
+ `503` bodies. Tests prove route-by-route parity, reject a catch-all response,
349
+ and bind the new OpenAPI document generation into the capability digest.
350
+
351
+ ## Self-describing CMS capability schema (13 September 2026)
352
+
353
+ Assume a CMS generated correct source payload types but still accepted a stale
354
+ or structurally altered capability response.
355
+
356
+ - The capability response was an open object in the OpenAPI document.
357
+ - A generator could silently ignore missing operations, limits, or semantics.
358
+ - An older OpenAPI document could retain the same external capability pin.
359
+ - Nested unknown fields could disguise a route, scope, retry, or publication
360
+ policy change.
361
+
362
+ The OpenAPI profile now describes the complete capability object recursively:
363
+ every object is closed, every field is required, and every scalar is fixed to
364
+ the active generation. The OpenAPI document schema itself is included in the
365
+ v4 capability hash. Tests walk the independent runtime capability fixture and
366
+ prove exact nested parity, closure, the response reference, and the document
367
+ version binding.
368
+
369
+ ## Closed CMS source payload schemas (13 September 2026)
370
+
371
+ Assume a CMS generated a client from the authenticated OpenAPI document, but
372
+ the generated enqueue type still accepted a partial or ambiguous payload.
373
+
374
+ - An opaque payload object could omit localization policy or model bindings.
375
+ - A change could be confused with a cancellation or tombstone.
376
+ - Unknown fields or a non-positive source generation could reach transport.
377
+ - A stale generator could retain old payload schema IDs while discovery looked
378
+ current.
379
+
380
+ The OpenAPI profile now publishes a closed discriminated union for all three
381
+ runtime payloads and a complete closed localization request with the 24 exact
382
+ EU target locales. The v3 capability generation binds each payload schema ID.
383
+ Tests compare required and allowed fields with real runtime-valid fixtures,
384
+ pin every discriminator mapping, and verify locale uniqueness and source-
385
+ language exclusion metadata.
386
+
387
+ ## Capability-bound OpenAPI discovery (13 September 2026)
388
+
389
+ Assume a CMS generated a client from the public API description, but silently
390
+ used a stale route, wrong scope, or weaker publication and retry semantics.
391
+
392
+ - A hand-maintained document could drift from the live capability generation.
393
+ - A valid document hash could be paired with a different sidecar or downstream
394
+ capability digest.
395
+ - A deployment origin, tenant identity, website content, provider, or
396
+ credential value could leak through discovery.
397
+ - A substituted document could be modified and rehashed by the same untrusted
398
+ peer.
399
+
400
+ The sidecar now builds one origin-free OpenAPI 3.1 document from the exact
401
+ freshly validated capability object and returns hashes for both artifacts under
402
+ a separate operator scope. The pinned reference client reconstructs and
403
+ compares the complete document rather than trusting its advertised hash.
404
+ Tests cover every route, method, scope, principal, generation and success
405
+ status, absence of private values, and a self-rehashed substitution.
406
+
407
+ ## Contract-pinned public submission sidecar client (13 September 2026)
408
+
409
+ Assume a remote CMS successfully called the durable submission sidecar, but
410
+ used a stale contract, duplicated a write, or trusted a response belonging to
411
+ another deployment or tenant.
412
+
413
+ - A modified capability document could be rehashed and presented as current.
414
+ - The sidecar contract hash could be confused with its downstream public
415
+ website capability pin.
416
+ - Credential construction could overwrite framing, idempotency, or canonical
417
+ source-payload headers.
418
+ - Redirects or implicit transport retries could duplicate a durable enqueue.
419
+ - A plausible status, health, or readiness response could carry a substituted
420
+ tenant identity, retry budget, generation, or private field.
421
+
422
+ The reference client now reconstructs the complete canonical sidecar contract
423
+ from a separately supplied downstream pin and requires its digest to equal the
424
+ deployment pin before any transport. It rediscovers that exact contract before
425
+ each operation, reserves security-sensitive headers, performs one bounded
426
+ attempt without redirects, and validates closed response shapes plus all
427
+ identity, retry, state, and generation invariants. End-to-end WSGI tests cover
428
+ all three submission kinds, exact replay, tenant isolation, altered contracts,
429
+ response substitution, reserved-header injection, and terminal versus
430
+ retryable failures.
431
+
432
+ ## Public end-to-end pipeline monitoring (13 September 2026)
433
+
434
+ Assume the composed runtime was safe, but its public operational view leaked
435
+ tenant data or let a plausible partial state appear production-ready.
436
+
437
+ - A shared monitoring credential could be mistaken for a site principal and
438
+ expose request identities or website content.
439
+ - A healthy intake queue could conceal a blocked source queue, or a health
440
+ response could be accepted as readiness.
441
+ - Changed counters, nested bindings, or capability generations could survive
442
+ superficial envelope validation.
443
+ - Authentication, transport, or source-service failure could still return a
444
+ stale success response.
445
+
446
+ The outer WSGI boundary now provides separate body-free health and readiness
447
+ routes with distinct operator scopes and no tenant identity. It authenticates
448
+ before runtime access, validates every intake and source component with its
449
+ canonical contract, preserves component state instead of averaging it, and
450
+ requires all repeated generation bindings to agree. Tests cover live
451
+ end-to-end success, wrong scopes and request shapes, rebound capability hashes,
452
+ contradictory readiness, content-free failures, and strict separation from
453
+ publication authority.
454
+
455
+ ## Public website capability discovery (13 September 2026)
456
+
457
+ Assume the in-process website runtime had the correct end-to-end capability,
458
+ but a public discovery boundary exposed a weaker or private variant.
459
+
460
+ - A body, query, insecure transport, or wrong scope could reach the runtime.
461
+ - Authentication could occur after the runtime had already read its database
462
+ or contacted the downstream sidecar.
463
+ - A replaced runtime could add an endpoint, tenant, credential, or website
464
+ content under a nested field and recompute the outer hash.
465
+ - A plausible but stale schema or changed publication semantic could be served
466
+ as if it were the active contract.
467
+
468
+ The read-only WSGI adapter now requires exact HTTPS GET semantics and validates
469
+ the host-supplied principal before any runtime access. It accepts only the
470
+ closed V6.96 capability shape, exact nested operations and semantics, bounded
471
+ retry policy, verified durable binding, and matching canonical digest. Tests
472
+ prove authentication-before-runtime ordering, reject every alternate request
473
+ shape and substituted contract, and require stable content-free failures.
474
+
475
+ ## Authenticated source runtime binding (12 September 2026)
476
+
477
+ Assume a sidecar reached a healthy source API whose static HTTP contract was
478
+ correct, but whose durable worker used another price and offer capability
479
+ generation.
480
+
481
+ - A static API digest could remain unchanged while the internal commercial
482
+ profile or locale-rendering registry changed.
483
+ - A capability check followed by a write could lose the verified runtime
484
+ binding at the response boundary, leaving the caller unable to prove which
485
+ generation accepted the work.
486
+ - Health and readiness could report a plausible service state without exposing
487
+ whether all three durable databases still carried the same verified binding.
488
+ - A sidecar could accidentally discard or reshape the binding while forwarding
489
+ operational evidence, hiding a partial deployment mismatch from the website
490
+ host.
491
+
492
+ The source HTTP application now requires a verified durable binding before it
493
+ can be hosted, returns the exact content-free binding with capabilities and
494
+ every operation, and revalidates it after runtime work. The contract-pinned
495
+ source client requires both internal deployment pins and rejects missing,
496
+ stale, malformed, or substituted bindings. Source delivery independently
497
+ revalidates and forwards the same binding through health and readiness, so a
498
+ single mismatch blocks fail-closed rather than being reduced to a healthy
499
+ aggregate state.
500
+
501
+ ## Locale-exact commercial rendering references (12 September 2026)
502
+
503
+ Assume every commercial provider phase received the correct language profile,
504
+ but rendered amounts, percentages, ranges, and currency labels with conventions
505
+ from a different EU locale.
506
+
507
+ - A language name alone cannot distinguish Austrian grouping or Portuguese
508
+ spacing from a generic parent-language default.
509
+ - Treating one punctuation spelling as semantic proof would reject equivalent
510
+ number words, native digits, or safely reformatted values.
511
+ - An unversioned external reference could change without invalidating queued
512
+ jobs, cached targets, review evidence, or publication approvals.
513
+ - Copying a formatting table by hand could silently transpose two locales or
514
+ normalize non-breaking spaces into ordinary spaces.
515
+
516
+ Embed a canonical CLDR 48 number-format reference in each of the 24 commercial
517
+ locale profiles, including the resolved CLDR locale, numbering system, decimal
518
+ and grouping symbols, minimum grouping threshold, decimal, percent, currency,
519
+ ISO-currency, approximation, limit, and range patterns. Bind the complete
520
+ reference and its official tagged source URL into the profile digest and every
521
+ provider phase. Treat these values as rendering guidance only: semantic review
522
+ must accept meaning-preserving surface variants and route ambiguous values to
523
+ independent model or qualified native-domain review. Tests cover all locales,
524
+ exact Maltese and Finnish conventions, Austrian and Portuguese region overrides,
525
+ Unicode spacing, profile tampering, and the ban on deterministic regex proof.
526
+
527
+ ## Commercial escalation evidence at publication (12 September 2026)
528
+
529
+ Assume a locale reached the CMS with a commercial review summary that still
530
+ said `review_required`, while the publication evidence did not say whether the
531
+ targeted dimensions were resolved by an independent model or a qualified human.
532
+
533
+ - A valid approval could conceal which escalation path actually satisfied the
534
+ unresolved amount, tax, renewal, cancellation, or condition checks.
535
+ - A receiver that accepts `review_required` without a matching resolution could
536
+ mistake an unresolved primary review for publishable evidence.
537
+ - A generic receipt hash could be copied to a different ordered dimension scope
538
+ unless the scope and review method remain inside the signed publication.
539
+ - Exposing raw receipts or reviewer prose would leak sensitive review material.
540
+
541
+ Advance the publication-evidence contract, add one content-free resolution only
542
+ when the commercial summary is unresolved, and bind its exact ordered dimensions,
543
+ review method, receipt hash, and independent provider identity when applicable.
544
+ Require the receiver to reject missing, unexpected, cross-scope, malformed, or
545
+ method-inconsistent resolution evidence before its commit callback. Prove both
546
+ allowed escalation paths and keep verified commercial and non-commercial traffic
547
+ compact with a `null` resolution.
548
+
549
+ ## Commercial evidence HTTP profile binding (12 September 2026)
550
+
551
+ Assume a valid commercial worker result could not reach the remote quality
552
+ service, or a remote receipt was accepted without the exact locale-specific
553
+ commercial profile that produced it.
554
+
555
+ - The worker's nested commercial profile could be rejected by an older HTTP
556
+ validator that only permits the three base locale-profile fields.
557
+ - Accepting an optional nested object would let commercial requests omit it or
558
+ let non-commercial requests smuggle unrelated commercial scope.
559
+ - Checking only token and digest shapes would allow a different commercial
560
+ profile identifier to travel beside an otherwise valid review summary.
561
+ - Keeping the old evidence and receipt schema generations would let durable
562
+ retries silently reuse pre-binding requests or receipts.
563
+
564
+ Version both contracts, require the exact compact commercial profile binding
565
+ inside `quality_profile` only when `content_type` is `commercial`, and require
566
+ its profile identifier to match the top-level commercial policy and review
567
+ summary before any authentication or network access. End-to-end tests carry a
568
+ real commercial coordinator request through both HTTPS adapters and prove that
569
+ missing, extra, stale-shaped, or cross-profile bindings fail closed locally.
570
+
571
+ ## Locale-bound commercial publication evidence (12 September 2026)
572
+
573
+ Assume a CMS replaced its current localized offer with a signed bundle whose
574
+ generic commercial profile was correct but whose locale-specific profile was
575
+ stale or belonged to another EU language.
576
+
577
+ - A generic profile ID cannot prove that Finnish, Maltese, or another locale
578
+ used the intended native-language commercial quality generation.
579
+ - Adding an optional digest would let old senders silently bypass the binding.
580
+ - Comparing only well-formed tokens and hashes would accept a valid-looking but
581
+ obsolete or cross-locale profile.
582
+ - Applying commercial requirements to ordinary content would create false
583
+ publication blocks.
584
+
585
+ Version the release-evidence schema, require a compact commercial quality
586
+ binding only for commercial content, and derive it from the already approved
587
+ worker result. The CMS receiver recomputes the canonical binding for each exact
588
+ locale before its commit callback; the durable store independently rejects
589
+ missing or structurally inconsistent bindings during its atomic recheck. Tests
590
+ cover all 24 EU locales, non-commercial compatibility, malformed evidence, and
591
+ stale version, digest, and profile substitution before commit.
592
+
593
+ ## Locale-bound commercial quality profiles (12 September 2026)
594
+
595
+ Assume a commercial job advertised one of 24 EU locales while every provider
596
+ phase still received the same universal pricing prompt.
597
+
598
+ - A locale label without locale-specific evaluation guidance could accept
599
+ source-shaped price labels, interval wording, CTAs or contract terms.
600
+ - A profile omitted from the job digest could change without invalidating cache
601
+ entries, review evidence or publication authority.
602
+ - A caller-controlled profile could weaken one difficult language while still
603
+ presenting a valid generic commercial profile identifier.
604
+ - Passing the source into the target-only phase through profile data would
605
+ destroy the required independence of the native-language review.
606
+
607
+ Derive one canonical commercial profile from each existing locale quality
608
+ generation, bind the generic commercial policy plus locale profile version and
609
+ digest, and hash the complete object into the job identity. Recompute it before
610
+ provider access, pass the content-free profile to all three ordered phases, and
611
+ retain its version and digest in signed release evidence. Tests cover all 24
612
+ locales, Maltese and Finnish risk markers, phase separation, profile drift,
613
+ mutation before provider access, cache invalidation and release tampering.
614
+
615
+ ## End-to-end processing health (12 September 2026)
616
+
617
+ Assume every intake worker appeared healthy while the source processing queues
618
+ were blocked or damaged.
619
+
620
+ - A healthy website outbox and sidecar could hide exhausted source retries,
621
+ corrupt queue counters, or incomplete terminal processing.
622
+ - One aggregate health flag could erase which operated boundary is degraded or
623
+ blocked.
624
+ - Continuing to the source layer after an earlier intake failure could create
625
+ misleading secondary network errors.
626
+ - A structurally valid health response from another capability generation could
627
+ be accepted after configuration drift.
628
+
629
+ The sidecar exposes a distinct authenticated, body-free source-health operation
630
+ and validates the complete source response against its pinned contract. The
631
+ website runtime first validates website and sidecar intake health, stops before
632
+ the source call when intake is blocked, preserves both projections and their
633
+ error details separately, binds both capability hashes, and fails closed on
634
+ every transport, schema, status, or contract inconsistency.
635
+
636
+ ## End-to-end processing readiness (12 September 2026)
637
+
638
+ Assume a website accepted localization work while the source service could not
639
+ actually process it.
640
+
641
+ - A healthy website worker and sidecar could hide a stopped or blocked source
642
+ worker.
643
+ - Combining all readiness data into one object could erase which operated
644
+ boundary is unavailable.
645
+ - A local failure could still trigger an unnecessary downstream request and
646
+ create misleading network noise.
647
+ - A valid source readiness response from another capability generation could
648
+ be accepted after configuration drift.
649
+
650
+ The sidecar exposes a distinct authenticated, body-free source-readiness
651
+ operation and validates the complete source response against its pinned
652
+ contract. The website runtime first verifies local and sidecar intake; it
653
+ contacts the source layer only when both are ready, preserves both readiness
654
+ objects separately, binds both capability hashes, and fails closed on every
655
+ transport, schema, status, or contract inconsistency.
656
+
657
+ ## End-to-end localization lifecycle status (12 September 2026)
658
+
659
+ Assume a website followed a durably accepted submission into localization but
660
+ read the wrong tenant, an event that had not reached the source service, or an
661
+ obsolete status contract.
662
+
663
+ - A source-status request before sidecar acceptance could probe or invent
664
+ downstream state for work still owned by an upstream outbox.
665
+ - A valid response for another site, event, payload, or capability generation
666
+ could be attached to the local submission.
667
+ - Collapsing source acceptance and the localization lifecycle into one success
668
+ could make processing, review, or publication appear complete too early.
669
+ - Reformatting the rich source status at each hop could silently omit a failed
670
+ locale, retry counter, terminal notification, or receiver state.
671
+
672
+ The sidecar exposes a distinct authenticated source-status operation only for
673
+ an exact locally succeeded outbox row. Every hop binds the site, event, stored
674
+ payload hash, sidecar capability hash, and source-service capability hash. The
675
+ website runtime keeps acceptance and localization as separate nested status
676
+ objects, validates the complete source payload without lossy normalization,
677
+ and fails closed on missing, premature, malformed, or stale state.
678
+
679
+ ## End-to-end submission health (12 September 2026)
680
+
681
+ Assume one durable submission outbox appeared healthy while the other was
682
+ blocked, corrupt, or bound to a changed sidecar contract.
683
+
684
+ - A website-only health check could stay green while sidecar delivery is
685
+ permanently failed or holding an expired lease.
686
+ - A healthy sidecar could hide failed or stale work in the website outbox if a
687
+ deployment reduced both states to one averaged signal.
688
+ - Malformed counters or a substituted capability hash could be normalized into
689
+ a plausible healthy response.
690
+ - Probing the sidecar before validating local storage could send an
691
+ authenticated request from a runtime whose own state cannot be trusted.
692
+
693
+ The combined projection validates the local health snapshot before network
694
+ access, then uses the owned authenticated client and requires the exact
695
+ sidecar schema and capability binding. It preserves both complete content-free
696
+ snapshots and reports `ok` only when both independently report `ok`.
697
+
698
+ ## End-to-end submission readiness (12 September 2026)
699
+
700
+ Assume the website worker appeared healthy while the authenticated sidecar
701
+ worker was stopped, blocked, or reporting an incompatible state.
702
+
703
+ - A local-only readiness check could allow an operator to declare the complete
704
+ submission path available while accepted work cannot advance downstream.
705
+ - Querying the sidecar when the website worker is already unavailable could
706
+ waste credentials and present an irrelevant remote success as overall health.
707
+ - Averaging two states could let one healthy outbox conceal the other boundary's
708
+ blocking error.
709
+ - A malformed readiness response or changed capability contract could be
710
+ normalized into a positive result.
711
+
712
+ The combined projection validates local readiness first and remains offline
713
+ unless that boundary is ready. It then uses the owned authenticated client,
714
+ requires the exact response schema and capability binding, preserves both
715
+ worker and outbox states independently, and reports ready only when both
716
+ durable intake workers are running with healthy outboxes.
717
+
718
+ ## Bound submission progress (12 September 2026)
719
+
720
+ Assume an operator polled a successfully queued website event and mistook one
721
+ durable boundary for completion at the next boundary.
722
+
723
+ - Reading the sidecar before local acceptance could disclose or manufacture a
724
+ remote state for work that the website still owns.
725
+ - A status response for another event, tenant, payload, or contract generation
726
+ could be attached to the local row.
727
+ - Collapsing the three retry ceilings could hide which queue exhausted its
728
+ attempts and make an unsafe retry appear available.
729
+ - Sidecar-to-source acceptance could be reported as finished localization or
730
+ publication even though those later stages have not run.
731
+
732
+ The combined status projection stays local until website acceptance, then uses
733
+ the owned authenticated client and revalidates all immutable identities,
734
+ payload and capability hashes, and both downstream retry ceilings. It exposes
735
+ three explicit acceptance stages, carries only content-free error codes, and
736
+ defines final `accepted` as durable source-service acceptance rather than
737
+ localization completion.
738
+
739
+ ## Owned authenticated submission runtime (12 September 2026)
740
+
741
+ Assume a website operator assembled the valid HMAC client, sidecar adapter,
742
+ SQLite outbox, and worker separately but still lost a source event or confused
743
+ durable acceptance with downstream completion.
744
+
745
+ - The rotating client could omit the public immutable contract needed by the
746
+ outbox adapter and fail only when production wiring starts.
747
+ - A credential replacement could update a signer other than the one used by
748
+ the durable worker.
749
+ - Invalid worker or middle-retry configuration could create persistent state
750
+ before failing, or trigger an early network request.
751
+ - A local succeeded row could be presented as completed source processing even
752
+ though the sidecar still reports pending or failed work.
753
+
754
+ The owned submission runtime constructs one rotating signer, pinned client,
755
+ adapter, guarded outbox, and optional worker from one configuration. It exposes
756
+ the client's immutable contract to the adapter, validates hosted delays before
757
+ opening SQLite, routes rotation through the owned client, and gives local
758
+ acceptance and authenticated sidecar lifecycle reads separate method names.
759
+ Process and close guards run before either storage or transport access.
760
+
761
+ ## Durable authenticated sidecar submission (12 September 2026)
762
+
763
+ Assume a website persisted an event but mixed the retry policy for reaching the
764
+ sidecar with the sidecar's delivery policy or the source service's processing
765
+ policy.
766
+
767
+ - A transient sidecar outage could exhaust the downstream source retry budget.
768
+ - A changed sidecar pin or inner retry ceiling could alter an already queued
769
+ event after restart.
770
+ - Treating sidecar acceptance as a direct source-service response could let a
771
+ malformed acknowledgement satisfy the existing outbox validator.
772
+ - Translating a client exception could accidentally turn an unknown failure
773
+ into a retryable one.
774
+
775
+ The sidecar outbox adapter gives each boundary its own explicit retry ceiling
776
+ and hashes both capability pins plus the inner delivery policy into the
777
+ outbox's immutable contract binding. It accepts only the exact validated
778
+ sidecar envelope before producing a private completion projection, preserves
779
+ declared retryability, and makes every unknown or malformed failure permanent
780
+ and content-free.
781
+
782
+ ## Source-bound commercial review evidence (12 September 2026)
783
+
784
+ Assume a structurally valid, content-free commercial review summary was copied
785
+ to a different source, target, or policy generation.
786
+
787
+ - A digest covering only the evidence object could remain unchanged when the
788
+ reviewed source or candidate changed outside an evidence span.
789
+ - Updating the digest recipe without the commercial profile could leave old
790
+ plan, cache, and approval identities apparently current.
791
+ - A worker and authenticated capability registry could enforce different hash
792
+ recipes while sharing the same summary schema.
793
+ - Mutation tests could cover changed reviewer evidence but miss exact Unicode
794
+ text or profile changes.
795
+
796
+ Commercial profile v3 and summary-contract v2 now hash a versioned binding of
797
+ the exact UTF-8 source hash, exact UTF-8 target hash, profile, and complete
798
+ canonical evidence. The profile bump invalidates earlier derived identities;
799
+ the capability registry validates and publishes the same recipe. Independent
800
+ tests mutate source, target, profile, and evidence and require distinct digest
801
+ changes for every input.
802
+
803
+ ## Single-source authenticated client composition (12 September 2026)
804
+
805
+ Assume a website backend wired a valid rotating signer to a valid HTTPS client,
806
+ but duplicated their security configuration incorrectly.
807
+
808
+ - The signer and client could receive different origins or capability pins and
809
+ fail only after the service entered production.
810
+ - An adapter could rotate one signer while a different signer still protected
811
+ outgoing operations.
812
+ - A convenience wrapper could omit status, health, readiness, or removal and
813
+ encourage an unprotected alternate path.
814
+ - A forked worker could reach the network through an inherited client before
815
+ the signer rejected its first proof.
816
+
817
+ The composed client now accepts origin and both capability pins exactly once,
818
+ constructs its private rotating signer and HTTP client together, and exposes
819
+ all six contract operations through one process-bound surface. Configuration
820
+ failure performs no network call. Credential replacement reaches the exact
821
+ signer used by every operation and retains its previous credential on failure.
822
+
823
+ ## Uninterrupted source-delivery client rotation (12 September 2026)
824
+
825
+ Assume the server accepted an overlap generation, but a long-lived source
826
+ worker could not move its HMAC signer safely without a restart.
827
+
828
+ - Concurrent requests could observe a partially replaced credential or change
829
+ generation halfway through proof creation.
830
+ - Invalid secret-manager output could destroy the last working client signer.
831
+ - A forked process could inherit signer state and silently reuse parent-owned
832
+ secret material and synchronization.
833
+ - Retiring the old server generation immediately after one client swap could
834
+ reject proofs already emitted or leave other client instances behind.
835
+
836
+ The client now owns one process-bound rotating signer. It validates a complete
837
+ replacement under the same lock used for proof creation and swaps only after
838
+ success, preserving the previous signer on failure. Rotation never changes the
839
+ fixed origin or capability pins. Deployments overlap generations server-side,
840
+ rotate every client instance, drain already emitted requests and the proof
841
+ validity window, and only then retire the old generation.
842
+
843
+ ## Uninterrupted source-delivery credential rotation (12 September 2026)
844
+
845
+ Assume a running source-delivery sidecar rotated credentials but briefly
846
+ accepted an incomplete set, lost its last working verifier, or weakened replay
847
+ protection.
848
+
849
+ - An in-flight request could race the replacement and observe a partially
850
+ updated credential map.
851
+ - Invalid secret-manager output could remove every valid generation before the
852
+ configuration error became visible.
853
+ - Removing and later re-adding a generation could make an already consumed
854
+ proof usable again if rotation also reset replay state.
855
+ - A failed update could bypass storage, process, or lifecycle guards, while its
856
+ private exception or secret value escaped through a stable error.
857
+
858
+ The runtime now materializes and validates one complete replacement verifier,
859
+ then swaps it atomically under the same lock used by authentication. The prior
860
+ verifier remains active until the replacement and replay-path guard both pass.
861
+ All generations share the unchanged durable nonce ledger, so retirement and
862
+ re-enrollment do not restore consumed proofs. Closed, inherited, replaced, or
863
+ permission-weakened runtimes reject the update; failures are reduced to stable
864
+ content-free codes.
865
+
3
866
  ## Durable terminal-processing reconciliation (11 September 2026)
4
867
 
5
868
  Assume the source CMS received a valid intake acknowledgement but later lost
@@ -274,6 +1137,7 @@ Assume the Version 6 response-and-translation gateway and automatic updater ship
274
1137
 
275
1138
  | Failure | Early warning | Mitigation | Proof required |
276
1139
  | --- | --- | --- | --- |
1140
+ | A commercial acknowledgement is validated at ingress but discarded before retry or restart | A queued pricing change survives while its accepted profile and 24-locale registry generation cannot be proven from durable status | Persist the exact content-free binding beside the immutable payload hash, revalidate it before claims and reads, migrate only exact empty legacy stores, and leave populated legacy stores untouched and blocked | Queue, claim, retry, restart, HTTP, OpenAPI, and reference-client tests prove the same binding; tampering blocks; exact empty v1 upgrades; populated v1 remains unchanged and fail-closed |
277
1141
  | Signed commercial benchmark evidence preserves only totals, so an operator cannot see which offer dimension failed | The final report blocks, but amount, tax, renewal, cancellation, and conditions remain indistinguishable without reopening private reviewer output | Unblind only the four content-free dimension statuses into each signed case, bind them to the exact source-fidelity response hash, aggregate every dimension separately, and block a dimension on any candidate major/blocking status | Case and report tests prove exact A/B-to-origin rebinding, ten ordered dimension summaries, per-status counts, no reviewer prose, a visible candidate-defect block, and rejection of a re-signed response-hash mismatch |
278
1142
  | A commercial benchmark reviewer receives all ten dimensions but returns only a generic preference | The request looks complete while tax, renewal, cancellation, or target-only inventions were never explicitly decided; uncertainty is averaged into a win | Require an ordered per-dimension acknowledgement for both anonymous variants, link major/blocking decisions to exact defect entries, reject uncertainty, and enforce the same conditional contract in the runner, HTTPS adapter, and durable store | Positive end-to-end and HTTPS/store tests cover ten decisions per variant; missing, additional, reordered, uncertain, unbound, and preferred-defect responses fail closed without becoming benchmark evidence |
279
1143
  | Commercial benchmark tags drift from the public offer profile or leak semantic source scope into the source-blind pass | A pricing case omits tax or cancellation review, accepts an invented target-only claim, or native review receives source-aware dimensions | Bind all ten ordered dimensions from the shared commercial registry to every commercial suite case, include the scope in the suite digest, validate it before any reviewer call, and expose it only during source-fidelity review | Manifest tests cover eight cases by all ten dimensions; missing, additional, and reordered scope block with zero reviewer calls; request tests prove native scope isolation and fidelity exposure |
@@ -485,5 +1349,42 @@ Assume the Version 6 response-and-translation gateway and automatic updater ship
485
1349
  | Website backends must hand-build requests for the source-CMS ingress | A stale route accepts a different schema, a deployment swaps after discovery, an idempotency identity is reused with altered content, a response belongs to another site, or client retries multiply a write | Provide one provider-neutral, contract-pinned HTTPS client; validate immutable payloads before discovery, derive each operation from the freshly verified contract, bind every operational response to its capability digest and request identity, and leave bounded retries to the host | End-to-end WSGI tests cover all write and read operations, exact auth and body hashes, idempotent replay, pre-write contract drift, payload and tenant tampering, redirects, stable retryability, and content-free status data |
486
1350
  | A website process calls the one-attempt source client without a durable handoff | A crash before the request loses a source change; a crash after remote acceptance causes uncertainty; an old lease overwrites a newer result; or nested retry policies multiply writes and hide exhausted work | Persist one immutable change, cancellation, or tombstone before network access; bind its capability digest and two separate retry ceilings; claim one token-bound attempt; replay the same idempotency identity after lease expiry; prioritize removals; and block health on tampering, drift, expiry, or terminal failure | Tests prove persist-before-call, exact replay, removal priority, durable backoff, bounded permanent failure, crash recovery after remote acceptance, stale-lease rejection, capability drift, short-lease rejection, and no client call after database tampering |
487
1351
  | The website-source outbox is durable but deployment glue owns its connection and worker lifetime | Invalid configuration creates a database before failing; concurrent threads overlap transactions; a prefork child inherits a locked connection; linked or replaced storage receives trusted work; a dead worker still accepts events; or shutdown closes SQLite beneath a slow provider call | Add one preflighted composition root with an owner-only identity-guarded file, process binding before every lock, serialized connection access, a supervised non-daemon worker, managed-intake gating, content-free readiness, and signal-before-join shutdown that preserves the open database on timeout | Tests cover no-file invalid preflight, mode `0600`, restart recovery, automatic delivery, stopped-worker intake rejection, permission drift, links, inode replacement, process drift, 24 concurrent enqueues, redacted worker failure, bounded blocked-provider shutdown, and shared durable claims |
1352
+ | Non-Python website backends cannot use the protected source-delivery runtime without custom deployment glue | A local endpoint parses hostile content before authentication, accepts another site's event, leaks source text through status, queues work behind a dead worker, rehashes a weakened contract, or serializes a forged runtime result | Add one authenticated HTTPS/WSGI sidecar with route-specific scopes, exact body and payload hashes, tenant-bound writes and reads, managed-worker readiness, independently validated content-free responses, and a canonical contract digest | End-to-end tests cover change, cancellation and tombstone intake through remote delivery, exact authentication and idempotency bindings, cross-site indistinguishability, stopped workers, damaged storage, malformed framing, contract drift, response substitution, private failures, and concurrent replay |
1353
+ | Website and CMS backends must hand-build requests for the source-delivery sidecar | A stale route is used after discovery, credential code overwrites binding headers, sidecar and downstream contracts are confused, a response substitutes another tenant or payload, or hidden redirects and retries duplicate work | Provide one provider-neutral HTTPS reference client with fresh exact capability validation, separate sidecar and downstream pins, reserved headers, complete known status bindings, one transport attempt, and stable retryability | End-to-end WSGI tests cover all six routes, changes, cancellations, tombstones, exact inner-payload hashes, stale and downstream contract pins, response tampering, cross-site status, reserved-header injection, redirects, timeouts, malformed input, and parallel idempotent replay |
1354
+ | Every source-delivery deployment must invent authentication around the public callback contract | A signature authenticates only the body but not its route or tenant, a captured proof is replayed, an old credential survives rotation, another site's scope is accepted, altered replay state is trusted, or a failure leaks a key or customer content | Supply a provider-neutral HMAC signer and verifier that bind origin, route, scope, body, tenant, idempotency, payload, and both capability pins; atomically consume random nonces in a durable content-free SQLite ledger; allow only explicit credential generations and scopes | End-to-end tests cover all six routes, exact proof fields, replay, expiry and future skew, wrong keys and pins, retired generations, tenant and scope separation, altered bindings, replay-ledger tampering, clock failure, redaction, and concurrent idempotent writes |
1355
+ | The HMAC contract is correct but its caller-owned replay connection is deployed unsafely | The replay database is shared or replaced, permissions weaken, a forked worker inherits its connection, shutdown closes authentication beneath a live request, invalid configuration leaves operational state, or auth failure is invisible beside outbox health | Add one preflighted composition root with separate owner-only databases, safe-parent and inode guards, process binding before locks, serialized replay access, content-free auth health, and delivery-before-auth shutdown ordering | Tests cover no-file invalid preflight, mode `0600`, end-to-end hosted requests, durable replay after restart, permission drift, links, inode replacement, process drift, closed state, corrupt replay rows, parallel idempotent writes, redacted health, and blocked-worker shutdown |
1356
+ | CMS clients know that locale-specific commercial rendering exists but cannot retrieve the exact rules they must pin | A client guesses separators or currency placement, accepts a partial locale set, or silently follows tampered CLDR metadata while the server still advertises healthy capabilities | Publish one canonical content-free registry for all 24 locale rendering references, bind every entry to its commercial quality-profile version and digest, hash the complete registry, and validate exact canonical equality before returning signed capabilities | Capability tests require the exact 24-locale registry, CLDR 48 Maltese/Finnish/Austrian/Portuguese references, detached payloads, no project content, and fail-closed rejection of missing, reordered, or altered entries |
1357
+ | The server publishes a complete commercial rendering registry but the source-side reference client accepts a self-rehashed substitute or silently crosses a deployment upgrade | A proxy or incompatible service replaces the registry and recomputes its public hashes, or a legitimate profile change reaches production before the CMS host deliberately accepts new rules | Make the reference client validate the exact v5 capability shape and canonical 24-locale registry against its installed contract, then support immutable overall-capability and rendering-registry deployment pins with distinct non-retryable failures | End-to-end client tests accept exact current pins and reject malformed pins before transport, wrong deployment pins after one response, plus missing, reordered, altered, or obsolete registries even when every public hash is recomputed |
1358
+ | Deployment configures both commercial capability pins but the durable CMS source runtime never exercises them before accepting work | A host assumes constructor pins are active, opens persistent queues without a successful capability read, or the client binding changes after startup while queued website content continues toward the wrong contract | Add an explicit startup preflight that requires and verifies both immutable pins before creating any database, retains only their content-free hashes, and rechecks the client binding before every runtime transition | Runtime tests prove successful pinned startup, zero database creation for missing pins or remote mismatch, one bounded capability request, content-free status, and blocking before persistence or delivery when the client binding changes |
1359
+ | A pinned CMS runtime restarts over durable queues that were created for another commercial capability generation or database role | Pending work silently crosses a price/offer policy deployment, swapped change/removal files acquire new tables, an unbound legacy queue with work is adopted, or a partially written/tampered binding is trusted after a crash | Persist the exact two-pin binding and database role independently in all three SQLite files, precheck existing metadata before service schema writes, adopt only provably empty unbound stores, and revalidate canonical rows on every operation | Restart tests preserve same-binding work, reject a coherent different binding and swapped roles before schema mutation, reject non-empty unbound stores, safely adopt empty legacy stores, recover same-binding partial writes, and block altered rows before queue access |
1360
+ | The outer website outbox remains unbound while the sidecar and source queues pin a commercial generation | Website retries can resume under a different runtime or price-format policy, a stale sidecar can be trusted, or the website database is created before any authenticated proof of the downstream generation | Require both host-owned generation pins together, verify them through authenticated sidecar source readiness before opening SQLite, include them in the adapter contract, and persist the exact role-specific binding in the outer outbox | Tests prove exact signed preflight and persisted hashes, reject mismatch or outage before database creation, bind adapter-digest changes, preserve direct unpinned compatibility, and keep local status reads offline |
1361
+ | A website runtime contacts the sidecar before discovering that its existing outer outbox is locally unsafe or belongs to another generation | A restart leaks operational traffic, consumes authentication nonces, or depends on an unavailable network even though a changed pin, tampered schema, unsafe file, or non-empty unbound queue already makes safe recovery impossible | Validate the existing file identity, base schema, canonical generation row, and derived digest through a read-only local preflight before the authenticated sidecar request; preserve remote-first creation and migration for missing or provably empty stores | Restart tests require zero transport calls for generation mismatch, schema tampering, unsafe permissions, and non-empty unbound work; same-generation state resumes, and an empty legacy store binds only after the unchanged authenticated preflight |
1362
+ | The outer website generation is durable but invisible in composed operational projections | Operators see healthy website, sidecar, and source states without proof that the website outbox is still bound to the generation that accepted its work; a cached or reconstructed hash can hide database tampering | Project one canonical, content-free website capability binding directly from the guarded SQLite row and carry it independently through status, lifecycle, health, and readiness contracts before any downstream read | Exact binding and defensive-copy tests cover every projection; altered generation metadata blocks health and readiness locally with zero additional transport calls; payloads contain no endpoint, credential, tenant, source, or target text |
1363
+ | The owned website runtime has many safe methods but no single discoverable end-to-end contract | An integrator pins only the sidecar, assumes stale projection schemas, collapses the three retry budgets, or treats durable source acceptance as publication; local generation drift is found only after an operational call | Publish one canonical content-free capability snapshot that binds every outer operation and projection schema, retry ownership and publication semantics to the guarded website generation plus freshly verified sidecar and source pins | Exact snapshot and defensive-copy tests prove deterministic hashing; local generation tampering blocks before network, and remote contract substitution blocks without returning partial capabilities or private data |
1364
+ | A public website write endpoint authenticates the transport but not the durable request identity | Another site's payload reaches readiness or storage, a replay changes content or retry policy under one ID, a dead worker acknowledges stranded work, or HTTP 202 is mistaken for source acceptance or publication | Bind the authenticated principal to the exact site, body hash, canonical payload hash, route-specific scope and idempotency key before runtime access; require the hosted worker and pinned generation; return only after the outer SQLite commit with explicit non-publication semantics | Change, cancellation and tombstone tests cover exact auth/body/header bindings, cross-site and wrong-scope rejection with zero runtime calls, worker failure, one-row replay, collision conflict, malformed transport, tampered runtime status, and a real hosted-runtime durable write |
1365
+ | A public progress endpoint leaks another tenant or collapses durable acceptance into publication | A guessed request ID returns another site's status, a substituted payload hash or nested source projection is serialized, or `accepted` is presented as linguistically approved and publishable | Require distinct site-bound read scopes; bind operation, request, event, site and source-payload hash before lookup; independently validate status and lifecycle envelopes with separate capability generations; preserve every stage and explicit non-publication semantics | Tests prove wrong-scope and foreign-site rejection before runtime access, not-found equivalence, status/lifecycle separation, valid source-state projection, and fail-closed rejection of changed payload hashes and cross-site nested source state |
1366
+ | Website backends hand-build calls to the complete public submission edge | A stale path or scope survives deployment, credential code overwrites an idempotency binding, a response is rebound to another tenant or generation, or an implicit redirect/retry duplicates a durable write | Provide one provider-neutral reference client that validates the complete pinned v5 capability before every operation, owns reserved headers, binds full known identities, independently validates nested responses, and leaves retry scheduling outside the transport | End-to-end WSGI tests cross capability discovery, all writes and tenant reads, separate operator health/readiness, exact body and payload hashes, replay, stale or rehashed capabilities, tenant/private-field substitution, invalid input, reserved-header injection, redirects, and single-attempt retry metadata |
1367
+ | A CMS backend uses the safe one-attempt public client without a durable local handoff | A crash loses an unsent edit, remote HTTP 202 is lost before local commit, nested retry ceilings are collapsed, a new deployment resumes old-generation work, or altered SQLite state reaches the network | Persist each immutable change, cancellation, or tombstone with its complete identity, capability pin, and three separate retry ceilings before transport; lease one attempt, back off only explicit retryable failures, replay identically after expiry, and revalidate every stored row | Real hosted-runtime tests cover all operations, persist-before-send, lost-response replay, bounded transient and permanent failures, full idempotency binding, capability drift before claim, payload and response tampering, stale claims, restart generation binding, and competing workers |
1368
+ | The CMS-side public submission outbox is durable but deployment glue owns its file, connection, and worker lifetime | Invalid policy creates or mutates storage before failure, a prefork child inherits a locked connection, linked or replaced state reaches the network, a dead worker accepts stranded edits, or shutdown closes SQLite under a slow transport call | Add one preflighted process-owned runtime with an owner-only identity-bound file, read-only restart validation, serialized connection access, exact client-pin checks, a supervised non-daemon worker, managed-intake gating, content-free readiness, and signal-before-join shutdown | Tests prove zero-file invalid preflight, mode `0600`, restart delivery, live-worker gating, permission, symlink, inode, schema, capability and process drift blocking before transport, concurrent idempotent intake, and database preservation after a bounded shutdown timeout |
1369
+ | Non-Python CMS backends cannot reach the protected caller-side submission runtime safely | A local endpoint parses hostile JSON before authentication, accepts another site's event, exposes stored source text through status, acknowledges work behind a dead worker, collapses three retry budgets, or serializes a forged runtime result | Add one authenticated HTTPS/WSGI sidecar with route-specific tenant and operator scopes, exact body and source-payload hashes, full-identity status, supervised-worker write gating, independently validated content-free responses, and a canonical capability digest | Tests prove authentication-before-parse, commit-before-202, full retry preservation, replay and collision behavior, foreign-site not-found equivalence, stopped-worker rejection, separate health and readiness, unsafe-storage blocking before downstream transport, malformed framing rejection, exact capabilities, and zero-file invalid configuration |
1370
+
1371
+ | A commercial CMS acknowledgement and a website acceptance each verify but refer to different rendering registries | A self-consistent downstream capability binding is accepted because only its delivery generation and internal hash are checked, allowing an offer localized under unacknowledged price, tax, or term rules to appear durably accepted | Require the accepted website binding's commercial-registry hash to equal the durable enqueue contract; recheck the equality before commit, after restart, at health, at HTTP serialization, and in the reference client | A self-rehashed foreign registry fails before acceptance; a coherently altered accepted row fails health; HTTP and client reject the same cross-registry substitution while the exact live generation succeeds |
1372
+ | Commercial fidelity evidence is replayed across locales or locale-quality generations | The source, target and generic commercial profile are unchanged, so an opaque evidence digest from another locale or an older rendering, morphology or evaluation profile appears reusable | Include the exact target locale plus commercial locale-quality profile version and SHA-256 in the versioned evidence-hash binding; derive them from the validated job and require them explicitly in the portable checker | Changing only locale, quality-profile version or quality-profile digest changes the evidence hash; missing, noncanonical or malformed bindings block before a result, approval or publication |
1373
+ | A CMS or review adapter guesses how unresolved commercial checks were cleared | Prose documentation and the runtime disagree about dimension ordering, qualified-human provider privacy, model independence, or receipt handling; a self-rehashed partial contract looks valid | Publish one separately hashed resolution contract inside the commercial capability profile and use the same provider-neutral result schema in release evidence | Exact-contract tests cover both methods and excluded content; reordered dimensions, a human provider, a non-independent model, raw-receipt exposure, or rehashed drift makes the complete capability response unavailable |
1374
+ | A signed commercial resolution cannot prove which contract and primary model it resolved | The CMS sees the second model but not the primary provider or resolution-contract digest, so it cannot detect the same provider on both sides or a result created under an older self-consistent contract | Bind the exact commercial profile, resolution-contract SHA-256 and primary provider identity into the closed resolution result; require an independent provider ID to differ before release, CMS validation and durable commit | Tests accept both valid resolution methods and reject profile drift, contract drift, missing or altered primary-provider fields, and equal primary/secondary providers before CMS persistence |
1375
+ | Commercial review evidence is verified without the exact resolution-contract generation | The evidence provider and receipt verifier see unresolved dimensions but not the contract digest they must satisfy, so an old receipt can be interpreted as approval under a changed escalation contract | Bind the canonical resolution-contract SHA-256 into the commercial evidence request, deterministic request ID and every receipt-verification context; require null outside unresolved commercial review and recompute the installed contract before transport | Contract drift changes the request ID and receipt binding; missing, stale, cross-scope or self-selected digests fail before authentication, provider transport, approval or publication |
1376
+ | A quality-evidence request supplies a well-formed but self-selected request ID | Changed locale, profile, provider, confidence or commercial-contract bindings can enter an existing lease and idempotency namespace because the durable store and HTTPS adapter trust the ID instead of deriving it | Define one exact versioned identity field set, recompute the request ID from its canonical JSON after validating the source and target hashes, and enforce the same derivation before persistence and before authentication or transport | A stale, random or recomputed-under-the-wrong-field-set ID fails without a database row, credential callback or network call; coordinator and HTTPS identity-field registries must remain exactly equal |
1377
+ | A quality service relabels an old receipt with a current evidence request ID | The response envelope matches the current request, but the opaque quality, human or independent-model receipt was issued for another evidence revision or request and still verifies against the older release-only binding | Carry the canonical evidence request ID and revision into every purpose-specific receipt-verification binding and the signed approval; reject missing, malformed or substituted context before verifier or signer access | Replaying one otherwise valid receipt under a changed evidence request or revision fails at verification; HTTP verifier requests expose the exact context, signed approval lookup detects tampering, and no raw receipt enters durable state |
1378
+ | A downstream CMS receives a signed approval hash without the evidence generation it represents | The localization service can detect a stale evidence request internally, but the public release proof omits its request ID and revision, so a CMS cannot audit or policy-gate that exact generation without private state | Advance the closed release-evidence schema and carry the canonical content-free evidence request ID and revision from the verified signed approval through publication, receiver validation and durable CMS storage | End-to-end tests expose and persist the exact lineage at the host commit; missing or malformed lineage fails closed, signed-byte substitution fails authentication, and raw receipts and reviewer prose remain absent |
1379
+ | CMS integrators know the release-evidence schema name but must reconstruct its semantics from prose | A client omits the evidence generation, accepts an obsolete field set, publishes private review material, or treats a self-rehashed partial contract as current because no machine-readable contract enumerates lineage, hashes, commercial scope and excluded content | Publish one exact, separately hashed release-evidence capability contract inside the signed publication-HTTP capabilities; reconstruct and validate it from runtime constants before returning any capability response | Contract tests cover the closed ordered field set, hash and lineage bindings, commercial nullability, content exclusions and digest; missing, altered, reordered or self-rehashed contracts make the complete capability response and reference-client result fail closed |
1380
+ | A signed release proof names its evidence schema but not the exact machine-readable contract generation | Archived or delayed evidence can be interpreted under a newer field, scope or privacy contract even though its signature and schema name remain valid | Bind the canonical release-evidence-contract SHA-256 into every signed approval and release proof, validate it before publication and CMS commit, and persist the exact bound proof unchanged | Missing, malformed, stale or substituted contract digests fail before signing, publication or host commit; non-commercial and commercial paths carry the same canonical digest through restart and durable CMS retrieval |
1381
+ | A durable CMS bundle outlives its approval or the release-evidence contract that authorized it | The receiver validates on initial delivery but keeps serving and reporting an active localization after approval expiry or a runtime contract upgrade; blindly applying the same rule to deletion could then trap the stale content | Inject the canonical release-evidence validator into the durable store and re-run it with expiry checks on active reads, health and idempotent publication replay, while structural-only tombstone paths remain able to remove stale content | Restart and time-advance tests make stale active reads, health and replay fail closed; the same expired and contract-stale bundle can still be tombstoned atomically without exposing target text in errors |
1382
+ | A database rewrite replaces an accepted CMS bundle and recomputes its unkeyed hashes after the receiver process restarts | The durable store retains payload and release-evidence fields but not the verified outer publication signature, so internally consistent replacement bytes could appear authorized without proving their publisher | Persist the exact canonical publication signature beside every active bundle, inject the configured publisher authority into the store through a closed validator, and reverify the signed canonical payload on commit, active reads, health and replay; migrate legacy rows without inventing missing signatures | Rehashed payload-and-evidence tampering fails only at signature verification, signed file-backed bundles survive restart, and migrated signatureless active rows remain unrenderable and unhealthy while structural tombstones can still remove them |
1383
+ | A commercial reviewer labels several offers with one arbitrary identifier | Every price and condition has a formally valid span, but the free label does not prove which source and target offer own it, so swapped prices or conditions could hide inside an apparently complete report | Add a versioned offer registry with unique identifiers and ordered, non-overlapping source and target regions; require every proposition span and every offer-assignment item to resolve inside its declared offer regions | Cross-offer spans, overlapping ownership, missing offer assignments, unknown labels and relabelled propositions fail deterministically; multiple discontiguous regions remain possible for linked footnotes, while unresolved semantic boundaries still route to independent review |
1384
+ | CMS and provider adapters infer the commercial evidence shape from a prompt example or prose | An integration can silently omit the offer registry, accept overlapping regions, or reinterpret one-sided evidence while still pinning the summary contract and commercial profile digest | Publish a separately versioned and hashed evidence contract with the exact closed fields, limits, span semantics, verdict invariants, offer-assignment coverage and structural-only trust boundary; bind it into the public commercial profile | Capability, OpenAPI, discovery-client and portable-checker tests consume the same canonical contract; missing, altered or self-rehashed evidence contracts block the complete capability response before content or provider access |
1385
+ | A commercial review summary outlives the evidence contract under which its private report was accepted | The summary retains the evidence hash but not the exact evidence-contract digest, so a cached result, evidence request, receipt or approval could be replayed after structural rules change while the commercial profile identifier stays constant | Bind the canonical review-evidence-contract SHA-256 into the private evidence hash and content-free summary, then carry that closed summary through worker result, evidence request, receipt verification, signed approval and CMS release evidence | Stale or self-selected contract digests fail at summary validation and every outer boundary; contract changes derive new evidence, request, receipt, approval and release hashes without exposing private report content |
1386
+ | A commercial source-fidelity provider receives only an illustrative evidence example | The provider guesses offer limits, Unicode span semantics, verdict invariants or trust boundaries differently from the validator, so a formally plausible report fails late or silently omits required reasoning | Resolve and verify the complete separately hashed public evidence contract before provider access, then bind it only into the source-aware fidelity request and its deterministic request hash | Exact-contract tests prove the fidelity provider sees the current canonical contract and resulting summary digest; a self-rehashed substitute blocks before any provider call, while transcreation and source-blind native review remain contract-free |
1387
+ | A global commercial dimension verdict covers only one of several registered offers | A reviewer supplies correct evidence for one tier while silently omitting another tier's price or condition; a global equivalent result still appears complete | Require exactly one ordered per-offer verdict for every dimension, derive the aggregate status by fixed severity, and require evidence within each non-absent offer region | Missing, duplicate, reordered, cross-offer, or aggregate-inconsistent matrices fail deterministically; uncertain semantics still route to independent review without numeric regex proof |
1388
+ | A CMS cannot prove the escalation policy behind an already verified commercial approval | The resolution-contract digest is hidden inside opaque internal identities and only an unresolved result exposes it, so downstream policy checks cannot distinguish approval generations | Carry the exact current content-free resolution-contract SHA-256 in every commercial release proof; require `null` outside commercial content and retain the detailed resolution object only for unresolved offers | Release, CMS, receiver and capability tests accept the current digest for verified and escalated paths, reject stale or substituted values before host commit, and expose no private route, receipt, reviewer prose, price or brand |
488
1389
 
489
1390
  No heuristic is allowed to claim that it proves native fluency. Cryptographic proof covers process integrity, not linguistic truth.