owlrunkit 0.18.2 → 0.18.4
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 +63 -0
- package/README.md +159 -52
- package/docs/architecture/OWLCODA_RUNKIT_0184_EXTERNAL_DELIVERY_INTAKE_PRODUCT_DECISION_20260812.md +209 -0
- package/docs/architecture/OWLCODA_RUNKIT_018_PROJECT_DRIVER_PRODUCT_DEFINITION.md +16 -5
- package/docs/architecture/OWLCODA_RUNKIT_USAGE_MODE_SELECTION_PRODUCT_DECISION_20260811.md +54 -3
- package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_2.md +7 -0
- package/integrations/codex/skills/owlcoda-runkit/SKILL.md +125 -74
- package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
- package/integrations/codex/skills/owlcoda-runkit/references/contract-v0.1.md +160 -0
- package/integrations/codex/skills/owlcoda-runkit/references/contract-v0.2.md +545 -0
- package/package.json +1 -1
- package/packages/attest/README.md +4 -3
- package/packages/attest/consumer-surface-v1.json +1 -0
- package/packages/attest/distribution-manifest-v1.json +12 -1
- package/packages/attest/schemas/quick-verification-receipt-v2.schema.json +232 -0
- package/packages/attest/src/index.mjs +4 -1
- package/packages/attest/src/quick-receipt-contract.mjs +16 -6
- package/packages/attest/src/quick.mjs +21 -2
- package/packages/attest/src/workspace-snapshot.mjs +10 -1
- 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 +10 -1
- package/scripts/runkit-contract/onboarding-doctor.mjs +1 -1
- package/scripts/runkit-contract/profile-onboarding.mjs +263 -15
- package/scripts/runkit-contract/project-cli-resolver.mjs +6 -0
- package/scripts/runkit-contract/project-external-delivery.mjs +707 -0
- package/scripts/runkit-contract/quick-metrics.mjs +3 -3
- package/scripts/runkit-contract/quick-receipt.mjs +79 -12
- package/scripts/runkit-contract/quick-verify.mjs +89 -12
- package/scripts/runkit-contract/runkit-bootstrap.mjs +6 -1
- package/scripts/runkit-contract/runkit-cli.mjs +363 -143
- package/scripts/runkit-contract/schemas/assurance-route-v2.schema.json +26 -0
- package/scripts/runkit-contract/schemas/profile-detection-v3.schema.json +170 -0
- package/scripts/runkit-contract/schemas/team-project-event-v2.schema.json +128 -0
- package/scripts/runkit-contract/schemas/team-project-event-v3.schema.json +146 -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 +782 -55
- package/scripts/runkit-contract/usage-mode.mjs +28 -7
|
@@ -34,11 +34,13 @@ The ordinary user-facing flow is a typed direct CLI surface:
|
|
|
34
34
|
3. `project checkpoint` records meaningful state and evidence.
|
|
35
35
|
4. `project handoff` transfers a responsibility without overwriting its
|
|
36
36
|
history.
|
|
37
|
-
5. `project
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
5. `project reject-and-return` preserves a current failed checkpoint and opens
|
|
38
|
+
one evidence-linked rework assignment atomically.
|
|
39
|
+
6. `project decision` opens or resolves a decision with rationale and evidence.
|
|
40
|
+
7. `project integrate` records an integration-gate result with evidence.
|
|
41
|
+
8. `project status` projects the current team state.
|
|
42
|
+
9. `project takeover` builds the next bounded action for a successor Agent.
|
|
43
|
+
10. After the project derives `overall=completed`, `project successor`
|
|
42
44
|
archives it and installs one fresh project under explicit Owner invocation.
|
|
43
45
|
|
|
44
46
|
Except for the one definition supplied to `init`, normal users provide typed
|
|
@@ -65,6 +67,11 @@ checkpoint.
|
|
|
65
67
|
## Continuity actions
|
|
66
68
|
|
|
67
69
|
A handoff preserves the outgoing assignment and records the successor action.
|
|
70
|
+
A reject-and-return event binds the current failed checkpoint, failed
|
|
71
|
+
assignment, reviewer, evidence, target Agent, and new rework assignment in one
|
|
72
|
+
append-only write. The failed event stays terminal and immutable; the WorkItem
|
|
73
|
+
continues from a new derived active rework attempt. It cannot target completed,
|
|
74
|
+
active, implicit execution-only failure, or historical failure state.
|
|
68
75
|
A decision separates the open question from its later resolution, rationale,
|
|
69
76
|
and evidence. An integration event records that the project gate was reached;
|
|
70
77
|
it is not a Git merge, release, deployment, or publication operation. Status and
|
|
@@ -132,6 +139,10 @@ untrusted control state. Normal project coordination retains
|
|
|
132
139
|
`authorizationGranted=false` unless a separately authorized boundary says
|
|
133
140
|
otherwise.
|
|
134
141
|
|
|
142
|
+
The new atomic rework record uses `OwlCodaRunKitTeamProjectEventV2`; existing
|
|
143
|
+
Event V1 bytes and meanings are unchanged and remain readable. This avoids
|
|
144
|
+
silently adding a new event meaning to the versioned V1 contract.
|
|
145
|
+
|
|
135
146
|
## Assurance boundary
|
|
136
147
|
|
|
137
148
|
Multiple Agents coordinating a project do not make project coordination Formal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OwlCoda RunKit 使用模式选择:Sierac MES Dogfood 产品决议
|
|
2
2
|
|
|
3
|
-
状态:**0.18.
|
|
3
|
+
状态:**0.18.3 已发布;本文主体保留既有产品决议,0.18.4 外部候选纳管决议另见同日架构文档**
|
|
4
4
|
日期:2026-08-11
|
|
5
5
|
|
|
6
6
|
## 已验证现场事实
|
|
@@ -162,5 +162,56 @@ RunKit contract/package gate、Core 身份同步、pack 内容检查和安装 sm
|
|
|
162
162
|
- profile 纯格式规范化计划显式返回 `normalizationOnly: true`;
|
|
163
163
|
- package README 与五模式、profile reconcile 的已实现真值一致。
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
上述 0.18.2 内容已经发布;准确 Git/npm 身份以 `docs/PRODUCT-TRUTH.md` 和独立发布
|
|
166
|
+
回执为准。发布本身没有更新全局 Skill、迁移外部项目或授予业务权限。
|
|
167
|
+
|
|
168
|
+
## 0.18.3 Sierac recovery dogfood 修复(已发布)
|
|
169
|
+
|
|
170
|
+
### 新增现场事实
|
|
171
|
+
|
|
172
|
+
Sierac MES 三轮 0.18.2 实测继续支持“普通小任务少用、跨窗口使用 Project Driver、
|
|
173
|
+
高价值状态转换使用 Quick”的模式决议。冷启动 takeover 约 0.4 秒恢复了当前 truth,
|
|
174
|
+
并正确识别陈旧 handoff;一次 W1.8 回滚与 W1.9 恢复在串行读回后留下 GO Quick
|
|
175
|
+
attestation,且没有扩大到 Formal、生产、Git 或业务验收。
|
|
176
|
+
|
|
177
|
+
同一轮暴露了五个可复现的 Quick 产品缺口:
|
|
178
|
+
|
|
179
|
+
- 为把远端脚本精确交给 SSH,操作者只能把 base64 放进 argv;单个参数达到
|
|
180
|
+
14,469 bytes,整条 argv 约 14,539 bytes,receipt 为 79,591 bytes。
|
|
181
|
+
- 顶层摘要只保留最后三行,无法同时展示前半段 W1.8 回滚与后半段 W1.9 恢复。
|
|
182
|
+
- 项目现存 13/13 Quick 都携带固定 `quick_ignored_artifact_unbound`,没有可行动差异。
|
|
183
|
+
- 日常 Quick 仍需第二次调用 `quick-attest`。
|
|
184
|
+
- `quick-metrics --help` 返回通用 invalid-input,默认结果无条件展开全部 receipt 路径。
|
|
185
|
+
|
|
186
|
+
### 本轮实现
|
|
187
|
+
|
|
188
|
+
- `quick-verify --stdin-file <file>` 将最多 1 MiB 的 regular non-symlink 输入复制到
|
|
189
|
+
receipt store,以路径、大小和 SHA-256 生成 `OwlCodaQuickVerificationReceiptV2`,
|
|
190
|
+
再把已保存字节作为 exact stdin;脚本内容不进入 argv 或 receipt JSON。
|
|
191
|
+
- `outputSummary` 同时返回有界 head 与 tail,完整 stdout/stderr 仍是唯一证据材料。
|
|
192
|
+
- 新 Quick 不再生成固定 ignored-artifact issue;历史 receipt 仍严格可读,但 attest
|
|
193
|
+
不再把该推测性代码作为问题输出。未声明 ignored output 仍不属于 Quick 证明范围。
|
|
194
|
+
- `quick-verify --attest` 在一个高层调用中返回独立 attestation 对象,不把 Quick
|
|
195
|
+
提升为 Formal。
|
|
196
|
+
- `quick-metrics --local` 默认只返回聚合;`--verbose` 才返回 receipt 路径,并新增
|
|
197
|
+
action-specific help。
|
|
198
|
+
- 后续真实候选复核证明 RunKit 能保存“测试全绿但版本合同错误”的 rejection、Quick
|
|
199
|
+
receipt、源码未变事实和重新责任人。`project reject-and-return` 因此作为同一
|
|
200
|
+
0.18.3 候选的原子 Project Driver 动作:只接受当前显式 failed checkpoint,保留
|
|
201
|
+
失败事件,记录 reviewer/reason/evidence,并创建新的 rework assignment。新记录使用
|
|
202
|
+
Event V2,不改写 Event V1 合同。
|
|
203
|
+
- standalone npm 构建把 Contract v0.1/v0.2 的权威字节复制到 Skill 自身的
|
|
204
|
+
`references/`,使发布包内相对链接和之后的 managed Skill 安装保持一致。
|
|
205
|
+
|
|
206
|
+
### 后续缺口
|
|
207
|
+
|
|
208
|
+
`project takeover` stale-handoff 与外部候选 delta 已进入未发布的 0.18.4 源码候选;
|
|
209
|
+
recovery evidence 的 `captured_before` / `restores_to` 语义字段仍未实现。Project Driver 自动 ID、时间戳、
|
|
210
|
+
单项完成与 integrate 合并,以及路径范围指纹仍保留在既有 backlog。
|
|
211
|
+
|
|
212
|
+
### 不能声称
|
|
213
|
+
|
|
214
|
+
`0.18.3` 已在后续独立发布 Gate 中完成 commit、tag、npm publication 与 registry
|
|
215
|
+
consumer smoke;安装、项目 adoption、共享 Skill 激活和业务结果仍是不同事实。
|
|
216
|
+
`0.18.4` 的 controller/target 分离与外部 DeliveryPacket 纳管边界见
|
|
217
|
+
`OWLCODA_RUNKIT_0184_EXTERNAL_DELIVERY_INTAKE_PRODUCT_DECISION_20260812.md`;该版本当前仍只是源码候选。
|
|
@@ -471,6 +471,13 @@ project-owned receipt store and performs no telemetry or network access. A
|
|
|
471
471
|
Quick `GO` remains `captured_verification`; it cannot satisfy the Formal
|
|
472
472
|
Contract v0.2 acceptance gate.
|
|
473
473
|
|
|
474
|
+
Core `0.18.3` adds `OwlCodaQuickVerificationReceiptV2` only when the caller
|
|
475
|
+
uses `quick-verify --stdin-file`. RunKit copies at most 1 MiB from a regular
|
|
476
|
+
non-symlink file into the receipt store before execution, supplies those stored
|
|
477
|
+
bytes as exact stdin, and binds their workspace-relative path, byte size, and
|
|
478
|
+
SHA-256. V1 remains the no-stdin receipt and stays readable. Neither schema
|
|
479
|
+
binds undeclared ignored outputs or grants any authority.
|
|
480
|
+
|
|
474
481
|
Deterministic `repair` persists a reviewable plan before replay, reuses only
|
|
475
482
|
fresh receipt-bound coverage, replays pending exact argv, and appends
|
|
476
483
|
replacement lineage. Failed and orphaned attempts remain inspectable. Repair
|
|
@@ -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, 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.18.
|
|
11
|
-
Core `0.18.
|
|
12
|
-
`sha256:
|
|
13
|
-
The published `owlrunkit@0.18.
|
|
10
|
+
Bundled release: standalone `owlrunkit@0.18.4`, bundling Contract `0.2` and
|
|
11
|
+
Core `0.18.4` with manifest
|
|
12
|
+
`sha256:372d4c247e4b40b0fd2f3fe0f5bf928548095bfb7e2e92e9ac66790e2717f77d`.
|
|
13
|
+
The published `owlrunkit@0.18.3` 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
|
|
@@ -24,8 +24,11 @@ The session is an execution interface. Project artifacts are the system of recor
|
|
|
24
24
|
Translate ordinary user requests into durable typed project actions. Do not ask
|
|
25
25
|
the user to operate the CLI when the request and authority are already clear.
|
|
26
26
|
|
|
27
|
-
The normal mainline is `init`, `assign`, `checkpoint`, `handoff`,
|
|
28
|
-
`verification`, `integrate`, `status`, and
|
|
27
|
+
The normal mainline is `init`, `assign`, `checkpoint`, `handoff`,
|
|
28
|
+
`reject-and-return`, `decision`, `verification`, `integrate`, `status`, and
|
|
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
|
|
29
32
|
derives completed, `successor` is the bounded lifecycle step. `init` accepts one project definition
|
|
30
33
|
JSON; subsequent actions use direct typed flags. Normal users do not author
|
|
31
34
|
request, event, receipt, or hash JSON. The legacy `--request <event.json>` form
|
|
@@ -40,8 +43,17 @@ remains available for existing automation and compatibility.
|
|
|
40
43
|
- "I decided ...": append a decision resolution with rationale and evidence.
|
|
41
44
|
- "Hand this to another Agent": append the handoff, then a successor assignment;
|
|
42
45
|
never overwrite the old assignment.
|
|
46
|
+
- "Reject this failed candidate and return it": use one `project
|
|
47
|
+
reject-and-return` event. Preserve the failed checkpoint, bind the review
|
|
48
|
+
evidence, create the rework assignment, and never rewrite failure as active.
|
|
43
49
|
- "Continue/take over": build `project takeover` for the current Agent and use
|
|
44
|
-
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.
|
|
45
57
|
- "Start the next project": only after status derives `overall=completed`,
|
|
46
58
|
invoke `project successor` with a different V1 definition and explicit
|
|
47
59
|
transition ID. Preserve the content-addressed archive and journal; never
|
|
@@ -66,35 +78,53 @@ Completion requires evidence. If an assignment binds an execution, derive its
|
|
|
66
78
|
state from the closeout and lease rather than trusting the Agent's claim.
|
|
67
79
|
|
|
68
80
|
```bash
|
|
69
|
-
owlrunkit project init --workspace "$PROJECT_ROOT" --definition "$PROJECT_JSON"
|
|
70
|
-
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" \
|
|
71
83
|
--at "$OCCURRED_AT" --work-item "$WORK_ITEM_ID" --agent "$AGENT_ID"
|
|
72
|
-
owlrunkit project checkpoint --workspace "$PROJECT_ROOT" --checkpoint-id "$CHECKPOINT_ID" \
|
|
84
|
+
npx --no-install owlrunkit project checkpoint --workspace "$PROJECT_ROOT" --checkpoint-id "$CHECKPOINT_ID" \
|
|
73
85
|
--at "$OCCURRED_AT" --assignment-id "$ASSIGNMENT_ID" --work-item "$WORK_ITEM_ID" \
|
|
74
86
|
--state active --summary "$SUMMARY" --next "$NEXT_ACTION"
|
|
75
|
-
owlrunkit project handoff --workspace "$PROJECT_ROOT" --handoff-id "$HANDOFF_ID" \
|
|
87
|
+
npx --no-install owlrunkit project handoff --workspace "$PROJECT_ROOT" --handoff-id "$HANDOFF_ID" \
|
|
76
88
|
--at "$OCCURRED_AT" --assignment-id "$ASSIGNMENT_ID" --work-item "$WORK_ITEM_ID" \
|
|
77
89
|
--from-agent "$AGENT_ID" --to-agent "$SUCCESSOR_AGENT_ID" \
|
|
78
90
|
--summary "$SUMMARY" --next "$NEXT_ACTION" --evidence "$EVIDENCE_REF"
|
|
79
|
-
owlrunkit project
|
|
91
|
+
npx --no-install owlrunkit project reject-and-return --workspace "$PROJECT_ROOT" \
|
|
92
|
+
--rework-id "$REWORK_ID" --at "$OCCURRED_AT" --work-item "$WORK_ITEM_ID" \
|
|
93
|
+
--reviewer-agent "$REVIEWER_AGENT_ID" --to-agent "$AGENT_ID" \
|
|
94
|
+
--reason "$REJECTION_REASON" --next "$NEXT_ACTION" --evidence "$EVIDENCE_REF"
|
|
95
|
+
npx --no-install owlrunkit project decision --workspace "$PROJECT_ROOT" --resolve \
|
|
80
96
|
--decision-id "$DECISION_ID" --at "$OCCURRED_AT" --resolution "$RESOLUTION" \
|
|
81
97
|
--rationale "$RATIONALE" --evidence "$EVIDENCE_REF"
|
|
82
|
-
owlrunkit project verification --workspace "$PROJECT_ROOT" --defer \
|
|
98
|
+
npx --no-install owlrunkit project verification --workspace "$PROJECT_ROOT" --defer \
|
|
83
99
|
--verification-id "$VERIFICATION_ID" --at "$OCCURRED_AT" \
|
|
84
100
|
--work-item "$WORK_ITEM_ID" --owner-agent "$AGENT_ID" \
|
|
85
101
|
--check "$CHECK_ID" --reason "$REASON" --due-gate "$GATE_ID"
|
|
86
|
-
owlrunkit project verification --workspace "$PROJECT_ROOT" --close \
|
|
102
|
+
npx --no-install owlrunkit project verification --workspace "$PROJECT_ROOT" --close \
|
|
87
103
|
--verification-id "$VERIFICATION_ID" --at "$OCCURRED_AT" \
|
|
88
104
|
--disposition verified --summary "$SUMMARY" --evidence "$EVIDENCE_REF"
|
|
89
|
-
owlrunkit project integrate --workspace "$PROJECT_ROOT" --gate "$GATE_ID" \
|
|
105
|
+
npx --no-install owlrunkit project integrate --workspace "$PROJECT_ROOT" --gate "$GATE_ID" \
|
|
90
106
|
--at "$OCCURRED_AT" --summary "$SUMMARY" --evidence "$EVIDENCE_REF"
|
|
91
|
-
owlrunkit project status --workspace "$PROJECT_ROOT" --json
|
|
92
|
-
owlrunkit project takeover --workspace "$PROJECT_ROOT" --agent "$AGENT_ID" --json
|
|
93
|
-
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" \
|
|
94
110
|
--transition-id "$TRANSITION_ID" --at "$OCCURRED_AT" \
|
|
95
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
|
|
96
120
|
```
|
|
97
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
|
+
|
|
98
128
|
`project successor` accepts only a derived-completed active project and a
|
|
99
129
|
different fresh V1 identity. It archives the exact prior bytes, never borrows
|
|
100
130
|
old events, and resumes only an identical durable transition. Treat symlinks,
|
|
@@ -141,11 +171,16 @@ Git, release, deployment, or production action.
|
|
|
141
171
|
4. Never include `.owlcoda/runkit/**` in delivery changed files, profile rules or lease owned paths.
|
|
142
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.
|
|
143
173
|
|
|
144
|
-
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
|
|
145
178
|
project's exact locally bound OwlRunKit CLI before interpreting project control
|
|
146
|
-
state.
|
|
179
|
+
state. A current package may still be used for bootstrap-only operations such
|
|
147
180
|
as initialization, exact adoption and Core-successor migration. Do not bypass
|
|
148
|
-
|
|
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
|
|
149
184
|
delegation requires the canonical official npm tarball URL and SHA-512 SRI,
|
|
150
185
|
an installed Core identity trusted by the current bootstrap, and the same Core
|
|
151
186
|
identity in project Config; any mismatch fails closed.
|
|
@@ -155,9 +190,9 @@ below has no CLI entry.
|
|
|
155
190
|
## Initialize and inspect
|
|
156
191
|
|
|
157
192
|
```bash
|
|
158
|
-
owlrunkit init --workspace "$PROJECT_ROOT"
|
|
159
|
-
owlrunkit inspect --json --workspace "$PROJECT_ROOT"
|
|
160
|
-
owlrunkit status --workspace "$PROJECT_ROOT"
|
|
193
|
+
npx --no-install owlrunkit init --workspace "$PROJECT_ROOT"
|
|
194
|
+
npx --no-install owlrunkit inspect --json --workspace "$PROJECT_ROOT"
|
|
195
|
+
npx --no-install owlrunkit status --workspace "$PROJECT_ROOT"
|
|
161
196
|
```
|
|
162
197
|
|
|
163
198
|
Initialization may write only `.owlcoda/runkit/`. It must not modify business source.
|
|
@@ -196,29 +231,41 @@ repair surfaces. OwlRunKit uses its own version lifecycle: the standalone
|
|
|
196
231
|
For one low-risk exact command, use the Core v0.13 Quick path:
|
|
197
232
|
|
|
198
233
|
```bash
|
|
199
|
-
owlrunkit quick-verify \
|
|
234
|
+
npx --no-install owlrunkit quick-verify \
|
|
200
235
|
--workspace "$PROJECT_ROOT" -- "$ABSOLUTE_EXECUTABLE" "arg-one"
|
|
201
236
|
|
|
202
|
-
owlrunkit quick-
|
|
237
|
+
npx --no-install owlrunkit quick-verify \
|
|
238
|
+
--workspace "$PROJECT_ROOT" --stdin-file "$SCRIPT_FILE" --attest \
|
|
239
|
+
-- ssh test-host /bin/sh
|
|
240
|
+
|
|
241
|
+
npx --no-install owlrunkit quick-attest \
|
|
203
242
|
--workspace "$PROJECT_ROOT" --receipt "$QUICK_RECEIPT"
|
|
204
243
|
|
|
205
|
-
owlrunkit quick-metrics \
|
|
206
|
-
--workspace "$PROJECT_ROOT"
|
|
244
|
+
npx --no-install owlrunkit quick-metrics \
|
|
245
|
+
--workspace "$PROJECT_ROOT"
|
|
246
|
+
|
|
247
|
+
npx --no-install owlrunkit quick-metrics \
|
|
248
|
+
--workspace "$PROJECT_ROOT" --verbose
|
|
207
249
|
```
|
|
208
250
|
|
|
209
|
-
|
|
210
|
-
|
|
251
|
+
`--stdin-file` copies and SHA-256-binds at most 1 MiB of regular non-symlink
|
|
252
|
+
input before supplying the stored bytes as exact stdin. `--attest` returns the
|
|
253
|
+
separate attestation object in the same high-level invocation. Quick receipts
|
|
254
|
+
remain `captured_verification`, not Formal acceptance. Metrics are aggregate by
|
|
255
|
+
default; `--verbose` adds receipt paths. Metrics are always local-only and
|
|
256
|
+
perform no telemetry or network request; the former `--local` flag remains an
|
|
257
|
+
accepted compatibility no-op.
|
|
211
258
|
|
|
212
259
|
Core v0.13 also adds deterministic repair and exact-byte offline transport:
|
|
213
260
|
|
|
214
261
|
```bash
|
|
215
|
-
owlrunkit repair \
|
|
262
|
+
npx --no-install owlrunkit repair \
|
|
216
263
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID"
|
|
217
264
|
|
|
218
|
-
owlrunkit offline-export \
|
|
265
|
+
npx --no-install owlrunkit offline-export \
|
|
219
266
|
--workspace "$PROJECT_ROOT" --receipt "$RECEIPT" --output "$BUNDLE"
|
|
220
267
|
|
|
221
|
-
owlrunkit offline-import \
|
|
268
|
+
npx --no-install owlrunkit offline-import \
|
|
222
269
|
--workspace "$PROJECT_ROOT" --bundle "$BUNDLE" --store "$OFFLINE_STORE"
|
|
223
270
|
```
|
|
224
271
|
|
|
@@ -253,7 +300,7 @@ loaded into the current session and grants no update authority.
|
|
|
253
300
|
The install manifest binds every Skill, Core, contract and attest file.
|
|
254
301
|
Unknown installed drift fails closed instead of being overwritten. A changed
|
|
255
302
|
process-wide Skill requires a registered complete fleet. Register each coverage
|
|
256
|
-
root once with `owlrunkit fleet register-root --fleet-root <absolute-root>`.
|
|
303
|
+
root once with `npx --no-install owlrunkit fleet register-root --fleet-root <absolute-root>`.
|
|
257
304
|
Inspect and correct a broad or stale registry through the official
|
|
258
305
|
`fleet inspect-registry` and evidence-bound `fleet replace-registry` workflow;
|
|
259
306
|
never hand-edit the registry. Replacement is dry-runnable and append-only
|
|
@@ -311,11 +358,11 @@ made inactive 0.13/0.14 ConfigV2 upgrades and exact rollback safe. Historical
|
|
|
311
358
|
projects, profiles, executions, packets, receipts and closeouts remain readable.
|
|
312
359
|
|
|
313
360
|
```bash
|
|
314
|
-
owlrunkit doctor --workspace "$PROJECT_ROOT"
|
|
315
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
316
|
-
owlrunkit profiles validate --workspace "$PROJECT_ROOT"
|
|
317
|
-
owlrunkit profiles impact --workspace "$PROJECT_ROOT" --changed path/to/file
|
|
318
|
-
owlrunkit adopt --workspace "$PROJECT_ROOT" --exact owlrunkit@0.15.1
|
|
361
|
+
npx --no-install owlrunkit doctor --workspace "$PROJECT_ROOT"
|
|
362
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
363
|
+
npx --no-install owlrunkit profiles validate --workspace "$PROJECT_ROOT"
|
|
364
|
+
npx --no-install owlrunkit profiles impact --workspace "$PROJECT_ROOT" --changed path/to/file
|
|
365
|
+
npx --no-install owlrunkit adopt --workspace "$PROJECT_ROOT" --exact owlrunkit@0.15.1
|
|
319
366
|
```
|
|
320
367
|
|
|
321
368
|
Exact adoption requires the official npm registry `shasum`, `integrity` and
|
|
@@ -334,15 +381,15 @@ authority.
|
|
|
334
381
|
Core 0.16 makes the safe path the ordinary path without weakening its gates:
|
|
335
382
|
|
|
336
383
|
```bash
|
|
337
|
-
owlrunkit fleet register-root --fleet-root /absolute/declared-projects
|
|
338
|
-
owlrunkit fleet discover
|
|
339
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
340
|
-
owlrunkit profiles detect --workspace "$PROJECT_ROOT" --apply
|
|
341
|
-
owlrunkit profiles reconcile --workspace "$PROJECT_ROOT" --dry-run
|
|
342
|
-
owlrunkit mode recommend --workspace "$PROJECT_ROOT"
|
|
343
|
-
owlrunkit assurance route --workspace "$PROJECT_ROOT" \
|
|
384
|
+
npx --no-install owlrunkit fleet register-root --fleet-root /absolute/declared-projects
|
|
385
|
+
npx --no-install owlrunkit fleet discover
|
|
386
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --dry-run
|
|
387
|
+
npx --no-install owlrunkit profiles detect --workspace "$PROJECT_ROOT" --apply
|
|
388
|
+
npx --no-install owlrunkit profiles reconcile --workspace "$PROJECT_ROOT" --dry-run
|
|
389
|
+
npx --no-install owlrunkit mode recommend --workspace "$PROJECT_ROOT"
|
|
390
|
+
npx --no-install owlrunkit assurance route --workspace "$PROJECT_ROOT" \
|
|
344
391
|
--request "$ASSURANCE_REQUEST_JSON"
|
|
345
|
-
owlrunkit status --workspace "$PROJECT_ROOT"
|
|
392
|
+
npx --no-install owlrunkit status --workspace "$PROJECT_ROOT"
|
|
346
393
|
```
|
|
347
394
|
|
|
348
395
|
Fleet discovery is complete only within all registered coverage roots, an
|
|
@@ -353,14 +400,18 @@ adopts only unambiguous high-confidence, project-local regular-file launchers;
|
|
|
353
400
|
`profiles reconcile` previews or atomically updates an existing profile set
|
|
354
401
|
with a rollback receipt. Low-confidence candidates remain untouched. Lock-bound npm and exact
|
|
355
402
|
project-installed pnpm, Yarn, and Bun launchers are supported; PATH-only
|
|
356
|
-
package managers remain review-required.
|
|
403
|
+
package managers remain review-required. A V2 dry-run reports
|
|
404
|
+
`profiles_insufficient` when real Git-visible source paths remain uncovered or
|
|
405
|
+
there is no actionable primary. Use its `minimalSuggestedProfile` and copyable
|
|
406
|
+
`repairCommands`; do not invent absent conventional directories as blockers.
|
|
407
|
+
`assurance route`
|
|
357
408
|
deterministically selects No RunKit, Quick Verification or Formal Delivery
|
|
358
409
|
from explicit risk facts and fails closed to Formal when required facts are
|
|
359
410
|
missing.
|
|
360
411
|
|
|
361
412
|
## Choose continuity and assurance independently
|
|
362
413
|
|
|
363
|
-
Start with `owlrunkit mode recommend --workspace "$PROJECT_ROOT"`. The five
|
|
414
|
+
Start with `npx --no-install owlrunkit mode recommend --workspace "$PROJECT_ROOT"`. The five
|
|
364
415
|
user-facing modes are presets over two independent dimensions:
|
|
365
416
|
|
|
366
417
|
- continuity: `none | project_driver`
|
|
@@ -400,17 +451,17 @@ incremental checks, then finish once:
|
|
|
400
451
|
```bash
|
|
401
452
|
NODE_BIN="$(node -p 'process.execPath')"
|
|
402
453
|
|
|
403
|
-
owlrunkit formal start \
|
|
454
|
+
npx --no-install owlrunkit formal start \
|
|
404
455
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" --goal "$GOAL_JSON" \
|
|
405
456
|
--work-item "$WORK_ITEM_ID" \
|
|
406
457
|
--owned-path "src/exact-file.ts" --owned-path "tests/feature/**"
|
|
407
458
|
|
|
408
|
-
owlrunkit formal check \
|
|
459
|
+
npx --no-install owlrunkit formal check \
|
|
409
460
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
410
461
|
--from-lease "$WORK_ITEM_ID" --check-id "$CHECK_ID" \
|
|
411
462
|
--cwd "." -- "$NODE_BIN" --check "src/exact-file.ts"
|
|
412
463
|
|
|
413
|
-
owlrunkit formal finish \
|
|
464
|
+
npx --no-install owlrunkit formal finish \
|
|
414
465
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" --decision accepted
|
|
415
466
|
```
|
|
416
467
|
|
|
@@ -427,7 +478,7 @@ Formal accepted evidence admits the built-in Node syntax check and real project
|
|
|
427
478
|
commands executed through a Verification Envelope:
|
|
428
479
|
|
|
429
480
|
```bash
|
|
430
|
-
owlrunkit formal check \
|
|
481
|
+
npx --no-install owlrunkit formal check \
|
|
431
482
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
432
483
|
--work-item "$WORK_ITEM_ID" --check-id "$CHECK_ID" \
|
|
433
484
|
--envelope "$VERIFICATION_ENVELOPE_JSON"
|
|
@@ -448,12 +499,12 @@ Freeze, verify and materialize an immutable candidate without requiring a Git
|
|
|
448
499
|
commit:
|
|
449
500
|
|
|
450
501
|
```bash
|
|
451
|
-
owlrunkit candidate freeze --workspace "$PROJECT_ROOT" \
|
|
502
|
+
npx --no-install owlrunkit candidate freeze --workspace "$PROJECT_ROOT" \
|
|
452
503
|
--run-id "$RUN_ID" --from-lease "$WORK_ITEM_ID" \
|
|
453
504
|
--candidate-id "$CANDIDATE_ID"
|
|
454
|
-
owlrunkit candidate verify --workspace "$PROJECT_ROOT" \
|
|
505
|
+
npx --no-install owlrunkit candidate verify --workspace "$PROJECT_ROOT" \
|
|
455
506
|
--candidate "$SOURCE_CANDIDATE"
|
|
456
|
-
owlrunkit candidate materialize --workspace "$PROJECT_ROOT" \
|
|
507
|
+
npx --no-install owlrunkit candidate materialize --workspace "$PROJECT_ROOT" \
|
|
457
508
|
--candidate "$SOURCE_CANDIDATE" \
|
|
458
509
|
--target-workspace "$CLEAN_WORKSPACE"
|
|
459
510
|
```
|
|
@@ -471,10 +522,10 @@ authority.
|
|
|
471
522
|
Use a frozen SourceCandidateV2 and the registered fleet boundary:
|
|
472
523
|
|
|
473
524
|
```bash
|
|
474
|
-
owlrunkit core-successor plan --workspace "$PROJECT_ROOT" \
|
|
525
|
+
npx --no-install owlrunkit core-successor plan --workspace "$PROJECT_ROOT" \
|
|
475
526
|
--plan-id "$PLAN_ID" --run-id "$RUN_ID" \
|
|
476
527
|
--from-lease "$WORK_ITEM_ID" --candidate-id "$CANDIDATE_ID"
|
|
477
|
-
owlrunkit core-successor apply --workspace "$PROJECT_ROOT" \
|
|
528
|
+
npx --no-install owlrunkit core-successor apply --workspace "$PROJECT_ROOT" \
|
|
478
529
|
--plan "$SUCCESSOR_PLAN" --owner-authority "$OWNER_AUTHORITY" \
|
|
479
530
|
--receipt-id "$RECEIPT_ID"
|
|
480
531
|
```
|
|
@@ -491,11 +542,11 @@ execute. No execution result is silently inherited.
|
|
|
491
542
|
Separate build acceptance from permission to mutate a machine:
|
|
492
543
|
|
|
493
544
|
```bash
|
|
494
|
-
owlrunkit deployment prepare --workspace "$PROJECT_ROOT" \
|
|
545
|
+
npx --no-install owlrunkit deployment prepare --workspace "$PROJECT_ROOT" \
|
|
495
546
|
--run-id "$PREPARE_RUN_ID" --artifact "$ARTIFACT" \
|
|
496
547
|
--owner-decision "$OWNER_DECISION" \
|
|
497
548
|
--media-type application/gzip --output "$PREPARE_RECEIPT"
|
|
498
|
-
owlrunkit deployment execute --workspace "$PROJECT_ROOT" \
|
|
549
|
+
npx --no-install owlrunkit deployment execute --workspace "$PROJECT_ROOT" \
|
|
499
550
|
--prepare "$PREPARE_RECEIPT" \
|
|
500
551
|
--owner-decision "$OWNER_DECISION" \
|
|
501
552
|
--owner-authority "$OWNER_AUTHORITY" \
|
|
@@ -548,7 +599,7 @@ and protocol contract, not an out-of-the-box privileged VM deployment.
|
|
|
548
599
|
Acquire one bounded writer lease with repeated explicit paths:
|
|
549
600
|
|
|
550
601
|
```bash
|
|
551
|
-
owlrunkit lease acquire \
|
|
602
|
+
npx --no-install owlrunkit lease acquire \
|
|
552
603
|
--workspace "$PROJECT_ROOT" \
|
|
553
604
|
--run-id "$RUN_ID" \
|
|
554
605
|
--work-item "$WORK_ITEM_ID" \
|
|
@@ -559,10 +610,10 @@ owlrunkit lease acquire \
|
|
|
559
610
|
Inspect or release it through the Core instead of editing lease JSON:
|
|
560
611
|
|
|
561
612
|
```bash
|
|
562
|
-
owlrunkit lease inspect \
|
|
613
|
+
npx --no-install owlrunkit lease inspect \
|
|
563
614
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID"
|
|
564
615
|
|
|
565
|
-
owlrunkit lease release \
|
|
616
|
+
npx --no-install owlrunkit lease release \
|
|
566
617
|
--workspace "$PROJECT_ROOT" --run-id "$RUN_ID" \
|
|
567
618
|
--work-item "$WORK_ITEM_ID"
|
|
568
619
|
```
|
|
@@ -570,7 +621,7 @@ owlrunkit lease release \
|
|
|
570
621
|
After implementation, derive the bounded DeliveryPacket from the active lease:
|
|
571
622
|
|
|
572
623
|
```bash
|
|
573
|
-
owlrunkit delivery create \
|
|
624
|
+
npx --no-install owlrunkit delivery create \
|
|
574
625
|
--workspace "$PROJECT_ROOT" \
|
|
575
626
|
--run-id "$RUN_ID" \
|
|
576
627
|
--from-lease "$WORK_ITEM_ID" \
|
|
@@ -606,7 +657,7 @@ If any path is uncovered, use the declared full profile. Do not interpret an emp
|
|
|
606
657
|
Before reusing evidence, prepare `OwlCodaRunKitCoverageAdoptRequestV1` and run:
|
|
607
658
|
|
|
608
659
|
```bash
|
|
609
|
-
owlrunkit coverage-adopt \
|
|
660
|
+
npx --no-install owlrunkit coverage-adopt \
|
|
610
661
|
--workspace "$PROJECT_ROOT" \
|
|
611
662
|
--run-id "$RUN_ID" \
|
|
612
663
|
--request "$COVERAGE_ADOPT_REQUEST_JSON"
|
|
@@ -626,7 +677,7 @@ After inspecting the source execution, prepare `OwlCodaRunKitResumeRequestV1`
|
|
|
626
677
|
and run:
|
|
627
678
|
|
|
628
679
|
```bash
|
|
629
|
-
owlrunkit resume \
|
|
680
|
+
npx --no-install owlrunkit resume \
|
|
630
681
|
--workspace "$PROJECT_ROOT" \
|
|
631
682
|
--run-id "$SOURCE_RUN_ID" \
|
|
632
683
|
--request "$RESUME_REQUEST_JSON"
|
|
@@ -656,7 +707,7 @@ After freezing a DeliveryPacket, prepare
|
|
|
656
707
|
SHA-256, then run:
|
|
657
708
|
|
|
658
709
|
```bash
|
|
659
|
-
owlrunkit verify-plan \
|
|
710
|
+
npx --no-install owlrunkit verify-plan \
|
|
660
711
|
--workspace "$PROJECT_ROOT" \
|
|
661
712
|
--run-id "$RUN_ID" \
|
|
662
713
|
--request "$VERIFY_PLAN_REQUEST_JSON"
|
|
@@ -687,7 +738,7 @@ For a model workload, first bind the remaining work to a hashed
|
|
|
687
738
|
`OwlCodaRunKitResourcePreflightRequestV1` and run:
|
|
688
739
|
|
|
689
740
|
```bash
|
|
690
|
-
owlrunkit resource-preflight \
|
|
741
|
+
npx --no-install owlrunkit resource-preflight \
|
|
691
742
|
--workspace "$PROJECT_ROOT" \
|
|
692
743
|
--run-id "$RUN_ID" \
|
|
693
744
|
--request "$RESOURCE_PREFLIGHT_REQUEST_JSON"
|
|
@@ -732,7 +783,7 @@ labels are not acceptance evidence.
|
|
|
732
783
|
Prepare `OwlCodaRunKitSnapshotRequestV1`, then run:
|
|
733
784
|
|
|
734
785
|
```bash
|
|
735
|
-
owlrunkit snapshot \
|
|
786
|
+
npx --no-install owlrunkit snapshot \
|
|
736
787
|
--workspace "$PROJECT_ROOT" \
|
|
737
788
|
--run-id "$RUN_ID" \
|
|
738
789
|
--request "$SNAPSHOT_REQUEST_JSON"
|
|
@@ -754,7 +805,7 @@ and after the command.
|
|
|
754
805
|
Prepare `OwlCodaRunKitVisualSmokeRequestV1`, then run:
|
|
755
806
|
|
|
756
807
|
```bash
|
|
757
|
-
owlrunkit visual-smoke \
|
|
808
|
+
npx --no-install owlrunkit visual-smoke \
|
|
758
809
|
--workspace "$PROJECT_ROOT" \
|
|
759
810
|
--run-id "$RUN_ID" \
|
|
760
811
|
--request "$VISUAL_SMOKE_REQUEST_JSON"
|
|
@@ -774,7 +825,7 @@ After every required snapshot passed and the DeliveryPacket is still fresh,
|
|
|
774
825
|
prepare `OwlCodaRunKitFinalizeRequestV1` and run:
|
|
775
826
|
|
|
776
827
|
```bash
|
|
777
|
-
owlrunkit finalize \
|
|
828
|
+
npx --no-install owlrunkit finalize \
|
|
778
829
|
--workspace "$PROJECT_ROOT" \
|
|
779
830
|
--run-id "$RUN_ID" \
|
|
780
831
|
--request "$FINALIZE_REQUEST_JSON"
|
|
@@ -791,7 +842,7 @@ this command is available.
|
|
|
791
842
|
Close only after consuming the current stage receipt and making an explicit controller decision:
|
|
792
843
|
|
|
793
844
|
```bash
|
|
794
|
-
owlrunkit closeout \
|
|
845
|
+
npx --no-install owlrunkit closeout \
|
|
795
846
|
--workspace "$PROJECT_ROOT" \
|
|
796
847
|
--run-id "$RUN_ID" \
|
|
797
848
|
--decision accepted \
|
|
@@ -812,7 +863,7 @@ After an accepted closeout, capture fresh project-root snapshots and start from
|
|
|
812
863
|
`sourceCandidatePath` or legacy `deliveryPacketPath`, then run:
|
|
813
864
|
|
|
814
865
|
```bash
|
|
815
|
-
owlrunkit ready-for-commit \
|
|
866
|
+
npx --no-install owlrunkit ready-for-commit \
|
|
816
867
|
--workspace "$PROJECT_ROOT" \
|
|
817
868
|
--run-id "$RUN_ID" \
|
|
818
869
|
--request "$READY_REQUEST_JSON"
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"schemaVersion": "OwlCodaRunKitConfigV2",
|
|
3
3
|
"core": {
|
|
4
4
|
"contractVersion": "0.2",
|
|
5
|
-
"coreVersion": "0.18.
|
|
6
|
-
"coreManifestSha256": "sha256:
|
|
7
|
-
"coreSourceRef": "artifact:sha256:
|
|
5
|
+
"coreVersion": "0.18.4",
|
|
6
|
+
"coreManifestSha256": "sha256:372d4c247e4b40b0fd2f3fe0f5bf928548095bfb7e2e92e9ac66790e2717f77d",
|
|
7
|
+
"coreSourceRef": "artifact:sha256:372d4c247e4b40b0fd2f3fe0f5bf928548095bfb7e2e92e9ac66790e2717f77d"
|
|
8
8
|
},
|
|
9
9
|
"authorizationPolicy": "external_explicit_authority_required"
|
|
10
10
|
}
|