owlrunkit 0.18.4 → 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 +38 -0
- package/README.md +102 -4
- package/docs/architecture/OWLCODA_RUNKIT_0190_CONSOLIDATED_DAILY_USE_PRODUCT_DECISION_20260812.md +97 -0
- package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_2.md +57 -0
- package/integrations/codex/skills/owlcoda-runkit/SKILL.md +28 -4
- 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 +9 -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 +202 -9
- package/packages/attest/src/quick.mjs +40 -4
- package/packages/attest/src/workspace-snapshot.mjs +133 -6
- package/registry-release-policy-v1.json +5 -5
- package/sbom.spdx.json +5 -5
- package/scripts/runkit-contract/core-contract.mjs +21 -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 +2 -1
- package/scripts/runkit-contract/outcome-presentation.mjs +171 -0
- package/scripts/runkit-contract/profile-onboarding.mjs +22 -2
- package/scripts/runkit-contract/project-cli-resolver.mjs +23 -5
- 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 +216 -25
- package/scripts/runkit-contract/quick-workspace-snapshot.mjs +1 -0
- package/scripts/runkit-contract/runkit-bootstrap.mjs +1 -0
- package/scripts/runkit-contract/runkit-cli.mjs +330 -18
- package/scripts/runkit-contract/runtime-transition.mjs +478 -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/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-v4.schema.json +142 -0
- package/scripts/runkit-contract/team-project.mjs +704 -16
- package/scripts/runkit-contract/verification-envelope.mjs +15 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.19.0
|
|
4
|
+
|
|
5
|
+
- Adds `bootstrap --dry-run|--apply` as one exact-registry, project-local,
|
|
6
|
+
lifecycle-locked onboarding transaction. It initializes or upgrades Core,
|
|
7
|
+
reconciles and validates profiles, adopts the release, runs doctor, and
|
|
8
|
+
restores its bounded preimage on failure without refreshing shared Skills.
|
|
9
|
+
- Makes first-use help and empty-profile repair actionable, and reports the
|
|
10
|
+
installed package/Core/Skill identity independently instead of accepting a
|
|
11
|
+
matching version string with drifted Core bytes.
|
|
12
|
+
- Runs Quick commands in an isolated temporary consumer with bounded dependency
|
|
13
|
+
projection and tool-cache directories, separating workspace source changes,
|
|
14
|
+
requested ignored-artifact bindings, and dependency-environment identity.
|
|
15
|
+
- Adds `quick-reuse` planning and execution for a passed prior receipt plus an
|
|
16
|
+
explicitly allowed small delta. Reuse fails closed on prior candidate,
|
|
17
|
+
command, dependency, ignored-binding, or out-of-scope path drift.
|
|
18
|
+
- Stores repeated Quick and Verification Envelope stdout/stderr as verified
|
|
19
|
+
content-addressed evidence objects while retaining the existing receipt-local
|
|
20
|
+
references and create-only receipt semantics.
|
|
21
|
+
- Adds `quick-runtime-verify` with explicit workspace mutation, external
|
|
22
|
+
mutation, rollback, final external state, failed/last-passed stage, and
|
|
23
|
+
recovery lineage fields. Command-reported runtime truth remains distinct from
|
|
24
|
+
independent deployment or business acceptance.
|
|
25
|
+
- Adds Project Event V4 actions for reopening or invalidating upstream work,
|
|
26
|
+
propagating downstream waiting, and atomically transferring responsibility.
|
|
27
|
+
Immutable prior failures, assignments, handoffs, and evidence remain visible.
|
|
28
|
+
- Adds a six-layer human outcome projection that separates candidate identity,
|
|
29
|
+
workspace attestation, verification, product/UX acceptance, deployment/runtime
|
|
30
|
+
activation, and production/business validity; lower layers never promote the
|
|
31
|
+
higher ones automatically.
|
|
32
|
+
- Adds local-only `efficiency record|status` metrics for repeated commands,
|
|
33
|
+
explicit false blocks and manual interventions, handoff wait, and
|
|
34
|
+
time-to-acceptable-result. Receipt count is intentionally not a success
|
|
35
|
+
metric and no telemetry is sent.
|
|
36
|
+
- Preserves the independent continuity and assurance axes, mandatory Formal
|
|
37
|
+
risk routing, strict predecessor contracts, and
|
|
38
|
+
`authorizationGranted=false` for Git, release, deployment, production, and
|
|
39
|
+
business authority.
|
|
40
|
+
|
|
3
41
|
## 0.18.4
|
|
4
42
|
|
|
5
43
|
- Adds controller-owned `project target-snapshot --dry-run|--apply` for binding
|
package/README.md
CHANGED
|
@@ -37,6 +37,14 @@ These additions use Profile Detection V3, Status/Takeover V2, Assurance Route
|
|
|
37
37
|
V2, and Usage Mode Recommendation V2; the published predecessor contracts
|
|
38
38
|
remain unchanged.
|
|
39
39
|
|
|
40
|
+
RunKit 0.19.0 consolidates the daily-use dogfood backlog into one release. It
|
|
41
|
+
adds atomic onboarding, isolated Quick dependency/cache execution, bounded
|
|
42
|
+
reuse of unchanged evidence, content-addressed output storage, explicit
|
|
43
|
+
external-runtime and rollback truth, upstream rework propagation, atomic
|
|
44
|
+
transfer actions, business-layer outcome projection, and local efficiency
|
|
45
|
+
metrics. These conveniences do not weaken Formal routing or grant Git,
|
|
46
|
+
release, deployment, production, or business authority.
|
|
47
|
+
|
|
40
48
|
The 0.18 Project Driver is a bounded surface for new projects and controlled
|
|
41
49
|
dogfood. Its product name does not claim to be a general long-running,
|
|
42
50
|
multi-phase, or enterprise control plane. Version 0.18 adds one bounded
|
|
@@ -51,7 +59,7 @@ separate authority boundaries.
|
|
|
51
59
|
## Install
|
|
52
60
|
|
|
53
61
|
```bash
|
|
54
|
-
npm install --save-exact owlrunkit@0.
|
|
62
|
+
npm install --save-exact owlrunkit@0.19.0
|
|
55
63
|
```
|
|
56
64
|
|
|
57
65
|
Use `npx --no-install owlrunkit` for project commands. The package bootstrap
|
|
@@ -66,12 +74,23 @@ the project Config must independently bind the same Core.
|
|
|
66
74
|
|
|
67
75
|
```bash
|
|
68
76
|
npx --no-install owlrunkit --version
|
|
77
|
+
npx --no-install owlrunkit bootstrap --workspace /absolute/path/to/project \
|
|
78
|
+
--exact owlrunkit@0.19.0 --dry-run
|
|
79
|
+
npx --no-install owlrunkit bootstrap --workspace /absolute/path/to/project \
|
|
80
|
+
--exact owlrunkit@0.19.0 --apply
|
|
69
81
|
npx --no-install owlrunkit init --workspace /absolute/path/to/project
|
|
70
82
|
npx --no-install owlrunkit doctor --workspace /absolute/path/to/project
|
|
71
83
|
npx --no-install owlrunkit mode recommend --workspace /absolute/path/to/project
|
|
72
84
|
npx --no-install owlrunkit mode status --workspace /absolute/path/to/project
|
|
73
85
|
```
|
|
74
86
|
|
|
87
|
+
`bootstrap` is the complete first-onboarding and eligible idle-upgrade entry.
|
|
88
|
+
It binds the exact project-local package to the official registry, initializes
|
|
89
|
+
Core, reconciles and validates profiles, writes adoption evidence, and reads
|
|
90
|
+
back doctor. Dry-run is zero-write; failed apply restores the governed preimage
|
|
91
|
+
and keeps a failure receipt. It reports shared Skill drift but never silently
|
|
92
|
+
updates a user or fleet Skill.
|
|
93
|
+
|
|
75
94
|
`mode recommend` is read-only and defaults to human output; add `--json` for a
|
|
76
95
|
machine contract. The five user modes are presets over `continuity`
|
|
77
96
|
(`none | project_driver`) and `assurance` (`none | quick | formal`). They never
|
|
@@ -186,10 +205,10 @@ classification, and explicit `proven` / `notProven` statements. Omitting
|
|
|
186
205
|
`--entry-snapshot` verifies the current candidate bytes but records
|
|
187
206
|
`overlayStatus=candidate_only`.
|
|
188
207
|
|
|
189
|
-
|
|
208
|
+
External-delivery intake cache classification covers paths visible to Git status, such as
|
|
190
209
|
`.vitest/**`, `.vite/**`, `.pytest_cache/**`, and `__pycache__/**`. It does not
|
|
191
|
-
claim to bind ignored paths (`ignoredPathsBound=false`) and does not
|
|
192
|
-
|
|
210
|
+
claim to bind ignored paths (`ignoredPathsBound=false`) and does not create a
|
|
211
|
+
Quick isolated consumer. Lockfile or
|
|
193
212
|
`node_modules` changes outside the packet are disclosed as dependency
|
|
194
213
|
environment changes. Any other entry-to-candidate delta, or any packet path
|
|
195
214
|
outside the WorkItem's allowed ownership, blocks import before project truth is
|
|
@@ -320,6 +339,17 @@ Run Quick with:
|
|
|
320
339
|
npx --no-install owlrunkit quick-verify --workspace . -- npm test
|
|
321
340
|
npx --no-install owlrunkit quick-verify --workspace . --stdin-file ./remote-check.sh --attest \
|
|
322
341
|
-- ssh test-host /bin/sh
|
|
342
|
+
npx --no-install owlrunkit quick-verify --workspace . --isolate \
|
|
343
|
+
--dependency-root /absolute/dependency-consumer -- npm test
|
|
344
|
+
npx --no-install owlrunkit quick-verify --workspace . \
|
|
345
|
+
--bind-ignored .generated/audit.json -- node ./verify-generated.mjs
|
|
346
|
+
npx --no-install owlrunkit quick-reuse --workspace . \
|
|
347
|
+
--base-receipt .owlcoda/runkit/quick/receipts/<id>/receipt.json \
|
|
348
|
+
--allow-path src/new-adapter.mjs --dry-run -- node --test tests/new-adapter.test.mjs
|
|
349
|
+
npx --no-install owlrunkit quick-verify --workspace . --capture-runtime \
|
|
350
|
+
-- ./deploy-and-readback.sh
|
|
351
|
+
npx --no-install owlrunkit quick-runtime-verify --workspace . \
|
|
352
|
+
--receipt .owlcoda/runkit/quick/receipts/<id>/runtime-transition.json
|
|
323
353
|
npx --no-install owlrunkit quick-metrics --workspace .
|
|
324
354
|
npx --no-install owlrunkit quick-metrics --workspace . --verbose
|
|
325
355
|
```
|
|
@@ -333,6 +363,50 @@ restore phases remain visible while the complete artifacts stay receipt-bound.
|
|
|
333
363
|
`--attest` runs the existing attestation immediately and returns its independent
|
|
334
364
|
object alongside the Quick result; it does not promote Quick to Formal.
|
|
335
365
|
|
|
366
|
+
`--isolate` emits Quick Receipt V3 and runs the exact command from a disposable
|
|
367
|
+
copy of Git-visible candidate files. Common cache variables and temporary files
|
|
368
|
+
point outside the source checkout; new ignored artifacts are disclosed and
|
|
369
|
+
discarded, while a visible source edit in the consumer invalidates the receipt.
|
|
370
|
+
The exact caller-owned command is not an OS write sandbox; direct writes it
|
|
371
|
+
performs outside the consumer remain subject to the explicit before/after
|
|
372
|
+
bindings.
|
|
373
|
+
An optional `--dependency-root` projects an already-installed `node_modules`
|
|
374
|
+
into the consumer, prepends its binary directory, and hash-binds package, lock,
|
|
375
|
+
installed-package, and executable metadata before and after execution. RunKit
|
|
376
|
+
does not install dependencies or contact a registry for this command.
|
|
377
|
+
|
|
378
|
+
Repeatable literal `--bind-ignored` paths opt specific ignored workspace bytes
|
|
379
|
+
into Workspace Snapshot V2. Missing is a bound state; file or directory changes
|
|
380
|
+
invalidate Quick. Unrequested ignored paths remain explicitly outside the
|
|
381
|
+
claim. V1/V2 receipts and Workspace Snapshot V1 keep their existing meanings.
|
|
382
|
+
|
|
383
|
+
`quick-reuse` checks an earlier passed, source-unchanged Quick receipt against
|
|
384
|
+
the current candidate at byte level. A clean commit does not create false drift
|
|
385
|
+
when it preserves the previously dirty candidate bytes. Only literal
|
|
386
|
+
`--allow-path` deltas may remain; any other tracked, untracked, deleted,
|
|
387
|
+
renamed, submodule, or previously bound ignored-path delta blocks before the
|
|
388
|
+
exact command runs. `--apply` then runs only the delta gate and records
|
|
389
|
+
`OwlCodaQuickEvidenceReuseReceiptV1`. It does not promote either Quick receipt
|
|
390
|
+
to Formal, UX, deployment, production, or business acceptance.
|
|
391
|
+
|
|
392
|
+
New Quick output and Verification Envelope stdout/stderr bytes are also placed
|
|
393
|
+
in a project-global create-only SHA-256 object store. Repeated objects reuse the
|
|
394
|
+
same content identity; receipt-local Quick paths remain readable through
|
|
395
|
+
copy-on-write materialization, and historical receipt paths are not rewritten
|
|
396
|
+
or destructively compacted.
|
|
397
|
+
|
|
398
|
+
`--capture-runtime` sets `OWLRUNKIT_RUNTIME_REPORT` to an initially absent,
|
|
399
|
+
receipt-local path. The exact command may write one strict
|
|
400
|
+
`OwlCodaRunKitExternalRuntimeReportV1`; RunKit then keeps the ordinary Quick
|
|
401
|
+
receipt and adds an `OwlCodaRunKitRuntimeTransitionReceiptV1`. The companion
|
|
402
|
+
separates derived `workspaceMutation` from command-reported
|
|
403
|
+
`externalMutation`, and binds ordered stages, failed/last-passed stages,
|
|
404
|
+
rollback, final external state, and recovery artifacts with explicit
|
|
405
|
+
`capturedBefore` and `restoresTo` identities. Missing or inconsistent runtime
|
|
406
|
+
truth fails closed without erasing the Quick receipt. This is a hash-bound
|
|
407
|
+
command report, not an independent external observation or deployment
|
|
408
|
+
authorization; `quick-runtime-verify` verifies stored integrity only.
|
|
409
|
+
|
|
336
410
|
`quick-metrics` is local-only and returns aggregate counts. Add `--verbose`
|
|
337
411
|
when the individual receipt paths are needed. The former `--local` flag remains
|
|
338
412
|
accepted as a compatibility no-op. New successful receipts no longer carry
|
|
@@ -340,6 +414,30 @@ the fixed `quick_ignored_artifact_unbound` issue; historical receipts remain
|
|
|
340
414
|
strictly readable without surfacing that non-actionable code as an attestation
|
|
341
415
|
issue.
|
|
342
416
|
|
|
417
|
+
Quick's default human result is business-first: it says whether the exact
|
|
418
|
+
verification passed, what candidate/workspace evidence is bound, and keeps
|
|
419
|
+
product/UX, deployment/runtime, and production/business acceptance visibly
|
|
420
|
+
separate. A command-reported runtime transition is labeled as reported rather
|
|
421
|
+
than independently observed. Use `--json` for the strict
|
|
422
|
+
`OwlCodaRunKitOutcomeSummaryV1` projection.
|
|
423
|
+
|
|
424
|
+
RunKit can measure its own local workflow friction without telemetry:
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
npx --no-install owlrunkit efficiency record --workspace . \
|
|
428
|
+
--event-id wave-start --at 2026-08-13T00:00:00.000Z \
|
|
429
|
+
--kind workflow_started --workflow-id wave-1 --summary 'Wave started.'
|
|
430
|
+
npx --no-install owlrunkit efficiency status --workspace .
|
|
431
|
+
npx --no-install owlrunkit efficiency status --workspace . --verbose --json
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
Repeated Quick command executions are derived from matching command, candidate,
|
|
435
|
+
input, and dependency bindings. False blocks and manual interventions count
|
|
436
|
+
only when explicitly recorded. Handoff wait comes from Project Driver truth;
|
|
437
|
+
time-to-acceptable-result requires paired workflow start/result marks. Receipt
|
|
438
|
+
volume is intentionally not a value metric, and every result keeps Git,
|
|
439
|
+
release, deployment, production, and business authority false.
|
|
440
|
+
|
|
343
441
|
## Formal Delivery in three commands
|
|
344
442
|
|
|
345
443
|
Given a Goal Contract and the paths this work item may write, the happy path is:
|
package/docs/architecture/OWLCODA_RUNKIT_0190_CONSOLIDATED_DAILY_USE_PRODUCT_DECISION_20260812.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# OwlRunKit 0.19.0 Consolidated Daily-Use Product Decision
|
|
2
|
+
|
|
3
|
+
状态:**Owner 已授权实施;七个 Wave 的源代码候选已完成,正式发布验证进行中**
|
|
4
|
+
|
|
5
|
+
## Decision
|
|
6
|
+
|
|
7
|
+
0.19.0 是一次整合型小版本后的次版本升级。它不会继续拆出多个 0.18.x,
|
|
8
|
+
而是在一个 release candidate 中收敛 0.18.4 明确留下、且已被 OwlChen、MES、
|
|
9
|
+
OwlFootball 和 MERM dogfood 重复验证的十类摩擦。
|
|
10
|
+
|
|
11
|
+
长期产品原则保持不变:RunKit 默认轻、必要时重。它是飞行记录仪和阶段控制器,
|
|
12
|
+
不是每条研发命令的审批系统。
|
|
13
|
+
|
|
14
|
+
## Product Axes
|
|
15
|
+
|
|
16
|
+
用户可见 mode 继续只是两个正交维度的 preset:
|
|
17
|
+
|
|
18
|
+
- continuity:`none | project_driver`
|
|
19
|
+
- assurance:`none | quick | formal`
|
|
20
|
+
|
|
21
|
+
长周期、跨会话和多阶段主要提高 continuity。只有多 authority、多 writer、资金、
|
|
22
|
+
权限、安全、不可逆变更、回滚不确定、schema/data migration 或明确 Formal
|
|
23
|
+
acceptance 才强制 Formal。风险解除后允许降级,升级不成为粘性状态。
|
|
24
|
+
|
|
25
|
+
## 0.19.0 Scope
|
|
26
|
+
|
|
27
|
+
### Wave 1 — Atomic onboarding
|
|
28
|
+
|
|
29
|
+
- 一条可预览、可原子应用、失败可回滚的 bootstrap;
|
|
30
|
+
- `init --help` 与空 profile 首次接入死锁;
|
|
31
|
+
- project-local exact binding 和 shared Skill drift 的明确诊断。
|
|
32
|
+
|
|
33
|
+
### Wave 2 — Isolated verification
|
|
34
|
+
|
|
35
|
+
- 临时 dependency consumer 和工具缓存隔离;
|
|
36
|
+
- 源码、ignored cache、dependency environment 三类变化分离;
|
|
37
|
+
- 只有任务明确需要时才哈希绑定 ignored paths。
|
|
38
|
+
|
|
39
|
+
### Wave 3 — Evidence reuse
|
|
40
|
+
|
|
41
|
+
- 旧 receipt + 小范围允许 delta 的复用规划与精确增量 gate;
|
|
42
|
+
- 大 artifact 以 content-addressed hash/reference 去重,保留可恢复性。
|
|
43
|
+
|
|
44
|
+
### Wave 4 — Runtime and recovery truth
|
|
45
|
+
|
|
46
|
+
- `workspaceMutation`、`externalMutation`、`rollbackPerformed`、
|
|
47
|
+
`finalExternalState`、`failedStage`、`lastPassedStage`、`rollbackOutcome`;
|
|
48
|
+
- recovery evidence 明确 `capturedBefore`、`restoresTo` 等语义。
|
|
49
|
+
|
|
50
|
+
### Wave 5 — Rework lifecycle
|
|
51
|
+
|
|
52
|
+
- 原生 reopen/invalidate upstream WorkItem;
|
|
53
|
+
- downstream waiting propagation;
|
|
54
|
+
- 原子 transfer/reject-and-return 高层动作,同时保留不可变底层事件。
|
|
55
|
+
|
|
56
|
+
### Wave 6 — Human outcome and economics
|
|
57
|
+
|
|
58
|
+
- 收据先展示业务阶段结果、验收层级和未证明边界;
|
|
59
|
+
- 统计重复命令、误阻塞、人工介入、handoff 等待和 time-to-acceptable-result;
|
|
60
|
+
- 指标用于约束 RunKit 自身摩擦,不以 receipt 数量冒充价值。
|
|
61
|
+
|
|
62
|
+
### Wave 7 — Release closure
|
|
63
|
+
|
|
64
|
+
- predecessor contracts 精确兼容或显式版本化 successor;
|
|
65
|
+
- 独立风险审查、Core identity、packed Skill/package、registry consumer;
|
|
66
|
+
- 一次性发布 `owlrunkit@0.19.0`。
|
|
67
|
+
|
|
68
|
+
## Safety And Authority Boundaries
|
|
69
|
+
|
|
70
|
+
- 用户 mode 是偏好,不是授权;较轻 mode 不能绕过强制 Formal 事实;
|
|
71
|
+
- RunKit 结果始终保持 `authorizationGranted=false`;
|
|
72
|
+
- receipt acceptance 不等于 commit、push、tag、publish、deploy、production 或业务验收;
|
|
73
|
+
- controller/target 必须是分离的真实目录,冻结 target 不接受控制 artifacts 注入;
|
|
74
|
+
- 已发布 strict schema 不原地重解释,破坏性变化必须新建版本并让 predecessor 共存;
|
|
75
|
+
- bootstrap 不静默刷新用户级/fleet Skill,不静默修改 Git,不联网执行发布动作。
|
|
76
|
+
|
|
77
|
+
## Evidence Layers
|
|
78
|
+
|
|
79
|
+
界面与 receipt 必须依次区分:
|
|
80
|
+
|
|
81
|
+
1. candidate file identity;
|
|
82
|
+
2. workspace/overlay attestation;
|
|
83
|
+
3. verification command/test result;
|
|
84
|
+
4. UX 或独立产品验收;
|
|
85
|
+
5. deployment/runtime activation;
|
|
86
|
+
6. production 或业务有效性。
|
|
87
|
+
|
|
88
|
+
低层证据不得自动提升为高层结论。
|
|
89
|
+
|
|
90
|
+
## What Cannot Be Claimed Yet
|
|
91
|
+
|
|
92
|
+
- 0.19.0 尚未 tag、publish 或被任何外部项目采用;
|
|
93
|
+
- 本文不是 npm registry receipt,源代码完成不能替代 packed consumer 与
|
|
94
|
+
registry consumer 验证;
|
|
95
|
+
- 当前可以声称七个 Wave 已进入单一 0.19.0 release candidate,不能声称
|
|
96
|
+
npm latest 已改变;
|
|
97
|
+
- public mirror、官网、8019、全局 Skill 与外部项目升级不属于本次授权。
|
|
@@ -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,
|
|
@@ -7,10 +7,10 @@ description: Run receipt-backed, project-owned work with OwlCoda RunKit. Use whe
|
|
|
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
|
|
@@ -190,11 +190,23 @@ below has no CLI entry.
|
|
|
190
190
|
## Initialize and inspect
|
|
191
191
|
|
|
192
192
|
```bash
|
|
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
|
|
193
197
|
npx --no-install owlrunkit init --workspace "$PROJECT_ROOT"
|
|
194
198
|
npx --no-install owlrunkit inspect --json --workspace "$PROJECT_ROOT"
|
|
195
199
|
npx --no-install owlrunkit status --workspace "$PROJECT_ROOT"
|
|
196
200
|
```
|
|
197
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
|
+
|
|
198
210
|
Initialization may write only `.owlcoda/runkit/`. It must not modify business source.
|
|
199
211
|
It atomically upgrades a known ConfigV1 project or refreshes an older v0.2
|
|
200
212
|
Core patch identity and writes a local migration receipt with
|
|
@@ -246,6 +258,9 @@ npx --no-install owlrunkit quick-metrics \
|
|
|
246
258
|
|
|
247
259
|
npx --no-install owlrunkit quick-metrics \
|
|
248
260
|
--workspace "$PROJECT_ROOT" --verbose
|
|
261
|
+
|
|
262
|
+
npx --no-install owlrunkit efficiency status \
|
|
263
|
+
--workspace "$PROJECT_ROOT"
|
|
249
264
|
```
|
|
250
265
|
|
|
251
266
|
`--stdin-file` copies and SHA-256-binds at most 1 MiB of regular non-symlink
|
|
@@ -256,6 +271,15 @@ default; `--verbose` adds receipt paths. Metrics are always local-only and
|
|
|
256
271
|
perform no telemetry or network request; the former `--local` flag remains an
|
|
257
272
|
accepted compatibility no-op.
|
|
258
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.
|
|
282
|
+
|
|
259
283
|
Core v0.13 also adds deterministic repair and exact-byte offline transport:
|
|
260
284
|
|
|
261
285
|
```bash
|
|
@@ -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.
|