@awebai/oats 0.24.1 → 0.24.2
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/bin/oats.mjs +163 -12
- package/capabilities/oats-aweb/bin/oats-aweb-binding.mjs +11 -0
- package/capabilities/oats-aweb/bin/oats-aweb.mjs +26 -0
- package/capabilities/oats-aweb/lib/binding-wire.mjs +214 -0
- package/capabilities/oats-aweb/lib/captured-execution.mjs +91 -0
- package/capabilities/oats-aweb/lib/captured-native.mjs +91 -0
- package/capabilities/oats-aweb/lib/invocation-shape.mjs +135 -0
- package/capabilities/oats-aweb/lib/portable-binding.mjs +146 -0
- package/capabilities/oats-aweb/lib/session-readiness.mjs +56 -0
- package/capabilities/oats-aweb/oats.json +12 -3
- package/docs/design/2026-09-20-redesign-program-board.md +28 -15
- package/docs/first-team.md +42 -0
- package/docs/layers.md +1 -1
- package/docs/official-marketplace.md +14 -9
- package/docs/packages.md +11 -7
- package/docs/release-notes/v0.24.2.md +21 -0
- package/docs/souls-and-instances.md +25 -0
- package/docs/workspace-adoption.md +94 -65
- package/injects/oats-portable.md +4 -0
- package/lib/core.mjs +46 -13
- package/lib/provider-binding-broker.mjs +6 -1
- package/lib/setup-expert-source.mjs +76 -0
- package/package-catalog.json +7 -4
- package/package.json +3 -1
- package/souls/oats-setup-expert/AGENTS.md +60 -0
- package/souls/oats-setup-expert/soul.yaml +14 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Purpose:** the one accurate view of every work stream in the redesign, what is on main, what is in flight, who owns it, and what blocks it. Lead: `oats-expert` (redesign lead). Updated whenever anything merges, is returned, or reality changes. Older per-lane boards are superseded by this file.
|
|
4
4
|
|
|
5
|
-
**Last update:** 2026-09-
|
|
5
|
+
**Last update:** 2026-09-21 04:10Z · main `feef2a2f`+ · **OATS v0.24.2 tagged (CI)** · OKF v2.1.1 · oats-framework/v1.1.1 · aweb v1.11.0 · oats-knowledge 8d67eab4
|
|
6
6
|
|
|
7
7
|
Legend: ✅ on main/published · 🔄 in flight (PR/branch) · 🟡 preserved, not adopted · ⬜ not started · ⛔ blocked
|
|
8
8
|
|
|
@@ -10,14 +10,14 @@ Legend: ✅ on main/published · 🔄 in flight (PR/branch) · 🟡 preserved, n
|
|
|
10
10
|
|
|
11
11
|
| # | Stream | State | Owner | Next action |
|
|
12
12
|
|---|---|---|---|---|
|
|
13
|
-
| S1 | Knowledge capability contract rework (kernel↔provider boundary, OKF 2.x) | ✅
|
|
14
|
-
| S2 | Workspace/Portable Souls adoption of the OATS repos | ✅
|
|
15
|
-
| S3 | Messaging capability readiness on the new infrastructure (aweb) |
|
|
16
|
-
| S4 | Official capabilities `oats.core` / `oats.setup` + explicit default + onboarding `oats-setup-expert` |
|
|
17
|
-
| S5 | Official marketplace = reviewed list in oats repo | ✅ D4 merged
|
|
18
|
-
| S6 | Five expert souls created in the oats repo (`souls/<name>/`) |
|
|
19
|
-
| S7 | Centralised per-soul knowledge in `oats-knowledge` (migration + PR-only learning) |
|
|
20
|
-
| S8 | Desktop parity (marketplace view, soul creation with `oats.core`, onboarding flow) | ⬜ after
|
|
13
|
+
| S1 | Knowledge capability contract rework (kernel↔provider boundary, OKF 2.x) | ✅ OATS 0.24.1 / OKF 2.1.1 published | P | done for this phase |
|
|
14
|
+
| S2 | Workspace/Portable Souls adoption of the OATS repos | ✅ workspace + seven indexes + **six imports** (five experts @caa341f3, setup expert @0aad753c) · ✅ second-operator gate run · 🔄 five seams → L, target 0.24.3 | lead, L, Antares | seams PR; Antares re-run on 0.24.2 (aweb 1.11.0) |
|
|
15
|
+
| S3 | Messaging capability readiness on the new infrastructure (aweb) | ✅ aweb 1.11.0 released · ✅ **catalog + six editions pin v1.11.0 (0.24.2)** · ⬜ second-operator re-run | P, lead | Antares re-run |
|
|
16
|
+
| S4 | Official capabilities `oats.core` / `oats.setup` + explicit default + onboarding `oats-setup-expert` | ✅ D1, D2, **D3 merged (PR35)**: `oats onboard` verified live (acquire 1.1.1 → setup expert with both caps → scaffold composes the five capability skills, no legacy) · `oats.framework` 1.1.1 tagged | P, L | done; Desktop surfaces → S8 |
|
|
17
|
+
| S5 | Official marketplace = reviewed list in oats repo | ✅ D4 merged · ✅ `oats.framework` 1.1.1 listed (`oats.core`, `oats.setup`, `oats.knowledge-theory` aliases) | M | Desktop view → S8 |
|
|
18
|
+
| S6 | Five expert souls created in the oats repo (`souls/<name>/`) | ✅ five + `oats-setup-expert` on main, all declaring `oats.core`, exported + imported | M, L, lead | legacy `agents/` cutover after S7 proof |
|
|
19
|
+
| S7 | Centralised per-soul knowledge in `oats-knowledge` (migration + PR-only learning) | ✅ **repo PUBLIC; PR #1 merged → main 8d67eab4, 25 accepted concepts**, owners = published souls, validator pinned OKF 2.1.1 · 🔄 fresh-reader proof assigned to Juan's side · ⬜ legacy in-soul knowledge decommission | lead, Antares/Juan | fresh-reader + PR-learning proof; then retire `agents/*/soul/knowledge` |
|
|
20
|
+
| S8 | Desktop parity (marketplace view, soul creation with `oats.core`, onboarding flow) | ⬜ after D3 · **host offered: Juan's machine (has `claude`)** — accepted | fresh Desktop engineer on Juan's host | brief + spawn params after D3 |
|
|
21
21
|
|
|
22
22
|
## S1 — Knowledge capability contract rework
|
|
23
23
|
- ✅ Provider-neutral contract, binding wire v1, helper/input contract, retained execution: OATS 0.24.0 + OKF 2.1.0 (f20f8e57) published.
|
|
@@ -28,21 +28,32 @@ Legend: ✅ on main/published · 🔄 in flight (PR/branch) · 🟡 preserved, n
|
|
|
28
28
|
- ✅ **PR23 merged f6d5a89b**: `oats-workspace.yaml` (7 members, `imports: []`), `oats.yaml` (exports souls/oats-expert, oats-package, capabilities/oats-authoring), transitional `souls/oats-expert/` edition, `docs/workspace-adoption.md`, layout tests.
|
|
29
29
|
- ✅ **PR24 merged da38e5a9**: deletion of `skills/oats-portable-setup` + `oats inspect --request` read-only seam (ACCEPTED as the public inspection route); full gate 1621/0.
|
|
30
30
|
- ✅ Member `oats.yaml` merged to main: oats-okf #3 (fec78a20), oats-aweb #1 (069ea2f6), oats-authoring #1 (54183a6a), oats-jira #1 (2f855daf).
|
|
31
|
-
-
|
|
31
|
+
- ✅ oats-dev#1 (main 6e164ee3) and oats-linear#1 (main a2121e48) merged after Juan granted write access — M's exact commits 0434f4ef / 8c183c37.
|
|
32
32
|
- ⬜ `imports:` pin of `souls/oats-expert` at its published revision (after member indexes).
|
|
33
33
|
- ⬜ Fresh local deployment from the shared definition (P1.5) — the real acceptance gate.
|
|
34
34
|
|
|
35
|
+
## S2 — second-operator gate report (Antares, Juan's machine, 2026-09-20)
|
|
36
|
+
Fresh dir, local `@awebai/oats@0.24.1`, no prior state. `inspect --request` → ready-for-preparation, membership eligible, source `souls/oats-kernel-expert@caa341f3`. `prepare` resolved and materialized `oats-package@caa341f3`, `oats.okf@v2.1.1`, `oats.aweb@v1.10.3`, `oats.core`, `oats.setup`, `oats.knowledge-theory` + soul; artifact-set approvals worked. Terminal: `needs-configuration` + `provider-not-qualified` (aweb 1.10.3 has no binding interface) — expected. Seams (assigned to L, one PR, priority):
|
|
37
|
+
1. `inspect --request` requires `workTarget`; `prepare --request` refuses it (`buildFreshPreparationRequest` exists but the CLI never uses it).
|
|
38
|
+
2. `prepare` on the absent deployment inspect blessed → raw `ENOENT` + host path through the JSON envelope.
|
|
39
|
+
3. `prepare` writes lock v3; `oats trust <cap> --dir` rejects it (`unsupported lockfileVersion 3`) → dead end from `--help`.
|
|
40
|
+
4. The working `trust --deployment --artifact-set <sha256>` route is absent from `--help`.
|
|
41
|
+
5. Problems carry `origins: []` and no slot/capability; aweb's missing interface masks OKF diagnostics — a valid and a bogus `stores.oats` binding produce byte-identical output. **Fix first.**
|
|
42
|
+
|
|
35
43
|
## S3 — Messaging (aweb) on the new infrastructure
|
|
44
|
+
- ✅ **aweb PR3 merged → v1.11.0 (93f8ab96)**: `binding {normalize,bind,check}` on the existing wire; `check` = HOME-route operational custody only (explicit private team, `delivery: session`, kernel ≥0.24.2 via caller-owned `OATS_CLI_BIN`, retained `launchSelection` must be input-capable Claude/Codex; strict-Pi print → `needs-configuration`, never downgraded). Native adapter over existing `aw` commands with physical identity-dir custody and redacted tokens. Standalone 30/0; coupling 14/0 vs kernel b92f0d07. PR33 (launchSelection projection, OATS_CLI_BIN in codec env) merged b92f0d07.
|
|
36
45
|
- Facts: released aweb 1.10.3 has no binding interface; broker refuses. aw 1.36.1 broker calls `oats session inspect/input --home H`; never restarts stopped runtime; strict-Pi print mode can't take session input.
|
|
37
46
|
- 🔄 oats-aweb **PR2** codec (165b20e) + uncommitted `lib/captured-execution.mjs` (6/6).
|
|
38
47
|
- ✅ Lead answered (d9d912a4): pilot primary = Pi strict print host explicit model; helper = Pi sole-OKF (Claude/Codex allowed by 2.1.1); authority = existing HOME route + L's custody fix, gated on `oats >=0.24.1`; no new grant mechanism. P delivers aweb 1.11.0 PR.
|
|
39
|
-
-
|
|
48
|
+
- ✅ **PR27 merged (5af848fc)**: HOME-only session route applies existing captured custody; refuses before transport on drift. Full gate 1626/1632 (2 pre-existing env failures reproduced on main). Ships in **v0.24.1** — the kernel floor the aweb adapter gates on.
|
|
40
49
|
|
|
41
50
|
## S4 — `oats.core` / `oats.setup` / onboarding
|
|
51
|
+
- ✅ **D3 merged PR35 (37c5c012)**: `oats onboard` classic local bootstrap; edition `souls/oats-setup-expert` (core+setup, provider defaults `none`, no knowledge owner). Full gate 1639/0. Live: onboard → acquire `oats.framework` 1.1.1 @0aad753c → soul declares both caps at that commit → scaffold-only spawn composes exactly `oats-operate, oats-souls, oats-config, oats-packages, oats-workspace-setup` + the `oats.core` injection, no legacy kernel skills. Baseline hygiene fixed on main (a96f24df).
|
|
52
|
+
- ✅ **D1 merged PR28 (70b10822)**, distribution tag `oats-framework/v1.1.0` on 9930dcfb; **D2 merged PR29 (9930dcfb)** full gate 1634/0. Verified live: `oats create` writes `requires.capabilities.oats.core` with the catalog source; `oats install oats.framework` acquires all three capabilities from the tag.
|
|
42
53
|
- ✅ Decision + plan D1–D4 on main 18af53be; docs reference as accepted-not-shipped.
|
|
43
54
|
- 🔄 **D1** (P, started 16:29Z; package identity confirmed: rename distribution package to `oats.framework` 1.1.0, capabilities 1.0.0, `oats.knowledge-theory` unchanged) package `oats.core` (`oats-operate`, `oats-souls`, oats.md injection) and `oats.setup` (oats-config, oats-packages, adoption guidance) under `oats-package/capabilities/`. Owner P.
|
|
44
55
|
- 🔄 **D2** (L, after custody fix) soul creation writes explicit `requires.capabilities.oats.core`; kernel skill list de-ambiented (one-release coexistence); checked-in souls updated. Owner L.
|
|
45
|
-
-
|
|
56
|
+
- 🔄 **D3** (L, in progress) onboarding creates `oats-setup-expert` (edition in `souls/`); CLI verb **`oats onboard`** — `oats setup` is already the record capture-setup command and stays untouched.
|
|
46
57
|
- Exit: fresh onboarding → running setup expert; created soul shows `oats.core`; kernel ships no ambient operational skill.
|
|
47
58
|
|
|
48
59
|
## S5 — Official marketplace
|
|
@@ -50,21 +61,23 @@ Legend: ✅ on main/published · 🔄 in flight (PR/branch) · 🟡 preserved, n
|
|
|
50
61
|
- ✅ **D4 merged PR26 (786490ae)**: `docs/official-marketplace.md`, `package-catalog.json` policy pointer (inert to the reader), README/packages/capabilities links, D3 sketch in adoption guide. ⬜ entries for `oats.core`/`oats.setup` at D1 release. Desktop view → S8.
|
|
51
62
|
|
|
52
63
|
## S6 — Five expert souls in the oats repo
|
|
64
|
+
- ✅ **PR30 merged (40a579dc)** + maintainer follow-up **caa341f3**: all five declare `oats.core: {source: repo:oats-package}`, oats.okf@v2.1.1; `oats.yaml` exports all five; `oats-workspace.yaml` imports all five at caa341f3 (375b9f42). Live inspection against published main resolves them.
|
|
53
65
|
- Roster (decided): `oats-expert`, `oats-kernel-expert`, `oats-desktop-expert`, `market-research-expert`, `oats-assistant`.
|
|
54
66
|
- 🟡 Candidate: `expert-roster` worktree (b5e233b9 + 519 uncommitted changes: five `agents/<name>/soul/` + legacy roster deletions). Reviewed earlier; NOT committed.
|
|
55
67
|
- ✅ `souls/oats-expert` transitional edition on main already declares owns/reads for the five nodes.
|
|
56
68
|
- 🔄 Assigned to M (17:05Z): create `souls/<name>/` editions for the other four from the candidate; each declares `oats.core` explicitly (S4 rule) + `oats.okf`/`oats.aweb` sources; export in `oats.yaml`. Legacy `agents/` roster retirement is a separate, later cutover.
|
|
57
69
|
|
|
58
70
|
## S7 — Centralised knowledge in `oats-knowledge`
|
|
71
|
+
- ✅ Juan made the repo PUBLIC (2026-09-20). Bootstrap history pushed to main; **PR #1 merged (8d67eab4)**: 25 curated concepts, roadmap re-verified to the 0.24.1 baseline and 2026-09-20 decisions, validator pinned to OKF v2.1.1, strict OKF 25/0/0, ownership tests 24/24.
|
|
59
72
|
- 🟡 Curated corpus: 35 concepts (five nodes) on local `curation/expert-knowledge` in `/Users/pepe-reyero/OATS-workspace/oats-knowledge`, **uncommitted**. Bootstrap + one PR-only harvest already proven on `josep-reyero/oats-knowledge` (3 commits).
|
|
60
73
|
- ⛔ Target `awebai/oats-knowledge` is EMPTY and PRIVATE; **visibility undecided** (stated requirement: public). Human decision needed before publishing.
|
|
61
74
|
- ⬜ Then: push bootstrap + curation as PR to awebai; bind `stores.oats` in the pilot deployment; prove fresh-reader + Git-PR learning with the new souls; retire old in-soul knowledge (`agents/*/soul/knowledge`) as a final cutover.
|
|
62
75
|
|
|
63
76
|
## S8 — Desktop parity
|
|
77
|
+
- Finding (L, D2 audit): the Desktop server has **no soul-creation endpoint** today (roster reads, existing-soul edits/capability operations, instance spawn only). Soul creation with explicit `oats.core`, the marketplace view and the onboarding flow are new Desktop features, not wiring.
|
|
64
78
|
- ⬜ After S4/S5: official marketplace view/search; soul creation showing `oats.core`; onboarding flow; redesign parity vs `Oats UX Redesign and Desktop Discovery (1)`.
|
|
65
79
|
- ⛔ Fresh `oats-desktop-engineer` not spawned: `claude` not on PATH → choose Pi/Codex or install (human).
|
|
66
80
|
|
|
67
81
|
## Blockers needing the human
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
3. Desktop engineer runtime (Claude absent) — gates S8.
|
|
82
|
+
- ~~oats-knowledge visibility~~ → PUBLIC (Juan). ~~oats-dev/oats-linear access~~ → granted, indexes merged. ~~Desktop runtime~~ → Juan's machine hosts the Desktop lane (has `claude`).
|
|
83
|
+
- None open at 23:10Z. Juan's side (Antares) takes: (a) fresh-deployment gate P1.5, (c) fresh-reader proof, (b) Desktop host after D3.
|
package/docs/first-team.md
CHANGED
|
@@ -42,6 +42,48 @@ For several repositories initialize their common workspace, then select the
|
|
|
42
42
|
repository owning the soul with `--dir /path/to/workspace/project` for
|
|
43
43
|
create/spawn/retire. A team roster does not select a work repository for spawn.
|
|
44
44
|
|
|
45
|
+
## Onboarding with the setup expert
|
|
46
|
+
|
|
47
|
+
For a kernel build that includes `oats onboard` (check `oats onboard --help`),
|
|
48
|
+
start in an explicit empty deployment:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
oats onboard --dir /absolute/new-deployment --json
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
This command is **not present in the published 0.24.0/0.24.1 kernels**. It is a
|
|
55
|
+
classic local bootstrap, not captured preparation or workspace enrollment. It
|
|
56
|
+
acquires `oats.framework` from the official catalog, exact-locks its artifacts,
|
|
57
|
+
selects only `oats.core` and `oats.setup` for the new local `oats-setup-expert`,
|
|
58
|
+
and prints the exact next spawn command. Review and run the returned
|
|
59
|
+
`result.next.command` when ready; it addresses this same kernel and deployment.
|
|
60
|
+
Onboarding itself never launches a model, changes native authentication or
|
|
61
|
+
installs capture hooks/services. **`oats setup` remains the separate record
|
|
62
|
+
capture-setup command**, not an alias for onboarding.
|
|
63
|
+
|
|
64
|
+
The expert receives `oats-operate`, `oats-souls`, `oats-config`, `oats-packages`
|
|
65
|
+
and `oats-workspace-setup`, without duplicate legacy kernel skill copies. It has
|
|
66
|
+
no hard knowledge/messaging dependency, so it can help select and configure those
|
|
67
|
+
providers afterward. Catalog identity grants no executable trust: the bootstrap
|
|
68
|
+
uses resource-only core/setup capabilities and refuses unexpected executable
|
|
69
|
+
surfaces instead of auto-approving them.
|
|
70
|
+
|
|
71
|
+
An existing roster is refused unless `--force-existing` is explicit. That flag
|
|
72
|
+
permits adding the new soul, not overwriting an existing setup expert or disabling
|
|
73
|
+
providers for other souls. Failures report partial acquisition/creation rather
|
|
74
|
+
than claiming atomic captured preparation. Preserve that evidence before retrying.
|
|
75
|
+
|
|
76
|
+
Optional `--workspace git:host/org/repository[@revision]` reads the selected
|
|
77
|
+
repository through ordinary discovery: use its pinned `oats-setup-expert` import
|
|
78
|
+
when present, otherwise its own advertised `souls/oats-setup-expert` edition at
|
|
79
|
+
the observed revision. Missing or incompatible explicit sources refuse; they do
|
|
80
|
+
not fall back to the packaged default. The copied edition's package must match
|
|
81
|
+
the official acquisition; workspace policy, teams and provider adoption values
|
|
82
|
+
are not silently adopted. Without this option, only the packaged definition and
|
|
83
|
+
instruction text are used—no knowledge corpus is bundled.
|
|
84
|
+
|
|
85
|
+
The manual path below retains its stated older integration/version scope.
|
|
86
|
+
|
|
45
87
|
## Configure explicit knowledge and optional messaging
|
|
46
88
|
|
|
47
89
|
Edit the existing entries in `oats-config.yaml`; do not append a second
|
package/docs/layers.md
CHANGED
|
@@ -80,7 +80,7 @@ Messaging is conversation, not automatically task state. Accepted knowledge may
|
|
|
80
80
|
|
|
81
81
|
The current slot name is **`messaging`**. The capability owns native identity, addressing, team membership, transport, wake delivery and qualification. A team alias in a workspace is a declaration, not proof that an actor is enrolled or a privacy property is enforced.
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
aweb 1.10.3 supports its legacy setup/lifecycle path but lacks the captured provider-binding interface. **aweb 1.11.0** (OATS >=0.24.2) adds it: `check` qualifies HOME-route operational custody for an input-capable Claude/Codex primary with an explicit private team and `delivery: session`; a strict-Pi print primary reports `needs-configuration` rather than dropping the requirement. Qualification is not account delegation, broker delivery or model consumption.
|
|
84
84
|
|
|
85
85
|
The earlier proposed `reach` ladder is **not an enforced universal field**. In particular, aweb's `team_and_contacts` includes verified same-team senders; the compatibility spellings `contacts-only` and `contacts_only` do not establish owner-only admission. A config command succeeding proves neither inbound/outbound restrictions nor knowledge visibility. See the [identity/membership amendment](design/2026-09-08-expert-assisted-deployment-proposal.md#membership-reach-and-visibility-are-separate) and [messaging boundary](design/2026-09-16-messaging-capability-contract.md).
|
|
86
86
|
|
|
@@ -58,17 +58,22 @@ or workspace membership alone does not make a package official.
|
|
|
58
58
|
Contact and license evidence may live in the package/repository documentation;
|
|
59
59
|
this policy does not invent new catalog or manifest fields.
|
|
60
60
|
|
|
61
|
-
##
|
|
61
|
+
## Listed first set
|
|
62
62
|
|
|
63
|
-
-
|
|
64
|
-
`oats.linear`, `oats.dev` and `oats.
|
|
65
|
-
- **
|
|
66
|
-
`oats
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
- Listed capabilities: `oats.okf`, `oats.aweb`, `oats.authoring`, `oats.jira`,
|
|
64
|
+
`oats.linear`, `oats.dev`, `oats.knowledge-theory`, `oats.core` and `oats.setup`.
|
|
65
|
+
- **`oats.framework` 1.1.1** is listed at tag `oats-framework/v1.1.1` in
|
|
66
|
+
`awebai/oats`, payload root `oats-package`. The `oats.core`, `oats.setup` and
|
|
67
|
+
`oats.knowledge-theory` aliases select that distribution; package identity is
|
|
68
|
+
distinct from capability identity. Core supplies operation/soul guidance;
|
|
69
|
+
setup supplies OATS Soul Setup, configuration and package guidance.
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
These entries are in the current repository catalog. An older installed CLI keeps
|
|
72
|
+
its bundled catalog; publication here does not update that installation or rewrite
|
|
73
|
+
old source references, locks or tags. Follow that CLI's supported acquisition path.
|
|
74
|
+
The [workspace adoption guide](workspace-adoption.md) distinguishes the published
|
|
75
|
+
capabilities and five expert imports from the still-pending D3 setup-expert flow.
|
|
76
|
+
No package is silently added to an existing soul.
|
|
72
77
|
|
|
73
78
|
## Updates, deprecation and removal
|
|
74
79
|
|
package/docs/packages.md
CHANGED
|
@@ -402,7 +402,7 @@ sources; installing a kernel does not advance existing package locks:
|
|
|
402
402
|
{
|
|
403
403
|
"packages": {
|
|
404
404
|
"oats.okf": { "url": "https://github.com/awebai/oats-okf.git", "ref": "v2.0.0", "path": "oats-package" },
|
|
405
|
-
"oats.
|
|
405
|
+
"oats.framework": { "url": "https://github.com/awebai/oats.git", "ref": "oats-framework/v1.1.1", "path": "oats-package" },
|
|
406
406
|
"oats.dev": { "url": "https://github.com/awebai/oats-dev.git", "ref": "v1.0.0", "path": "oats-package" }
|
|
407
407
|
},
|
|
408
408
|
"capabilities": { "oats.review": "oats.dev" }
|
|
@@ -427,13 +427,17 @@ npm drops the source worker soul's `CLAUDE.md -> AGENTS.md`. It must not be
|
|
|
427
427
|
advertised as a complete local package or repaired after acquisition to evade
|
|
428
428
|
integrity checks. Git transport preserves the canonical source alias.
|
|
429
429
|
|
|
430
|
-
The
|
|
430
|
+
The `oats.framework` distribution package is a separate Git payload in this
|
|
431
431
|
repository's `oats-package/`, excluded from the kernel npm tarball. The catalog
|
|
432
|
-
entry selects published framework
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
432
|
+
entry selects the published `oats-framework/v1.1.1` tag, which exports three
|
|
433
|
+
capabilities: `oats.core` (day-to-day operation: `oats-operate`, `oats-souls`
|
|
434
|
+
and the "you run on OATS" briefing — declared explicitly on every soul by
|
|
435
|
+
default at creation and removable), `oats.setup` (OATS Soul Setup: `oats-config`,
|
|
436
|
+
`oats-packages`, `oats-workspace-setup`) and the optional `oats.knowledge-theory`
|
|
437
|
+
(authoring skill and `knowledge-theory-expert`). Acquire it with
|
|
438
|
+
`oats install oats.framework`; the capability ids also resolve through the
|
|
439
|
+
catalog aliases. Acquiring it does not activate anything, bind a knowledge
|
|
440
|
+
layer or add a runtime judge.
|
|
437
441
|
|
|
438
442
|
Updating OKF v1 to v2 is a breaking capability change. Preserve existing
|
|
439
443
|
knowledge and source state/cursors, explicitly bind/provision external owners,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# OATS v0.24.2 — `oats onboard`, official capabilities in a soul's definition, aweb 1.11.0 pairing
|
|
2
|
+
|
|
3
|
+
Kernel/Pi/Desktop **0.24.2**. Publication is not deployment: every operator still installs, approves and qualifies locally.
|
|
4
|
+
|
|
5
|
+
## What changed
|
|
6
|
+
|
|
7
|
+
- **`oats onboard [--dir <deployment>] [--workspace <git:source[@rev]>] [--force-existing] [--json]`** — bootstrap a deployment with an **`oats-setup-expert`** soul that holds `oats.core` and `oats.setup`. Acquires the official `oats.framework` package through the existing engine (resources-only guard before commit, no catalog auto-trust), activates exactly those two capabilities for that soul, writes its definition with both pinned at the acquired immutable commit, and **prints** the spawn command — it never launches a model. Classic local bootstrap, not captured preparation. `oats setup` (record capture setup) is unchanged.
|
|
8
|
+
- **Soul creation declares `oats.core` explicitly.** `oats create` and new local souls write `requires.capabilities.oats.core` resolved from the official catalog; `--no-oats-core` opts out; nothing is invented when the catalog has no entry. When a soul declares `oats.core` or `oats.setup`, the kernel composes **neither** the legacy kernel skills (`oats`, `oats-config`, `oats-packages`) nor the `kernel:oats` injection — the capability's skills are the operational curriculum. Souls without it keep legacy behavior; `oats doctor` prints an informational line.
|
|
9
|
+
- **Official capabilities.** `oats.framework` **1.1.1** (tag `oats-framework/v1.1.1`) exports `oats.core` (`oats-operate`, `oats-souls`, "you run on OATS" briefing), `oats.setup` (`oats-config`, `oats-packages`, `oats-workspace-setup` — now documenting the operator request shape) and `oats.knowledge-theory`. Listed in the official catalog with capability aliases.
|
|
10
|
+
- **Retained inspection projects `launchSelection`** (`{runtime, model}` or `null`) for the primary from the verified retained record; provider binding codecs receive the same-kernel `OATS_CLI_BIN` after the environment scrub. These are what a provider `check` needs to be truthful about the primary's profile.
|
|
11
|
+
- **aweb 1.11.0 pairing.** The catalog and all framework soul editions pin `oats.aweb@v1.11.0`, which adds the portable binding interface (floor `>=0.24.2`). Its `check` qualifies HOME-route operational custody only: explicit private team, `delivery: session`, an input-capable Claude/Codex primary. A strict-Pi print primary reports `needs-configuration`; the requirement is never dropped.
|
|
12
|
+
- **Six framework soul editions** exported and imported by `oats-workspace.yaml`: the five knowledge-owning experts (`oats-expert`, `oats-kernel-expert`, `oats-desktop-expert`, `market-research-expert`, `oats-assistant`) at `caa341f3` and `oats-setup-expert` at `0aad753c`. All six declare `oats.core` from the repository's own payload.
|
|
13
|
+
- Baseline hygiene: golden fixtures use a genuinely empty catalog; the package check lazy-loads dev validators so syntax-only lanes work without `node_modules`.
|
|
14
|
+
|
|
15
|
+
## Second-operator gate
|
|
16
|
+
|
|
17
|
+
An independent operator on a fresh machine adopted the shared definition from public sources through `inspect` → `prepare` → approvals with 0.24.1: the whole graph (including `oats.core`/`oats.setup`) resolved and materialized; preparation stopped at aweb 1.10.3 as declared. Five usability seams were recorded (request-file mismatch between `inspect`/`prepare`, raw ENOENT on an absent deployment, `trust --dir` rejecting lock v3, `--artifact-set` missing from help, unattributed provider problems). **They are not fixed in this cut**; see the [program board](../design/2026-09-20-redesign-program-board.md).
|
|
18
|
+
|
|
19
|
+
## Not in this cut
|
|
20
|
+
|
|
21
|
+
Desktop marketplace view / soul creation UI, legacy `agents/` roster and in-soul knowledge decommission (after the fresh-reader proof against the public `oats-knowledge`), Pi session-input support.
|
|
@@ -54,6 +54,31 @@ in a soul bundle; see [knowledge](knowledge.md) for its prepared version scope.
|
|
|
54
54
|
Future integrations may add expert-specific artifacts such as rule files or
|
|
55
55
|
runtime-specific guidance, while keeping `AGENTS.md` canonical.
|
|
56
56
|
|
|
57
|
+
## OATS operational knowledge is a capability
|
|
58
|
+
|
|
59
|
+
New souls declare `requires.capabilities.oats.core` with a Git source resolved
|
|
60
|
+
from the official package catalog. `oats create` and new local-soul scaffolds
|
|
61
|
+
write that requirement; `--no-oats-core` explicitly omits it. If the catalog has
|
|
62
|
+
no published revision yet, creation reports `needs-configuration` (also in JSON
|
|
63
|
+
`notes`) and leaves the requirement absent rather than inventing a source.
|
|
64
|
+
Declaring a capability is not acquiring, activating or approving it: those remain
|
|
65
|
+
normal deployment/preparation steps. The Desktop server currently has no
|
|
66
|
+
soul-creation endpoint; `oats soul set` edits existing definitions only.
|
|
67
|
+
|
|
68
|
+
The dependency is visible and removable in `soul.yaml`. Updating an existing
|
|
69
|
+
local soul preserves its requirements—including a deliberate removal—rather
|
|
70
|
+
than applying the creation default again. For the one-release transition,
|
|
71
|
+
a declaration of **either `oats.core` or `oats.setup`** suppresses the entire
|
|
72
|
+
legacy kernel operational skill list (`oats`, `oats-config`, `oats-packages`)
|
|
73
|
+
and `kernel:oats` injection. This also prevents setup's moved skill names from
|
|
74
|
+
colliding with the kernel copies; no skill override is needed for this case.
|
|
75
|
+
Without either declaration, legacy composition is unchanged.
|
|
76
|
+
`oats doctor --soul <name>` reports an absent `oats.core` as an informational
|
|
77
|
+
deprecation notice, not an error. Instance-boundary, work-mode and
|
|
78
|
+
configuration-declared briefings remain kernel-owned. Existing captured records
|
|
79
|
+
keep their retained resources; this does not migrate them or retire the kernel
|
|
80
|
+
skill files yet.
|
|
81
|
+
|
|
57
82
|
## Instance anatomy
|
|
58
83
|
|
|
59
84
|
An instance has a lifecycle, but need not be short-lived. It is the identity of
|
|
@@ -5,12 +5,30 @@ source-complete exports and declares its own reciprocal membership. `oats-dev`
|
|
|
5
5
|
remains a development-capability repository, including `oats.review`; membership
|
|
6
6
|
neither activates that package nor replaces its existing configuration templates.
|
|
7
7
|
|
|
8
|
-
This
|
|
9
|
-
**the existing oats-expert**.
|
|
10
|
-
cutover, a shared
|
|
8
|
+
This guide covers the shared repository graph and portable expert source editions,
|
|
9
|
+
beginning with **the existing oats-expert**. Source publication is not a live
|
|
10
|
+
five-role roster or curated knowledge cutover, a shared runtime, private-team
|
|
11
|
+
enrollment or Desktop feature parity.
|
|
11
12
|
The [phase plan](design/2026-09-20-workspace-and-portable-adoption-plan.md) and
|
|
12
13
|
[knowledge model](knowledge-theory.md) retain those separate boundaries.
|
|
13
14
|
|
|
15
|
+
## The five framework experts
|
|
16
|
+
|
|
17
|
+
The indexed source editions are `oats-expert`, `oats-kernel-expert`,
|
|
18
|
+
`oats-desktop-expert`, `market-research-expert` and `oats-assistant`. Each declares
|
|
19
|
+
`owns` for its own same-named node and `reads` for the other four through logical
|
|
20
|
+
store `oats`, preserving the reviewed owner UUIDs. These are knowledge-routing and
|
|
21
|
+
context declarations, not access grants or proof of accepted knowledge. The parallel
|
|
22
|
+
`souls/` editions neither replace the legacy `agents/` roster nor adopt the curated
|
|
23
|
+
KB or change live instances; actual adoption still needs compatible providers and
|
|
24
|
+
explicit bindings. All five now explicitly declare `oats.core` under
|
|
25
|
+
`requires.capabilities`, with `source: repo:oats-package`. This retains the complete
|
|
26
|
+
package from the same reviewed source revision.
|
|
27
|
+
|
|
28
|
+
The dependency is visible and removable in the authored definition, not a change
|
|
29
|
+
to existing captured records. An edited edition needs its own reviewed publication
|
|
30
|
+
and import update; changing today's source does not rewrite an older pinned import.
|
|
31
|
+
|
|
14
32
|
## Shared versus local
|
|
15
33
|
|
|
16
34
|
| Git-shared declaration | Operator-local input or evidence |
|
|
@@ -22,17 +40,18 @@ The [phase plan](design/2026-09-20-workspace-and-portable-adoption-plan.md) and
|
|
|
22
40
|
| A reviewed source revision | Exact executable approval, current readiness and deployment acceptance |
|
|
23
41
|
|
|
24
42
|
No machine paths, credentials, private team identifiers, accepted-store locator or
|
|
25
|
-
owner registry belongs in the public workspace.
|
|
26
|
-
|
|
43
|
+
owner registry belongs in the public workspace. Knowledge publication and acceptance
|
|
44
|
+
(S7) remain separate; no ready knowledge export is advertised. Preserve the parked
|
|
27
45
|
roster/curation and every old home, lock, source, pending job, history and worktree.
|
|
28
46
|
|
|
29
47
|
## Planned onboarding: OATS Soul Setup (D3)
|
|
30
48
|
|
|
31
|
-
**
|
|
49
|
+
**The D3 onboarding flow remains pending.** It will create and instantiate
|
|
32
50
|
`oats-setup-expert`, declaring both `oats.core` and `oats.setup` from the
|
|
33
|
-
[official marketplace](official-marketplace.md).
|
|
34
|
-
|
|
35
|
-
|
|
51
|
+
[official marketplace](official-marketplace.md). Those capabilities are now
|
|
52
|
+
published in `oats.framework` 1.1.0 and listed; the separate setup-expert edition
|
|
53
|
+
and onboarding entry point do not become available merely by listing the package.
|
|
54
|
+
This flow was not shipped in the 0.24.0 or 0.24.1 kernel releases.
|
|
36
55
|
|
|
37
56
|
- The setup expert will help the operator adopt repositories, select capabilities
|
|
38
57
|
and carry out the normal prepare/approve/scaffold/start steps. It bypasses no
|
|
@@ -41,27 +60,29 @@ introduced by this guide.
|
|
|
41
60
|
and its source explicitly. The operator can remove or replace that dependency
|
|
42
61
|
by editing the authored definition, not a captured record; the kernel will not
|
|
43
62
|
silently reinsert an absent one.
|
|
44
|
-
- The CLI/Desktop entry point
|
|
45
|
-
invent a workspace init/adopt command, create a setup soul from this
|
|
46
|
-
treat a
|
|
47
|
-
are not rewritten by the plan.
|
|
63
|
+
- The CLI/Desktop entry point still requires separate implementation and review.
|
|
64
|
+
Do not invent a workspace init/adopt command, create a setup soul from this
|
|
65
|
+
sketch, or treat a listed package as installed. Existing instances and retained
|
|
66
|
+
resources are not rewritten by the plan.
|
|
48
67
|
|
|
49
|
-
##
|
|
68
|
+
## Stage two: published experts and pinned imports
|
|
50
69
|
|
|
51
70
|
- `oats-workspace.yaml` explicitly admits `oats` and the six intended capability
|
|
52
71
|
repositories: `oats-dev`, `oats-okf`, `oats-aweb`, `oats-authoring`, `oats-jira`
|
|
53
72
|
and `oats-linear`. It activates no additional capability; tasks default to none.
|
|
54
|
-
- `oats.yaml`
|
|
55
|
-
`oats-package` and `capabilities/oats-authoring`, not
|
|
56
|
-
OATS distribution. Its workspace backlink names
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
73
|
+
- `oats.yaml` exports all five `souls/<name>` editions above and the actual package
|
|
74
|
+
roots `oats-package` (`oats.framework`) and `capabilities/oats-authoring`, not
|
|
75
|
+
the npm root as a fictitious OATS distribution. Its workspace backlink names
|
|
76
|
+
the same framework repository.
|
|
77
|
+
- The editions are parallel to, not replacements for, the live `agents/` roster.
|
|
78
|
+
Each contains canonical instructions, `CLAUDE.md -> AGENTS.md`, and its reviewed
|
|
79
|
+
private procedures where applicable. No durable KB is copied into them; legacy
|
|
80
|
+
roster cutover remains deferred until S7 knowledge publication.
|
|
81
|
+
- Each edition preserves its knowledge owner, owned node and four cross-reads.
|
|
61
82
|
Store `oats` requires the explicit `stores.oats` binding; no publisher writer,
|
|
62
83
|
production store or grants are supplied. An acceptance fixture is parent-owned
|
|
63
84
|
and cannot be counted as production knowledge adoption.
|
|
64
|
-
- Knowledge **oats.okf@2.1.1** and messaging **oats.aweb@1.
|
|
85
|
+
- Knowledge **oats.okf@2.1.1** and messaging **oats.aweb@1.11.0** are explicit hard
|
|
65
86
|
requirements, not optional defaults. They are published starting revisions,
|
|
66
87
|
**not proof that their combined bindings/runtime profile is ready**. The provider
|
|
67
88
|
owner supplies that evidence and any subsequently reviewed compatible revision.
|
|
@@ -69,38 +90,41 @@ introduced by this guide.
|
|
|
69
90
|
|
|
70
91
|
At these starting pins, the provider boundary is concrete:
|
|
71
92
|
|
|
72
|
-
- Published OKF2.1.
|
|
93
|
+
- Published OKF2.1.1 supports `inherit: stores.oats`, normalized to
|
|
73
94
|
`/bindings/knowledge/stores/oats`. The explicit `destination: oats` preserves
|
|
74
95
|
routing; omitting it would instead require `write.default`. No new schema,
|
|
75
96
|
owner or production locator is needed for this declaration.
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
- aweb 1.10.3 (`24efa6f9`) has no portable binding interface; **aweb 1.11.0**
|
|
98
|
+
(`v1.11.0`, OATS >=0.24.2) adds it and the five editions now pin it. Its `check`
|
|
99
|
+
qualifies only an input-capable Claude/Codex primary with an explicit private team
|
|
100
|
+
and `delivery: session`; strict-Pi print reports `needs-configuration`. Status is on
|
|
101
|
+
the [program board](design/2026-09-20-redesign-program-board.md). Qualification
|
|
102
|
+
is HOME-route operational custody only: not human/native-principal delegation,
|
|
103
|
+
private grants, broker delivery or model consumption.
|
|
104
|
+
- Published OKF2.1.1 accepts retained Claude/Codex helpers with the complete approved
|
|
105
|
+
capability closure and native-default model intent. Strict Pi still requires an
|
|
106
|
+
explicit model and the sole-OKF profile; Pi plus messaging remains unqualified.
|
|
107
|
+
This provider release alone is not combined-profile acceptance. Do not silently
|
|
108
|
+
switch runtimes, force a model, or drop capabilities.
|
|
88
109
|
|
|
89
110
|
These are explicit readiness holds, not reasons to weaken the source. Parent must
|
|
90
111
|
select reviewed compatible provider revisions and update the source pin deliberately
|
|
91
112
|
before claiming an operational pilot; metadata-only repository indexes change none
|
|
92
113
|
of these runtime facts.
|
|
93
114
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
115
|
+
Stage one used an empty imports list until source publication. Stage two is now
|
|
116
|
+
committed: all five imports pin **`caa341f34009e37006567419a983d5a743037a79`**, the
|
|
117
|
+
published edition revision containing explicit core requirements and the package.
|
|
118
|
+
The later workspace commit `375b9f42` added those imports. Live source inspection
|
|
119
|
+
against published main resolved all five as `ready-for-preparation`; this is
|
|
120
|
+
metadata readiness, not provider binding, approval, enrollment or a running pilot.
|
|
97
121
|
|
|
98
|
-
##
|
|
122
|
+
## Preserve source-before-import publication order
|
|
99
123
|
|
|
100
|
-
1.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
124
|
+
1. Publish complete, reviewed source editions before pinning them. The current
|
|
125
|
+
source is `caa341f34009e37006567419a983d5a743037a79`; future revisions must likewise
|
|
126
|
+
exist before their workspace import update. Never use an invented SHA, a mutable
|
|
127
|
+
branch or an unreviewed local candidate as the accepted source.
|
|
104
128
|
2. In each of the six repositories, review a root `oats.yaml` against its actual
|
|
105
129
|
source head and actual `oats-package/oats-package.json`. The declaration is:
|
|
106
130
|
|
|
@@ -114,21 +138,25 @@ not an already usable/adopted pilot graph or a phase-1 exit verdict.
|
|
|
114
138
|
```
|
|
115
139
|
|
|
116
140
|
Preserve payloads, versions, old tags and legacy templates. This does not
|
|
117
|
-
activate oats.dev, messaging or either optional task integration.
|
|
118
|
-
|
|
119
|
-
|
|
141
|
+
activate oats.dev, messaging or either optional task integration. Indexes are
|
|
142
|
+
published on `main` in all six capability repositories (oats-okf, oats-aweb,
|
|
143
|
+
oats-authoring, oats-jira, oats-dev, oats-linear); their publication proceeded
|
|
144
|
+
separately from the framework's own source imports.
|
|
145
|
+
3. A subsequent workspace commit pins the published source, never itself or a
|
|
146
|
+
future commit. The current first import is:
|
|
120
147
|
|
|
121
148
|
```yaml
|
|
122
149
|
imports:
|
|
123
150
|
- source: git:github.com/awebai/oats
|
|
124
151
|
soul: souls/oats-expert
|
|
125
|
-
revision:
|
|
152
|
+
revision: caa341f34009e37006567419a983d5a743037a79
|
|
126
153
|
alias: oats-expert
|
|
127
154
|
```
|
|
128
155
|
|
|
129
|
-
The
|
|
130
|
-
|
|
131
|
-
|
|
156
|
+
The [actual workspace](../oats-workspace.yaml) contains all five imports at that
|
|
157
|
+
same revision; this excerpt is not a replacement for the full list. The layout
|
|
158
|
+
test now checks stage-two imports and source-document declarations. Do not
|
|
159
|
+
change stable export paths or owners merely because the workspace advances.
|
|
132
160
|
4. Qualify reciprocal admission at the now-published observations. A missing
|
|
133
161
|
backlink, a fork's copied file or a stale workspace observation is not membership.
|
|
134
162
|
Cross-repository indexes may land separately; until both sides exist, report the
|
|
@@ -149,19 +177,18 @@ may consume it without membership in the OATS development workspace.
|
|
|
149
177
|
|
|
150
178
|
## Inspect source metadata before preparation
|
|
151
179
|
|
|
152
|
-
The public source inspector
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
Do not infer availability from the version floor of a capability.
|
|
180
|
+
The public source inspector ships in [OATS 0.24.1](release-notes/v0.24.1.md),
|
|
181
|
+
following PR24 integration. Use an installed CLI containing that implementation.
|
|
182
|
+
It is **not supported by the original 0.24.0 release**: that older inspect route
|
|
183
|
+
can ignore the request flag and consult ambient classic configuration. Do not
|
|
184
|
+
infer command availability from a capability's version floor or today's catalog.
|
|
158
185
|
|
|
159
186
|
```sh
|
|
160
187
|
oats inspect --request /absolute/inspection.json --json
|
|
161
188
|
```
|
|
162
189
|
|
|
163
|
-
|
|
164
|
-
|
|
190
|
+
With the stage-two imports published, the authored inspection input can use the
|
|
191
|
+
same repository for workspace, member and source:
|
|
165
192
|
|
|
166
193
|
```json
|
|
167
194
|
{
|
|
@@ -222,7 +249,7 @@ Before preparing, the integration lead must supply:
|
|
|
222
249
|
- The published workspace/source observations and an explicit fresh physical
|
|
223
250
|
deployment/home placement. Do not copy old locks, retained records or identities.
|
|
224
251
|
- An operator-owned nonsecret request with `workspace` (its source and origin),
|
|
225
|
-
`source: "oats-expert"`
|
|
252
|
+
`source: "oats-expert"` (or another published expert alias), and `mode: "directory"`.
|
|
226
253
|
Standalone callers instead give the complete `{source,soul,revision,alias}`
|
|
227
254
|
reference and an explicit standalone context; they do not inherit this workspace.
|
|
228
255
|
- Explicit provider-specific settings and bindings. OKF preparation needs selected
|
|
@@ -236,7 +263,7 @@ Before preparing, the integration lead must supply:
|
|
|
236
263
|
`operator.policy.messaging` selection: capability, matching selected source and
|
|
237
264
|
`settings: {delivery: session}`. Retain host requirements, session `ifInstalled`
|
|
238
265
|
minimums and any selected authoring requirements. Selecting session delivery neither
|
|
239
|
-
|
|
266
|
+
makes a strict-Pi print primary input-capable nor supplies captured wake authority.
|
|
240
267
|
- A qualified primary/helper runtime/model/resource profile. Capture the intended
|
|
241
268
|
helper selection in `helperLaunches["oats.okf:memory-harvest"]`, not the legacy
|
|
242
269
|
`souls.memory-harvest` configuration. Do not replace retained intent to fit an easier
|
|
@@ -262,10 +289,12 @@ Do not mix other preparation flags into request-file mode. A needs-configuration
|
|
|
262
289
|
approval result is not a ready instance. A scaffold materializes resources and may
|
|
263
290
|
run approved hooks; it is not a message exchange or model session. Actual dispatch,
|
|
264
291
|
continuation, native capture, messaging and learning require the integration owner's
|
|
265
|
-
qualified profile and receipts.
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
292
|
+
qualified profile and receipts. OATS 0.24.1 adds captured custody checks to the
|
|
293
|
+
existing HOME-only session inspect/input route; it does not supply the missing
|
|
294
|
+
messaging adapter or qualify every lifecycle route. Verify wake/input/retirement
|
|
295
|
+
support for the exact route and runtime. A stopped-home observation is not delivery
|
|
296
|
+
or retirement authority, and a messaging profile cannot pass on start-only evidence.
|
|
297
|
+
Do not bypass custody with a legacy fallback or remove the messaging requirement.
|
|
269
298
|
Consult the current installed public help and the provider's supported commands;
|
|
270
299
|
this guide introduces no new CLI grammar. The source inspector above is a separate
|
|
271
300
|
implementation dependency, not a change to the existing prepare request contract.
|
|
@@ -282,4 +311,4 @@ indexes are not evidence that the six real repositories are already published.
|
|
|
282
311
|
Source and metadata checks do not enroll users, initialize the phase-2 store, register
|
|
283
312
|
production writers or qualify private messaging. Parent alone coordinates publication,
|
|
284
313
|
local operator approval and actual adoption. Full Desktop parity follows usable
|
|
285
|
-
infrastructure adoption, not merely
|
|
314
|
+
infrastructure adoption, not merely source metadata passing validation.
|
package/injects/oats-portable.md
CHANGED
|
@@ -9,6 +9,10 @@ configuration cascade, package lock, similarly named capability, or source path.
|
|
|
9
9
|
Load **oats-portable** before invoking or reasoning about captured OATS commands.
|
|
10
10
|
Load **oats-portable-artifacts** for exact retained inspection and approval. Do not load the legacy **oats**,
|
|
11
11
|
**oats-config**, or **oats-packages** procedures to fill a captured input.
|
|
12
|
+
If this retained composition includes **oats.core**, its **oats-operate** and
|
|
13
|
+
**oats-souls** skills are capability resources, not implicit kernel additions.
|
|
14
|
+
Use only the resources actually included; a missing capability is not permission
|
|
15
|
+
to fetch or substitute a current version.
|
|
12
16
|
|
|
13
17
|
Captured start/restart use exact retained launch inputs and supported native
|
|
14
18
|
endpoints. Captured wake/retire, unqualified runtime contributions and non-directory
|