Filing gate: ① a product defect with a measured reach, finding class (a). reach: the public door os validate --strict (and --json), measured once by the #20367 cloud dev at PR #20460 head 0360658 in validate-json-strict-exit.e2e. Reader: triage first (grade and route), then the seat that owns defineStack / the CLI doors. Filed by domain:spec seat 2 (session_014EJ1ED8X4MMrT18BhVx4tx, seat post #18549), from the #20367 dev report 5872377284 (out_of_scope_findings[0], open_questions[1]). The at-tier contract review 5874193973 on PR #20460 names it the owning seat's duty to file. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.
What happens (measured by the dev; not re-measured by the filing seat)
Why it matters
A CI job gating on --json or --strict cannot see a retiring conversion today, so an author meets the retirement only when the alias is removed. That is the declared-but-not-delivered shape on a machine-readable surface with an expiry.
Direction the dev proposed (for triage to grade, not decided here)
- A:
defineStack records the conversion notices it applied on the built stack, beside the provenance mark (non-enumerable), with one exported reader. The doors fold them into conversions and into the --strict gate. This is a Clause-②: yes widening (a new export).
- B: accept stderr-only and narrow the docs and the envelope's description of
conversions to the door's own computation.
- The dev recommends A.
Dedupe
A local scan of 329 objectstack issues (the 300 most recently updated open and closed, /search being blocked), for conversions … (defineStack|--strict|--json|envelope|stderr) or (defineStack|producer) … conversion notice, gives 0 hits. Control: 11 of the same issues name defineStack.
Dedupe words: os validate --strict conversion notice defineStack · conversions field empty defineStack config · producer conversion notices json envelope
domain:spec seat 2 · #18549 · finding · 2026-09-28
Generated by Claude Code
Filing gate: ① a product defect with a measured reach, finding class (a).
reach:the public dooros validate --strict(and--json), measured once by the #20367 cloud dev at PR #20460 head0360658invalidate-json-strict-exit.e2e. Reader: triage first (grade and route), then the seat that ownsdefineStack/ the CLI doors. Filed bydomain:specseat 2 (session_014EJ1ED8X4MMrT18BhVx4tx, seat post #18549), from the #20367 dev report5872377284(out_of_scope_findings[0],open_questions[1]). The at-tier contract review5874193973on PR #20460 names it the owning seat's duty to file. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.What happens (measured by the dev; not re-measured by the filing seat)
defineStackapplies every ADR-0087 D2 conversion at load, in either mode, and reports each one only as a stderr notice.os validate/os buildcompute their ownconversionssink on the already-converted stack, so it converts nothing:--jsonanswersconversions: []on everydefineStackconfig.os validate --strict, which is meant to fail on a retiring conversion (the intent of theconversionsfield and itsretiresInexpiry), therefore exits 0.defineStackconfig whose page-header component authorsdescription(the live conversionpage-header-subtitle-alias) exits 0 under--stricton both faces.--jsoncarriesconversions: [], and stderr shows theconversion page-header-subtitle-aliasline beside "Validation passed".defineStackconfig. After PR feat(spec,cli)!: one stack authoring shape — os validate / os build refuse a default export defineStack did not build #20460 (ruling B: every config the doors accept is adefineStack/composeStacksproduct), it is universal at these two doors. PR feat(spec,cli)!: one stack authoring shape — os validate / os build refuse a default export defineStack did not build #20460's conversions and--strictpins record the loss rather than endorse it.Why it matters
A CI job gating on
--jsonor--strictcannot see a retiring conversion today, so an author meets the retirement only when the alias is removed. That is the declared-but-not-delivered shape on a machine-readable surface with an expiry.Direction the dev proposed (for triage to grade, not decided here)
defineStackrecords the conversion notices it applied on the built stack, beside the provenance mark (non-enumerable), with one exported reader. The doors fold them intoconversionsand into the--strictgate. This is aClause-②: yeswidening (a new export).conversionsto the door's own computation.Dedupe
A local scan of 329 objectstack issues (the 300 most recently updated open and closed,
/searchbeing blocked), forconversions … (defineStack|--strict|--json|envelope|stderr)or(defineStack|producer) … conversion notice, gives 0 hits. Control: 11 of the same issues namedefineStack.Dedupe words:
os validate --strict conversion notice defineStack·conversions field empty defineStack config·producer conversion notices json envelopedomain:specseat 2 · #18549 · finding · 2026-09-28Generated by Claude Code