@openwop/openwop-conformance 1.103.0 → 1.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Provenance of this vendored schemas/ copy. See conformance/README.md \u00a7\"Resolving the contract\". Compare against the stamp in your installed @openwop/openwop-conformance to detect a stale hand-copied contract.",
|
|
3
|
-
"suiteVersion": "1.
|
|
4
|
-
"corpusCommit": "
|
|
3
|
+
"suiteVersion": "1.104.0",
|
|
4
|
+
"corpusCommit": "f31b9244c8ecb9743d79a140c19221ecae72e06e"
|
|
5
5
|
}
|
|
@@ -236,6 +236,30 @@ describe.skipIf(V1_DIR === null)('replay.md req 4 — the manifest role is a cla
|
|
|
236
236
|
).toBe(true);
|
|
237
237
|
});
|
|
238
238
|
|
|
239
|
+
it('a throw is named a backstop, not a discharge', () => {
|
|
240
|
+
// The question a tier-1 host asked after deriving the floor: does a guarded
|
|
241
|
+
// seam that THROWS discharge requirement 4, or must the replay succeed with
|
|
242
|
+
// the recorded outcome? Requirements 1 and 2 are two obligations — a throw
|
|
243
|
+
// satisfies "do not perform" and not "resolve the outcome" — but requirement
|
|
244
|
+
// 4 did not say so, and the answer decides whether hundreds of typeIds need
|
|
245
|
+
// classification or only seam coverage. An ambiguity that changes the size
|
|
246
|
+
// of the work by two orders of magnitude is not a footnote.
|
|
247
|
+
const doc = replay();
|
|
248
|
+
expect(
|
|
249
|
+
doc.includes('backstop, not a discharge'),
|
|
250
|
+
'replay.md requirement 4 MUST state that a guarded-seam throw is a backstop rather than a ' +
|
|
251
|
+
'discharge. It satisfies requirement 1 (no effect) and not requirement 2 (resolve the ' +
|
|
252
|
+
'recorded outcome), and a host reading the floor as "make it throw" ships a replay that ' +
|
|
253
|
+
'fails where this section says it must succeed.',
|
|
254
|
+
).toBe(true);
|
|
255
|
+
expect(
|
|
256
|
+
/safe and\s+non-conformant/.test(doc),
|
|
257
|
+
'replay.md requirement 4 MUST name the posture a throw-only host is in — safe and ' +
|
|
258
|
+
'non-conformant — because "nothing escapes" is a weaker claim than `recorded-outcome` ' +
|
|
259
|
+
'makes, and a host that conflates them advertises in good faith and still lies.',
|
|
260
|
+
).toBe(true);
|
|
261
|
+
});
|
|
262
|
+
|
|
239
263
|
it('the floor direction is stated, not left to inference', () => {
|
|
240
264
|
// The dangerous reading is symmetric: "my classifier disagrees, so the
|
|
241
265
|
// manifest is wrong." The requirement is one-directional and says so.
|