@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.
- package/README.md +12 -6
- package/bin/oats.mjs +194 -50
- package/capabilities/oats-aweb/bin/oats-aweb.mjs +538 -204
- package/capabilities/oats-aweb/injects/aweb.md +1 -1
- package/capabilities/oats-aweb/lib/binding-wire.mjs +31 -22
- package/capabilities/oats-aweb/oats.json +5 -12
- package/capabilities/oats-aweb/skills/VENDORED.md +4 -4
- package/capabilities/oats-aweb/skills/aweb-team-membership/SKILL.md +1 -1
- package/capabilities/oats-aweb/skills/oats-aweb/SKILL.md +83 -13
- package/capabilities/oats-code-review/injects/reviewer.md +26 -0
- package/capabilities/oats-code-review/oats.json +16 -0
- package/capabilities/oats-code-review/skills/adversarial-review/SKILL.md +66 -0
- package/capabilities/oats-code-review/skills/review-dev-docs/SKILL.md +30 -0
- package/capabilities/oats-code-review/skills/security-review/SKILL.md +56 -0
- package/capabilities/oats-code-review/skills/simplification-review/SKILL.md +34 -0
- package/capabilities/oats-developer/injects/developer.md +38 -0
- package/capabilities/oats-developer/oats.json +17 -0
- package/capabilities/oats-developer/skills/execution-strategy/SKILL.md +43 -0
- package/capabilities/oats-developer/skills/maintain-dev-docs/SKILL.md +47 -0
- package/capabilities/oats-developer/skills/run-the-review-loop/SKILL.md +65 -0
- package/capabilities/oats-developer/skills/understand-the-spec/SKILL.md +37 -0
- package/capabilities/oats-developer/skills/worktrees/SKILL.md +36 -0
- package/capabilities/oats-engineering-expert/injects/expert.md +37 -0
- package/capabilities/oats-engineering-expert/oats.json +17 -0
- package/capabilities/oats-engineering-expert/skills/coordinate-developers/SKILL.md +37 -0
- package/capabilities/oats-engineering-expert/skills/coordinate-experts/SKILL.md +52 -0
- package/capabilities/oats-engineering-expert/skills/land-your-prs/SKILL.md +50 -0
- package/capabilities/oats-engineering-expert/skills/plan-and-spec/SKILL.md +53 -0
- package/capabilities/oats-engineering-expert/skills/verify-developer-work/SKILL.md +49 -0
- package/capabilities/oats-okf/bin/oats-okf.mjs +8 -4
- package/capabilities/oats-okf/lib/binding-wire.mjs +47 -15
- package/capabilities/oats-okf/lib/inspection.mjs +26 -7
- package/capabilities/oats-okf/lib/sources.mjs +16 -2
- package/capabilities/oats-okf/lib/worker.mjs +5 -16
- package/capabilities/oats-okf/oats.json +6 -3
- package/capabilities/oats-okf-harvest/bin/okf-harvest.mjs +2 -2
- package/capabilities/oats-okf-harvest/oats.json +3 -3
- package/capabilities/oats-okf-harvest/skills/knowledge-harvest/SKILL.md +6 -6
- package/capabilities/oats-okf-maintenance/bin/okf-maintenance.mjs +2 -2
- package/capabilities/oats-okf-maintenance/injects/maintainer.md +1 -1
- package/capabilities/oats-okf-maintenance/oats.json +2 -2
- package/capabilities/oats-okf-maintenance/skills/knowledge-review/SKILL.md +1 -1
- package/capabilities/oats-okf-maintenance/skills/okf-trigger-setup/SKILL.md +11 -23
- package/capabilities/oats-workspace-experts/injects/oats-experts.md +26 -0
- package/capabilities/oats-workspace-experts/oats.json +9 -0
- package/docs/capabilities.md +160 -171
- package/docs/capability-manifest.schema.json +6 -11
- package/docs/configuration.md +213 -64
- package/docs/design/2026-09-16-knowledge-capability-contract.md +36 -50
- package/docs/design/2026-09-23-workspace-module-contracts.md +377 -544
- package/docs/design/2026-09-26-okf-knowledge-operations.md +132 -357
- package/docs/design/2026-09-27-team-model-v2.md +97 -117
- package/docs/design/2026-09-28-automations-trust.md +38 -0
- package/docs/design/2026-09-28-soul-launch-preference.md +63 -0
- package/docs/design/HISTORY.md +65 -0
- package/docs/design/README.md +23 -54
- package/docs/desktop-cli-api.md +1787 -1777
- package/docs/desktop.md +30 -91
- package/docs/execution-targets.md +146 -292
- package/docs/first-team.md +31 -17
- package/docs/implementation.md +76 -288
- package/docs/integrations.md +118 -320
- package/docs/knowledge-capability-authoring.md +25 -52
- package/docs/knowledge-reference/acceptance.md +3 -3
- package/docs/knowledge-reference/adoption.md +1 -1
- package/docs/knowledge-reference/harvester.md +2 -2
- package/docs/knowledge-reference/package-craft.md +3 -3
- package/docs/knowledge-reference/provider-mapping.md +3 -6
- package/docs/knowledge-reference/reader-capture.md +3 -3
- package/docs/knowledge-theory.md +62 -166
- package/docs/knowledge.md +225 -404
- package/docs/layers.md +42 -97
- package/docs/oats-local.schema.json +58 -5
- package/docs/oats-membership.schema.json +1 -8
- package/docs/oats-package.schema.json +5 -5
- package/docs/oats-workspace.schema.json +8 -22
- package/docs/official-catalog.md +25 -28
- package/docs/packages.md +45 -63
- package/docs/plans/0.30-close-out.md +61 -0
- package/docs/release-lane.md +77 -0
- package/docs/release-notes/oats-framework-v1.1.3.md +10 -8
- package/docs/release-notes/v0.19.0.md +48 -147
- package/docs/release-notes/v0.19.1.md +2 -3
- package/docs/release-notes/v0.19.3.md +2 -15
- package/docs/release-notes/v0.20.0.md +0 -15
- package/docs/release-notes/v0.22.0.md +71 -138
- package/docs/release-notes/v0.22.1.md +42 -90
- package/docs/release-notes/v0.22.10.md +1 -1
- package/docs/release-notes/v0.22.11.md +1 -47
- package/docs/release-notes/v0.22.12.md +4 -13
- package/docs/release-notes/v0.22.13.md +1 -42
- package/docs/release-notes/v0.22.14.md +3 -11
- package/docs/release-notes/v0.22.15.md +1 -46
- package/docs/release-notes/v0.22.16.md +6 -8
- package/docs/release-notes/v0.22.18.md +1 -99
- package/docs/release-notes/v0.22.19.md +3 -14
- package/docs/release-notes/v0.22.2.md +6 -15
- package/docs/release-notes/v0.22.3.md +0 -1
- package/docs/release-notes/v0.22.4.md +1 -14
- package/docs/release-notes/v0.22.5.md +2 -12
- package/docs/release-notes/v0.22.6.md +0 -3
- package/docs/release-notes/v0.23.0.md +9 -25
- package/docs/release-notes/v0.23.1.md +9 -25
- package/docs/release-notes/v0.23.2.md +2 -4
- package/docs/release-notes/v0.24.0.md +56 -97
- package/docs/release-notes/v0.24.1.md +7 -11
- package/docs/release-notes/v0.24.10.md +34 -45
- package/docs/release-notes/v0.24.11.md +12 -20
- package/docs/release-notes/v0.24.12.md +35 -48
- package/docs/release-notes/v0.24.13.md +34 -41
- package/docs/release-notes/v0.24.2.md +9 -13
- package/docs/release-notes/v0.24.3.md +7 -11
- package/docs/release-notes/v0.24.4.md +6 -6
- package/docs/release-notes/v0.24.5.md +6 -10
- package/docs/release-notes/v0.24.6.md +2 -5
- package/docs/release-notes/v0.24.7.md +46 -75
- package/docs/release-notes/v0.24.8.md +58 -96
- package/docs/release-notes/v0.24.9.md +38 -54
- package/docs/release-notes/v0.25.0.md +59 -76
- package/docs/release-notes/v0.25.1.md +57 -81
- package/docs/release-notes/v0.25.2.md +51 -70
- package/docs/release-notes/v0.25.3.md +11 -13
- package/docs/release-notes/v0.25.4.md +9 -13
- package/docs/release-notes/v0.25.5.md +3 -5
- package/docs/release-notes/v0.25.6.md +20 -29
- package/docs/release-notes/v0.25.7.md +5 -7
- package/docs/release-notes/v0.25.8.md +26 -39
- package/docs/release-notes/v0.26.0.md +175 -646
- package/docs/release-notes/v0.27.0.md +4 -5
- package/docs/release-notes/v0.27.1.md +4 -6
- package/docs/release-notes/v0.27.2.md +1 -1
- package/docs/release-notes/v0.28.0.md +57 -124
- package/docs/release-notes/v0.29.0.md +89 -208
- package/docs/release-notes/v0.29.1.md +1 -1
- package/docs/release-notes/v0.29.2.md +3 -4
- package/docs/release-notes/v0.30.0.md +205 -0
- package/docs/schedules.md +280 -363
- package/docs/servers.md +99 -117
- package/docs/soul.schema.json +2 -9
- package/docs/souls-and-instances.md +145 -158
- package/docs/workspaces.md +132 -215
- package/lib/automations.mjs +21 -6
- package/lib/core.mjs +226 -74
- package/lib/instance-events.mjs +1 -1
- package/lib/instance-inspect.mjs +109 -34
- package/lib/instance-lifecycle.mjs +14 -1
- package/lib/instance-resolution.mjs +26 -27
- package/lib/launch-preference.mjs +87 -0
- package/lib/materialize.mjs +3 -3
- package/lib/resolve.mjs +29 -87
- package/lib/schedule.mjs +1 -1
- package/lib/teams-verbs.mjs +195 -0
- package/lib/teams.mjs +190 -0
- package/lib/triggers.mjs +2 -2
- package/lib/workspace.mjs +54 -147
- package/package-catalog.json +9 -15
- package/package.json +1 -1
- package/skills/oats-getting-started/SKILL.md +25 -13
- package/capabilities/oats-review/injects/review.md +0 -69
- package/capabilities/oats-review/oats.json +0 -10
- package/capabilities/oats-review/skills/code-review/SKILL.md +0 -44
- package/capabilities/oats-review/skills/security-review/SKILL.md +0 -59
- package/docs/conventions.md +0 -90
- package/docs/design/2026-09-07-architecture-reassessment.md +0 -131
- package/docs/design/2026-09-07-desktop-souls-capabilities.md +0 -50
- package/docs/design/2026-09-07-mobile-agent-management-proposal.md +0 -228
- package/docs/design/2026-09-08-expert-assisted-deployment-proposal.md +0 -558
- package/docs/design/2026-09-13-knowledge-and-memory-direction.md +0 -744
- package/docs/design/2026-09-13-knowledge-implementation.md +0 -127
- package/docs/design/2026-09-13-knowledge-location-contract.md +0 -340
- package/docs/design/2026-09-14-artifact-retention-contract.md +0 -190
- package/docs/design/2026-09-14-portable-souls-and-git-workspaces.md +0 -708
- package/docs/design/2026-09-14-portable-souls-contract-amendments.md +0 -85
- package/docs/design/2026-09-14-portable-souls-explainer.md +0 -750
- package/docs/design/2026-09-15-captured-dispatch.md +0 -127
- package/docs/design/2026-09-15-captured-resolution-records.md +0 -143
- package/docs/design/2026-09-15-package-preparation.md +0 -100
- package/docs/design/2026-09-15-portable-data-contract.md +0 -121
- package/docs/design/2026-09-15-portable-declarations.md +0 -189
- package/docs/design/2026-09-15-portable-souls-handoff.md +0 -150
- package/docs/design/2026-09-15-portable-souls-implementation.md +0 -417
- package/docs/design/2026-09-15-selection-lock-and-approval.md +0 -122
- package/docs/design/2026-09-15-source-observation.md +0 -119
- package/docs/design/2026-09-16-captured-admission.md +0 -77
- package/docs/design/2026-09-16-captured-helper-dispatch.md +0 -105
- package/docs/design/2026-09-16-captured-launch-inputs.md +0 -42
- package/docs/design/2026-09-16-command-profile-preparation.md +0 -86
- package/docs/design/2026-09-16-fresh-install-first-rollout.md +0 -47
- package/docs/design/2026-09-16-fresh-operator-walkthrough.md +0 -282
- package/docs/design/2026-09-16-messaging-capability-contract.md +0 -59
- package/docs/design/2026-09-16-portable-migration-evidence.md +0 -158
- package/docs/design/2026-09-16-portable-onboarding.md +0 -179
- package/docs/design/2026-09-16-prepare-request-transport.md +0 -26
- package/docs/design/2026-09-16-provider-binding-codecs.md +0 -98
- package/docs/design/2026-09-16-provider-binding-wire.md +0 -274
- package/docs/design/2026-09-17-capability-helper-input-contract.md +0 -95
- package/docs/design/2026-09-17-captured-backend-parity.md +0 -53
- package/docs/design/2026-09-17-captured-native-start.md +0 -58
- package/docs/design/2026-09-17-portable-boundary-hookup.md +0 -19
- package/docs/design/2026-09-17-portable-boundary-resources.md +0 -52
- package/docs/design/2026-09-17-public-captured-start.md +0 -108
- package/docs/design/2026-09-17-public-prepare-request.md +0 -90
- package/docs/design/2026-09-18-captured-pi-host.md +0 -205
- package/docs/design/2026-09-18-first-cut-release-checklist.md +0 -131
- package/docs/design/2026-09-18-herdr-protocol-compatibility.md +0 -60
- package/docs/design/2026-09-20-redesign-program-board.md +0 -142
- package/docs/design/2026-09-20-workspace-and-portable-adoption-plan.md +0 -289
- package/docs/design/2026-09-20-workspace-onboarding-public.md +0 -207
- package/docs/design/2026-09-22-desktop-parity-seams.md +0 -58
- package/docs/design/2026-09-23-simplified-workspace-model.md +0 -711
- package/docs/design/2026-09-23-workspace-v2-implementation-plan.md +0 -65
- package/docs/design/2026-09-24-desktop-phase-f-boundary.md +0 -242
- package/docs/design/2026-09-24-phase-d-plan.md +0 -305
- package/docs/design/2026-09-25-teams-contract.md +0 -258
- package/docs/design/2026-09-26-desktop-design-brief-architecture.md +0 -241
- package/docs/design/desktop-ux-plan.md +0 -362
- package/docs/design/launch-configurations.md +0 -168
- package/docs/design/okf-mirror-provenance.md +0 -105
- package/docs/design/operations-contract.md +0 -141
- package/docs/oats-member.schema.json +0 -38
- package/skills/integration-authoring/SKILL.md +0 -84
- package/skills/oats-support/SKILL.md +0 -79
- package/skills/skill-craft/SKILL.md +0 -109
- package/skills/soul-craft/SKILL.md +0 -116
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# OATS v0.23.0
|
|
2
2
|
|
|
3
|
-
This
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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.
|
|
60
|
-
|
|
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.
|
|
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
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
85
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
4
|
-
|
|
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
|
-
##
|
|
6
|
+
## Official OKF pairing
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
-
|
|
29
|
-
shared strict reader
|
|
30
|
-
|
|
31
|
-
fills missing source authority.
|
|
32
|
-
- Fresh onboarding detects existing managed state without deleting it.
|
|
33
|
-
deployment
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
source
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
-
- **
|
|
8
|
-
- **`oats inspect --request <absolute-json> [--json]
|
|
9
|
-
- **Captured custody on the home-only session route.** `oats session inspect|input --home H`
|
|
10
|
-
- **OKF 2.1.1 pairing.** The mirror
|
|
11
|
-
- **Official marketplace policy
|
|
12
|
-
- **Kernel setup skill removed.** `skills/oats-portable-setup` is deleted
|
|
13
|
-
- Docs:
|
|
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**.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Kernel
|
|
8
|
-
|
|
9
|
-
A
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- **`spawn-apply-2`** (`spawnApplyApi: 1`): the previewed `decision` binds
|
|
14
|
-
|
|
15
|
-
backend,
|
|
16
|
-
default edited between preview and apply
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
41
|
-
|
|
42
|
-
applies
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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**.
|
|
4
|
-
|
|
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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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**.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Kernel
|
|
8
|
-
|
|
9
|
-
`oats instance events`
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
-
- **
|
|
47
|
-
*Load / Refresh activity* control
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
|