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.
Files changed (49) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +102 -4
  3. package/docs/architecture/OWLCODA_RUNKIT_0190_CONSOLIDATED_DAILY_USE_PRODUCT_DECISION_20260812.md +97 -0
  4. package/docs/architecture/OWLCODA_RUN_KIT_CONTRACT_V0_2.md +57 -0
  5. package/integrations/codex/skills/owlcoda-runkit/SKILL.md +28 -4
  6. package/integrations/codex/skills/owlcoda-runkit/assets/templates/config.json +3 -3
  7. package/integrations/codex/skills/owlcoda-runkit/references/contract-v0.2.md +57 -0
  8. package/package.json +1 -1
  9. package/packages/attest/README.md +9 -5
  10. package/packages/attest/consumer-surface-v2.json +263 -0
  11. package/packages/attest/distribution-manifest-v1.json +9 -1
  12. package/packages/attest/schemas/quick-verification-receipt-v3.schema.json +244 -0
  13. package/packages/attest/schemas/workspace-snapshot-v2.schema.json +114 -0
  14. package/packages/attest/src/dependency-environment.mjs +128 -0
  15. package/packages/attest/src/index.mjs +1 -0
  16. package/packages/attest/src/quick-receipt-contract.mjs +202 -9
  17. package/packages/attest/src/quick.mjs +40 -4
  18. package/packages/attest/src/workspace-snapshot.mjs +133 -6
  19. package/registry-release-policy-v1.json +5 -5
  20. package/sbom.spdx.json +5 -5
  21. package/scripts/runkit-contract/core-contract.mjs +21 -1
  22. package/scripts/runkit-contract/efficiency-metrics.mjs +559 -0
  23. package/scripts/runkit-contract/evidence-store.mjs +130 -0
  24. package/scripts/runkit-contract/onboarding-bootstrap.mjs +685 -0
  25. package/scripts/runkit-contract/onboarding-doctor.mjs +2 -1
  26. package/scripts/runkit-contract/outcome-presentation.mjs +171 -0
  27. package/scripts/runkit-contract/profile-onboarding.mjs +22 -2
  28. package/scripts/runkit-contract/project-cli-resolver.mjs +23 -5
  29. package/scripts/runkit-contract/quick-evidence-reuse.mjs +590 -0
  30. package/scripts/runkit-contract/quick-isolation.mjs +314 -0
  31. package/scripts/runkit-contract/quick-metrics.mjs +51 -3
  32. package/scripts/runkit-contract/quick-receipt.mjs +31 -1
  33. package/scripts/runkit-contract/quick-verify.mjs +216 -25
  34. package/scripts/runkit-contract/quick-workspace-snapshot.mjs +1 -0
  35. package/scripts/runkit-contract/runkit-bootstrap.mjs +1 -0
  36. package/scripts/runkit-contract/runkit-cli.mjs +330 -18
  37. package/scripts/runkit-contract/runtime-transition.mjs +478 -0
  38. package/scripts/runkit-contract/schemas/efficiency-event-v1.schema.json +56 -0
  39. package/scripts/runkit-contract/schemas/efficiency-metrics-v1.schema.json +220 -0
  40. package/scripts/runkit-contract/schemas/external-runtime-report-v1.schema.json +125 -0
  41. package/scripts/runkit-contract/schemas/onboarding-bootstrap-plan-v1.schema.json +168 -0
  42. package/scripts/runkit-contract/schemas/onboarding-bootstrap-receipt-v1.schema.json +130 -0
  43. package/scripts/runkit-contract/schemas/outcome-summary-v1.schema.json +83 -0
  44. package/scripts/runkit-contract/schemas/quick-evidence-reuse-plan-v1.schema.json +59 -0
  45. package/scripts/runkit-contract/schemas/quick-evidence-reuse-receipt-v1.schema.json +79 -0
  46. package/scripts/runkit-contract/schemas/runtime-transition-receipt-v1.schema.json +185 -0
  47. package/scripts/runkit-contract/schemas/team-project-event-v4.schema.json +142 -0
  48. package/scripts/runkit-contract/team-project.mjs +704 -16
  49. 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.18.4
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
- The cache classification covers cache paths visible to Git status, such as
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 yet create
192
- an isolated dependency consumer or temporary test cache. Lockfile or
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:
@@ -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.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;
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.18.4",
6
- "coreManifestSha256": "sha256:372d4c247e4b40b0fd2f3fe0f5bf928548095bfb7e2e92e9ac66790e2717f77d",
7
- "coreSourceRef": "artifact:sha256:372d4c247e4b40b0fd2f3fe0f5bf928548095bfb7e2e92e9ac66790e2717f77d"
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.18.4",
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 V2 artifacts, Formal public verification
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` freezes the complete command, schema, reference,
12
- issue-code, compatibility, privacy, metrics, and unsupported-claim covenant.
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, and the frozen Consumer Surface V1 manifest. Local metrics never
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.