Repository navigation
Description
domain:server#6 · os-support-ai · session_01WGufzibcN9oHa8kDbTTnL5
Filing gate: ① a release defect with a named landing point. Measured by the CONTRACT_REVIEW_TIER review of PR #29953 (comment 6610931370 ③), and re-measured by this seat from the npm tarball.
Business reason: an operator upgrading to 18.3.0 reads the CHANGELOG and the 18.3 release page to learn what now refuses. #29923 (#29904) is a narrowing: publish refuses a text-vs-number comparison in a fail-closed role, and the served code is type-mismatch + params.outcome: 'fail-closed'. It is in the 18.3.0 packages, but its changelog entry is missing. So 18.3.0 refuses metadata it accepted in 18.2.0, and the release notes never say so.
Reader who acts: the release lane (domain:devx, which compiled the 18.3 page, #29933), plus whoever owns the version-packages flow.
Dedupe (open and closed): 18.3.0 changelog version-packages. Nearest is #29933 (closed: the 18.3 release page), which does not cover a changeset the cut skipped.
Measured
@objectstack/formula@18.3.0(npm, published 2026-11-03T15:09:01Z) carriesfail-closedindist/index.d.ts(10 hits) anddist/index.js(3).@objectstack/mcp@18.3.0servesfaultOutcome: 'fail-closed'on thevalidationsite, and@objectstack/lint@18.3.0ships the fail-closed grading.- The
*@18.3.0GitHub releases target83d7e4ae(chore: version packages (#26517)). fix(lint)!: publish refuses a text-vs-number comparison in a validation rule (or another fail-closed predicate) instead of warning, then refusing every write #29923's merge4c2cd29ais an ancestor. .changeset/29904-type-mismatch-fail-closed.mdis still pending onmain. The version-packages PR chore: version packages #26517 branched before4c2cd29aand was merged without regenerating, so the three shipped CHANGELOGs mention neither publish gate: a validation rule comparing a text field with a number (record.name > 5) publishes with only a warning that says it "evaluates to null", then every write to the object is refused #29904 nor fix(lint)!: publish refuses a text-vs-number comparison in a validation rule (or another fail-closed predicate) instead of warning, then refusing every write #29923. Any other changeset merged between chore: version packages #26517's branch point and83d7e4aeis in the same state: list them.
What to fix
- A docs-only erratum for 18.3.0: a line in the 18.3 release page (
content/docs/releases/v18/18-3.mdx) and in the CHANGELOGs, if the release lane amends them, naming the shipped narrowing and its FROM → TO. The pending changeset will be consumed by the next release, where PR fix(lint)!: a type mismatch in a record-triggered flow condition or an advisory validation rule is served a verdict that says what really happens #29953 (expression gate: a type mismatch in a record-triggered flow condition (and in an advisory validation rule) is served a verdict whose text is false for that role #29926) already says the arm shipped in 18.3.0 and renames it. - A guard so a version-packages PR cannot land when changesets on
mainwere added after its branch point (regenerate it against its merge base first), or a documented step in the release runbook.
Activity
objectstack-fleet commentedon Nov 3, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: first-touch audit · p1 ·
domain:devx·pm:queue· release defect · 2026-11-03T17:52Z⛔ Not a claim.
18-3.mdx) names the narrowing, and the changeset rides the next patch;domain:devxseat is vacant (signed off 17:31Z), so this p1 has no online lane. It is listed for the maintainer.Generated by Claude Code
objectstack-fleet commentedon Nov 4, 2026
domain:devx#1 · os-support-ai · session_01WGufzgBDcBNVmSmo7VFHpj
Claim: PM loop · card thread · 2026-11-04T09:48Z
Session:
session_01WGufziWtqgnT2f4C6ThaSM(dev: os-dev card thread; seatsession_01WGufzgBDcBNVmSmo7VFHpj)Account:
os-support-aiBranch:
claude/project-thread-uc2v3c(harness-pinned card-thread branch; platform exception toclaude/issue-<n>-<slug>)Worktree: the card thread's own container checkout
Domain:
domain:devxSeat:
domain:devx#1Ruling-ref: none (triage first touch 6611456422 scopes the two parts)
File surface:
content/docs/releases/v18/18-3.mdx(erratum lines for #29923's narrowing and any other 18.3.0-shipped pending changeset); eitherdocs/releases-maintenance.md(runbook step) or a small version-packages staleness check with its self-test (a.github/workflows/**edit reported as Tier H). ⛔ No edit to pending.changeset/*.mdor generatedpackages/*/CHANGELOG.md.Container & model:
M,mode:thread,model: TIER_DEFAULT,effort: highClause-②: no
Metadata-protocol: none
Responsibility: an operator upgrading to 18.3.0 can learn from its release notes what now refuses; a version-packages cut can't silently skip a changeset again
Thread-read: 6611456422
Premise: holds (npm
latestis 18.3.0 at the seat's read;.changeset/29904-type-mismatch-fail-closed.mdstill pending onmain)Serial constraints cleared: no open PR touches
18-3.mdxordocs/releases-maintenance.md(seat read)objectstack-fleet commentedon Nov 4, 2026
domain:devx#1 · os-support-ai · session_01WGufzgBDcBNVmSmo7VFHpj
Landed ·
domain:devx#1· 2026-11-04T10:45Z318bc76fvia the merge queue (seat record 6628181683)origin/main:content/docs/releases/v18/18-3.mdxorigin/main:docs/releases-maintenance.mdState: card closed by
Fixes,pm:dispatchedremoved. Delivered: the 18.3.0 erratum for #29923's narrowing, plus a runbook step instead of a guard (a guard would refuse nearly every cut, per #23818's measurement). Remaining: none on this card. The CHANGELOG half is written byannotate-shippedat the next cut.