owlrunkit 0.16.1 → 0.17.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.
Files changed (25) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +48 -9
  3. package/docs/architecture/OWLCODA_RUNKIT_017_AGENT_NATIVE_PRODUCT_DEFINITION.md +154 -0
  4. package/integrations/codex/skills/owlcoda-runkit/SKILL.md +59 -14
  5. package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
  6. package/package.json +1 -1
  7. package/packages/attest/distribution-manifest-v1.json +5 -0
  8. package/packages/attest/src/quick.mjs +5 -0
  9. package/registry-release-policy-v1.json +5 -5
  10. package/sbom.spdx.json +5 -5
  11. package/scripts/runkit-contract/core-contract.mjs +12 -2
  12. package/scripts/runkit-contract/formal-workflow.mjs +201 -0
  13. package/scripts/runkit-contract/lifecycle-orchestration.mjs +7 -2
  14. package/scripts/runkit-contract/runkit-cli.mjs +99 -8
  15. package/scripts/runkit-contract/schemas/team-project-definition-v1.schema.json +108 -0
  16. package/scripts/runkit-contract/schemas/team-project-event-v1.schema.json +99 -0
  17. package/scripts/runkit-contract/schemas/team-project-status-v1.schema.json +50 -0
  18. package/scripts/runkit-contract/schemas/verification-envelope-v1.schema.json +102 -0
  19. package/scripts/runkit-contract/sync-release-identity.mjs +224 -0
  20. package/scripts/runkit-contract/team-project.mjs +1006 -0
  21. package/scripts/runkit-contract/templates/team-project-definition.json +30 -0
  22. package/scripts/runkit-contract/templates/team-project-event.json +9 -0
  23. package/scripts/runkit-contract/templates/verification-envelope.json +28 -0
  24. package/scripts/runkit-contract/verification-envelope-check.mjs +45 -0
  25. package/scripts/runkit-contract/verification-envelope.mjs +846 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0
4
+
5
+ - Adds an Agent-native persistent project model for milestones, workstreams,
6
+ WorkItems, dependencies, per-Agent assignments, checkpoints, decisions,
7
+ handoffs, integration gates, and evidence-backed data candidates.
8
+ - Projects honest per-Agent progress from append-only artifacts instead of
9
+ accepting self-reported percentages. WorkItems may use predeclared measured
10
+ units, and execution-bound completion requires a trusted accepted closeout
11
+ with a released lease.
12
+ - Adds blank-session takeover packets so a successor Agent can recover the
13
+ objective, assigned work, blockers, evidence, history, and next action without
14
+ relying on an old chat.
15
+ - Adds `owlrunkit project` commands for initialization, assignment,
16
+ checkpointing, decisions, handoff, evidence capture, status, and takeover.
17
+ - Adds an enforced Verification Envelope for real Formal checks with explicit
18
+ source/output/scratch/forbidden paths, environment, network, process,
19
+ timeout, setup/check/teardown, cleanup, and content-addressed evidence.
20
+ - Provides a macOS sandbox backend and fails closed on platforms where the
21
+ declared filesystem, network, credential, process, and cleanup policy cannot
22
+ be proved.
23
+ - Preserves the 0.16 execution, lease, SourceCandidate, closeout, fleet,
24
+ deployment, recovery, and authority boundaries.
25
+
3
26
  ## 0.16.1
4
27
 
5
28
  - Replaces mutable publication-state assertions in the bundled Codex Skill
package/README.md CHANGED
@@ -8,7 +8,7 @@ evidence, then close out once.
8
8
  ## Install
9
9
 
10
10
  ```bash
11
- npm install --save-exact owlrunkit@0.16.1
11
+ npm install --save-exact owlrunkit@0.17.0
12
12
  ```
13
13
 
14
14
  The `owlrunkit` bootstrap uses the project's exact locally bound CLI for
@@ -26,6 +26,35 @@ owlrunkit init --workspace /absolute/path/to/project
26
26
  owlrunkit doctor --workspace /absolute/path/to/project
27
27
  ```
28
28
 
29
+ ## Coordinate a multi-Agent project
30
+
31
+ RunKit 0.17 keeps the project alive independently of any one Agent or chat.
32
+ Define durable milestones, workstreams, WorkItems, dependencies, integration
33
+ gates, and optional measured units, then record append-only assignment and
34
+ checkpoint events:
35
+
36
+ ```bash
37
+ owlrunkit project init --workspace . \
38
+ --definition scripts/runkit-contract/templates/team-project-definition.json
39
+ owlrunkit project assign --workspace . \
40
+ --request scripts/runkit-contract/templates/team-project-event.json
41
+ owlrunkit project status --workspace .
42
+ owlrunkit project takeover --workspace . --agent agent-runtime
43
+ ```
44
+
45
+ `project status` reports every Agent's active, waiting, completed, and failed
46
+ work; unresolved dependencies and decisions; the ready queue; critical work;
47
+ and integration gates. It does not accept a guessed completion percentage.
48
+ Measured progress is allowed only when the unit and total were declared in the
49
+ WorkItem. An assignment may bind an exact RunKit execution and lease; in that
50
+ case, the WorkItem cannot complete until the execution has a trusted accepted
51
+ closeout and its lease is released.
52
+
53
+ The Agent-facing natural actions are stable: split and assign work, report
54
+ status, open or resolve a decision, hand off, take over, capture evidence, and
55
+ verify. The CLI is the durable implementation surface; users can keep speaking
56
+ in project terms.
57
+
29
58
  ## Detect and apply project profiles
30
59
 
31
60
  Preview deterministic, project-local commands, or atomically adopt only
@@ -94,14 +123,24 @@ the authorized permission scope really changes. Repeating the same `check` or
94
123
  `finish` command resumes exact create-only artifacts after an interruption;
95
124
  different bytes fail closed.
96
125
 
97
- Formal accepted evidence currently admits only the built-in Node syntax check
98
- shown above: the exact `process.execPath`, `--check`, and an ordinary workspace
99
- file. Profile, package-manager, wrapper, and custom commands are rejected
100
- before spawn because RunKit does not yet enforce a filesystem-write and network
101
- sandbox for them. Existing full verification and legacy `verify` commands
102
- remain available for controlled execution, but their deny rules are not
103
- sandbox-equivalent and their output is not silently promoted into this Formal
104
- accepted-evidence path.
126
+ Formal also accepts a real project command through an enforced Verification
127
+ Envelope:
128
+
129
+ ```bash
130
+ owlrunkit formal check --workspace . --run-id release-001 \
131
+ --work-item delivery --check-id project-tests \
132
+ --envelope scripts/runkit-contract/templates/verification-envelope.json
133
+ ```
134
+
135
+ The envelope declares exact commands, cwd, lockfiles, environment, timeout,
136
+ immutable source, writable outputs, disposable scratch, forbidden paths,
137
+ network mode, subprocess policy, and bounded setup/check/teardown. RunKit
138
+ captures stdout, stderr, output hashes, source before/after fingerprints,
139
+ runner identity, cleanup, and a self-verifying receipt. The public 0.17 package
140
+ provides a real macOS enforcement backend. If the current platform cannot prove
141
+ the policy, the command is not run and no Formal acceptance is possible.
142
+ Existing legacy verification may still capture evidence, but it is not silently
143
+ promoted into this Formal path.
105
144
 
106
145
  Use `owlrunkit status --workspace .` for a concise human view of what is ready,
107
146
  what has not happened, how many gates remain, and the next allowed action.
@@ -0,0 +1,154 @@
1
+ # OwlRunKit 0.17 Agent-Native Product Definition
2
+
3
+ Status: implemented candidate pending Formal acceptance and public release.
4
+
5
+ ## Product purpose
6
+
7
+ OwlRunKit exists so a software objective can outlive one chat, one Agent, and
8
+ one execution attempt. Its public value is not the number of receipts it can
9
+ produce. Its value is that a user can give a large objective to an Agent team,
10
+ see who owns each part, recover the work after interruption, make decisions at
11
+ the right point, and inspect the evidence behind the result.
12
+
13
+ The 0.17 product sentence is:
14
+
15
+ > A persistent project truth coordinates multiple Agents while RunKit proves
16
+ > the work, handoffs, decisions, and delivery state behind that truth.
17
+
18
+ 0.17 is an upgrade of the 0.16 trustworthy-execution kernel, not a replacement.
19
+ Executions, exact leases, SourceCandidate, verification receipts, closeouts,
20
+ recovery, and authority boundaries remain the enforcement foundation.
21
+
22
+ ## Primary user experience
23
+
24
+ The product is Agent-native. Users do not need to learn the internal command
25
+ graph. Natural requests map to durable actions:
26
+
27
+ | User intent | Agent action | Durable truth |
28
+ | --- | --- | --- |
29
+ | "Break this large task up and run it in parallel" | Define workstreams and work items, then assign Agents | Project definition and assignment events |
30
+ | "What is everyone doing?" | Read the project projection | Per-Agent active, waiting, completed, and failed work |
31
+ | "What is blocking us?" | Read dependencies, decisions, and critical work | Blockers, open decisions, ready queue, integration gates |
32
+ | "I have decided" | Resolve the named decision with rationale and evidence | Append-only decision history |
33
+ | "Hand this to another Agent" | Record a handoff, then create a successor assignment | Preserved assignment and handoff history |
34
+ | "Continue this work" | Build a blank-session takeover packet | Goal, owned work, evidence, blocker, and next action |
35
+ | "Verify and finish it" | Run the appropriate assurance lane and bind its result | Execution, lease, verification, closeout, and gate truth |
36
+ | "Keep this as training data" | Record a provenance-bound candidate | Candidate only; never automatic dataset admission |
37
+
38
+ The Agent may use CLI commands internally, but the user-facing interaction
39
+ remains goal, progress, decision, and outcome oriented.
40
+
41
+ ## Persistent project model
42
+
43
+ The minimum project truth consists of:
44
+
45
+ - Project objective;
46
+ - Milestones and workstreams;
47
+ - WorkItems with dependency edges and non-overlapping owned paths;
48
+ - AgentAssignment history, including optional exact RunKit execution and lease
49
+ binding;
50
+ - Checkpoints with state, evidence, blockers, decision references, and the next
51
+ action;
52
+ - DecisionNodes with an explicit Owner and append-only resolution;
53
+ - IntegrationGates that cannot pass before their work and decision
54
+ prerequisites;
55
+ - EvidenceLineage and data candidates with source, rights, input, output,
56
+ decision, verification, outcome, and version references.
57
+
58
+ The WorkItem is persistent. An Agent is its current assignee. Reassigning an
59
+ item does not replace its history or create a new project identity.
60
+
61
+ ## Honest progress contract
62
+
63
+ RunKit does not accept self-reported completion percentages. Progress is one of:
64
+
65
+ - a typed state: planned, active, waiting for a dependency, waiting for a
66
+ decision, verifying, ready to integrate, completed, or failed;
67
+ - measured units against a total declared before work starts.
68
+
69
+ A completed checkpoint requires evidence. If an assignment is bound to a
70
+ RunKit execution, completion additionally requires a trusted accepted closeout
71
+ and a released or preserved-inactive lease. A blocked or rejected execution is
72
+ projected as failed even if an Agent claims success.
73
+
74
+ Project status is derived from immutable definition and append-only events. It
75
+ shows:
76
+
77
+ - each Agent's active, waiting, completed, and failed work;
78
+ - milestone and workstream completion counts;
79
+ - unresolved dependencies and decisions;
80
+ - critical work and the ready queue;
81
+ - integration-gate readiness;
82
+ - the exact project-truth hash and evidence references.
83
+
84
+ ## Cross-Agent continuity
85
+
86
+ A blank-session Agent must be able to recover its part without reading an old
87
+ chat. A takeover packet contains the project objective, its assigned work,
88
+ current state, dependency and decision blockers, evidence, assignment history,
89
+ and next action. Reading status or building a takeover packet is read-only.
90
+
91
+ A handoff is two explicit events:
92
+
93
+ 1. the old Agent records what was done, the evidence, and the next action;
94
+ 2. a successor assignment names the new Agent and supersedes the old
95
+ assignment.
96
+
97
+ This preserves responsibility history and prevents a chat summary from becoming
98
+ the project system of record.
99
+
100
+ ## Verification Envelope
101
+
102
+ Formal Delivery may execute a real project command only inside a
103
+ Verification Envelope that declares and enforces:
104
+
105
+ - exact executable, argv, working directory, lockfiles, environment allowlist,
106
+ and timeout;
107
+ - immutable source, declared output, disposable scratch, and forbidden paths;
108
+ - denied or loopback-only network;
109
+ - subprocess policy and cleanup;
110
+ - bounded setup, check, and teardown phases.
111
+
112
+ The enforcement backend must prove these constraints. If it cannot, RunKit may
113
+ capture an observation but cannot produce Formal-eligible evidence. The 0.17
114
+ public package provides the enforced macOS backend; Linux remains fail-closed
115
+ until equivalent process, filesystem, credential, network, and cleanup
116
+ enforcement is available.
117
+
118
+ ## Data boundary
119
+
120
+ Execution evidence can become a high-quality data candidate, but not a dataset
121
+ member by implication. A candidate remains incomplete until its rights,
122
+ decision, verification, and outcome references are present. Dataset selection,
123
+ deduplication, adjudication, quality measurement, retention, and domain meaning
124
+ remain separate responsibilities.
125
+
126
+ ## Authority boundary
127
+
128
+ Project actions and Verification Envelopes never grant Git, release, publish,
129
+ deploy, credential, destructive, production, or business authority. Existing
130
+ RunKit authority checks remain mandatory. A status projection describes truth;
131
+ it does not authorize the next side effect.
132
+
133
+ ## 0.17 acceptance standard
134
+
135
+ The release is acceptable only when all of these are mechanically demonstrated:
136
+
137
+ 1. one project can project several Agents working in parallel;
138
+ 2. dependencies, decisions, handoffs, integration gates, and ready work are
139
+ derived from append-only artifacts;
140
+ 3. a fresh Agent can recover a bounded next action without old chat context;
141
+ 4. an execution-bound WorkItem cannot claim completion before accepted closeout
142
+ and lease release;
143
+ 5. concurrent assignments with overlapping owned paths are rejected;
144
+ 6. data candidates are not silently promoted into a dataset;
145
+ 7. real verification commands can enter Formal only under an enforced
146
+ Verification Envelope;
147
+ 8. source writes, undeclared outputs, forbidden credential reads, unauthorized
148
+ network, leaked processes, receipt drift, and unavailable enforcement all
149
+ fail closed;
150
+ 9. existing 0.16 execution, migration, fleet, deployment, and release contracts
151
+ remain compatible;
152
+ 10. the standalone npm artifact is reproducible, scrubbed, identity-bound, and
153
+ independently verified after publication.
154
+
@@ -1,24 +1,58 @@
1
1
  ---
2
2
  name: owlcoda-runkit
3
- description: Run receipt-backed, project-owned software execution with OwlCoda RunKit. Use when Codex needs to initialize or inspect `.owlcoda/runkit/`, plan bounded work with engine pins and leases, capture exact shell or visual verification evidence, finalize delivery evidence, avoid duplicate covered tests, close an execution, produce a ready-for-commit receipt, or perform a read-only foreign-project shadow without widening Git or release authority.
3
+ description: Run receipt-backed, project-owned work with OwlCoda RunKit. Use when Codex needs to coordinate a large multi-Agent project, show per-Agent progress, manage dependencies or decisions, hand work to another Agent, recover a blank-session next action, initialize or inspect `.owlcoda/runkit/`, plan bounded work with engine pins and leases, capture exact verification evidence, close an execution, produce a ready-for-commit receipt, or perform a read-only foreign-project shadow without widening Git or release authority.
4
4
  ---
5
5
 
6
6
  # OwlCoda RunKit
7
7
 
8
8
  Use the bundled deterministic Core to coordinate work through project artifacts rather than chat memory. Require Node.js 20 or later.
9
9
 
10
- Bundled release: standalone `owlrunkit@0.16.1`, bundling Contract `0.2` and
11
- Core `0.16.1` with manifest
12
- `sha256:38ac9110e328c38a81db05f1359734ca810b991c9f4de77647f9719f5e6af78b`.
10
+ Bundled release: standalone `owlrunkit@0.17.0`, bundling Contract `0.2` and
11
+ Core `0.17.0` with manifest
12
+ `sha256:0c0c52e7f6299bdd3d3ea49005c8ceef0b28831d60af25d77da65a4e4de714c9`.
13
13
  Publication and dist-tag state are mutable registry facts: verify the exact
14
14
  official npm registry provenance before adoption. The immutable rollback
15
- baseline for this release is `owlrunkit@0.16.0` with SHA-1
16
- `bab651b0e10111a7a179a3a58917a8e90e43c35f` and canonical npm tarball URL
17
- `https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.0.tgz`.
15
+ baseline for this release is `owlrunkit@0.16.1` with SHA-1
16
+ `1bc119d24879bdd8959af16b364af55ca9d61ea9` and canonical npm tarball URL
17
+ `https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.1.tgz`.
18
18
  The root `owlcoda` package has a separate version lifecycle.
19
19
 
20
20
  The session is an execution interface. Project artifacts are the system of record.
21
21
 
22
+ ## Agent-native project actions
23
+
24
+ Translate ordinary user requests into durable project actions. Do not ask the
25
+ user to operate the CLI when the request and authority are already clear.
26
+
27
+ - "Split this large task and run it in parallel": initialize one project
28
+ definition before dispatch, then assign a distinct WorkItem to each Agent.
29
+ - "What is everyone doing?": read `project status`; do not reconstruct progress
30
+ from chat updates.
31
+ - "What is blocked or needs my decision?": report open decisions, unresolved
32
+ dependencies, critical work, and ready work from the projection.
33
+ - "I decided ...": append a decision resolution with rationale and evidence.
34
+ - "Hand this to another Agent": append the handoff, then a successor assignment;
35
+ never overwrite the old assignment.
36
+ - "Continue/take over": build `project takeover` for the current Agent and use
37
+ its bounded next action and evidence refs.
38
+ - "Capture this as data": append a data candidate only. Never call it a dataset
39
+ member without a separate admission decision.
40
+ - "Verify/finish": select No RunKit, Quick, or Formal from risk; bind a Formal
41
+ WorkItem to its actual execution and lease when applicable.
42
+
43
+ For a multi-Agent project, checkpoint meaningful state changes promptly. A
44
+ checkpoint is not a heartbeat and must not contain a guessed percentage.
45
+ Completion requires evidence. If an assignment binds an execution, derive its
46
+ state from the closeout and lease rather than trusting the Agent's claim.
47
+
48
+ ```bash
49
+ owlrunkit project init --workspace "$PROJECT_ROOT" --definition "$PROJECT_JSON"
50
+ owlrunkit project assign --workspace "$PROJECT_ROOT" --request "$EVENT_JSON"
51
+ owlrunkit project checkpoint --workspace "$PROJECT_ROOT" --request "$EVENT_JSON"
52
+ owlrunkit project status --workspace "$PROJECT_ROOT" --json
53
+ owlrunkit project takeover --workspace "$PROJECT_ROOT" --agent "$AGENT_ID" --json
54
+ ```
55
+
22
56
  ## Start safely
23
57
 
24
58
  1. Locate the project root and read its AGENTS.md chain.
@@ -285,13 +319,24 @@ create a linked successor only when authority or write scope truly changes.
285
319
  Repeating the same `check` or `finish` command resumes exact create-only
286
320
  artifacts; a mismatch fails closed.
287
321
 
288
- Formal accepted evidence currently admits only the built-in Node syntax check:
289
- the exact `process.execPath`, `--check`, and an ordinary workspace file.
290
- Profile, package-manager, wrapper and custom commands are rejected before
291
- spawn because RunKit does not yet enforce a filesystem-write and network
292
- sandbox for them. Full controlled execution and legacy `verify` remain
293
- available, but their deny rules are not sandbox-equivalent and their receipts
294
- must not be silently promoted into this Formal accepted-evidence path.
322
+ Formal accepted evidence admits the built-in Node syntax check and real project
323
+ commands executed through a Verification Envelope:
324
+
325
+ ```bash
326
+ owlrunkit formal check \
327
+ --workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
328
+ --work-item "$WORK_ITEM_ID" --check-id "$CHECK_ID" \
329
+ --envelope "$VERIFICATION_ENVELOPE_JSON"
330
+ ```
331
+
332
+ The envelope must declare exact executable, argv, cwd, lockfiles, environment,
333
+ timeout, immutable source, declared output, disposable scratch, forbidden
334
+ paths, network mode, subprocess policy, and setup/check/teardown. RunKit must
335
+ actually enforce those constraints and verify cleanup. If the current platform
336
+ has no suitable backend, it must refuse Formal evidence instead of running the
337
+ command optimistically. The public 0.17 package provides the enforced macOS
338
+ backend; Linux remains fail-closed. Legacy `verify` may capture evidence but
339
+ must not be silently promoted into this Formal path.
295
340
 
296
341
  ## Freeze a dirty SourceCandidateV2
297
342
 
@@ -2,9 +2,9 @@
2
2
  "schemaVersion": "OwlCodaRunKitConfigV2",
3
3
  "core": {
4
4
  "contractVersion": "0.2",
5
- "coreVersion": "0.16.1",
6
- "coreManifestSha256": "sha256:38ac9110e328c38a81db05f1359734ca810b991c9f4de77647f9719f5e6af78b",
7
- "coreSourceRef": "artifact:sha256:38ac9110e328c38a81db05f1359734ca810b991c9f4de77647f9719f5e6af78b"
5
+ "coreVersion": "0.17.0",
6
+ "coreManifestSha256": "sha256:0c0c52e7f6299bdd3d3ea49005c8ceef0b28831d60af25d77da65a4e4de714c9",
7
+ "coreSourceRef": "artifact:sha256:0c0c52e7f6299bdd3d3ea49005c8ceef0b28831d60af25d77da65a4e4de714c9"
8
8
  },
9
9
  "authorizationPolicy": "external_explicit_authority_required"
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "owlrunkit",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "Project-owned execution, evidence, verification, and recovery for coding agents.",
5
5
  "license": "GPL-3.0-or-later",
6
6
  "author": "yeemio <owlclaw@163.com>",
@@ -36,6 +36,11 @@
36
36
  "sha256": "sha256:3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986"
37
37
  },
38
38
  "supportedProducerCoreIdentities": [
39
+ {
40
+ "contractVersion": "0.2",
41
+ "coreVersion": "0.17.0",
42
+ "coreManifestSha256": "sha256:0c0c52e7f6299bdd3d3ea49005c8ceef0b28831d60af25d77da65a4e4de714c9"
43
+ },
39
44
  {
40
45
  "contractVersion": "0.2",
41
46
  "coreVersion": "0.16.1",
@@ -18,6 +18,11 @@ import { captureWorkspaceSnapshot } from "./workspace-snapshot.mjs";
18
18
  export { validQuickReceiptShape } from "./quick-receipt-contract.mjs";
19
19
 
20
20
  export const SUPPORTED_QUICK_CORE_IDENTITIES = Object.freeze([
21
+ {
22
+ contractVersion: "0.2",
23
+ coreVersion: "0.17.0",
24
+ coreManifestSha256: "sha256:0c0c52e7f6299bdd3d3ea49005c8ceef0b28831d60af25d77da65a4e4de714c9",
25
+ },
21
26
  {
22
27
  contractVersion: "0.2",
23
28
  coreVersion: "0.16.1",
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": "OwlCodaRunKitRegistryReleasePolicyV1",
3
3
  "status": "release_candidate_unpublished",
4
4
  "packageName": "owlrunkit",
5
- "candidateVersion": "0.16.1",
5
+ "candidateVersion": "0.17.0",
6
6
  "registry": "https://registry.npmjs.org",
7
7
  "registryRequiredBeforeAdoption": true,
8
8
  "exactVersionRequired": true,
@@ -23,10 +23,10 @@
23
23
  ],
24
24
  "currentPublishedRelease": {
25
25
  "packageName": "owlrunkit",
26
- "version": "0.16.0",
27
- "shasum": "bab651b0e10111a7a179a3a58917a8e90e43c35f",
28
- "integrity": "sha512-qrlJueVypcetnFXAEHhDcYlZvpJAnTsbtLu9Rtp9SXNekAAD/rtBM8p2GqM5dOc1ERojixc3ipQkDGw6T7IR1A==",
29
- "tarballUrl": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.0.tgz"
26
+ "version": "0.16.1",
27
+ "shasum": "1bc119d24879bdd8959af16b364af55ca9d61ea9",
28
+ "integrity": "sha512-+DxKnADly7WIsGMiWDmo/rzG7XEsyqDtq7/1lUwqTf7aeekZJLw0qL5p7vm04YhgrTCd/rw9M0tUWihemYxyqQ==",
29
+ "tarballUrl": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.1.tgz"
30
30
  },
31
31
  "registryRelease": null,
32
32
  "registryEvidenceMustBeExternal": true,
package/sbom.spdx.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "spdxVersion": "SPDX-2.3",
3
3
  "dataLicense": "CC0-1.0",
4
4
  "SPDXID": "SPDXRef-DOCUMENT",
5
- "name": "owlrunkit-0.16.1",
6
- "documentNamespace": "https://owlcoda.com/spdx/owlrunkit/0.16.1",
5
+ "name": "owlrunkit-0.17.0",
6
+ "documentNamespace": "https://owlcoda.com/spdx/owlrunkit/0.17.0",
7
7
  "creationInfo": {
8
8
  "created": "2026-07-29T00:00:00Z",
9
9
  "creators": [
@@ -14,8 +14,8 @@
14
14
  {
15
15
  "name": "owlrunkit",
16
16
  "SPDXID": "SPDXRef-Package-OwlRunKit",
17
- "versionInfo": "0.16.1",
18
- "downloadLocation": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.1.tgz",
17
+ "versionInfo": "0.17.0",
18
+ "downloadLocation": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.17.0.tgz",
19
19
  "filesAnalyzed": false,
20
20
  "licenseConcluded": "GPL-3.0-or-later",
21
21
  "licenseDeclared": "GPL-3.0-or-later",
@@ -24,7 +24,7 @@
24
24
  {
25
25
  "referenceCategory": "PACKAGE-MANAGER",
26
26
  "referenceType": "purl",
27
- "referenceLocator": "pkg:npm/owlrunkit@0.16.1"
27
+ "referenceLocator": "pkg:npm/owlrunkit@0.17.0"
28
28
  }
29
29
  ]
30
30
  }
@@ -14,7 +14,7 @@ import { fileURLToPath } from "node:url";
14
14
  import { parseProjectControlState } from "./project-control-parser.mjs";
15
15
 
16
16
  export const CONTRACT_VERSION = "0.2";
17
- export const CORE_VERSION = "0.16.1";
17
+ export const CORE_VERSION = "0.17.0";
18
18
  export const RUNTIME_ROOT = ".owlcoda/runkit";
19
19
 
20
20
  const CORE_FILES = [
@@ -65,7 +65,10 @@ const CORE_FILES = [
65
65
  "snapshot.mjs",
66
66
  "source-candidate.mjs",
67
67
  "source-fingerprint.mjs",
68
- "sync-core016-release-identity.mjs",
68
+ "sync-release-identity.mjs",
69
+ "team-project.mjs",
70
+ "verification-envelope.mjs",
71
+ "verification-envelope-check.mjs",
69
72
  "verification-receipt-gate.mjs",
70
73
  "verification-context.mjs",
71
74
  "verification-plan.mjs",
@@ -117,6 +120,10 @@ const CORE_FILES = [
117
120
  "schemas/visual-smoke-request-v1.schema.json",
118
121
  "schemas/visual-smoke-result-v1.schema.json",
119
122
  "schemas/verification-context-v1.schema.json",
123
+ "schemas/team-project-definition-v1.schema.json",
124
+ "schemas/team-project-event-v1.schema.json",
125
+ "schemas/team-project-status-v1.schema.json",
126
+ "schemas/verification-envelope-v1.schema.json",
120
127
  "schemas/verification-finalize-attempt-v1.schema.json",
121
128
  "schemas/verification-preflight-v1.schema.json",
122
129
  "schemas/verification-plan-v1.schema.json",
@@ -141,6 +148,9 @@ const CORE_FILES = [
141
148
  "templates/visual-smoke-request.json",
142
149
  "templates/verify-plan-request.json",
143
150
  "templates/worker-lease.json",
151
+ "templates/team-project-definition.json",
152
+ "templates/team-project-event.json",
153
+ "templates/verification-envelope.json",
144
154
  ];
145
155
 
146
156
  const CORE_DEPENDENCY_FILES = [