You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 24dc0b3
Browse filesBrowse the repository at this point in the historyBrowse files
fix(ci): the future-spec-major gate and the artifact-door pins stop moving with the version label
On the generated Version Packages tree the spec label rolls to
18.0.0-next.0 and two pins that hold on `main` broke, with no byte of
their own changed:
- check-future-spec-major counted its own self-test fixtures against the
tree's major (they cite 18 as "above 17" by construction), so the roll
read as a gutted instrument; and its two major-18 quotation entries,
whose sentences became legitimate citations at 18, reported "matched
NOTHING". The floor now counts above the fixtures' own major, an entry
at or below the published major is dormant (it can excuse nothing), and
a self-test row drives the real corpus one major up under a
prerelease-shaped label so the class reds on `main` first.
- plugin-artifact-forward-conversion.test.ts claimed "the current
surface" as `^<installed label>`, which at M.0.0 (and M.0.0-next.N)
is the floor the door's major-step half opens on by design. It now
derives the floor the sibling door tests use: the first x.y.z past the
label and every retiredAfter, never an M.0.0.
Claude-Session: https://claude.ai/code/session_012zwsLMxQBwHUYJgPyrpEvx
Co-authored-by: Claude <noreply@anthropic.com>
// window must stay closed. Derived from the installed label and the
177
+
// live registry (see `currentSurfaceFloor`), so this pin survives
178
+
// every future spec release, the major roll included, without edits.
179
+
fixture.manifest.engines.protocol=`^${current}`;
149
180
// The real 17.1-built artifact carries only the emitted default
150
181
// (150 × `false` — the premise guard above pins that), which is the
151
182
// residue class #12845 now tolerates. The surviving refusal is the
@@ -172,12 +203,14 @@ describe('artifact door — the conversion is versioned, not a blanket amnesty (
172
203
});
173
204
174
205
it('an artifact claiming the CURRENT spec version whose retired keys carry only the emitted default parses clean — the #12845 residue tolerance, at the schema layer, not this door',async()=>{
175
-
constinstalled=resolveInstalledSpecVersion();
206
+
constcurrent=currentSurfaceFloor();
207
+
// Resolvable, and never a major's first release (a non-zero patch).
208
+
expect(current).toMatch(/^\d+\.\d+\.[1-9]\d*$/);
176
209
constplugin=newPlugin();
177
210
constctx=fakeCtx();
178
211
constfixture=loadFixture();// untouched: 150 × the emitted default
0 commit comments