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.
- package/CHANGELOG.md +23 -0
- package/README.md +48 -9
- package/docs/architecture/OWLCODA_RUNKIT_017_AGENT_NATIVE_PRODUCT_DEFINITION.md +154 -0
- package/integrations/codex/skills/owlcoda-runkit/SKILL.md +59 -14
- package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
- package/package.json +1 -1
- package/packages/attest/distribution-manifest-v1.json +5 -0
- package/packages/attest/src/quick.mjs +5 -0
- package/registry-release-policy-v1.json +5 -5
- package/sbom.spdx.json +5 -5
- package/scripts/runkit-contract/core-contract.mjs +12 -2
- package/scripts/runkit-contract/formal-workflow.mjs +201 -0
- package/scripts/runkit-contract/lifecycle-orchestration.mjs +7 -2
- package/scripts/runkit-contract/runkit-cli.mjs +99 -8
- package/scripts/runkit-contract/schemas/team-project-definition-v1.schema.json +108 -0
- package/scripts/runkit-contract/schemas/team-project-event-v1.schema.json +99 -0
- package/scripts/runkit-contract/schemas/team-project-status-v1.schema.json +50 -0
- package/scripts/runkit-contract/schemas/verification-envelope-v1.schema.json +102 -0
- package/scripts/runkit-contract/sync-release-identity.mjs +224 -0
- package/scripts/runkit-contract/team-project.mjs +1006 -0
- package/scripts/runkit-contract/templates/team-project-definition.json +30 -0
- package/scripts/runkit-contract/templates/team-project-event.json +9 -0
- package/scripts/runkit-contract/templates/verification-envelope.json +28 -0
- package/scripts/runkit-contract/verification-envelope-check.mjs +45 -0
- 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.
|
|
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
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
|
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.
|
|
11
|
-
Core `0.
|
|
12
|
-
`sha256:
|
|
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.
|
|
16
|
-
`
|
|
17
|
-
`https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.
|
|
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
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
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.
|
|
6
|
-
"coreManifestSha256": "sha256:
|
|
7
|
-
"coreSourceRef": "artifact:sha256:
|
|
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
|
@@ -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.
|
|
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.
|
|
27
|
-
"shasum": "
|
|
28
|
-
"integrity": "sha512
|
|
29
|
-
"tarballUrl": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.16.
|
|
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.
|
|
6
|
-
"documentNamespace": "https://owlcoda.com/spdx/owlrunkit/0.
|
|
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.
|
|
18
|
-
"downloadLocation": "https://registry.npmjs.org/owlrunkit/-/owlrunkit-0.
|
|
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.
|
|
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.
|
|
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-
|
|
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 = [
|