Skip to main content
← Back to list
01Issue
BugShippedExtensionsPublic
Assigneesstack72

Relationships

≡ duplicated by #3201

#3230 verification: check_upgrades skips models in subdirectories, so stagecraft version bumps go unchecked

Opened by skunk-ape · 10/10/2026· Shipped 10/11/2026

Problem

scripts/check_upgrades.ts selects model files with isModelFile, which only matches extensions/models/*.ts (one level). Models in subdirectories are never examined. Today that is all six stagecraft models:

  • stagecraft/extensions/models/engine/factory.ts, work_item.ts, studio.ts
  • stagecraft/extensions/models/tracker/builtin.ts, linear.ts, swamp_club.ts

For a change that bumps one of them, both upgrade-verify steps (check-upgrades and upgrade-path-test) print 'No model definitions changed; no upgrade path to check.' and pass, and the attestation records the upgrade gate as passed. Seen on swamp-club #3144 (PR #479), which bumped work_item to 2026.10.08.2. That bump was verified by hand with the path test from agent-constraints/implementation-conventions.md.

Impact

Latent, nothing broken now. The studio and the three tracker models have no upgrades entries even though their versions were bumped several times. All of those bumps predate stagecraft's first publish (#449), so no published instance is stuck. factory and work_item have entries matching their versions.

The next bump of a stagecraft model without an upgrades entry would pass verification and publish. Every existing instance would then fail its next method run with a version mismatch, the same failure as #554. The four models with no upgrades array are the most exposed.

Fix

  • Match extensions/models/**/*.ts in isModelFile, still excluding _test.ts and _lib/. The textual parser already returns null for files that define no model, so the broader match is safe.
  • Add a case to the script's test pinning a nested model path, such as stagecraft/extensions/models/engine/work_item.ts.
  • This touches scripts/, so the CI security review and Review Integrity will run.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 6 MOREREVIEW+ 14 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/11/2026, 12:29:51 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/10/2026, 9:18:28 PM
stack72 linked duplicated by #320110/10/2026, 9:19:19 PM

Sign in to post a ripple.