@awebai/oats 0.29.4 → 0.30.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 (224) hide show
  1. package/README.md +12 -6
  2. package/bin/oats.mjs +194 -50
  3. package/capabilities/oats-aweb/bin/oats-aweb.mjs +538 -204
  4. package/capabilities/oats-aweb/injects/aweb.md +1 -1
  5. package/capabilities/oats-aweb/lib/binding-wire.mjs +31 -22
  6. package/capabilities/oats-aweb/oats.json +5 -12
  7. package/capabilities/oats-aweb/skills/VENDORED.md +4 -4
  8. package/capabilities/oats-aweb/skills/aweb-team-membership/SKILL.md +1 -1
  9. package/capabilities/oats-aweb/skills/oats-aweb/SKILL.md +83 -13
  10. package/capabilities/oats-code-review/injects/reviewer.md +26 -0
  11. package/capabilities/oats-code-review/oats.json +16 -0
  12. package/capabilities/oats-code-review/skills/adversarial-review/SKILL.md +66 -0
  13. package/capabilities/oats-code-review/skills/review-dev-docs/SKILL.md +30 -0
  14. package/capabilities/oats-code-review/skills/security-review/SKILL.md +56 -0
  15. package/capabilities/oats-code-review/skills/simplification-review/SKILL.md +34 -0
  16. package/capabilities/oats-developer/injects/developer.md +38 -0
  17. package/capabilities/oats-developer/oats.json +17 -0
  18. package/capabilities/oats-developer/skills/execution-strategy/SKILL.md +43 -0
  19. package/capabilities/oats-developer/skills/maintain-dev-docs/SKILL.md +47 -0
  20. package/capabilities/oats-developer/skills/run-the-review-loop/SKILL.md +65 -0
  21. package/capabilities/oats-developer/skills/understand-the-spec/SKILL.md +37 -0
  22. package/capabilities/oats-developer/skills/worktrees/SKILL.md +36 -0
  23. package/capabilities/oats-engineering-expert/injects/expert.md +37 -0
  24. package/capabilities/oats-engineering-expert/oats.json +17 -0
  25. package/capabilities/oats-engineering-expert/skills/coordinate-developers/SKILL.md +37 -0
  26. package/capabilities/oats-engineering-expert/skills/coordinate-experts/SKILL.md +52 -0
  27. package/capabilities/oats-engineering-expert/skills/land-your-prs/SKILL.md +50 -0
  28. package/capabilities/oats-engineering-expert/skills/plan-and-spec/SKILL.md +53 -0
  29. package/capabilities/oats-engineering-expert/skills/verify-developer-work/SKILL.md +49 -0
  30. package/capabilities/oats-okf/bin/oats-okf.mjs +8 -4
  31. package/capabilities/oats-okf/lib/binding-wire.mjs +47 -15
  32. package/capabilities/oats-okf/lib/inspection.mjs +26 -7
  33. package/capabilities/oats-okf/lib/sources.mjs +16 -2
  34. package/capabilities/oats-okf/lib/worker.mjs +5 -16
  35. package/capabilities/oats-okf/oats.json +6 -3
  36. package/capabilities/oats-okf-harvest/bin/okf-harvest.mjs +2 -2
  37. package/capabilities/oats-okf-harvest/oats.json +3 -3
  38. package/capabilities/oats-okf-harvest/skills/knowledge-harvest/SKILL.md +6 -6
  39. package/capabilities/oats-okf-maintenance/bin/okf-maintenance.mjs +2 -2
  40. package/capabilities/oats-okf-maintenance/injects/maintainer.md +1 -1
  41. package/capabilities/oats-okf-maintenance/oats.json +2 -2
  42. package/capabilities/oats-okf-maintenance/skills/knowledge-review/SKILL.md +1 -1
  43. package/capabilities/oats-okf-maintenance/skills/okf-trigger-setup/SKILL.md +11 -23
  44. package/capabilities/oats-workspace-experts/injects/oats-experts.md +26 -0
  45. package/capabilities/oats-workspace-experts/oats.json +9 -0
  46. package/docs/capabilities.md +160 -171
  47. package/docs/capability-manifest.schema.json +6 -11
  48. package/docs/configuration.md +213 -64
  49. package/docs/design/2026-09-16-knowledge-capability-contract.md +36 -50
  50. package/docs/design/2026-09-23-workspace-module-contracts.md +377 -544
  51. package/docs/design/2026-09-26-okf-knowledge-operations.md +132 -357
  52. package/docs/design/2026-09-27-team-model-v2.md +97 -117
  53. package/docs/design/2026-09-28-automations-trust.md +38 -0
  54. package/docs/design/2026-09-28-soul-launch-preference.md +63 -0
  55. package/docs/design/HISTORY.md +65 -0
  56. package/docs/design/README.md +23 -54
  57. package/docs/desktop-cli-api.md +1787 -1777
  58. package/docs/desktop.md +30 -91
  59. package/docs/execution-targets.md +146 -292
  60. package/docs/first-team.md +31 -17
  61. package/docs/implementation.md +76 -288
  62. package/docs/integrations.md +118 -320
  63. package/docs/knowledge-capability-authoring.md +25 -52
  64. package/docs/knowledge-reference/acceptance.md +3 -3
  65. package/docs/knowledge-reference/adoption.md +1 -1
  66. package/docs/knowledge-reference/harvester.md +2 -2
  67. package/docs/knowledge-reference/package-craft.md +3 -3
  68. package/docs/knowledge-reference/provider-mapping.md +3 -6
  69. package/docs/knowledge-reference/reader-capture.md +3 -3
  70. package/docs/knowledge-theory.md +62 -166
  71. package/docs/knowledge.md +225 -404
  72. package/docs/layers.md +42 -97
  73. package/docs/oats-local.schema.json +58 -5
  74. package/docs/oats-membership.schema.json +1 -8
  75. package/docs/oats-package.schema.json +5 -5
  76. package/docs/oats-workspace.schema.json +8 -22
  77. package/docs/official-catalog.md +25 -28
  78. package/docs/packages.md +45 -63
  79. package/docs/plans/0.30-close-out.md +61 -0
  80. package/docs/release-lane.md +77 -0
  81. package/docs/release-notes/oats-framework-v1.1.3.md +10 -8
  82. package/docs/release-notes/v0.19.0.md +48 -147
  83. package/docs/release-notes/v0.19.1.md +2 -3
  84. package/docs/release-notes/v0.19.3.md +2 -15
  85. package/docs/release-notes/v0.20.0.md +0 -15
  86. package/docs/release-notes/v0.22.0.md +71 -138
  87. package/docs/release-notes/v0.22.1.md +42 -90
  88. package/docs/release-notes/v0.22.10.md +1 -1
  89. package/docs/release-notes/v0.22.11.md +1 -47
  90. package/docs/release-notes/v0.22.12.md +4 -13
  91. package/docs/release-notes/v0.22.13.md +1 -42
  92. package/docs/release-notes/v0.22.14.md +3 -11
  93. package/docs/release-notes/v0.22.15.md +1 -46
  94. package/docs/release-notes/v0.22.16.md +6 -8
  95. package/docs/release-notes/v0.22.18.md +1 -99
  96. package/docs/release-notes/v0.22.19.md +3 -14
  97. package/docs/release-notes/v0.22.2.md +6 -15
  98. package/docs/release-notes/v0.22.3.md +0 -1
  99. package/docs/release-notes/v0.22.4.md +1 -14
  100. package/docs/release-notes/v0.22.5.md +2 -12
  101. package/docs/release-notes/v0.22.6.md +0 -3
  102. package/docs/release-notes/v0.23.0.md +9 -25
  103. package/docs/release-notes/v0.23.1.md +9 -25
  104. package/docs/release-notes/v0.23.2.md +2 -4
  105. package/docs/release-notes/v0.24.0.md +56 -97
  106. package/docs/release-notes/v0.24.1.md +7 -11
  107. package/docs/release-notes/v0.24.10.md +34 -45
  108. package/docs/release-notes/v0.24.11.md +12 -20
  109. package/docs/release-notes/v0.24.12.md +35 -48
  110. package/docs/release-notes/v0.24.13.md +34 -41
  111. package/docs/release-notes/v0.24.2.md +9 -13
  112. package/docs/release-notes/v0.24.3.md +7 -11
  113. package/docs/release-notes/v0.24.4.md +6 -6
  114. package/docs/release-notes/v0.24.5.md +6 -10
  115. package/docs/release-notes/v0.24.6.md +2 -5
  116. package/docs/release-notes/v0.24.7.md +46 -75
  117. package/docs/release-notes/v0.24.8.md +58 -96
  118. package/docs/release-notes/v0.24.9.md +38 -54
  119. package/docs/release-notes/v0.25.0.md +59 -76
  120. package/docs/release-notes/v0.25.1.md +57 -81
  121. package/docs/release-notes/v0.25.2.md +51 -70
  122. package/docs/release-notes/v0.25.3.md +11 -13
  123. package/docs/release-notes/v0.25.4.md +9 -13
  124. package/docs/release-notes/v0.25.5.md +3 -5
  125. package/docs/release-notes/v0.25.6.md +20 -29
  126. package/docs/release-notes/v0.25.7.md +5 -7
  127. package/docs/release-notes/v0.25.8.md +26 -39
  128. package/docs/release-notes/v0.26.0.md +175 -646
  129. package/docs/release-notes/v0.27.0.md +4 -5
  130. package/docs/release-notes/v0.27.1.md +4 -6
  131. package/docs/release-notes/v0.27.2.md +1 -1
  132. package/docs/release-notes/v0.28.0.md +57 -124
  133. package/docs/release-notes/v0.29.0.md +89 -208
  134. package/docs/release-notes/v0.29.1.md +1 -1
  135. package/docs/release-notes/v0.29.2.md +3 -4
  136. package/docs/release-notes/v0.30.0.md +205 -0
  137. package/docs/schedules.md +280 -363
  138. package/docs/servers.md +99 -117
  139. package/docs/soul.schema.json +2 -9
  140. package/docs/souls-and-instances.md +145 -158
  141. package/docs/workspaces.md +132 -215
  142. package/lib/automations.mjs +21 -6
  143. package/lib/core.mjs +226 -74
  144. package/lib/instance-events.mjs +1 -1
  145. package/lib/instance-inspect.mjs +109 -34
  146. package/lib/instance-lifecycle.mjs +14 -1
  147. package/lib/instance-resolution.mjs +26 -27
  148. package/lib/launch-preference.mjs +87 -0
  149. package/lib/materialize.mjs +3 -3
  150. package/lib/resolve.mjs +29 -87
  151. package/lib/schedule.mjs +1 -1
  152. package/lib/teams-verbs.mjs +195 -0
  153. package/lib/teams.mjs +190 -0
  154. package/lib/triggers.mjs +2 -2
  155. package/lib/workspace.mjs +54 -147
  156. package/package-catalog.json +9 -15
  157. package/package.json +1 -1
  158. package/skills/oats-getting-started/SKILL.md +25 -13
  159. package/capabilities/oats-review/injects/review.md +0 -69
  160. package/capabilities/oats-review/oats.json +0 -10
  161. package/capabilities/oats-review/skills/code-review/SKILL.md +0 -44
  162. package/capabilities/oats-review/skills/security-review/SKILL.md +0 -59
  163. package/docs/conventions.md +0 -90
  164. package/docs/design/2026-09-07-architecture-reassessment.md +0 -131
  165. package/docs/design/2026-09-07-desktop-souls-capabilities.md +0 -50
  166. package/docs/design/2026-09-07-mobile-agent-management-proposal.md +0 -228
  167. package/docs/design/2026-09-08-expert-assisted-deployment-proposal.md +0 -558
  168. package/docs/design/2026-09-13-knowledge-and-memory-direction.md +0 -744
  169. package/docs/design/2026-09-13-knowledge-implementation.md +0 -127
  170. package/docs/design/2026-09-13-knowledge-location-contract.md +0 -340
  171. package/docs/design/2026-09-14-artifact-retention-contract.md +0 -190
  172. package/docs/design/2026-09-14-portable-souls-and-git-workspaces.md +0 -708
  173. package/docs/design/2026-09-14-portable-souls-contract-amendments.md +0 -85
  174. package/docs/design/2026-09-14-portable-souls-explainer.md +0 -750
  175. package/docs/design/2026-09-15-captured-dispatch.md +0 -127
  176. package/docs/design/2026-09-15-captured-resolution-records.md +0 -143
  177. package/docs/design/2026-09-15-package-preparation.md +0 -100
  178. package/docs/design/2026-09-15-portable-data-contract.md +0 -121
  179. package/docs/design/2026-09-15-portable-declarations.md +0 -189
  180. package/docs/design/2026-09-15-portable-souls-handoff.md +0 -150
  181. package/docs/design/2026-09-15-portable-souls-implementation.md +0 -417
  182. package/docs/design/2026-09-15-selection-lock-and-approval.md +0 -122
  183. package/docs/design/2026-09-15-source-observation.md +0 -119
  184. package/docs/design/2026-09-16-captured-admission.md +0 -77
  185. package/docs/design/2026-09-16-captured-helper-dispatch.md +0 -105
  186. package/docs/design/2026-09-16-captured-launch-inputs.md +0 -42
  187. package/docs/design/2026-09-16-command-profile-preparation.md +0 -86
  188. package/docs/design/2026-09-16-fresh-install-first-rollout.md +0 -47
  189. package/docs/design/2026-09-16-fresh-operator-walkthrough.md +0 -282
  190. package/docs/design/2026-09-16-messaging-capability-contract.md +0 -59
  191. package/docs/design/2026-09-16-portable-migration-evidence.md +0 -158
  192. package/docs/design/2026-09-16-portable-onboarding.md +0 -179
  193. package/docs/design/2026-09-16-prepare-request-transport.md +0 -26
  194. package/docs/design/2026-09-16-provider-binding-codecs.md +0 -98
  195. package/docs/design/2026-09-16-provider-binding-wire.md +0 -274
  196. package/docs/design/2026-09-17-capability-helper-input-contract.md +0 -95
  197. package/docs/design/2026-09-17-captured-backend-parity.md +0 -53
  198. package/docs/design/2026-09-17-captured-native-start.md +0 -58
  199. package/docs/design/2026-09-17-portable-boundary-hookup.md +0 -19
  200. package/docs/design/2026-09-17-portable-boundary-resources.md +0 -52
  201. package/docs/design/2026-09-17-public-captured-start.md +0 -108
  202. package/docs/design/2026-09-17-public-prepare-request.md +0 -90
  203. package/docs/design/2026-09-18-captured-pi-host.md +0 -205
  204. package/docs/design/2026-09-18-first-cut-release-checklist.md +0 -131
  205. package/docs/design/2026-09-18-herdr-protocol-compatibility.md +0 -60
  206. package/docs/design/2026-09-20-redesign-program-board.md +0 -142
  207. package/docs/design/2026-09-20-workspace-and-portable-adoption-plan.md +0 -289
  208. package/docs/design/2026-09-20-workspace-onboarding-public.md +0 -207
  209. package/docs/design/2026-09-22-desktop-parity-seams.md +0 -58
  210. package/docs/design/2026-09-23-simplified-workspace-model.md +0 -711
  211. package/docs/design/2026-09-23-workspace-v2-implementation-plan.md +0 -65
  212. package/docs/design/2026-09-24-desktop-phase-f-boundary.md +0 -242
  213. package/docs/design/2026-09-24-phase-d-plan.md +0 -305
  214. package/docs/design/2026-09-25-teams-contract.md +0 -258
  215. package/docs/design/2026-09-26-desktop-design-brief-architecture.md +0 -241
  216. package/docs/design/desktop-ux-plan.md +0 -362
  217. package/docs/design/launch-configurations.md +0 -168
  218. package/docs/design/okf-mirror-provenance.md +0 -105
  219. package/docs/design/operations-contract.md +0 -141
  220. package/docs/oats-member.schema.json +0 -38
  221. package/skills/integration-authoring/SKILL.md +0 -84
  222. package/skills/oats-support/SKILL.md +0 -79
  223. package/skills/skill-craft/SKILL.md +0 -109
  224. package/skills/soul-craft/SKILL.md +0 -116
@@ -1,11 +1,9 @@
1
1
  # OATS v0.23.0
2
2
 
3
- This is the prerequisite kernel release for capability-owned external knowledge
4
- and independent harvesting. It adds generic directory work and more reliable
5
- record capture; it does **not** migrate existing knowledge or select a new
6
- knowledge integration. The bundled `oats.okf` and official catalog pin remain
7
- **1.6.1**. OKF 2.0 is a separate, subsequent capability release; no new catalog
8
- pin or bundled v2 runtime is included here.
3
+ This kernel release adds generic directory work and more reliable record
4
+ capture, the prerequisites for capability-owned external knowledge. It does
5
+ **not** migrate existing knowledge or select a new knowledge integration. The
6
+ bundled `oats.okf` and official catalog pin remain **1.6.1**.
9
7
 
10
8
  ## Independent directory work
11
9
 
@@ -47,8 +45,8 @@ docs and the CLI, but **excludes** this optional payload entirely. npm omits
47
45
  symlinks; a partial copy without the canonical source alias is not a supported
48
46
  package. Acquisition does not synthesize aliases or relax integrity semantics.
49
47
 
50
- After this immutable tag is published, acquire through the normal Git package
51
- route and explicitly opt in for an author soul:
48
+ Acquire it through the normal Git package route and explicitly opt in for an
49
+ author soul:
52
50
 
53
51
  ```bash
54
52
  oats install git:github.com/awebai/oats@v0.23.0 --dir /path/to/scope
@@ -56,15 +54,13 @@ oats use oats.knowledge-theory --soul <author-soul> --dir /path/to/scope
56
54
  ```
57
55
 
58
56
  The default Git package root is `oats-package/`; acquisition locks the resolved
59
- commit and alone activates nothing. An official catalog pin can follow only
60
- after the immutable tag exists. No unpublished theory catalog pin is shipped
61
- in this prerequisite release.
57
+ commit and alone activates nothing. This release has no catalog pin for the
58
+ package.
62
59
 
63
60
  The package has no knowledge-layer binding, mandatory injection, runtime hook,
64
61
  command or dependency on OKF. Authors may adopt, adapt or replace the reference
65
62
  model. Each selected knowledge capability owns its runtime, reader/capture,
66
- judgment and delivery instructions. The first external-knowledge design covers
67
- Git PR delivery and non-Git directory custody; no framework ACL layer is added.
63
+ judgment and delivery instructions. No framework ACL layer is added.
68
64
 
69
65
  Canonical references are published under
70
66
  [the authoring guide](../knowledge-capability-authoring.md) and
@@ -79,15 +75,3 @@ own canonical alias through the unchanged normal composition path.
79
75
  Kernel, Pi adapter and Desktop versions are aligned at 0.23.0, including both
80
76
  lockfiles. Desktop still uses CLI API v1; its accepted kernel band is widened
81
77
  to `>=0.22.0 <0.24.0`, retaining support for released 0.22.x kernels.
82
-
83
- Local, CI and runnerless release checks share the recursive JavaScript
84
- inventory, including capability libraries, record and optional package scripts.
85
- Validation checks the optional theory manifests and canonical curriculum parity.
86
- Pack checks require public docs and reject any optional package bytes in the
87
- npm kernel. The installed kernel acquires an exact, self-contained Git fixture
88
- through direct and catalog routes, checks its tracked source alias, then removes
89
- the fixture checkout. Probes verify local reference closure, alternative-theory
90
- isolation, discovery, scaffold and retirement in Git and directory scopes without
91
- launching models. Publication
92
- remains gated on the exact tag's build/test/smoke results and Desktop artifacts;
93
- already-versioned candidates remain safe with `--allow-same-version`.
@@ -1,18 +1,16 @@
1
1
  # OATS v0.23.1 — external OKF v2 integration
2
2
 
3
- This patch integrates the published **oats.okf 2.0.0** Git package, tagged at
4
- `4b6d861ce44e5662303e150cc85095d0eb00d7e7`, following the published OATS 0.23.0
5
- prerequisite. The checked-in mirror records verified remote tag/object and
6
- payload provenance. Updating OATS alone does not change existing exact locks,
7
- activate capabilities, migrate knowledge or install a host timer.
3
+ This patch integrates the published **oats.okf 2.0.0** Git package. The
4
+ checked-in mirror records verified tag and payload provenance. Updating OATS
5
+ alone does not change existing exact locks, activate capabilities, migrate
6
+ knowledge or install a host timer.
8
7
 
9
8
  ## External OKF v2 integration
10
9
 
11
10
  The framework mirror follows the standalone package's **only exported
12
11
  capability**, `oats-package/capabilities/oats-okf/`. OATS >=0.23.0 supplies the
13
12
  generic directory-work and public capture/recall/CLI boundaries; OKF uses no
14
- private kernel imports. V0.23.1 prepares the framework catalog for OKF 2.0.0,
15
- without changing an existing deployment's exact lock or activation.
13
+ private kernel imports.
16
14
 
17
15
  This is a **breaking capability upgrade**, independently versioned from the
18
16
  framework patch:
@@ -49,11 +47,6 @@ record transport retains full returned evidence, not an inspection preview.
49
47
  Descriptor-selected `read`/`refresh` always writes new immutable views under
50
48
  source state, never the invoking repository or a deleted/replacement home.
51
49
 
52
- Regression qualification must retain behavioral coverage, including large
53
- piped documents, live identity failures, durable inspection after disappearance,
54
- external view placement and full native record backlog. Scaffold tests establish
55
- layout/custody, not that a model learned.
56
-
57
50
  ## Git distribution, not an npm payload shortcut
58
51
 
59
52
  Users acquire `oats.okf` through the catalog's exact Git payload and explicitly
@@ -65,12 +58,12 @@ integrity rules or advertise copying that mirror as a complete package.
65
58
  The optional `oats.knowledge-theory` catalog entry uses the already published
66
59
  **v0.23.0** source (package 1.0.0), avoiding a forward reference to an unpublished
67
60
  tag. The current Git source additionally contains the 1.0.1 authoring-reference
68
- patch, available through an explicit v0.23.1 Git source after publication.
61
+ patch, available through an explicit v0.23.1 Git source.
69
62
  Its payload stays in the repository's `oats-package/` Git subtree,
70
63
  not the kernel npm tarball. It exports authoring resources and
71
64
  `knowledge-theory-expert`, without a knowledge-layer binding, mandatory runtime
72
65
  injection or OKF dependency. Canonical references and copied local curriculum
73
- must stay synchronized. Acquisition alone activates nothing.
66
+ Acquisition alone activates nothing.
74
67
 
75
68
  ## Migration and verification
76
69
 
@@ -81,17 +74,8 @@ then deliberately cut over owner declarations and existing sources. Old
81
74
  watermarks are evidence, not v2 processing proof. No automatic migration deletes
82
75
  legacy material or leaves a knowledge symlink in the soul.
83
76
 
84
- Qualification includes the standalone suite against the actual published
85
- minimum kernel, strict byte/mode/symlink mirror verification, framework regression
86
- and installed-tarball Git acquisition probes. Iterative independent review
87
- covered custody, interrupted publication, source retirement and rejected-PR
88
- recovery. Separate real Pi learning after source/transcript deletion and actual
89
- GitHub PR merge/reconciliation/fresh-view acceptance were verified; scripted
90
- transport and model-learning evidence are kept distinct.
91
-
92
- The normal tag-driven release still gates npm publication on all tests and
93
- Desktop build/smoke legs. Live deployment and explicit knowledge cutover remain
94
- separate operations, not side effects of package acquisition.
77
+ Deployment and knowledge cutover are separate operations, not side effects of
78
+ package acquisition.
95
79
 
96
80
  See [knowledge runtime documentation](../knowledge.md) for settings, lifecycle,
97
81
  commands, custody and recovery boundaries.
@@ -2,8 +2,7 @@
2
2
 
3
3
  This release refreshes OATS Desktop around souls, instances and reported
4
4
  capabilities, while keeping lifecycle operations behind the installed OATS CLI.
5
- It builds on the released 0.23.1 kernel and knowledge contracts; it does not
6
- implement the proposed Portable Souls architecture.
5
+ It builds on the released 0.23.1 kernel and knowledge contracts.
7
6
 
8
7
  ## Workspace and visual polish
9
8
 
@@ -43,7 +42,6 @@ compatible installation it remains observation-only, with persistent recovery
43
42
  controls across Workspace sections. The root npm package still contains no
44
43
  Electron dependencies; Desktop remains a private, separately packaged app.
45
44
 
46
- New Knowledge/Tasks views, portable-soul membership/discovery and an agent-facing
47
- file-open CLI command are not part of this release. Workspace layout memory is
45
+ Workspace layout memory is
48
46
  session-local, not restart persistence. macOS assets retain the existing ad-hoc
49
47
  signing model; this release does not introduce Developer ID notarization.
@@ -1,104 +1,63 @@
1
1
  # OATS v0.24.0 — retained execution first cut
2
2
 
3
- This kernel/Pi/Desktop **0.24.0** cut covers the qualified retained-execution slice
4
- below. Source review, native acceptance, packaged-artifact validation, publication
5
- and deployment remain distinct facts; this note is not proof of any user's rollout.
3
+ Kernel, Pi adapter and Desktop **0.24.0**: the first cut of retained (captured)
4
+ execution.
6
5
 
7
- ## Published official OKF pairing
6
+ ## Official OKF pairing
8
7
 
9
- This cut pins **oats.okf 2.1.0**, requiring **OATS >=0.24.0**, at the existing
10
- `oats-package` source path. Published tag `v2.1.0` resolves to reviewed commit
11
- `f20f8e57a22bdffb48b34dee9bcbc03a9e0704db`. The existing finalizer verified the actual
12
- origin tag object, committed payload bytes/modes/alias and wrapper files; the mirror
13
- inventory now records that publication. Do not use an installed0.23.x kernel with
14
- this newer provider floor. Kernel versions are stamped by the existing tag lane;
15
- no compatibility check is bypassed.
16
-
17
- Before kernel publication, real retained primary and operation-created SOURCE workers
18
- completed on both tmux and Herdr, with qualified process/SDK outcomes, protected
19
- captured turns and independent directory-knowledge delivery. A separate real probe
20
- passed exact replay and distinct restart for all four homes, observing the supplied
21
- instruction heading and selected skill read without a controlled unrelated ancestor
22
- canary. The release-stamped kernel/adapter tarballs with this provider also passed
23
- actual installation and smoke outside the checkout. These results do not extend the
24
- explicit feature limits below or substitute for installed published-artifact checks.
8
+ The catalog pins **oats.okf 2.1.0** (tag `v2.1.0`, `oats-package` source path),
9
+ which requires **OATS >=0.24.0**. Do not pair it with an installed 0.23.x kernel.
25
10
 
26
11
  ## Source-complete preparation and retained execution
27
12
 
28
- - Public `prepare --request` accepts one bounded nonsecret JSON input through the
29
- shared strict reader and preparation validator. Source, deployment, work target
30
- and workspace/standalone context remain distinct; no inherited current config
31
- fills missing source authority. Exact executable approvals remain explicit.
32
- - Fresh onboarding detects existing managed state without deleting it. Inspected
33
- deployment/work-directory replacement or later provisioning requires reinspection;
34
- ordinary project edits remain allowed. This is a point-in-time check, not a lock
35
- against concurrent writers or a general migration engine.
36
- - Captured instructions/resources, source identity and provider bindings remain
37
- usable from retained bytes after the source is removed. Portable home/work
38
- boundaries preserve canonical aliases and immutable source custody.
39
- - Captured primary/helper public start and restart use retained selections and
40
- indexed incarnation/intent custody. A helper is launched through its exact
41
- **SOURCE helper edge**, not by treating a dedicated helper ID as a persistent
42
- source. Same-ID uncertainty is held rather than redispatched; failure receipts,
43
- pending allocation, native history and cleanup obligations are preserved.
44
- - Provider execution keeps generic invocation, same-owner binding and explicitly
45
- opted-in source-receipt inputs separate. Missing/invalid current transport does
46
- not silently become legacy authority. Source-owned completion is not transferred
47
- to a helper or invented instance.
48
-
49
- ## Backends and first-cut Pi profile
50
-
51
- The shared native path supports the existing tmux and Herdr adapters. Herdr adapter
52
- selection understands exact protocols20 and22; it does not negotiate an unknown
53
- protocol, relabel a retained target or fall back to tmux. Public caller/schema support
54
- and the actual explicit server endpoint must match the selected protocol. API2
55
- availability/readiness-not-checked is not server, model or provider health.
56
-
57
- The first-cut Pi host target is explicit print-mode retained execution, not unrestricted
58
- interactive/plugin parity. Its packaged entrypoint, parser/native services, selected
59
- curriculum eligibility and external session-directory identity witness must be complete
60
- before that selected profile is usable. An absent/incomplete witness or required
61
- runtime/bridge/plugin contribution remains a refusal, never a dummy success or a
62
- silently dropped requirement.
63
-
64
- The user's already-authenticated harness retains its normal native profile,
65
- auth/helpers/OAuth/model configuration. This cut does not introduce an auth-file
66
- selector, credential inspection/copy, provider/key allowlist, empty production store
67
- or substitute profile. Strict selected curriculum and controlled native history are
68
- separate from that authentication boundary.
69
-
70
- ## Desktop CLI compatibility
71
-
72
- Desktop's released-CLI band extends to `>=0.22.0 <0.25.0`, including0.24.x. Desktop
73
- CLI API remains **v1**; prereleases, wrong probe/API versions and failed probes still
74
- refuse. Optional execution/remote capabilities are advertised separately—version
75
- acceptance grants none of them. Observation-only degradation remains available when
76
- no compatible CLI is verified.
77
-
78
- This version-band update is not complete captured UI, Herdr0.9 terminal attachment,
79
- plugin, scheduling, retirement/recovery or all-platform Desktop parity. The existing
80
- release lane aligns kernel, Pi and Desktop manifests/locks together, retains package
81
- and installed-artifact checks, and keeps Desktop artifact gates before tag-workflow
82
- publication. Ad-hoc signing is not Developer ID notarization.
83
-
84
- ## Explicit limits and safe adoption
85
-
86
- - No automatic reconstruction/in-place migration, old-state deletion, role-library
87
- adoption or new operator-root/bootstrap-helper grammar is introduced.
88
- - Selected unsupported managed/plugin/bridge or interactive profiles stay held.
89
- Default-OKF worker/capture/learning claims require the actual selected launcher,
90
- real turn, captured result and accepted fresh-reader evidence—not seeded transcripts
91
- or a successful scaffold. Git knowledge delivery remains PR-only.
92
- - Public captured retirement, wake and recovery remain separately bounded work;
93
- do not strip selectors, use a legacy/private fallback, or delete an uncertain home
94
- to simulate completion. Preserve old sessions, identities, work and receipts.
95
- - No private-aweb human/admin/privacy qualification follows from backend/model
96
- success. External authority evidence cannot be fabricated by the framework.
97
- - Provider versions, catalog refs and compatibility floors must identify real
98
- reviewed/published artifacts. This note does not finalize or repin them.
99
-
100
- Use a new explicit deployment/source request and the actual installed public contract.
101
- Do not assume parked source candidates or optional helper packages are published.
102
- Final release evidence must distinguish package installation, native dispatch, actual
103
- model/task completion, provider-worker behavior and learning; a narrow first-cut pass
104
- must not be presented as full parity.
13
+ - `oats prepare --request` accepts one bounded, nonsecret JSON input validated
14
+ by the shared strict reader. Source, deployment, work target and
15
+ workspace/standalone context stay distinct; inherited current config never
16
+ fills missing source authority. Executable approvals remain explicit.
17
+ - Fresh onboarding detects existing managed state without deleting it. A
18
+ replaced deployment or work directory requires reinspection; this is a
19
+ point-in-time check, not a lock against concurrent writers.
20
+ - Captured instructions, resources, source identity and provider bindings stay
21
+ usable from retained bytes after the source is removed.
22
+ - Captured primary and helper start and restart use the retained selections. A
23
+ helper launches through its exact source helper edge. Uncertain same-ID state
24
+ is held rather than redispatched; failure receipts, pending allocations,
25
+ native history and cleanup obligations are preserved.
26
+ - Provider execution keeps generic invocation, same-owner binding and opted-in
27
+ source-receipt inputs separate; missing or invalid transport never falls back
28
+ to legacy authority.
29
+
30
+ ## Backends and the Pi profile
31
+
32
+ tmux and Herdr share the native path. Herdr supports exact protocols 20 and 22;
33
+ an unknown protocol is refused, never negotiated or replaced by tmux.
34
+
35
+ The Pi target in this cut is explicit print-mode retained execution, not full
36
+ interactive or plugin parity. An absent or incomplete session-directory witness
37
+ or required runtime, bridge or plugin contribution is a refusal.
38
+
39
+ Harness authentication is unchanged: the already-authenticated harness keeps
40
+ its native profile, credentials and model configuration. OATS adds no auth-file
41
+ selector, credential inspection or copying, or substitute profile.
42
+
43
+ ## Desktop compatibility
44
+
45
+ Desktop accepts released CLI versions `>=0.22.0 <0.25.0` over Desktop CLI API
46
+ v1; prereleases, wrong API versions and failed probes are refused. Optional
47
+ execution and remote capabilities are advertised separately; version acceptance
48
+ grants none of them. Desktop does not cover captured-instance UI, Herdr 0.9
49
+ terminal attachment, or captured scheduling, retirement and recovery. macOS
50
+ builds are ad-hoc signed, not notarized.
51
+
52
+ ## Limits of this release
53
+
54
+ - No automatic in-place migration, old-state deletion or role-library adoption.
55
+ - Unsupported managed, plugin, bridge or interactive profiles are held. Git
56
+ knowledge delivery is PR-only.
57
+ - Captured retirement, wake and recovery are not supported in this release; do not
58
+ strip selectors, use a private fallback, or delete an uncertain home. Keep old
59
+ sessions, identities, work and receipts.
60
+ - Backend or model success does not qualify private aweb messaging.
61
+
62
+ Adopt through a new explicit deployment or source request against the installed
63
+ public contract.
@@ -4,14 +4,10 @@ Kernel/Pi/Desktop **0.24.1**. Publication is not deployment; every operator stil
4
4
 
5
5
  ## What changed
6
6
 
7
- - **Framework repository joins the Git workspace model.** `oats-workspace.yaml` (workspace `oats-development`, seven intended members) and `oats.yaml` (exports: transitional `souls/oats-expert` edition, `oats-package`, `capabilities/oats-authoring`) are published at the repository root. Member indexes are on `main` in oats-okf, oats-aweb, oats-authoring and oats-jira. Membership is discovery, not activation; `imports` stay empty until sources are pinned at reviewed revisions.
8
- - **`oats inspect --request <absolute-json> [--json]`** — read-only inspection of a source/workspace/member through the existing onboarding facade. Metadata only: provider payloads and adoption values are omitted, no deployment state or approval is touched, captured selectors are refused.
9
- - **Captured custody on the home-only session route.** `oats session inspect|input --home H` now applies the existing captured incarnation/custody checks for captured homes and refuses before any transport when the home was replaced (integrity drift). Non-captured homes are unchanged. This is the route the aweb broker uses.
10
- - **OKF 2.1.1 pairing.** The mirror, `package-catalog.json` ref and the transitional soul's source pin `oats.okf@v2.1.1`: ordinary Claude/Codex helpers with a complete approved capability closure are accepted by the OKF consumer; strict Pi still requires an explicit model and the sole-OKF profile.
11
- - **Official marketplace policy** — `docs/official-marketplace.md`: the reviewed `package-catalog.json` list *is* the official marketplace; listing is by maintainer-reviewed PR; discoverable ≠ installed ≠ approved.
12
- - **Kernel setup skill removed.** `skills/oats-portable-setup` is deleted on the human's instruction; setup guidance moves to the planned `oats.setup` capability (see the [decision](https://github.com/awebai/oats/blob/main/agents/oats-expert/soul/knowledge/decisions/official-capabilities-oats-core-setup-and-marketplace.md)).
13
- - Docs: `docs/workspaces.md`, `docs/workspace-adoption.md`, condensed `docs/layers.md`, `docs/design/README.md` navigation, program board.
14
-
15
- ## Not in this cut
16
-
17
- `oats.core` / `oats.setup` capabilities, explicit default `oats.core` on soul creation, `oats-setup-expert` onboarding, the five expert soul editions, the aweb portable adapter (aweb 1.10.3 still has no binding interface) and Desktop marketplace views are in progress — see the [program board](../design/2026-09-20-redesign-program-board.md).
7
+ - **The framework repository joins the Git workspace model.** `oats-workspace.yaml` (workspace `oats-development`) and `oats.yaml` (exports `oats-package`, `capabilities/oats-authoring` and a transitional `souls/oats-expert` edition) are published at the repository root, and the official package repositories publish member indexes. Membership is discovery, not activation. See [Workspaces](../workspaces.md) and [workspace adoption](https://github.com/awebai/oats/blob/v0.24.1/docs/workspace-adoption.md).
8
+ - **`oats inspect --request <absolute-json> [--json]`**: read-only inspection of a source, workspace or member. Metadata only: provider payloads and adoption values are omitted, no deployment state or approval is touched, and captured selectors are refused.
9
+ - **Captured custody on the home-only session route.** `oats session inspect|input --home H` applies the captured incarnation and custody checks to captured homes and refuses before any transport when the home was replaced. Non-captured homes are unchanged.
10
+ - **OKF 2.1.1 pairing.** The mirror and catalog pin `oats.okf@v2.1.1`: Claude and Codex helpers with a complete approved capability closure are accepted; strict Pi still requires an explicit model and the sole-OKF profile.
11
+ - **Official marketplace policy.** The reviewed `package-catalog.json` list is the official marketplace; listing is by maintainer-reviewed PR; discoverable is not installed, and installed is not approved. See [the policy as published](https://github.com/awebai/oats/blob/v0.24.1/docs/official-marketplace.md) and the current [official catalog](../official-catalog.md).
12
+ - **Kernel setup skill removed.** `skills/oats-portable-setup` is deleted.
13
+ - Docs: condensed [contracts](../layers.md).
@@ -1,54 +1,43 @@
1
1
  # OATS v0.24.10 — confirmed, idempotent spawn (apply contract) and the Desktop Review → Confirm spawn flow
2
2
 
3
- Kernel/Pi/Desktop **0.24.10**. Tag `v0.24.10` → the commit carrying these
4
- notes; the version-bump commit lands after the tag. Consumers gate on
5
- `oats version --json` `features[]` names and API integers — never on the version.
6
-
7
- ## Kernel — the spawn apply contract (K6c–K6f)
8
-
9
- A Desktop can now let a person **review** exactly what a spawn will do and then
10
- **confirm** it, with the kernel guaranteeing that what runs is what was
11
- reviewed — and that a lost response never spawns twice.
12
-
13
- - **`spawn-apply-2`** (`spawnApplyApi: 1`): the previewed `decision` binds
14
- **effective launch facts** (`repo, work, runtime, model, launchConfig, yolo,
15
- backend, childSpawns, relation/anchor`) as well as placement; an inherited
16
- default edited between preview and apply → `E_DECISION_STALE`. No backend
17
- (Herdr) is started before the decision fence. The home is reserved with an
18
- **exclusive** non-recursive `mkdir` right after the check: two concurrent
19
- applies of one decision produce exactly one home; the loser refuses
20
- `E_PLACEMENT_TAKEN` having touched nothing.
3
+ Kernel/Pi/Desktop **0.24.10**. Consumers gate on `oats version --json`
4
+ `features[]` names and API integers, never on the version. Shapes are in the
5
+ [Desktop CLI API](../desktop-cli-api.md).
6
+
7
+ ## Kernel: the spawn apply contract
8
+
9
+ A person can review exactly what a spawn will do and then confirm it; the
10
+ kernel guarantees that what runs is what was reviewed, and that a lost
11
+ response never spawns twice.
12
+
13
+ - **`spawn-apply-2`** (`spawnApplyApi: 1`): the previewed `decision` binds the
14
+ effective launch facts (repo, work mode, runtime, model, launch config,
15
+ yolo, backend, child policy, relation) as well as placement; an inherited
16
+ default edited between preview and apply refuses `E_DECISION_STALE`. No
17
+ backend starts before the decision check. The home is reserved with an
18
+ exclusive `mkdir`, so two concurrent applies produce one home and the other
19
+ refuses `E_PLACEMENT_TAKEN` having touched nothing.
21
20
  - **`spawn-idempotency-2`**: `spawn --expect-decision <rev> --idempotency-key
22
- <key>` records both in the new home. A **same-key retry replays** the
23
- recorded receipt (found by key, never by name — the planned name may have
24
- been auto-suffixed past it), runs **before** any placement/branch/base check
25
- (so a spawn that created its explicit branch still replays), and re-saves no
26
- wake. Same key + different decision → `E_IDEMPOTENCY_CONFLICT`. A home whose
27
- spawn did not finish (crash between metadata and launch) → `E_SPAWN_INCOMPLETE`,
28
- never a replayed success. The wake outcome is recorded and returned on replay
29
- (`wake {requested, saved, error}`; `saved:null` = not recorded).
30
- - Decision-bound receipts echo the **full** bound decision; the kernel's own
31
- post-spawn writes (completion marker, wake record) re-stamp the retirement
32
- baseline so a fresh keyed home retires clean.
33
- - Every one of these came from the Desktop engineer's pre-wiring reads of the
34
- merged producer, several proved in an inert VM; each is a new advertised name
35
- because a strengthened guarantee must be distinguishable from the installed
36
- CLI that lacks it.
21
+ <key>` records both in the new home. A same-key retry replays the recorded
22
+ receipt (found by key, not name) before any placement check. Same key with a
23
+ different decision refuses `E_IDEMPOTENCY_CONFLICT`. A home whose spawn did
24
+ not finish refuses `E_SPAWN_INCOMPLETE`, never a replayed success. The wake
25
+ outcome is recorded and returned on replay (`wake {requested, saved,
26
+ error}`).
27
+ - Decision-bound receipts echo the full decision, and a fresh keyed home
28
+ retires clean. Known issue: bytes the agent writes to its home early after
29
+ launch may not be recovered at retirement; fixed in [v0.24.11](v0.24.11.md).
37
30
 
38
31
  ## Desktop
39
32
 
40
- - **Review spawn → Confirm spawn**: the spawn modal prepares a server-owned,
41
- immutable intent (soul, root, choices, task, wake, the kernel's decision) and
42
- applies only by reference; the idempotency key is minted at the first
43
- confirmation and kept for that intent's retries. A lost response shows
44
- **unknown** with an explicit *Check result* (a same-key kernel replay), never
45
- a second spawn or a guessed terminal. Stale/conflict refusals require a fresh
46
- review and a new confirmation. `E_SPAWN_INCOMPLETE` points at the session
47
- surface; an unrecorded wake outcome says so ("check Schedules"). A raw local
48
- spawn request on a fully capable CLI is refused (`E_PLAN_REQUIRED`); older or
49
- remote CLIs keep ordinary spawn with the new choices unavailable. No
50
- persistent task journal: after a Desktop restart a submitted intent is
51
- unavailable/unknown and mints nothing.
33
+ - **Review spawn → Confirm spawn**: the spawn modal prepares an immutable
34
+ intent (soul, root, choices, task, wake and the kernel's decision) and
35
+ applies it by reference, keeping one idempotency key per intent. A lost
36
+ response shows **unknown** with *Check result* (a same-key replay), never a
37
+ second spawn. Stale or conflicting decisions require a fresh review. A raw
38
+ local spawn request on a fully capable CLI is refused (`E_PLAN_REQUIRED`);
39
+ older or remote CLIs keep ordinary spawn. A submitted intent does not survive
40
+ a Desktop restart.
52
41
 
53
42
  ## Upgrade
54
43
 
@@ -1,29 +1,21 @@
1
1
  # OATS v0.24.11 — retirement recovery: kernel-owned fields only, nothing re-blessed after launch
2
2
 
3
- Kernel/Pi/Desktop **0.24.11**. Tag `v0.24.11` → the commit carrying these
4
- notes; the version-bump commit lands after the tag. **Upgrade from 0.24.10 —
5
- it can lose an agent's early home bytes at retire.**
3
+ Kernel/Pi/Desktop **0.24.11**. **Upgrade from 0.24.10: it can lose an agent's
4
+ early home bytes at retire.**
6
5
 
7
6
  ## Fix
8
7
 
9
- 0.24.10 (PR84) made a fresh keyed spawn retire clean by re-hashing the **whole
10
- home** after the kernel's own post-spawn writes (completion marker, wake
11
- record). That re-stamp ran after the tmux launch, so anything the agent wrote
12
- in the launch→completion interval — `STATE.md`, notes — was blessed into the
13
- retirement baseline and **not recovered** at retire. Found by the Desktop
14
- engineer's exact-source inert analysis of the merged fix.
8
+ 0.24.10 made a fresh keyed spawn retire clean by re-hashing the whole home after
9
+ the kernel's own post-spawn writes (completion marker, wake record). That
10
+ re-hash ran after launch, so anything the agent wrote in between (`STATE.md`,
11
+ notes) was absorbed into the retirement baseline and **not recovered** at
12
+ retire.
15
13
 
16
- Now the re-stamp is gone. The baseline fingerprint hashes the root
17
- `instance.json` with exactly the kernel-owned post-spawn fields
18
- (`spawnCompleted`, `wake`) removed. Kernel writes never read as the agent's
19
- changes; **nothing else in the home is ever re-blessed**; there is no
20
- observation of the home after launch. Regression: authored bytes written at
21
- launch are recovered under `changed instance-home bytes` with the bytes
22
- intact; a plain keyed spawn still retires with `workRecovery: null`.
23
-
24
- Rule recorded for the framework: the retirement baseline may account only for
25
- bytes the kernel can *prove* it wrote — never for what it *observes* after the
26
- agent may have started.
14
+ The re-hash is gone. The baseline fingerprint hashes `instance.json` with only
15
+ the kernel-owned post-spawn fields (`spawnCompleted`, `wake`) removed; nothing
16
+ else in the home is re-baselined, and the home is not observed after launch.
17
+ Bytes written at launch are now recovered under `changed instance-home bytes`;
18
+ a plain keyed spawn still retires with `workRecovery: null`.
27
19
 
28
20
  ## Upgrade
29
21
 
@@ -1,56 +1,43 @@
1
1
  # OATS v0.24.12 — instance events API 2 and the Desktop activity popover
2
2
 
3
- Kernel/Pi/Desktop **0.24.12**. Tag `v0.24.12` → the commit carrying these
4
- notes; the version-bump commit lands after the tag. Consumers gate on
5
- `oats version --json` `features[]` names and API integers — never on the version.
6
-
7
- ## Kernel — `instance-events-2` (`eventsApi: 2`)
8
-
9
- `oats instance events` was a working reader with four defects found by the
10
- Desktop engineer's exact-source review; each is closed under a new advertised
11
- name because a strengthened guarantee must be distinguishable from the installed
12
- CLI that lacks it.
13
-
14
- - **Bounded, descriptor-safe read.** Each log source is `lstat`ed first; anything
15
- but a regular file is refused unopened. The open is `O_NOFOLLOW|O_NONBLOCK` and
16
- the descriptor is `fstat`ed against lstat's device+inode (closes the
17
- lstat→open swap). At most the last 4 MiB is read by descriptor
18
- (`integrity.sources[].status: ok|absent|refused|tail`).
19
- - **Address history, incarnation-tagged.** `--home` must be a home of exactly
20
- the named instance (`E_HOME_MISMATCH`). Rows of another address are dropped and
21
- counted (`integrity.foreignRows`). Every row carries `incarnation` (the writing
22
- home's `instance.json.createdAt`); the result echoes the current one, so a
23
- recreated same-address instance's earlier rows are visible *as earlier*.
24
- - **`waitingOnYou` is a producer state**, per (producer, current incarnation):
25
- that producer's latest row carrying the field decides, an explicit `false`
26
- clears, earlier incarnations never contribute, and it is computed over the full
27
- admitted read so a `--limit` window cannot hide a clear. `waitingClaims[]`
28
- shows every producer's current claim. **An unknown current incarnation
29
- (unreadable `instance.json`) admits no claim at all.** Still `null` today — no
30
- producer emits it.
31
- - **Provenance and corruption never disappear.** Dedup includes the producer;
32
- `integrity.unreadableRows` counts torn lines regardless of `--since` or the
33
- window; `count`/`returned`/`truncated` are consistent.
34
-
35
- ## Kernel — retirement fingerprint scope (K6h)
36
-
37
- 0.24.11's kernel-field neutrality for `instance.json` — and the pre-existing
38
- `.oats-*` receipt exclusions — were keyed on a root-level *filename*, so they
39
- also applied to directory work trees and recovery trees. Both are now opt-in
40
- (`{ instanceHome: true }`), passed by exactly the four instance-home callers;
41
- work and recovery trees are fully significant. A comparison blind spot (directory
42
- work was already always recovered when non-empty), not a deletion.
3
+ Kernel/Pi/Desktop **0.24.12**. Consumers gate on `oats version --json`
4
+ `features[]` names and API integers, never on the version. Shapes are in the
5
+ [Desktop CLI API](../desktop-cli-api.md).
6
+
7
+ ## Kernel: `instance-events-2` (`eventsApi: 2`)
8
+
9
+ `oats instance events` had four defects; each is closed under a new advertised
10
+ name.
11
+
12
+ - **Bounded, descriptor-safe read.** Only regular files are opened, without
13
+ following symlinks and verified against the checked file; at most the last
14
+ 4 MiB is read (`integrity.sources[].status: ok|absent|refused|tail`).
15
+ - **Address history.** `--home` must be a home of the named instance
16
+ (`E_HOME_MISMATCH`); rows of another address are dropped and counted
17
+ (`integrity.foreignRows`). Every row carries `incarnation`, so a recreated
18
+ instance's earlier rows are visible as earlier.
19
+ - **`waitingOnYou` is a producer state**, per producer and current incarnation;
20
+ an explicit `false` clears it, earlier incarnations never contribute, and a
21
+ `--limit` window cannot hide a clear. `waitingClaims[]` shows each
22
+ producer's claim; an unknown incarnation admits none. No producer emits it
23
+ in this release, so it is `null`.
24
+ - **Provenance and corruption stay visible.** Dedup includes the producer;
25
+ `integrity.unreadableRows` counts torn lines; `count`, `returned` and
26
+ `truncated` are consistent.
27
+
28
+ ## Kernel: retirement fingerprint scope
29
+
30
+ The `instance.json` field exclusion from 0.24.11 and the `.oats-*` receipt
31
+ exclusions also applied to directory work trees and recovery trees. They now
32
+ apply to instance homes only; work and recovery trees are fully significant.
43
33
 
44
34
  ## Desktop
45
35
 
46
- - **Reported lifecycle activity** in the selected-instance popover: an explicit
47
- *Load / Refresh activity* control (no roster or per-card fan-out) shows the
48
- kernel's dated events with source, integrity (refused/tail/torn/foreign
49
- visibly incomplete), earlier/unknown incarnation labels, and attributed
50
- waiting claims as *claims as of a timestamp* — never as current runtime
51
- authority. Gated on `eventsApi === 2` and `instance-events-2`; two coalesced
52
- process-wide read slots; one observation retained per open popup; a failed
53
- refresh keeps visibly stale rows rather than a false empty.
36
+ - **Lifecycle activity** in the selected-instance popover: an explicit
37
+ *Load / Refresh activity* control shows the kernel's dated events with
38
+ source, integrity, incarnation labels and attributed waiting claims (as
39
+ claims at a time, not current state). A failed refresh keeps visibly stale
40
+ rows. Requires `eventsApi: 2` and `instance-events-2`.
54
41
 
55
42
  ## Upgrade
56
43