owlrunkit 0.18.3 → 0.19.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 +80 -0
- package/README.md +223 -52
- package/docs/architecture/OWLCODA_RUNKIT_0184_EXTERNAL_DELIVERY_INTAKE_PRODUCT_DECISION_20260812.md +209 -0
- package/docs/architecture/OWLCODA_RUNKIT_0190_CONSOLIDATED_DAILY_USE_PRODUCT_DECISION_20260812.md +97 -0
- package/docs/architecture/OWLCODA_RUNKIT_USAGE_MODE_SELECTION_PRODUCT_DECISION_20260811.md +8 -7
- package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_2.md +57 -0
- package/integrations/codex/skills/owlcoda-runkit/SKILL.md +133 -77
- package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
- package/integrations/codex/skills/owlcoda-runkit/references/contract-v0.2.md +57 -0
- package/package.json +1 -1
- package/packages/attest/README.md +9 -5
- package/packages/attest/consumer-surface-v2.json +263 -0
- package/packages/attest/distribution-manifest-v1.json +14 -1
- package/packages/attest/schemas/quick-verification-receipt-v3.schema.json +244 -0
- package/packages/attest/schemas/workspace-snapshot-v2.schema.json +114 -0
- package/packages/attest/src/dependency-environment.mjs +128 -0
- package/packages/attest/src/index.mjs +1 -0
- package/packages/attest/src/quick-receipt-contract.mjs +205 -12
- package/packages/attest/src/quick.mjs +45 -4
- package/packages/attest/src/workspace-snapshot.mjs +143 -7
- package/registry-release-policy-v1.json +5 -5
- package/sbom.spdx.json +5 -5
- package/scripts/runkit-contract/assurance-router.mjs +25 -6
- package/scripts/runkit-contract/core-contract.mjs +29 -1
- package/scripts/runkit-contract/efficiency-metrics.mjs +559 -0
- package/scripts/runkit-contract/evidence-store.mjs +130 -0
- package/scripts/runkit-contract/onboarding-bootstrap.mjs +685 -0
- package/scripts/runkit-contract/onboarding-doctor.mjs +3 -2
- package/scripts/runkit-contract/outcome-presentation.mjs +171 -0
- package/scripts/runkit-contract/profile-onboarding.mjs +285 -17
- package/scripts/runkit-contract/project-cli-resolver.mjs +29 -5
- package/scripts/runkit-contract/project-external-delivery.mjs +707 -0
- package/scripts/runkit-contract/quick-evidence-reuse.mjs +590 -0
- package/scripts/runkit-contract/quick-isolation.mjs +314 -0
- package/scripts/runkit-contract/quick-metrics.mjs +51 -3
- package/scripts/runkit-contract/quick-receipt.mjs +31 -1
- package/scripts/runkit-contract/quick-verify.mjs +217 -26
- package/scripts/runkit-contract/quick-workspace-snapshot.mjs +1 -0
- package/scripts/runkit-contract/runkit-bootstrap.mjs +7 -1
- package/scripts/runkit-contract/runkit-cli.mjs +602 -152
- package/scripts/runkit-contract/runtime-transition.mjs +478 -0
- package/scripts/runkit-contract/schemas/assurance-route-v2.schema.json +26 -0
- package/scripts/runkit-contract/schemas/efficiency-event-v1.schema.json +56 -0
- package/scripts/runkit-contract/schemas/efficiency-metrics-v1.schema.json +220 -0
- package/scripts/runkit-contract/schemas/external-runtime-report-v1.schema.json +125 -0
- package/scripts/runkit-contract/schemas/onboarding-bootstrap-plan-v1.schema.json +168 -0
- package/scripts/runkit-contract/schemas/onboarding-bootstrap-receipt-v1.schema.json +130 -0
- package/scripts/runkit-contract/schemas/outcome-summary-v1.schema.json +83 -0
- package/scripts/runkit-contract/schemas/profile-detection-v3.schema.json +170 -0
- package/scripts/runkit-contract/schemas/quick-evidence-reuse-plan-v1.schema.json +59 -0
- package/scripts/runkit-contract/schemas/quick-evidence-reuse-receipt-v1.schema.json +79 -0
- package/scripts/runkit-contract/schemas/runtime-transition-receipt-v1.schema.json +185 -0
- package/scripts/runkit-contract/schemas/team-project-event-v3.schema.json +146 -0
- package/scripts/runkit-contract/schemas/team-project-event-v4.schema.json +142 -0
- package/scripts/runkit-contract/schemas/team-project-status-v2.schema.json +85 -0
- package/scripts/runkit-contract/schemas/usage-mode-recommendation-v2.schema.json +136 -0
- package/scripts/runkit-contract/team-project.mjs +1172 -22
- package/scripts/runkit-contract/usage-mode.mjs +28 -7
- package/scripts/runkit-contract/verification-envelope.mjs +15 -18
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: owlcoda-runkit
|
|
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, atomically return failed work for evidence-linked rework, record intentionally deferred verification without repeating covered tests, 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.
|
|
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, atomically return failed work for evidence-linked rework, import an external DeliveryPacket from a frozen target worktree, record intentionally deferred verification without repeating covered tests, 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:
|
|
13
|
-
The published `owlrunkit@0.18.
|
|
10
|
+
Bundled release: standalone `owlrunkit@0.19.0`, bundling Contract `0.2` and
|
|
11
|
+
Core `0.19.0` with manifest
|
|
12
|
+
`sha256:803fb7de76a6ccffd1ec5e0164eeff15a580209fa6dfbef9e561345ab616b403`.
|
|
13
|
+
The published `owlrunkit@0.18.4` package is the trusted prior for rollback;
|
|
14
14
|
verify exact official npm registry provenance before adoption. The immutable
|
|
15
15
|
rollback baseline for the prior release is `owlrunkit@0.16.1` with SHA-1
|
|
16
16
|
`1bc119d24879bdd8959af16b364af55ca9d61ea9` and canonical npm tarball URL
|
|
@@ -26,7 +26,9 @@ the user to operate the CLI when the request and authority are already clear.
|
|
|
26
26
|
|
|
27
27
|
The normal mainline is `init`, `assign`, `checkpoint`, `handoff`,
|
|
28
28
|
`reject-and-return`, `decision`, `verification`, `integrate`, `status`, and
|
|
29
|
-
`takeover`.
|
|
29
|
+
`takeover`. External source lanes use `target-snapshot` and `import-delivery`
|
|
30
|
+
without installing RunKit or writing control artifacts into the frozen target.
|
|
31
|
+
After a project
|
|
30
32
|
derives completed, `successor` is the bounded lifecycle step. `init` accepts one project definition
|
|
31
33
|
JSON; subsequent actions use direct typed flags. Normal users do not author
|
|
32
34
|
request, event, receipt, or hash JSON. The legacy `--request <event.json>` form
|
|
@@ -45,7 +47,13 @@ remains available for existing automation and compatibility.
|
|
|
45
47
|
reject-and-return` event. Preserve the failed checkpoint, bind the review
|
|
46
48
|
evidence, create the rework assignment, and never rewrite failure as active.
|
|
47
49
|
- "Continue/take over": build `project takeover` for the current Agent and use
|
|
48
|
-
its bounded next action and evidence refs.
|
|
50
|
+
its bounded next action and evidence refs. Report stale handoffs as obsolete,
|
|
51
|
+
and use the projected current external candidate plus its predecessor delta
|
|
52
|
+
instead of reconstructing source identity from chat.
|
|
53
|
+
- "Import Luna/Cursor delivery": capture the target entry before source work
|
|
54
|
+
when possible, then verify and import its exact DeliveryPacket. Without the
|
|
55
|
+
entry snapshot, report `candidate_only`; never claim an entry-to-candidate
|
|
56
|
+
overlay proof that was not captured.
|
|
49
57
|
- "Start the next project": only after status derives `overall=completed`,
|
|
50
58
|
invoke `project successor` with a different V1 definition and explicit
|
|
51
59
|
transition ID. Preserve the content-addressed archive and journal; never
|
|
@@ -70,39 +78,53 @@ Completion requires evidence. If an assignment binds an execution, derive its
|
|
|
70
78
|
state from the closeout and lease rather than trusting the Agent's claim.
|
|
71
79
|
|
|
72
80
|
```bash
|
|
73
|
-
owlrunkit project init --workspace "$PROJECT_ROOT" --definition "$PROJECT_JSON"
|
|
74
|
-
owlrunkit project assign --workspace "$PROJECT_ROOT" --assignment-id "$ASSIGNMENT_ID" \
|
|
81
|
+
npx --no-install owlrunkit project init --workspace "$PROJECT_ROOT" --definition "$PROJECT_JSON"
|
|
82
|
+
npx --no-install owlrunkit project assign --workspace "$PROJECT_ROOT" --assignment-id "$ASSIGNMENT_ID" \
|
|
75
83
|
--at "$OCCURRED_AT" --work-item "$WORK_ITEM_ID" --agent "$AGENT_ID"
|
|
76
|
-
owlrunkit project checkpoint --workspace "$PROJECT_ROOT" --checkpoint-id "$CHECKPOINT_ID" \
|
|
84
|
+
npx --no-install owlrunkit project checkpoint --workspace "$PROJECT_ROOT" --checkpoint-id "$CHECKPOINT_ID" \
|
|
77
85
|
--at "$OCCURRED_AT" --assignment-id "$ASSIGNMENT_ID" --work-item "$WORK_ITEM_ID" \
|
|
78
86
|
--state active --summary "$SUMMARY" --next "$NEXT_ACTION"
|
|
79
|
-
owlrunkit project handoff --workspace "$PROJECT_ROOT" --handoff-id "$HANDOFF_ID" \
|
|
87
|
+
npx --no-install owlrunkit project handoff --workspace "$PROJECT_ROOT" --handoff-id "$HANDOFF_ID" \
|
|
80
88
|
--at "$OCCURRED_AT" --assignment-id "$ASSIGNMENT_ID" --work-item "$WORK_ITEM_ID" \
|
|
81
89
|
--from-agent "$AGENT_ID" --to-agent "$SUCCESSOR_AGENT_ID" \
|
|
82
90
|
--summary "$SUMMARY" --next "$NEXT_ACTION" --evidence "$EVIDENCE_REF"
|
|
83
|
-
owlrunkit project reject-and-return --workspace "$PROJECT_ROOT" \
|
|
91
|
+
npx --no-install owlrunkit project reject-and-return --workspace "$PROJECT_ROOT" \
|
|
84
92
|
--rework-id "$REWORK_ID" --at "$OCCURRED_AT" --work-item "$WORK_ITEM_ID" \
|
|
85
93
|
--reviewer-agent "$REVIEWER_AGENT_ID" --to-agent "$AGENT_ID" \
|
|
86
94
|
--reason "$REJECTION_REASON" --next "$NEXT_ACTION" --evidence "$EVIDENCE_REF"
|
|
87
|
-
owlrunkit project decision --workspace "$PROJECT_ROOT" --resolve \
|
|
95
|
+
npx --no-install owlrunkit project decision --workspace "$PROJECT_ROOT" --resolve \
|
|
88
96
|
--decision-id "$DECISION_ID" --at "$OCCURRED_AT" --resolution "$RESOLUTION" \
|
|
89
97
|
--rationale "$RATIONALE" --evidence "$EVIDENCE_REF"
|
|
90
|
-
owlrunkit project verification --workspace "$PROJECT_ROOT" --defer \
|
|
98
|
+
npx --no-install owlrunkit project verification --workspace "$PROJECT_ROOT" --defer \
|
|
91
99
|
--verification-id "$VERIFICATION_ID" --at "$OCCURRED_AT" \
|
|
92
100
|
--work-item "$WORK_ITEM_ID" --owner-agent "$AGENT_ID" \
|
|
93
101
|
--check "$CHECK_ID" --reason "$REASON" --due-gate "$GATE_ID"
|
|
94
|
-
owlrunkit project verification --workspace "$PROJECT_ROOT" --close \
|
|
102
|
+
npx --no-install owlrunkit project verification --workspace "$PROJECT_ROOT" --close \
|
|
95
103
|
--verification-id "$VERIFICATION_ID" --at "$OCCURRED_AT" \
|
|
96
104
|
--disposition verified --summary "$SUMMARY" --evidence "$EVIDENCE_REF"
|
|
97
|
-
owlrunkit project integrate --workspace "$PROJECT_ROOT" --gate "$GATE_ID" \
|
|
105
|
+
npx --no-install owlrunkit project integrate --workspace "$PROJECT_ROOT" --gate "$GATE_ID" \
|
|
98
106
|
--at "$OCCURRED_AT" --summary "$SUMMARY" --evidence "$EVIDENCE_REF"
|
|
99
|
-
owlrunkit project status --workspace "$PROJECT_ROOT" --json
|
|
100
|
-
owlrunkit project takeover --workspace "$PROJECT_ROOT" --agent "$AGENT_ID" --json
|
|
101
|
-
owlrunkit project successor --workspace "$PROJECT_ROOT" \
|
|
107
|
+
npx --no-install owlrunkit project status --workspace "$PROJECT_ROOT" --json
|
|
108
|
+
npx --no-install owlrunkit project takeover --workspace "$PROJECT_ROOT" --agent "$AGENT_ID" --json
|
|
109
|
+
npx --no-install owlrunkit project successor --workspace "$PROJECT_ROOT" \
|
|
102
110
|
--transition-id "$TRANSITION_ID" --at "$OCCURRED_AT" \
|
|
103
111
|
--definition "$NEXT_PROJECT_JSON" --reason "$SUCCESSOR_REASON" --json
|
|
112
|
+
npx --no-install owlrunkit project target-snapshot --workspace "$PROJECT_ROOT" \
|
|
113
|
+
--snapshot-id "$ENTRY_SNAPSHOT_ID" --at "$OCCURRED_AT" \
|
|
114
|
+
--work-item "$WORK_ITEM_ID" --target-workspace "$TARGET_WORKTREE" --apply
|
|
115
|
+
npx --no-install owlrunkit project import-delivery --workspace "$PROJECT_ROOT" \
|
|
116
|
+
--delivery-id "$DELIVERY_ID" --at "$OCCURRED_AT" \
|
|
117
|
+
--assignment-id "$ASSIGNMENT_ID" --work-item "$WORK_ITEM_ID" \
|
|
118
|
+
--producer "$AGENT_ID" --target-workspace "$TARGET_WORKTREE" \
|
|
119
|
+
--packet "$DELIVERY_PACKET" --entry-snapshot "$ENTRY_SNAPSHOT_ID" --apply
|
|
104
120
|
```
|
|
105
121
|
|
|
122
|
+
Controller and target must be disjoint real directories, and the target must
|
|
123
|
+
be its exact Git worktree root. Import rechecks packet bytes and stable target
|
|
124
|
+
identity, including both sides of renames. Do not use legacy raw project event
|
|
125
|
+
requests to represent an external delivery; Event V3 is admitted only through
|
|
126
|
+
`project import-delivery`.
|
|
127
|
+
|
|
106
128
|
`project successor` accepts only a derived-completed active project and a
|
|
107
129
|
different fresh V1 identity. It archives the exact prior bytes, never borrows
|
|
108
130
|
old events, and resumes only an identical durable transition. Treat symlinks,
|
|
@@ -149,11 +171,16 @@ Git, release, deployment, or production action.
|
|
|
149
171
|
4. Never include `.owlcoda/runkit/**` in delivery changed files, profile rules or lease owned paths.
|
|
150
172
|
5. Read [references/contract-v0.2.md](references/contract-v0.2.md) for new executions and accepted closeouts. Read [references/contract-v0.1.md](references/contract-v0.1.md) only when interpreting historical v0.1 artifacts.
|
|
151
173
|
|
|
152
|
-
Use
|
|
174
|
+
Use `npx --no-install owlrunkit` for every command after the exact project
|
|
175
|
+
dependency is installed. A bare `owlrunkit` may resolve an older global binary
|
|
176
|
+
that cannot trust a newer project Core, so do not use it for project status,
|
|
177
|
+
verification, or Project Driver actions. The package bootstrap resolves the
|
|
153
178
|
project's exact locally bound OwlRunKit CLI before interpreting project control
|
|
154
|
-
state.
|
|
179
|
+
state. A current package may still be used for bootstrap-only operations such
|
|
155
180
|
as initialization, exact adoption and Core-successor migration. Do not bypass
|
|
156
|
-
|
|
181
|
+
the project-local entry with a global CLI or a copied/shared Skill Core. If a
|
|
182
|
+
process-level Skill declares an older release, use this installed package Skill
|
|
183
|
+
and report the activation drift; do not silently apply the old rules. Project-local
|
|
157
184
|
delegation requires the canonical official npm tarball URL and SHA-512 SRI,
|
|
158
185
|
an installed Core identity trusted by the current bootstrap, and the same Core
|
|
159
186
|
identity in project Config; any mismatch fails closed.
|
|
@@ -163,11 +190,23 @@ below has no CLI entry.
|
|
|
163
190
|
## Initialize and inspect
|
|
164
191
|
|
|
165
192
|
```bash
|
|
166
|
-
owlrunkit
|
|
167
|
-
owlrunkit
|
|
168
|
-
owlrunkit
|
|
193
|
+
npx --no-install owlrunkit bootstrap --workspace "$PROJECT_ROOT" \
|
|
194
|
+
--exact owlrunkit@0.19.0 --dry-run
|
|
195
|
+
npx --no-install owlrunkit bootstrap --workspace "$PROJECT_ROOT" \
|
|
196
|
+
--exact owlrunkit@0.19.0 --apply
|
|
197
|
+
npx --no-install owlrunkit init --workspace "$PROJECT_ROOT"
|
|
198
|
+
npx --no-install owlrunkit inspect --json --workspace "$PROJECT_ROOT"
|
|
199
|
+
npx --no-install owlrunkit status --workspace "$PROJECT_ROOT"
|
|
169
200
|
```
|
|
170
201
|
|
|
202
|
+
Prefer `bootstrap` for a new standalone-package consumer or an eligible idle
|
|
203
|
+
project upgrade. Its dry-run is zero-write; apply rechecks the exact local
|
|
204
|
+
package and official registry binding under a project-owned lock, then performs
|
|
205
|
+
Core initialization, profile reconcile/validation, adoption and doctor
|
|
206
|
+
readback. A later-step failure restores the governed preimage and leaves a
|
|
207
|
+
failure receipt. Shared Skill inspection is diagnostic only; bootstrap never
|
|
208
|
+
silently changes a user or fleet Skill.
|
|
209
|
+
|
|
171
210
|
Initialization may write only `.owlcoda/runkit/`. It must not modify business source.
|
|
172
211
|
It atomically upgrades a known ConfigV1 project or refreshes an older v0.2
|
|
173
212
|
Core patch identity and writes a local migration receipt with
|
|
@@ -204,40 +243,53 @@ repair surfaces. OwlRunKit uses its own version lifecycle: the standalone
|
|
|
204
243
|
For one low-risk exact command, use the Core v0.13 Quick path:
|
|
205
244
|
|
|
206
245
|
```bash
|
|
207
|
-
owlrunkit quick-verify \
|
|
246
|
+
npx --no-install owlrunkit quick-verify \
|
|
208
247
|
--workspace "$PROJECT_ROOT" -- "$ABSOLUTE_EXECUTABLE" "arg-one"
|
|
209
248
|
|
|
210
|
-
owlrunkit quick-verify \
|
|
249
|
+
npx --no-install owlrunkit quick-verify \
|
|
211
250
|
--workspace "$PROJECT_ROOT" --stdin-file "$SCRIPT_FILE" --attest \
|
|
212
251
|
-- ssh test-host /bin/sh
|
|
213
252
|
|
|
214
|
-
owlrunkit quick-attest \
|
|
253
|
+
npx --no-install owlrunkit quick-attest \
|
|
215
254
|
--workspace "$PROJECT_ROOT" --receipt "$QUICK_RECEIPT"
|
|
216
255
|
|
|
217
|
-
owlrunkit quick-metrics \
|
|
218
|
-
--workspace "$PROJECT_ROOT"
|
|
256
|
+
npx --no-install owlrunkit quick-metrics \
|
|
257
|
+
--workspace "$PROJECT_ROOT"
|
|
258
|
+
|
|
259
|
+
npx --no-install owlrunkit quick-metrics \
|
|
260
|
+
--workspace "$PROJECT_ROOT" --verbose
|
|
219
261
|
|
|
220
|
-
|
|
221
|
-
--workspace "$PROJECT_ROOT"
|
|
262
|
+
npx --no-install owlrunkit efficiency status \
|
|
263
|
+
--workspace "$PROJECT_ROOT"
|
|
222
264
|
```
|
|
223
265
|
|
|
224
266
|
`--stdin-file` copies and SHA-256-binds at most 1 MiB of regular non-symlink
|
|
225
267
|
input before supplying the stored bytes as exact stdin. `--attest` returns the
|
|
226
268
|
separate attestation object in the same high-level invocation. Quick receipts
|
|
227
269
|
remain `captured_verification`, not Formal acceptance. Metrics are aggregate by
|
|
228
|
-
default; `--verbose` adds receipt paths.
|
|
229
|
-
no telemetry or network request
|
|
270
|
+
default; `--verbose` adds receipt paths. Metrics are always local-only and
|
|
271
|
+
perform no telemetry or network request; the former `--local` flag remains an
|
|
272
|
+
accepted compatibility no-op.
|
|
273
|
+
|
|
274
|
+
Quick's default human result leads with pass/fail and explicitly separates
|
|
275
|
+
candidate identity, workspace attestation, verification, product/UX,
|
|
276
|
+
deployment/runtime, and production/business evidence. A lower layer never
|
|
277
|
+
promotes a higher layer. Use `efficiency record` only for an observed workflow
|
|
278
|
+
start, confirmed false block, manual intervention, or named acceptable result;
|
|
279
|
+
use `efficiency status` to inspect local repeated commands, handoff wait, and
|
|
280
|
+
time-to-result. These metrics are project-local, perform no telemetry, exclude
|
|
281
|
+
receipt count as a value signal, and grant no additional authority.
|
|
230
282
|
|
|
231
283
|
Core v0.13 also adds deterministic repair and exact-byte offline transport:
|
|
232
284
|
|
|
233
285
|
```bash
|
|
234
|
-
owlrunkit repair \
|
|
286
|
+
npx --no-install owlrunkit repair \
|
|
235
287
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID"
|
|
236
288
|
|
|
237
|
-
owlrunkit offline-export \
|
|
289
|
+
npx --no-install owlrunkit offline-export \
|
|
238
290
|
--workspace "$PROJECT_ROOT" --receipt "$RECEIPT" --output "$BUNDLE"
|
|
239
291
|
|
|
240
|
-
owlrunkit offline-import \
|
|
292
|
+
npx --no-install owlrunkit offline-import \
|
|
241
293
|
--workspace "$PROJECT_ROOT" --bundle "$BUNDLE" --store "$OFFLINE_STORE"
|
|
242
294
|
```
|
|
243
295
|
|
|
@@ -272,7 +324,7 @@ loaded into the current session and grants no update authority.
|
|
|
272
324
|
The install manifest binds every Skill, Core, contract and attest file.
|
|
273
325
|
Unknown installed drift fails closed instead of being overwritten. A changed
|
|
274
326
|
process-wide Skill requires a registered complete fleet. Register each coverage
|
|
275
|
-
root once with `owlrunkit fleet register-root --fleet-root <absolute-root>`.
|
|
327
|
+
root once with `npx --no-install owlrunkit fleet register-root --fleet-root <absolute-root>`.
|
|
276
328
|
Inspect and correct a broad or stale registry through the official
|
|
277
329
|
`fleet inspect-registry` and evidence-bound `fleet replace-registry` workflow;
|
|
278
330
|
never hand-edit the registry. Replacement is dry-runnable and append-only
|
|
@@ -330,11 +382,11 @@ made inactive 0.13/0.14 ConfigV2 upgrades and exact rollback safe. Historical
|
|
|
330
382
|
projects, profiles, executions, packets, receipts and closeouts remain readable.
|
|
331
383
|
|
|
332
384
|
```bash
|
|
333
|
-
owlrunkit doctor --workspace "$PROJECT_ROOT"
|
|
334
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
335
|
-
owlrunkit profiles validate --workspace "$PROJECT_ROOT"
|
|
336
|
-
owlrunkit profiles impact --workspace "$PROJECT_ROOT" --changed path/to/file
|
|
337
|
-
owlrunkit adopt --workspace "$PROJECT_ROOT" --exact owlrunkit@0.15.1
|
|
385
|
+
npx --no-install owlrunkit doctor --workspace "$PROJECT_ROOT"
|
|
386
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
387
|
+
npx --no-install owlrunkit profiles validate --workspace "$PROJECT_ROOT"
|
|
388
|
+
npx --no-install owlrunkit profiles impact --workspace "$PROJECT_ROOT" --changed path/to/file
|
|
389
|
+
npx --no-install owlrunkit adopt --workspace "$PROJECT_ROOT" --exact owlrunkit@0.15.1
|
|
338
390
|
```
|
|
339
391
|
|
|
340
392
|
Exact adoption requires the official npm registry `shasum`, `integrity` and
|
|
@@ -353,15 +405,15 @@ authority.
|
|
|
353
405
|
Core 0.16 makes the safe path the ordinary path without weakening its gates:
|
|
354
406
|
|
|
355
407
|
```bash
|
|
356
|
-
owlrunkit fleet register-root --fleet-root /absolute/declared-projects
|
|
357
|
-
owlrunkit fleet discover
|
|
358
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
359
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --apply
|
|
360
|
-
owlrunkit profiles reconcile --workspace "$PROJECT_ROOT" --dry-run
|
|
361
|
-
owlrunkit mode recommend --workspace "$PROJECT_ROOT"
|
|
362
|
-
owlrunkit assurance route --workspace "$PROJECT_ROOT" \
|
|
408
|
+
npx --no-install owlrunkit fleet register-root --fleet-root /absolute/declared-projects
|
|
409
|
+
npx --no-install owlrunkit fleet discover
|
|
410
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
411
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --apply
|
|
412
|
+
npx --no-install owlrunkit profiles reconcile --workspace "$PROJECT_ROOT" --dry-run
|
|
413
|
+
npx --no-install owlrunkit mode recommend --workspace "$PROJECT_ROOT"
|
|
414
|
+
npx --no-install owlrunkit assurance route --workspace "$PROJECT_ROOT" \
|
|
363
415
|
--request "$ASSURANCE_REQUEST_JSON"
|
|
364
|
-
owlrunkit status --workspace "$PROJECT_ROOT"
|
|
416
|
+
npx --no-install owlrunkit status --workspace "$PROJECT_ROOT"
|
|
365
417
|
```
|
|
366
418
|
|
|
367
419
|
Fleet discovery is complete only within all registered coverage roots, an
|
|
@@ -372,14 +424,18 @@ adopts only unambiguous high-confidence, project-local regular-file launchers;
|
|
|
372
424
|
`profiles reconcile` previews or atomically updates an existing profile set
|
|
373
425
|
with a rollback receipt. Low-confidence candidates remain untouched. Lock-bound npm and exact
|
|
374
426
|
project-installed pnpm, Yarn, and Bun launchers are supported; PATH-only
|
|
375
|
-
package managers remain review-required.
|
|
427
|
+
package managers remain review-required. A V2 dry-run reports
|
|
428
|
+
`profiles_insufficient` when real Git-visible source paths remain uncovered or
|
|
429
|
+
there is no actionable primary. Use its `minimalSuggestedProfile` and copyable
|
|
430
|
+
`repairCommands`; do not invent absent conventional directories as blockers.
|
|
431
|
+
`assurance route`
|
|
376
432
|
deterministically selects No RunKit, Quick Verification or Formal Delivery
|
|
377
433
|
from explicit risk facts and fails closed to Formal when required facts are
|
|
378
434
|
missing.
|
|
379
435
|
|
|
380
436
|
## Choose continuity and assurance independently
|
|
381
437
|
|
|
382
|
-
Start with `owlrunkit mode recommend --workspace "$PROJECT_ROOT"`. The five
|
|
438
|
+
Start with `npx --no-install owlrunkit mode recommend --workspace "$PROJECT_ROOT"`. The five
|
|
383
439
|
user-facing modes are presets over two independent dimensions:
|
|
384
440
|
|
|
385
441
|
- continuity: `none | project_driver`
|
|
@@ -419,17 +475,17 @@ incremental checks, then finish once:
|
|
|
419
475
|
```bash
|
|
420
476
|
NODE_BIN="$(node -p 'process.execPath')"
|
|
421
477
|
|
|
422
|
-
owlrunkit formal start \
|
|
478
|
+
npx --no-install owlrunkit formal start \
|
|
423
479
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" --goal "$GOAL_JSON" \
|
|
424
480
|
--work-item "$WORK_ITEM_ID" \
|
|
425
481
|
--owned-path "src/exact-file.ts" --owned-path "tests/feature/**"
|
|
426
482
|
|
|
427
|
-
owlrunkit formal check \
|
|
483
|
+
npx --no-install owlrunkit formal check \
|
|
428
484
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
429
485
|
--from-lease "$WORK_ITEM_ID" --check-id "$CHECK_ID" \
|
|
430
486
|
--cwd "." -- "$NODE_BIN" --check "src/exact-file.ts"
|
|
431
487
|
|
|
432
|
-
owlrunkit formal finish \
|
|
488
|
+
npx --no-install owlrunkit formal finish \
|
|
433
489
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" --decision accepted
|
|
434
490
|
```
|
|
435
491
|
|
|
@@ -446,7 +502,7 @@ Formal accepted evidence admits the built-in Node syntax check and real project
|
|
|
446
502
|
commands executed through a Verification Envelope:
|
|
447
503
|
|
|
448
504
|
```bash
|
|
449
|
-
owlrunkit formal check \
|
|
505
|
+
npx --no-install owlrunkit formal check \
|
|
450
506
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
451
507
|
--work-item "$WORK_ITEM_ID" --check-id "$CHECK_ID" \
|
|
452
508
|
--envelope "$VERIFICATION_ENVELOPE_JSON"
|
|
@@ -467,12 +523,12 @@ Freeze, verify and materialize an immutable candidate without requiring a Git
|
|
|
467
523
|
commit:
|
|
468
524
|
|
|
469
525
|
```bash
|
|
470
|
-
owlrunkit candidate freeze --workspace "$PROJECT_ROOT" \
|
|
526
|
+
npx --no-install owlrunkit candidate freeze --workspace "$PROJECT_ROOT" \
|
|
471
527
|
--run-id "$RUN_ID" --from-lease "$WORK_ITEM_ID" \
|
|
472
528
|
--candidate-id "$CANDIDATE_ID"
|
|
473
|
-
owlrunkit candidate verify --workspace "$PROJECT_ROOT" \
|
|
529
|
+
npx --no-install owlrunkit candidate verify --workspace "$PROJECT_ROOT" \
|
|
474
530
|
--candidate "$SOURCE_CANDIDATE"
|
|
475
|
-
owlrunkit candidate materialize --workspace "$PROJECT_ROOT" \
|
|
531
|
+
npx --no-install owlrunkit candidate materialize --workspace "$PROJECT_ROOT" \
|
|
476
532
|
--candidate "$SOURCE_CANDIDATE" \
|
|
477
533
|
--target-workspace "$CLEAN_WORKSPACE"
|
|
478
534
|
```
|
|
@@ -490,10 +546,10 @@ authority.
|
|
|
490
546
|
Use a frozen SourceCandidateV2 and the registered fleet boundary:
|
|
491
547
|
|
|
492
548
|
```bash
|
|
493
|
-
owlrunkit core-successor plan --workspace "$PROJECT_ROOT" \
|
|
549
|
+
npx --no-install owlrunkit core-successor plan --workspace "$PROJECT_ROOT" \
|
|
494
550
|
--plan-id "$PLAN_ID" --run-id "$RUN_ID" \
|
|
495
551
|
--from-lease "$WORK_ITEM_ID" --candidate-id "$CANDIDATE_ID"
|
|
496
|
-
owlrunkit core-successor apply --workspace "$PROJECT_ROOT" \
|
|
552
|
+
npx --no-install owlrunkit core-successor apply --workspace "$PROJECT_ROOT" \
|
|
497
553
|
--plan "$SUCCESSOR_PLAN" --owner-authority "$OWNER_AUTHORITY" \
|
|
498
554
|
--receipt-id "$RECEIPT_ID"
|
|
499
555
|
```
|
|
@@ -510,11 +566,11 @@ execute. No execution result is silently inherited.
|
|
|
510
566
|
Separate build acceptance from permission to mutate a machine:
|
|
511
567
|
|
|
512
568
|
```bash
|
|
513
|
-
owlrunkit deployment prepare --workspace "$PROJECT_ROOT" \
|
|
569
|
+
npx --no-install owlrunkit deployment prepare --workspace "$PROJECT_ROOT" \
|
|
514
570
|
--run-id "$PREPARE_RUN_ID" --artifact "$ARTIFACT" \
|
|
515
571
|
--owner-decision "$OWNER_DECISION" \
|
|
516
572
|
--media-type application/gzip --output "$PREPARE_RECEIPT"
|
|
517
|
-
owlrunkit deployment execute --workspace "$PROJECT_ROOT" \
|
|
573
|
+
npx --no-install owlrunkit deployment execute --workspace "$PROJECT_ROOT" \
|
|
518
574
|
--prepare "$PREPARE_RECEIPT" \
|
|
519
575
|
--owner-decision "$OWNER_DECISION" \
|
|
520
576
|
--owner-authority "$OWNER_AUTHORITY" \
|
|
@@ -567,7 +623,7 @@ and protocol contract, not an out-of-the-box privileged VM deployment.
|
|
|
567
623
|
Acquire one bounded writer lease with repeated explicit paths:
|
|
568
624
|
|
|
569
625
|
```bash
|
|
570
|
-
owlrunkit lease acquire \
|
|
626
|
+
npx --no-install owlrunkit lease acquire \
|
|
571
627
|
--workspace "$PROJECT_ROOT" \
|
|
572
628
|
--run-id "$RUN_ID" \
|
|
573
629
|
--work-item "$WORK_ITEM_ID" \
|
|
@@ -578,10 +634,10 @@ owlrunkit lease acquire \
|
|
|
578
634
|
Inspect or release it through the Core instead of editing lease JSON:
|
|
579
635
|
|
|
580
636
|
```bash
|
|
581
|
-
owlrunkit lease inspect \
|
|
637
|
+
npx --no-install owlrunkit lease inspect \
|
|
582
638
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID"
|
|
583
639
|
|
|
584
|
-
owlrunkit lease release \
|
|
640
|
+
npx --no-install owlrunkit lease release \
|
|
585
641
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
586
642
|
--work-item "$WORK_ITEM_ID"
|
|
587
643
|
```
|
|
@@ -589,7 +645,7 @@ owlrunkit lease release \
|
|
|
589
645
|
After implementation, derive the bounded DeliveryPacket from the active lease:
|
|
590
646
|
|
|
591
647
|
```bash
|
|
592
|
-
owlrunkit delivery create \
|
|
648
|
+
npx --no-install owlrunkit delivery create \
|
|
593
649
|
--workspace "$PROJECT_ROOT" \
|
|
594
650
|
--run-id "$RUN_ID" \
|
|
595
651
|
--from-lease "$WORK_ITEM_ID" \
|
|
@@ -625,7 +681,7 @@ If any path is uncovered, use the declared full profile. Do not interpret an emp
|
|
|
625
681
|
Before reusing evidence, prepare `OwlCodaRunKitCoverageAdoptRequestV1` and run:
|
|
626
682
|
|
|
627
683
|
```bash
|
|
628
|
-
owlrunkit coverage-adopt \
|
|
684
|
+
npx --no-install owlrunkit coverage-adopt \
|
|
629
685
|
--workspace "$PROJECT_ROOT" \
|
|
630
686
|
--run-id "$RUN_ID" \
|
|
631
687
|
--request "$COVERAGE_ADOPT_REQUEST_JSON"
|
|
@@ -645,7 +701,7 @@ After inspecting the source execution, prepare `OwlCodaRunKitResumeRequestV1`
|
|
|
645
701
|
and run:
|
|
646
702
|
|
|
647
703
|
```bash
|
|
648
|
-
owlrunkit resume \
|
|
704
|
+
npx --no-install owlrunkit resume \
|
|
649
705
|
--workspace "$PROJECT_ROOT" \
|
|
650
706
|
--run-id "$SOURCE_RUN_ID" \
|
|
651
707
|
--request "$RESUME_REQUEST_JSON"
|
|
@@ -675,7 +731,7 @@ After freezing a DeliveryPacket, prepare
|
|
|
675
731
|
SHA-256, then run:
|
|
676
732
|
|
|
677
733
|
```bash
|
|
678
|
-
owlrunkit verify-plan \
|
|
734
|
+
npx --no-install owlrunkit verify-plan \
|
|
679
735
|
--workspace "$PROJECT_ROOT" \
|
|
680
736
|
--run-id "$RUN_ID" \
|
|
681
737
|
--request "$VERIFY_PLAN_REQUEST_JSON"
|
|
@@ -706,7 +762,7 @@ For a model workload, first bind the remaining work to a hashed
|
|
|
706
762
|
`OwlCodaRunKitResourcePreflightRequestV1` and run:
|
|
707
763
|
|
|
708
764
|
```bash
|
|
709
|
-
owlrunkit resource-preflight \
|
|
765
|
+
npx --no-install owlrunkit resource-preflight \
|
|
710
766
|
--workspace "$PROJECT_ROOT" \
|
|
711
767
|
--run-id "$RUN_ID" \
|
|
712
768
|
--request "$RESOURCE_PREFLIGHT_REQUEST_JSON"
|
|
@@ -751,7 +807,7 @@ labels are not acceptance evidence.
|
|
|
751
807
|
Prepare `OwlCodaRunKitSnapshotRequestV1`, then run:
|
|
752
808
|
|
|
753
809
|
```bash
|
|
754
|
-
owlrunkit snapshot \
|
|
810
|
+
npx --no-install owlrunkit snapshot \
|
|
755
811
|
--workspace "$PROJECT_ROOT" \
|
|
756
812
|
--run-id "$RUN_ID" \
|
|
757
813
|
--request "$SNAPSHOT_REQUEST_JSON"
|
|
@@ -773,7 +829,7 @@ and after the command.
|
|
|
773
829
|
Prepare `OwlCodaRunKitVisualSmokeRequestV1`, then run:
|
|
774
830
|
|
|
775
831
|
```bash
|
|
776
|
-
owlrunkit visual-smoke \
|
|
832
|
+
npx --no-install owlrunkit visual-smoke \
|
|
777
833
|
--workspace "$PROJECT_ROOT" \
|
|
778
834
|
--run-id "$RUN_ID" \
|
|
779
835
|
--request "$VISUAL_SMOKE_REQUEST_JSON"
|
|
@@ -793,7 +849,7 @@ After every required snapshot passed and the DeliveryPacket is still fresh,
|
|
|
793
849
|
prepare `OwlCodaRunKitFinalizeRequestV1` and run:
|
|
794
850
|
|
|
795
851
|
```bash
|
|
796
|
-
owlrunkit finalize \
|
|
852
|
+
npx --no-install owlrunkit finalize \
|
|
797
853
|
--workspace "$PROJECT_ROOT" \
|
|
798
854
|
--run-id "$RUN_ID" \
|
|
799
855
|
--request "$FINALIZE_REQUEST_JSON"
|
|
@@ -810,7 +866,7 @@ this command is available.
|
|
|
810
866
|
Close only after consuming the current stage receipt and making an explicit controller decision:
|
|
811
867
|
|
|
812
868
|
```bash
|
|
813
|
-
owlrunkit closeout \
|
|
869
|
+
npx --no-install owlrunkit closeout \
|
|
814
870
|
--workspace "$PROJECT_ROOT" \
|
|
815
871
|
--run-id "$RUN_ID" \
|
|
816
872
|
--decision accepted \
|
|
@@ -831,7 +887,7 @@ After an accepted closeout, capture fresh project-root snapshots and start from
|
|
|
831
887
|
`sourceCandidatePath` or legacy `deliveryPacketPath`, then run:
|
|
832
888
|
|
|
833
889
|
```bash
|
|
834
|
-
owlrunkit ready-for-commit \
|
|
890
|
+
npx --no-install owlrunkit ready-for-commit \
|
|
835
891
|
--workspace "$PROJECT_ROOT" \
|
|
836
892
|
--run-id "$RUN_ID" \
|
|
837
893
|
--request "$READY_REQUEST_JSON"
|
|
@@ -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.19.0",
|
|
6
|
+
"coreManifestSha256": "sha256:803fb7de76a6ccffd1ec5e0164eeff15a580209fa6dfbef9e561345ab616b403",
|
|
7
|
+
"coreSourceRef": "artifact:sha256:803fb7de76a6ccffd1ec5e0164eeff15a580209fa6dfbef9e561345ab616b403"
|
|
8
8
|
},
|
|
9
9
|
"authorizationPolicy": "external_explicit_authority_required"
|
|
10
10
|
}
|
|
@@ -478,6 +478,44 @@ bytes as exact stdin, and binds their workspace-relative path, byte size, and
|
|
|
478
478
|
SHA-256. V1 remains the no-stdin receipt and stays readable. Neither schema
|
|
479
479
|
binds undeclared ignored outputs or grants any authority.
|
|
480
480
|
|
|
481
|
+
Core `0.19.0` adds `OwlCodaQuickVerificationReceiptV3` for explicit isolation,
|
|
482
|
+
dependency-environment binding, and ignored-path binding. `--isolate` runs a
|
|
483
|
+
Git-visible candidate copy in a disposable consumer and records consumer source
|
|
484
|
+
versus discarded ignored-artifact deltas. `--dependency-root` binds an existing
|
|
485
|
+
dependency environment without installing it. `--bind-ignored` is the only
|
|
486
|
+
operation that emits `OwlCodaWorkspaceSnapshotV2` and claims those selected
|
|
487
|
+
ignored bytes. Workspace source, selected ignored paths, dependency metadata,
|
|
488
|
+
and consumer source mutations are distinct fail-closed facts. Disposable
|
|
489
|
+
ignored artifacts do not mutate or become evidence for the source checkout.
|
|
490
|
+
|
|
491
|
+
Core `0.19.0` also adds `OwlCodaQuickEvidenceReusePlanV1` and
|
|
492
|
+
`OwlCodaQuickEvidenceReuseReceiptV1`. A reuse plan verifies one earlier strict,
|
|
493
|
+
passed, source-unchanged Quick receipt from the same workspace, derives the
|
|
494
|
+
current candidate delta from Git objects plus both snapshots, and refuses any
|
|
495
|
+
path outside literal caller allowances before command execution. Byte-identical
|
|
496
|
+
dirty content later committed to Git remains unchanged evidence. Apply runs one
|
|
497
|
+
exact delta gate through Quick and records both receipt hashes; it grants no
|
|
498
|
+
authority and does not satisfy Formal or higher acceptance layers.
|
|
499
|
+
|
|
500
|
+
Quick output and Verification Envelope stdout/stderr evidence use a project-
|
|
501
|
+
global create-only SHA-256 object store. Existing Quick receipt-local material
|
|
502
|
+
paths remain valid; no historical tree is rewritten or deleted. Object reuse is
|
|
503
|
+
storage/provenance behavior, never additional assurance.
|
|
504
|
+
|
|
505
|
+
Core `0.19.0` can additionally bind external transition truth without changing
|
|
506
|
+
Quick Receipt V1/V2/V3. `quick-verify --capture-runtime` gives the exact child
|
|
507
|
+
an initially absent receipt-local `OWLRUNKIT_RUNTIME_REPORT` path. A strict
|
|
508
|
+
`OwlCodaRunKitExternalRuntimeReportV1` there is projected into a separately
|
|
509
|
+
hashed `OwlCodaRunKitRuntimeTransitionReceiptV1` that binds the Quick receipt
|
|
510
|
+
bytes, report bytes, derived workspace mutation, command-reported external
|
|
511
|
+
mutation, ordered stages, rollback outcome, final external state, and recovery
|
|
512
|
+
artifact `capturedBefore` / `restoresTo` semantics. A failed stage followed by
|
|
513
|
+
a successful rollback remains a failed transition with useful evidence; it is
|
|
514
|
+
not promoted to Quick, Formal, deployment, or business acceptance. Missing or
|
|
515
|
+
inconsistent runtime truth fails closed while preserving the base Quick
|
|
516
|
+
receipt. `quick-runtime-verify` rechecks stored bytes and projection integrity;
|
|
517
|
+
it does not independently re-observe the external runtime or grant authority.
|
|
518
|
+
|
|
481
519
|
Deterministic `repair` persists a reviewable plan before replay, reuses only
|
|
482
520
|
fresh receipt-bound coverage, replays pending exact argv, and appends
|
|
483
521
|
replacement lineage. Failed and orphaned attempts remain inspectable. Repair
|
|
@@ -539,6 +577,25 @@ stale Packet, invalid evidence or engine drift must still follow the Core's
|
|
|
539
577
|
foreign-project authority. Signing, keys, external anchors and GitHub Actions
|
|
540
578
|
remain deferred.
|
|
541
579
|
|
|
580
|
+
## Core v0.19 atomic onboarding
|
|
581
|
+
|
|
582
|
+
Core `0.19.0` keeps Contract `0.2` and all existing authority boundaries. The
|
|
583
|
+
versioned `OwlCodaRunKitOnboardingBootstrapPlanV1` dry-run binds the exact
|
|
584
|
+
project-local package and official registry release, checks upgrade safety,
|
|
585
|
+
previews profile reconciliation, reports shared Skill drift, and performs zero
|
|
586
|
+
writes. `bootstrap --apply` rechecks that plan under a project-owned lock, then
|
|
587
|
+
runs Core initialization, profile reconcile/validation, exact adoption and
|
|
588
|
+
doctor readback as one high-level transaction.
|
|
589
|
+
|
|
590
|
+
The transaction governs RunKit config, profiles, their migration/apply
|
|
591
|
+
receipts, and adoption evidence. A failure after mutation restores their exact
|
|
592
|
+
preimage before writing an append-only
|
|
593
|
+
`OwlCodaRunKitOnboardingBootstrapReceiptV1`. A concurrent bootstrap, active or
|
|
594
|
+
invalid project lifecycle, ambiguous project tool, exact-package mismatch, or
|
|
595
|
+
registry mismatch fails closed. The command does not modify package files,
|
|
596
|
+
source, Git, deployments, production, business state, or shared Skills, and it
|
|
597
|
+
never grants those authorities.
|
|
598
|
+
|
|
542
599
|
## Deferred work
|
|
543
600
|
|
|
544
601
|
Contract v0.2 still does not add a built-in browser or Electron driver, Plugin,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "owlrunkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Project Driver for cross-Agent project continuity and progression; execution, evidence, verification, and recovery are the underlying trust substrate.",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"author": "yeemio <owlclaw@163.com>",
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
# `@owlcoda/attest`
|
|
2
2
|
|
|
3
3
|
`@owlcoda/attest` is OwlCoda RunKit's unsigned, read-only verification plane.
|
|
4
|
-
It verifies Quick Receipt V1 and
|
|
4
|
+
It verifies Quick Receipt V1, V2, and V3 artifacts, Formal public verification
|
|
5
5
|
bundles, and local `OwlCodaAttestationRefV1` references without importing the
|
|
6
6
|
private mutation Core. V2 adds one hash-bound stdin material while preserving
|
|
7
|
-
the same unsigned, authorization-free assurance boundary.
|
|
7
|
+
the same unsigned, authorization-free assurance boundary. V3 adds a disposable
|
|
8
|
+
consumer record, optional dependency-environment binding, and explicit ignored
|
|
9
|
+
workspace bindings while leaving V1/V2 unchanged.
|
|
8
10
|
|
|
9
11
|
The package is an unsigned V1 distribution candidate. It is intentionally
|
|
10
12
|
marked private until naming clearance and release authorization exist.
|
|
11
|
-
`consumer-surface-v1.json`
|
|
12
|
-
|
|
13
|
+
`consumer-surface-v1.json` remains the byte-compatible predecessor contract.
|
|
14
|
+
`consumer-surface-v2.json` adds Receipt V3, Snapshot V2, isolated Quick, and
|
|
15
|
+
explicit ignored-path issue codes without reinterpreting V1.
|
|
13
16
|
|
|
14
17
|
## CLI
|
|
15
18
|
|
|
@@ -58,7 +61,8 @@ in the repository documentation under
|
|
|
58
61
|
receipts but does not require N-1 to trust an unknown future Core identity.
|
|
59
62
|
|
|
60
63
|
The packed candidate includes its GPL-3.0-or-later license, a package-level
|
|
61
|
-
SPDX 2.3 SBOM,
|
|
64
|
+
SPDX 2.3 SBOM, the frozen Consumer Surface V1 manifest, and the additive V2
|
|
65
|
+
surface. Local metrics never
|
|
62
66
|
send telemetry and are not a performance target. They describe local receipt
|
|
63
67
|
state; separate consumption must be evidenced by a caller-owned attestation
|
|
64
68
|
result.
|