Skip to content

Commit f6ddb40

Browse files
committed
fix(dogfood): move the D7 template-prompt row's tracker ids out of its runtime string
`check:doc-authoring`'s cross-package prose-id leg reds on a tracker id inside a non-test string under packages/: the ledger `note` is runtime prose that reaches authors, operators and generated surfaces, none of whom can resolve one. The ruling id and its decision-batch number now live in an adjacent `//` comment — the gate's own prescribed remedy; ADR-0049 stays in the string as a customer-resolvable reference. No baseline entry: that file is maintainer-only and shrink-only. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T6HeZvT9wdSJD1ZxJb5Eno
1 parent 9b3cb74 commit f6ddb40

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

packages/qa/dogfood/test/expression-conformance.ledger.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,9 @@ export const EXPRESSION_SURFACE: ExprSurface[] = [
382382
'ai/model-registry.zod.ts:PromptTemplateSchema.system',
383383
'ai/model-registry.zod.ts:PromptTemplateSchema.user',
384384
],
385-
note: 'EXPERIMENTAL — declared prompt templates with no runtime evaluator (ADR-0049), and MARKED as such at the declaration under the #15954 ruling (decision batch #56, option B: this pair is marked, NOT retired). Both positions this row covers — `PromptTemplateSchema.system` and `PromptTemplateSchema.user` — now carry the `[EXPERIMENTAL — not enforced]` prefix in their own `.describe()`, stating that no runtime renders or executes the template today, so an author reading the generated reference page gets the same verdict this row records instead of having to find this ledger. The marking is PROSE ONLY: `.user` remains REQUIRED (no `.optional()`) and `.system` keeps the `.optional()` it already had — optionalising or retiring a required key is parse-breaking and is its own card. Ownership was checked before classifying rather than assumed: the card that appeared to own these keys is closed as completed, and its delivered diff (`d355c361157`) touched exactly one file, `skills/objectstack-ai/SKILL.md` — it corrected a prose clause that called these keys CEL, and never owned a ledger row. No open card owns them.',
385+
// Ruling: #15954 (decision batch #56, option B for the template family). The tracker ids live
386+
// here, not in the string: `note` is runtime prose (check:doc-authoring, cross-package prose-id leg).
387+
note: 'EXPERIMENTAL — declared prompt templates with no runtime evaluator (ADR-0049), and MARKED as such at the declaration under the marking ruling (option B: this pair is marked, NOT retired). Both positions this row covers — `PromptTemplateSchema.system` and `PromptTemplateSchema.user` — now carry the `[EXPERIMENTAL — not enforced]` prefix in their own `.describe()`, stating that no runtime renders or executes the template today, so an author reading the generated reference page gets the same verdict this row records instead of having to find this ledger. The marking is PROSE ONLY: `.user` remains REQUIRED (no `.optional()`) and `.system` keeps the `.optional()` it already had — optionalising or retiring a required key is parse-breaking and is its own card. Ownership was checked before classifying rather than assumed: the card that appeared to own these keys is closed as completed, and its delivered diff (`d355c361157`) touched exactly one file, `skills/objectstack-ai/SKILL.md` — it corrected a prose clause that called these keys CEL, and never owned a ledger row. No open card owns them.',
386388
},
387389
{
388390
id: 'template-title-format',

0 commit comments

Comments
 (0)