@openwop/openwop-conformance 1.156.0 → 1.157.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
package/requirements.json
CHANGED
|
@@ -14608,7 +14608,7 @@
|
|
|
14608
14608
|
{
|
|
14609
14609
|
"id": "openwop.it.owner-subject-echo.subject-is-consistent-with-the-owner-triple-b-2-and-the-actor-chain-is-bounded-b",
|
|
14610
14610
|
"file": "owner-subject-echo.test.ts",
|
|
14611
|
-
"line":
|
|
14611
|
+
"line": 78,
|
|
14612
14612
|
"title": "subject is consistent with the owner triple (§B.2) and the actor chain is bounded (§B.5)",
|
|
14613
14613
|
"explicitId": null,
|
|
14614
14614
|
"citations": [
|
|
@@ -14641,7 +14641,7 @@
|
|
|
14641
14641
|
{
|
|
14642
14642
|
"id": "openwop.it.owner-subject-echo.run-started-echoes-the-snapshot-subject-verbatim-b-2-rfc-0048-c",
|
|
14643
14643
|
"file": "owner-subject-echo.test.ts",
|
|
14644
|
-
"line":
|
|
14644
|
+
"line": 100,
|
|
14645
14645
|
"title": "run.started echoes the snapshot subject verbatim (§B.2, RFC 0048 §C)",
|
|
14646
14646
|
"explicitId": null,
|
|
14647
14647
|
"citations": [
|
|
@@ -14658,7 +14658,7 @@
|
|
|
14658
14658
|
{
|
|
14659
14659
|
"id": "openwop.it.owner-subject-echo.a-fork-copies-owner-tenant-and-owner-subject-verbatim-onto-the-child-b-4",
|
|
14660
14660
|
"file": "owner-subject-echo.test.ts",
|
|
14661
|
-
"line":
|
|
14661
|
+
"line": 117,
|
|
14662
14662
|
"title": "a fork copies owner.tenant and owner.subject verbatim onto the child (§B.4)",
|
|
14663
14663
|
"explicitId": null,
|
|
14664
14664
|
"citations": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Provenance of this vendored schemas/ copy. See conformance/README.md §\"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.157.0",
|
|
4
|
+
"corpusCommit": "b3a3ea6f84fc492d70865c63c82b5e47a9d24807",
|
|
5
5
|
"files": {
|
|
6
6
|
"api/.redocly.lint-ignore.yaml": "bf5a8350b88a72fa43f59605ed8d903ed24b6cfccda5e45509c9f6ed9ee4e712",
|
|
7
7
|
"api/asyncapi.yaml": "d5ecb9ee6114582be3b1f662c84bfac9ae96dae7bacb853e461168f70a8e1c7d",
|
|
@@ -18,6 +18,7 @@ import { describe, it, expect } from 'vitest';
|
|
|
18
18
|
import { driver } from '../lib/driver.js';
|
|
19
19
|
import { isFixtureAdvertised } from '../lib/fixtures.js';
|
|
20
20
|
import { softSkip } from '../lib/soft-skip.js';
|
|
21
|
+
import { pollUntil } from '../lib/polling.js';
|
|
21
22
|
|
|
22
23
|
const NOOP_WORKFLOW_ID = 'conformance-noop';
|
|
23
24
|
const SKIP_NO_NOOP = !isFixtureAdvertised(NOOP_WORKFLOW_ID);
|
|
@@ -102,6 +103,12 @@ describe.skipIf(SKIP_NO_NOOP)('owner-subject-echo: consistency, echo, fork (RFC
|
|
|
102
103
|
if (snap.owner?.subject === undefined) {
|
|
103
104
|
return softSkip('inapplicable', 'host does not emit owner.subject on new runs (RFC 0165 §B — optional in v1.x)');
|
|
104
105
|
}
|
|
106
|
+
// Suite 1.157.0 — `run.started` is appended when the host STARTS the run,
|
|
107
|
+
// which a conforming host may do asynchronously after the 201 (openwop-app
|
|
108
|
+
// dispatches on the next tick). Reading the log straight after the POST
|
|
109
|
+
// raced that append and failed a conforming host; wait for the run to
|
|
110
|
+
// leave `pending` first, then the event is a fact, not a timing.
|
|
111
|
+
await pollUntil(runId, (s) => s.status !== 'pending', { label: 'run left pending (run.started appended)' });
|
|
105
112
|
const started = (await events(runId)).find((e) => e.type === 'run.started');
|
|
106
113
|
expect(started, driver.describe('RFC 0048 §C', 'run.started MUST be present in the event log')).toBeDefined();
|
|
107
114
|
expect(started?.payload?.owner?.subject, driver.describe('RFC 0165 §B.2', 'run.started owner.subject MUST equal RunSnapshot.owner.subject')).toEqual(snap.owner.subject);
|