@awebai/oats 0.22.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/LICENSE +21 -0
- package/README.md +380 -0
- package/bin/oats.mjs +3294 -0
- package/capabilities/oats-authoring/oats.json +12 -0
- package/capabilities/oats-aweb/bin/oats-aweb.mjs +297 -0
- package/capabilities/oats-aweb/injects/aweb.md +55 -0
- package/capabilities/oats-aweb/oats.json +47 -0
- package/capabilities/oats-aweb/package.json +20 -0
- package/capabilities/oats-jira/bin/oats-jira.mjs +40 -0
- package/capabilities/oats-jira/injects/jira.md +10 -0
- package/capabilities/oats-jira/oats.json +22 -0
- package/capabilities/oats-jira/package.json +25 -0
- package/capabilities/oats-jira/skills/jira-tasks/SKILL.md +176 -0
- package/capabilities/oats-linear/README.md +234 -0
- package/capabilities/oats-linear/bin/oats-linear-hook.mjs +32 -0
- package/capabilities/oats-linear/bin/oats-linear.mjs +344 -0
- package/capabilities/oats-linear/injects/linear.md +8 -0
- package/capabilities/oats-linear/oats.json +24 -0
- package/capabilities/oats-linear/package.json +29 -0
- package/capabilities/oats-linear/skills/linear-tasks/SKILL.md +217 -0
- package/capabilities/oats-linear/test/oats-linear.test.mjs +168 -0
- package/capabilities/oats-okf/agents/memory-harvest.md +25 -0
- package/capabilities/oats-okf/bin/oats-okf.mjs +283 -0
- package/capabilities/oats-okf/injects/okf.md +62 -0
- package/capabilities/oats-okf/oats.json +20 -0
- package/capabilities/oats-okf/package.json +22 -0
- package/capabilities/oats-okf/skills/memory-harvest/SKILL.md +100 -0
- package/capabilities/oats-okf/skills/okf/SKILL.md +107 -0
- package/capabilities/oats-okf/skills/okf/scripts/okf-validate.mjs +123 -0
- package/capabilities/oats-review/agents/reviewer/AGENTS.md +53 -0
- package/capabilities/oats-review/agents/reviewer/soul.yaml +6 -0
- package/capabilities/oats-review/injects/review.md +68 -0
- package/capabilities/oats-review/oats.json +10 -0
- package/capabilities/oats-review/skills/code-review/SKILL.md +44 -0
- package/capabilities/oats-review/skills/security-review/SKILL.md +59 -0
- package/docs/capabilities.md +505 -0
- package/docs/capability-manifest.schema.json +223 -0
- package/docs/configuration.md +482 -0
- package/docs/conventions.md +73 -0
- package/docs/design/desktop-ux-plan.md +362 -0
- package/docs/design/package-engine-contract.md +813 -0
- package/docs/design/package-runtime-api.md +414 -0
- package/docs/desktop-cli-api.md +89 -0
- package/docs/desktop-succession.md +51 -0
- package/docs/desktop.md +187 -0
- package/docs/implementation.md +282 -0
- package/docs/integrations.md +123 -0
- package/docs/knowledge-theory.md +97 -0
- package/docs/knowledge.md +139 -0
- package/docs/layers.md +110 -0
- package/docs/migration-from-oas.md +122 -0
- package/docs/oats-config.schema.json +140 -0
- package/docs/oats-lock.schema.json +175 -0
- package/docs/oats-package.schema.json +129 -0
- package/docs/packages.md +442 -0
- package/docs/release-lane.md +132 -0
- package/docs/release-notes/v0.18.2.md +79 -0
- package/docs/release-notes/v0.18.3.md +63 -0
- package/docs/release-notes/v0.18.4.md +65 -0
- package/docs/release-notes/v0.18.5.md +66 -0
- package/docs/release-notes/v0.18.6.md +87 -0
- package/docs/release-notes/v0.19.0.md +186 -0
- package/docs/release-notes/v0.19.1.md +24 -0
- package/docs/release-notes/v0.19.2.md +32 -0
- package/docs/release-notes/v0.19.3.md +16 -0
- package/docs/release-notes/v0.19.4.md +12 -0
- package/docs/release-notes/v0.20.0.md +89 -0
- package/docs/release-notes/v0.22.0.md +180 -0
- package/docs/souls-and-instances.md +344 -0
- package/injects/framework-workspace.md +7 -0
- package/injects/instance-boundary.md +43 -0
- package/injects/local-soul.md +19 -0
- package/injects/oats.md +11 -0
- package/injects/work-attached.md +16 -0
- package/injects/work-checkout.md +12 -0
- package/injects/work-workspace.md +22 -0
- package/injects/work-worktree.md +13 -0
- package/lib/core.mjs +6792 -0
- package/lib/packages.mjs +1375 -0
- package/lib/tmux-config.mjs +35 -0
- package/package-catalog.json +44 -0
- package/package.json +55 -0
- package/packages/record/README.md +151 -0
- package/packages/record/bin/capture.mjs +256 -0
- package/packages/record/bin/recall.mjs +102 -0
- package/packages/record/bin/setup.mjs +281 -0
- package/packages/record/bin/turn-record.mjs +47 -0
- package/packages/record/docs/turn-record-sot.md +350 -0
- package/packages/record/lib/canonical.mjs +151 -0
- package/packages/record/lib/capture-aw.mjs +179 -0
- package/packages/record/lib/capture-cc.mjs +322 -0
- package/packages/record/lib/formats.mjs +296 -0
- package/packages/record/lib/ignore.mjs +155 -0
- package/packages/record/lib/index-db.mjs +524 -0
- package/packages/record/lib/project-aweb.mjs +251 -0
- package/packages/record/lib/segments.mjs +186 -0
- package/packages/record/lib/store.mjs +447 -0
- package/packages/record/lib/tags.mjs +114 -0
- package/packages/record/package.json +45 -0
- package/packages/record/test/vectors/README.md +34 -0
- package/packages/record/test/vectors/aweb-projection-v1.json +231 -0
- package/packages/record/test/vectors/journal-merge-v1.json +261 -0
- package/packages/record/test/vectors/turn-id-v1.json +152 -0
- package/packages/record/test/vectors/validate.mjs +391 -0
- package/skills/integration-authoring/SKILL.md +76 -0
- package/skills/oats/SKILL.md +151 -0
- package/skills/oats-config/SKILL.md +162 -0
- package/skills/oats-getting-started/SKILL.md +159 -0
- package/skills/oats-packages/SKILL.md +180 -0
- package/skills/oats-support/SKILL.md +79 -0
- package/skills/skill-craft/SKILL.md +109 -0
- package/skills/soul-craft/SKILL.md +109 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# OATS v0.18.3
|
|
2
|
+
|
|
3
|
+
One public release, built from one tag: `@awebai/oats@0.18.3`,
|
|
4
|
+
`@awebai/oats-pi@0.18.3`, and **OATS Desktop 0.18.3** (attached to this
|
|
5
|
+
GitHub Release).
|
|
6
|
+
|
|
7
|
+
This is a patch release: corrected macOS installers. There are no CLI or
|
|
8
|
+
kernel behavior changes; CLI compatibility is unchanged
|
|
9
|
+
(Desktop API v1, `>=0.18.0 <0.19.0`).
|
|
10
|
+
|
|
11
|
+
## Fixed: macOS installers (arm64 and x64)
|
|
12
|
+
|
|
13
|
+
The v0.18.2 macOS artifacts were defective: the arm64 app carried an
|
|
14
|
+
incomplete linker-generated ad-hoc signature that failed strict bundle
|
|
15
|
+
verification (`code has no resources but signature indicates they must be
|
|
16
|
+
present`), which made macOS falsely report the app as **"damaged"**; the
|
|
17
|
+
x64 app was unsigned.
|
|
18
|
+
|
|
19
|
+
Both macOS `.app` bundles now receive **complete, valid ad-hoc signatures**,
|
|
20
|
+
covering nested Electron helpers and frameworks, and pass strict deep
|
|
21
|
+
verification:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
codesign --verify --deep --strict --verbose=2 "OATS Desktop.app"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
CI gates this exact strict deep codesign / sealed-resource verification on
|
|
28
|
+
both mac architectures before any artifact is uploaded or published — a
|
|
29
|
+
regression of this signature class cannot ship again.
|
|
30
|
+
|
|
31
|
+
### What this is (and is not)
|
|
32
|
+
|
|
33
|
+
The installers are **ad-hoc signed — not Developer ID signed and not
|
|
34
|
+
notarized**. Ad-hoc signatures carry no identified-developer identity, so
|
|
35
|
+
Gatekeeper may still require the first launch via right-click → **Open**
|
|
36
|
+
(or **Open Anyway** in System Settings → Privacy & Security). The false
|
|
37
|
+
"damaged" error is fixed; normal identified-developer behavior is not
|
|
38
|
+
claimed.
|
|
39
|
+
|
|
40
|
+
Existing v0.18.2 release assets, checksums, and provenance are unchanged.
|
|
41
|
+
|
|
42
|
+
## Downloads
|
|
43
|
+
|
|
44
|
+
| Platform | Artifacts |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| macOS arm64 (Apple Silicon) | DMG + ZIP |
|
|
47
|
+
| macOS x64 (Intel) | DMG + ZIP |
|
|
48
|
+
| Linux x64 | AppImage + DEB |
|
|
49
|
+
|
|
50
|
+
Verify with `SHA256SUMS.txt`; GitHub build-provenance attestations are
|
|
51
|
+
published for all assets.
|
|
52
|
+
|
|
53
|
+
**Windows and Linux arm64 are not supported in 0.18.x.**
|
|
54
|
+
|
|
55
|
+
## Install / update
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install -g @awebai/oats@0.18.3
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The pi bridge `@awebai/oats-pi` publishes in lockstep. Desktop downloads
|
|
62
|
+
are the assets on this release; the full install/support guide is
|
|
63
|
+
[docs/desktop.md](https://github.com/awebai/oats/blob/main/docs/desktop.md).
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# OATS v0.18.4
|
|
2
|
+
|
|
3
|
+
One public release, built from one tag: `@awebai/oats@0.18.4`,
|
|
4
|
+
`@awebai/oats-pi@0.18.4`, and **OATS Desktop 0.18.4** (attached to this
|
|
5
|
+
GitHub Release).
|
|
6
|
+
|
|
7
|
+
This patch release improves the Desktop experience. There are no CLI or
|
|
8
|
+
kernel behavior changes; CLI compatibility remains Desktop API v1
|
|
9
|
+
(`>=0.18.0 <0.19.0`).
|
|
10
|
+
|
|
11
|
+
## Desktop UX fixes
|
|
12
|
+
|
|
13
|
+
### Spawn status is responsive and truthful
|
|
14
|
+
|
|
15
|
+
The Spawn view now retries the CLI capability probe when startup catches the
|
|
16
|
+
backend before that probe has settled. While capability is still unknown, the
|
|
17
|
+
button reports a pending check instead of appearing silently dead; an actual
|
|
18
|
+
missing or incompatible CLI still produces actionable guidance.
|
|
19
|
+
|
|
20
|
+
### Better chat editing and copying
|
|
21
|
+
|
|
22
|
+
- **Shift+Enter** inserts a newline in chat input.
|
|
23
|
+
- Chat transcripts remain selectable and copyable across renderer updates.
|
|
24
|
+
- The application Edit menu is installed only on macOS, preserving expected
|
|
25
|
+
terminal Ctrl chords on Linux and Windows.
|
|
26
|
+
|
|
27
|
+
### Instances is a first-class workspace view
|
|
28
|
+
|
|
29
|
+
Instances now appears directly in the navigation and command palette. The
|
|
30
|
+
roster groups instances by repository and agent family, supports collapsible
|
|
31
|
+
group headers, and provides ordering controls. The selected ordering is stored
|
|
32
|
+
per canonical workspace, so switching workspaces does not leak one workspace's
|
|
33
|
+
preference into another.
|
|
34
|
+
|
|
35
|
+
### Terminal tabs restore per workspace
|
|
36
|
+
|
|
37
|
+
The active terminal tab is remembered independently for each workspace and is
|
|
38
|
+
restored when switching back.
|
|
39
|
+
|
|
40
|
+
## Downloads
|
|
41
|
+
|
|
42
|
+
| Platform | Artifacts |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| macOS arm64 (Apple Silicon) | DMG + ZIP |
|
|
45
|
+
| macOS x64 (Intel) | DMG + ZIP |
|
|
46
|
+
| Linux x64 | AppImage + DEB |
|
|
47
|
+
|
|
48
|
+
The macOS artifacts are ad-hoc signed — not Developer ID signed and not
|
|
49
|
+
notarized. First launch may still require right-click → **Open** (or **Open
|
|
50
|
+
Anyway** in System Settings → Privacy & Security).
|
|
51
|
+
|
|
52
|
+
Verify downloads with `SHA256SUMS.txt`; GitHub build-provenance attestations
|
|
53
|
+
are published for all assets.
|
|
54
|
+
|
|
55
|
+
**Windows and Linux arm64 are not supported in 0.18.x.**
|
|
56
|
+
|
|
57
|
+
## Install / update
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install -g @awebai/oats@0.18.4
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The pi bridge `@awebai/oats-pi` publishes in lockstep. Desktop downloads are
|
|
64
|
+
the assets on this release; the full install/support guide is
|
|
65
|
+
[docs/desktop.md](https://github.com/awebai/oats/blob/main/docs/desktop.md).
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# OATS v0.18.5
|
|
2
|
+
|
|
3
|
+
One public release, built from one tag: `@awebai/oats@0.18.5`,
|
|
4
|
+
`@awebai/oats-pi@0.18.5`, and **OATS Desktop 0.18.5** (attached to this
|
|
5
|
+
GitHub Release).
|
|
6
|
+
|
|
7
|
+
This corrective patch removes an out-of-scope navigation surface introduced
|
|
8
|
+
in v0.18.4 and fixes two terminal interaction failures. There are no CLI or
|
|
9
|
+
kernel behavior changes; CLI compatibility remains Desktop API v1
|
|
10
|
+
(`>=0.18.0 <0.19.0`).
|
|
11
|
+
|
|
12
|
+
## Corrected: no separate Instances stage
|
|
13
|
+
|
|
14
|
+
v0.18.4 incorrectly added an **Instances** navigation-rail destination with a
|
|
15
|
+
second roster sidebar. That surface was not part of the requested Desktop UX.
|
|
16
|
+
It has been removed: Active overview and Soul roster are again the only main
|
|
17
|
+
stages, while the existing permanent sidebar remains the place for instance
|
|
18
|
+
navigation.
|
|
19
|
+
|
|
20
|
+
The v0.18.4 spawn-status improvements and per-workspace terminal-tab restore
|
|
21
|
+
remain. The repo/family grouping helpers remain available for the separately
|
|
22
|
+
owned existing-sidebar work, but this release does not move the removed
|
|
23
|
+
stage's grouping/sort UI into another surface.
|
|
24
|
+
|
|
25
|
+
## Fixed: Shift+Enter in terminal input
|
|
26
|
+
|
|
27
|
+
A physical Shift+Enter press can produce keydown, keypress, and keyup events in
|
|
28
|
+
xterm.js. v0.18.4 handled only keydown, so the later keypress could still emit
|
|
29
|
+
Return and immediately submit after inserting a newline. Desktop now suppresses
|
|
30
|
+
the entire chord and writes exactly one newline on keydown.
|
|
31
|
+
|
|
32
|
+
## Fixed: copying from terminal tabs
|
|
33
|
+
|
|
34
|
+
With tmux mouse mode enabled, a plain drag belongs to tmux rather than xterm's
|
|
35
|
+
local selection. Desktop now enables the platform modifier that forces local
|
|
36
|
+
selection:
|
|
37
|
+
|
|
38
|
+
- macOS: **Option+drag**, then Cmd+C or right-click → Copy
|
|
39
|
+
- Linux/Windows: **Shift+drag**, then the platform copy command
|
|
40
|
+
|
|
41
|
+
## Downloads
|
|
42
|
+
|
|
43
|
+
| Platform | Artifacts |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| macOS arm64 (Apple Silicon) | DMG + ZIP |
|
|
46
|
+
| macOS x64 (Intel) | DMG + ZIP |
|
|
47
|
+
| Linux x64 | AppImage + DEB |
|
|
48
|
+
|
|
49
|
+
The macOS artifacts are ad-hoc signed — not Developer ID signed and not
|
|
50
|
+
notarized. First launch may still require right-click → **Open** (or **Open
|
|
51
|
+
Anyway** in System Settings → Privacy & Security).
|
|
52
|
+
|
|
53
|
+
Verify downloads with `SHA256SUMS.txt`; GitHub build-provenance attestations
|
|
54
|
+
are published for all assets.
|
|
55
|
+
|
|
56
|
+
**Windows and Linux arm64 are not supported in 0.18.x.**
|
|
57
|
+
|
|
58
|
+
## Install / update
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm install -g @awebai/oats@0.18.5
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The pi bridge `@awebai/oats-pi` publishes in lockstep. Desktop downloads are
|
|
65
|
+
the assets on this release; the full install/support guide is
|
|
66
|
+
[docs/desktop.md](https://github.com/awebai/oats/blob/main/docs/desktop.md).
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# OATS v0.18.6
|
|
2
|
+
|
|
3
|
+
One public release, built from one tag: `@awebai/oats@0.18.6`,
|
|
4
|
+
`@awebai/oats-pi@0.18.6`, and **OATS Desktop 0.18.6** (attached to this
|
|
5
|
+
GitHub Release).
|
|
6
|
+
|
|
7
|
+
This release adds explicit spawn-time agent relations, cluster-first Desktop
|
|
8
|
+
navigation, and user-editable Desktop keyboard shortcuts. Desktop CLI API v1
|
|
9
|
+
remains the compatibility boundary (`>=0.18.0 <0.19.0`), but related spawns
|
|
10
|
+
require the new 0.18.6 CLI.
|
|
11
|
+
|
|
12
|
+
## New: explicit agent relations
|
|
13
|
+
|
|
14
|
+
A new instance can declare what it is to an existing instance:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
oats spawn <agent> --relation child|sibling|parent --relative-to <instance>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
- **child** works for and nests under the anchor;
|
|
21
|
+
- **sibling** joins the anchor as a peer;
|
|
22
|
+
- **parent** oversees the anchor and takes its previous lineage position;
|
|
23
|
+
- no relation flags means **unrelated** and top-level.
|
|
24
|
+
|
|
25
|
+
`--parent <instance>` remains supported as child-relation shorthand.
|
|
26
|
+
Same-named instances can exist in different agent roots, so
|
|
27
|
+
`--relative-root <agents-root>` can qualify an anchor. Ambiguous or shadowed
|
|
28
|
+
lineage fails closed with `E_RELATIVE_AMBIGUOUS` rather than linking or acting
|
|
29
|
+
on the wrong instance. Attached agents remain children of the verified owner
|
|
30
|
+
of their shared work tree.
|
|
31
|
+
|
|
32
|
+
Retiring an instance repairs ordinary parent and sibling links that point to
|
|
33
|
+
it. OATS intentionally keeps this as sparse current-state metadata rather than
|
|
34
|
+
a lineage database: concurrent parent spawns against one anchor are
|
|
35
|
+
last-writer-wins, and a multi-instance retirement repair is sequential rather
|
|
36
|
+
than a crash-atomic transaction.
|
|
37
|
+
|
|
38
|
+
## Desktop: cluster-first agent surfaces
|
|
39
|
+
|
|
40
|
+
The Active overview and permanent instance sidebar now group related agents as
|
|
41
|
+
clusters built from parent and sibling links. Independent instances remain in
|
|
42
|
+
a quieter separate strip. Duplicate instance names across repositories remain
|
|
43
|
+
distinct throughout grouping, filtering, collapse state, terminal routing,
|
|
44
|
+
Brain actions, and privileged instance-addressed API calls.
|
|
45
|
+
|
|
46
|
+
The Spawn surface now uses one accessible modal with purpose, task, relation,
|
|
47
|
+
anchor, runtime, and model controls. Relation controls stay visible but fail
|
|
48
|
+
closed when the installed CLI predates 0.18.6; unrelated spawning remains
|
|
49
|
+
available across the existing Desktop API v1 compatibility range.
|
|
50
|
+
|
|
51
|
+
## Desktop: editable keyboard shortcuts
|
|
52
|
+
|
|
53
|
+
Desktop actions now use a central keybinding engine with persisted user
|
|
54
|
+
overrides and explicit unbinding. Open the shortcuts editor with **Mod+,**.
|
|
55
|
+
The editor covers app, stage, tab, sidebar, terminal typography, and
|
|
56
|
+
view-local actions, with live shortcut labels and conflict warnings.
|
|
57
|
+
|
|
58
|
+
Terminal shortcut interception happens before PTY writes for an explicit
|
|
59
|
+
action allowlist. View-local shortcuts remain confined to their focused
|
|
60
|
+
surface, and spawn-modal controls keep ownership of their keys.
|
|
61
|
+
|
|
62
|
+
## Downloads
|
|
63
|
+
|
|
64
|
+
| Platform | Artifacts |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| macOS arm64 (Apple Silicon) | DMG + ZIP |
|
|
67
|
+
| macOS x64 (Intel) | DMG + ZIP |
|
|
68
|
+
| Linux x64 | AppImage + DEB |
|
|
69
|
+
|
|
70
|
+
The macOS artifacts are ad-hoc signed — not Developer ID signed and not
|
|
71
|
+
notarized. First launch may still require right-click → **Open** (or **Open
|
|
72
|
+
Anyway** in System Settings → Privacy & Security).
|
|
73
|
+
|
|
74
|
+
Verify downloads with `SHA256SUMS.txt`; GitHub build-provenance attestations
|
|
75
|
+
are published for all assets.
|
|
76
|
+
|
|
77
|
+
**Windows and Linux arm64 are not supported in 0.18.x.**
|
|
78
|
+
|
|
79
|
+
## Install / update
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm install -g @awebai/oats@0.18.6
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The pi bridge `@awebai/oats-pi` publishes in lockstep. Desktop downloads are
|
|
86
|
+
the assets on this release; the full install/support guide is
|
|
87
|
+
[docs/desktop.md](https://github.com/awebai/oats/blob/main/docs/desktop.md).
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# OATS v0.19.0
|
|
2
|
+
|
|
3
|
+
One release built from one tag: `@awebai/oats@0.19.0`,
|
|
4
|
+
`@awebai/oats-pi@0.19.0`, and **OATS Desktop 0.19.0** in this GitHub Release.
|
|
5
|
+
|
|
6
|
+
This release introduces distribution packages, exact OATS-managed instance
|
|
7
|
+
curricula, canonical primary-checkout instance homes, and the package/profile
|
|
8
|
+
setup flow needed for independently published official capabilities.
|
|
9
|
+
|
|
10
|
+
## Distribution packages
|
|
11
|
+
|
|
12
|
+
An OATS package is now the acquisition, integrity, update, and review unit above
|
|
13
|
+
independently targetable capabilities. A Git repository may contain ordinary
|
|
14
|
+
development content and one or more package payloads; the selected payload path
|
|
15
|
+
is part of the source and lock contract.
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Git/catalog sources default to the contained oats-package/ directory.
|
|
19
|
+
oats install https://github.com/example/project.git@v1.0.0
|
|
20
|
+
|
|
21
|
+
# Select another contained directory, or the repository root explicitly.
|
|
22
|
+
oats install 'https://github.com/example/project.git@v1.0.0#dist/oats'
|
|
23
|
+
oats install 'https://github.com/example/root-package.git@v1.0.0#.'
|
|
24
|
+
|
|
25
|
+
# A local path always names the exact package root.
|
|
26
|
+
oats install ../project/oats-package
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Lock v2 records source, exact commit, selected path, integrity, dependency
|
|
30
|
+
closure, exported capabilities, and per-capability executable approvals. Bare
|
|
31
|
+
`oats install` restores the exact locked graph; it never advances a branch,
|
|
32
|
+
catalog selector, package path, or dependency closure. Updating remains
|
|
33
|
+
explicit:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
oats update <package-id>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Acquisition installs and hashes only the selected payload subtree. Repository
|
|
40
|
+
CI, documentation, owner souls, sibling packages, and source-control metadata
|
|
41
|
+
are not installed. If root `.git` metadata later appears inside a managed
|
|
42
|
+
artifact, it is treated as source drift and invalidates trust rather than being
|
|
43
|
+
an approval-invisible exclusion.
|
|
44
|
+
|
|
45
|
+
## Package config profiles and workspace setup
|
|
46
|
+
|
|
47
|
+
Packages may ship complete reference `oats-config.yaml` profiles. Adoption is
|
|
48
|
+
explicit and produces an editable local snapshot:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
oats init --package <package-source> [--config <profile>] --dir <workspace>
|
|
52
|
+
oats install --dir <workspace>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The first command acquires and exact-locks the full package closure, validates
|
|
56
|
+
the selected profile against its capability providers, and writes the snapshot.
|
|
57
|
+
The second command reconciles the team boundary and nested repository locks.
|
|
58
|
+
Package updates never rewrite an adopted config; normal targeting, exclusions,
|
|
59
|
+
settings, and closer repository overrides remain authoritative.
|
|
60
|
+
|
|
61
|
+
Missing host commands and runtime packages remain a separate consent decision.
|
|
62
|
+
Human and JSON plans show every ordered argv step before anything executes.
|
|
63
|
+
Spawn verifies required runtime packages but never installs them.
|
|
64
|
+
|
|
65
|
+
## Exact OATS-managed instance curriculum
|
|
66
|
+
|
|
67
|
+
For each soul, the scoped config cascade now determines the complete
|
|
68
|
+
OATS-managed skill and instruction set. Active capability resources are
|
|
69
|
+
enumerated before scaffolding, copied into the canonical instance tree, and
|
|
70
|
+
asserted against the expected composition. Missing, untrusted, duplicate, or
|
|
71
|
+
uncontained active resources fail closed instead of producing a half-configured
|
|
72
|
+
agent.
|
|
73
|
+
|
|
74
|
+
Canonical instance resources are:
|
|
75
|
+
|
|
76
|
+
```text
|
|
77
|
+
<instance-home>/.agents/skills/
|
|
78
|
+
<instance-home>/.claude/skills -> ../.agents/skills
|
|
79
|
+
<instance-home>/AGENTS.md
|
|
80
|
+
<instance-home>/CLAUDE.md -> AGENTS.md
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Runtime posture is deliberately provider-specific and recorded in
|
|
84
|
+
`instance.json`:
|
|
85
|
+
|
|
86
|
+
- **Pi** suppresses ambient skills, context files, and prompt templates while
|
|
87
|
+
preserving operator-configured extensions.
|
|
88
|
+
- **Claude Code** preserves the operator's native user/repository settings,
|
|
89
|
+
skills, plugins, MCP, hooks, and memory; OATS adds its canonical composed
|
|
90
|
+
resources without exclusion flags.
|
|
91
|
+
|
|
92
|
+
The guarantee is exact OATS-managed composition, not identical ambient behavior
|
|
93
|
+
across providers.
|
|
94
|
+
|
|
95
|
+
## Canonical instance homes and the home/work boundary
|
|
96
|
+
|
|
97
|
+
Instance homes now live under the soul-owning repository's primary checkout,
|
|
98
|
+
even when spawn is invoked from a linked worktree or from an agent's `work/`.
|
|
99
|
+
Unresolvable placement fails closed before creating anything.
|
|
100
|
+
|
|
101
|
+
Every runtime and lifecycle hook receives the absolute `OATS_INSTANCE_HOME`.
|
|
102
|
+
Generated instructions distinguish the two operational surfaces:
|
|
103
|
+
|
|
104
|
+
- instance home contains instructions, task, soul reference, provenance,
|
|
105
|
+
selected skills, and episodic state; OATS lifecycle and active-capability
|
|
106
|
+
commands run there;
|
|
107
|
+
- `<instance-home>/work` is the repository or workspace view where permitted
|
|
108
|
+
reading, editing, Git, builds, tests, and commits happen.
|
|
109
|
+
|
|
110
|
+
OATS performs resolved-path containment checks and rechecks the created home
|
|
111
|
+
before writing credentials or running hooks. The deployment agents directory
|
|
112
|
+
must still be operator-owned and not writable by untrusted local processes.
|
|
113
|
+
|
|
114
|
+
## Required hooks, runtime requirements, and safe rollback
|
|
115
|
+
|
|
116
|
+
Capability spawn hooks may declare `required: true`. A required hook that cannot
|
|
117
|
+
establish its contract fails the spawn. If compensation cannot finish, OATS
|
|
118
|
+
retains a versioned quarantine containing the credential and original cleanup
|
|
119
|
+
metadata; `oats retire` retries and verifies outstanding cleanup before deleting
|
|
120
|
+
the home. `--force` remains the explicit operator escape hatch.
|
|
121
|
+
|
|
122
|
+
Requirement consent now supports runtime-scoped Pi packages and Claude plugins,
|
|
123
|
+
including multi-step marketplace registration plans. JSON and human output show
|
|
124
|
+
the same exact ordered steps.
|
|
125
|
+
|
|
126
|
+
## Existing 0.18 capability installations
|
|
127
|
+
|
|
128
|
+
Upgrading the kernel does **not** force a capability migration. Existing valid
|
|
129
|
+
v1 locks, installed official capability artifacts, config activation, and trust
|
|
130
|
+
continue to work in 0.19.0.
|
|
131
|
+
|
|
132
|
+
The guided command is included:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
oats migrate --official --recursive --dry-run --dir <team-root>
|
|
136
|
+
oats migrate --official --recursive --dir <team-root>
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
It remains held until the official package catalog and immutable package tags
|
|
140
|
+
are published. That catalog/default redirect ships in the planned 0.19.1
|
|
141
|
+
follow-up. Until then, `oats doctor` explains that the legacy capabilities remain
|
|
142
|
+
supported. Migration preserves config files and capability IDs, leaves custom,
|
|
143
|
+
owned, and path capabilities untouched, and never transfers executable trust
|
|
144
|
+
silently.
|
|
145
|
+
|
|
146
|
+
Legacy kernel-marketplace capabilities may still reference framework-hoisted
|
|
147
|
+
resources. Those paths now anchor at the declaring capability's canonical
|
|
148
|
+
marketplace directory and remain contained by the installed kernel. Valid older
|
|
149
|
+
installed+locked capabilities continue working across a kernel upgrade.
|
|
150
|
+
|
|
151
|
+
## OATS Desktop
|
|
152
|
+
|
|
153
|
+
Desktop accepts the matching 0.19 CLI through Desktop CLI API v1
|
|
154
|
+
(`>=0.18.0 <0.20.0`) instead of rejecting its own release and degrading to
|
|
155
|
+
observation-only mode. Compatibility and recovery copy are derived from one
|
|
156
|
+
runtime contract rather than repeated literals.
|
|
157
|
+
|
|
158
|
+
Desktop also includes the accumulated 0.18.x post-release work: cluster-aware
|
|
159
|
+
agent navigation, persistent editor-style terminal groups, Quick Open for souls,
|
|
160
|
+
runtime-scoped model suggestions, improved spawn readiness handoff, and the
|
|
161
|
+
existing editable shortcut system.
|
|
162
|
+
|
|
163
|
+
## Downloads
|
|
164
|
+
|
|
165
|
+
| Platform | Artifacts |
|
|
166
|
+
| --- | --- |
|
|
167
|
+
| macOS arm64 (Apple Silicon) | DMG + ZIP |
|
|
168
|
+
| macOS x64 (Intel) | DMG + ZIP |
|
|
169
|
+
| Linux x64 | AppImage + DEB |
|
|
170
|
+
|
|
171
|
+
macOS artifacts are ad-hoc signed, not Developer ID signed or notarized. First
|
|
172
|
+
launch may require right-click → **Open**, or **Open Anyway** in System Settings.
|
|
173
|
+
Verify assets with `SHA256SUMS.txt` and the GitHub build-provenance attestations.
|
|
174
|
+
Windows and Linux arm64 are not supported in this release.
|
|
175
|
+
|
|
176
|
+
## Install or update
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
npm install -g @awebai/oats@0.19.0
|
|
180
|
+
pi install npm:@awebai/oats-pi@0.19.0
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
The kernel, Pi adapter, and Desktop publish from the same tag and should stay on
|
|
184
|
+
matching versions. Official OATS capability packages are published separately
|
|
185
|
+
after released-kernel consumer probes; this release does not claim that their
|
|
186
|
+
catalog entries are live yet.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# OATS v0.19.1
|
|
2
|
+
|
|
3
|
+
Corrective patch for the v0.19.0 marketplace compatibility bridge.
|
|
4
|
+
|
|
5
|
+
- Restores npm-hoisted aweb skills for existing v1 `oats.aweb` installations.
|
|
6
|
+
Marketplace declarations still anchor at their declaring capability first;
|
|
7
|
+
when npm hoists a declared dependency, OATS resolves the equivalent path under
|
|
8
|
+
the installed kernel root with the same realpath containment checks.
|
|
9
|
+
- Keeps valid older installed+locked marketplace capabilities usable across a
|
|
10
|
+
kernel upgrade while still failing closed when the installed copy and lock
|
|
11
|
+
disagree.
|
|
12
|
+
- Preserves framework-author `oats.authoring` skill composition from the
|
|
13
|
+
published kernel layout.
|
|
14
|
+
|
|
15
|
+
The official package catalog and default migration redirects are not included
|
|
16
|
+
in this corrective patch; they follow after the independently tagged official
|
|
17
|
+
packages complete their published-kernel probes.
|
|
18
|
+
|
|
19
|
+
Install matching kernel and Pi adapter versions:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install -g @awebai/oats@0.19.1
|
|
23
|
+
pi install npm:@awebai/oats-pi@0.19.1
|
|
24
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# OATS v0.19.2
|
|
2
|
+
|
|
3
|
+
Official package catalog and migration activation patch.
|
|
4
|
+
|
|
5
|
+
The kernel now bundles immutable catalog entries for:
|
|
6
|
+
|
|
7
|
+
- `oats.okf@v1.4.1`
|
|
8
|
+
- `oats.aweb@v1.8.0`
|
|
9
|
+
- `oats.authoring@v1.0.0`
|
|
10
|
+
- `oats.jira@v1.0.0`
|
|
11
|
+
- `oats.linear@v1.0.0`
|
|
12
|
+
- `oats.dev@v1.0.0`, which exports `oats.review@1.2.0`
|
|
13
|
+
|
|
14
|
+
Each catalog entry selects the repository's contained `oats-package/` payload.
|
|
15
|
+
Short-id installs now prefer these distribution packages over the legacy bundled
|
|
16
|
+
capability marketplace. Existing v1 locks and installed artifacts remain
|
|
17
|
+
supported until the user explicitly runs the guided migration:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
oats migrate --official --recursive --dry-run --dir <team-root>
|
|
21
|
+
oats migrate --official --recursive --dir <team-root>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
This patch also preserves the v0.19.1 marketplace compatibility bridge for
|
|
25
|
+
npm-hoisted aweb skills.
|
|
26
|
+
|
|
27
|
+
Install matching versions:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g @awebai/oats@0.19.2
|
|
31
|
+
pi install npm:@awebai/oats-pi@0.19.2
|
|
32
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# OATS v0.19.3 (unpublished)
|
|
2
|
+
|
|
3
|
+
The v0.19.3 pre-publish tag failed its test gate, produced no npm package or
|
|
4
|
+
GitHub Release, and was removed. Its documentation refresh shipped in v0.19.4.
|
|
5
|
+
|
|
6
|
+
Documentation refresh after the official package and workspace rollout.
|
|
7
|
+
|
|
8
|
+
- Rewrites the README around OATS's central value: durable, provider-agnostic
|
|
9
|
+
specialist agents with exact OATS-managed curricula, compounding expertise,
|
|
10
|
+
mixed-provider teamwork, package/config sovereignty, and Desktop situational
|
|
11
|
+
awareness.
|
|
12
|
+
- Documents the now-published official package repositories, `oats-package/`
|
|
13
|
+
payload convention, `oats.dev` non-Git workspace setup, and guided migration
|
|
14
|
+
from 0.18 capability locks.
|
|
15
|
+
|
|
16
|
+
No runtime contract changes from v0.19.2.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# OATS v0.19.4
|
|
2
|
+
|
|
3
|
+
Release-pipeline follow-up for the documentation refresh.
|
|
4
|
+
|
|
5
|
+
- Makes Desktop server tests independent of a repository-owned deployment lock
|
|
6
|
+
by constructing their capability-agent deployment explicitly.
|
|
7
|
+
- Allocates ephemeral loopback ports instead of choosing a collision-prone
|
|
8
|
+
pseudo-random development port.
|
|
9
|
+
- Keeps live-checkout parity diagnostics tolerant of deployment-local package
|
|
10
|
+
skew while retaining the unconditional isolated parity proof.
|
|
11
|
+
|
|
12
|
+
No runtime contract changes from v0.19.2.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# OATS v0.20.0
|
|
2
|
+
|
|
3
|
+
OATS v0.20.0 is a breaking pre-1.0 release. The framework release includes
|
|
4
|
+
`@awebai/oats@0.20.0`, `@awebai/oats-pi@0.20.0`, and OATS Desktop
|
|
5
|
+
0.20.0.
|
|
6
|
+
|
|
7
|
+
This release finalizes capability materialization and config templates. It
|
|
8
|
+
replaces the earlier, unadopted transitional v2 package shape without changing
|
|
9
|
+
`lockfileVersion: 2`.
|
|
10
|
+
|
|
11
|
+
## Revised lockfile v2
|
|
12
|
+
|
|
13
|
+
The final v2 lock separates package provenance from installed capability
|
|
14
|
+
identity.
|
|
15
|
+
|
|
16
|
+
- `packages` records the source, exact commit, selected package root, payload
|
|
17
|
+
integrity, and package dependencies.
|
|
18
|
+
- `capabilities` records each materialized artifact, its provider package,
|
|
19
|
+
source path, artifact integrity, and executable trust.
|
|
20
|
+
|
|
21
|
+
A package is now a transport and update unit. Each exported capability is an
|
|
22
|
+
installed, activatable, and trustable unit. OATS materializes it under
|
|
23
|
+
`.agents/capabilities/installed/<capability-id>/`.
|
|
24
|
+
|
|
25
|
+
Every newly authored package must give each capability a dedicated,
|
|
26
|
+
self-contained root. Declared resources and symlinks must stay inside that
|
|
27
|
+
root. The package root is not kept as an installed package store.
|
|
28
|
+
|
|
29
|
+
## Config templates remain local policy
|
|
30
|
+
|
|
31
|
+
Canonical package manifests use `configTemplates`. Their template files live
|
|
32
|
+
under `config-templates/`.
|
|
33
|
+
|
|
34
|
+
`oats install` does not apply a template. Adoption is explicit through
|
|
35
|
+
`oats init --package` or `oats config adopt`. The adopted file is an ordinary,
|
|
36
|
+
editable `oats-config.yaml`.
|
|
37
|
+
|
|
38
|
+
Each scope has at most one active config and one adopted base. OATS records the
|
|
39
|
+
base under `.agents/config-templates/adopted/`. The `oats config diff`, `sync`,
|
|
40
|
+
`sync --reset`, and `adopt` commands use that base for three-way plans. Package
|
|
41
|
+
updates do not overwrite local config edits.
|
|
42
|
+
|
|
43
|
+
## Migration and trust
|
|
44
|
+
|
|
45
|
+
Existing valid v1 locks from 0.18 remain supported. Migration is explicit and
|
|
46
|
+
converts a scope directly to the final revised v2 shape.
|
|
47
|
+
|
|
48
|
+
Migration is atomic for each scope. If a mixed scope contains entries that must
|
|
49
|
+
be retained, OATS holds the whole scope unchanged. It does not partly rewrite
|
|
50
|
+
the lock. Executable trust never transfers silently to a materialized
|
|
51
|
+
capability.
|
|
52
|
+
|
|
53
|
+
The earlier transitional `lockfileVersion: 2` shape is unsupported. It was not
|
|
54
|
+
adopted as a release contract, so this release provides no migration for it.
|
|
55
|
+
Back up the scope and reacquire its package state through supported CLI paths.
|
|
56
|
+
Do not hand-edit the lock.
|
|
57
|
+
|
|
58
|
+
See [Distribution packages](../packages.md) for the lock, adoption, and
|
|
59
|
+
migration details.
|
|
60
|
+
|
|
61
|
+
## Desktop compatibility
|
|
62
|
+
|
|
63
|
+
Desktop API remains version 1. Desktop 0.20 accepts released CLI versions in
|
|
64
|
+
`>=0.18.0 <0.21.0`. This range includes the matching 0.20 kernel.
|
|
65
|
+
Prerelease versions are not accepted.
|
|
66
|
+
|
|
67
|
+
## Required release order
|
|
68
|
+
|
|
69
|
+
The framework and package releases have a strict dependency order.
|
|
70
|
+
|
|
71
|
+
1. Release the v0.20.0 kernel, Pi adapter, and Desktop first.
|
|
72
|
+
2. After that consumer contract is available, revise and test all six official
|
|
73
|
+
package repositories. They are `oats-okf`, `oats-aweb`, `oats-jira`,
|
|
74
|
+
`oats-linear`, `oats-authoring`, and `oats-dev`. Tag immutable package revisions
|
|
75
|
+
in dependency order. Release leaf packages first and `oats.dev` last.
|
|
76
|
+
3. Only after all six immutable package tags exist, update the kernel catalog.
|
|
77
|
+
Cut a framework patch if the catalog change requires one.
|
|
78
|
+
|
|
79
|
+
Do not retag an existing package release. The revised package versions do not
|
|
80
|
+
become catalog defaults until the catalog follow-up ships.
|
|
81
|
+
|
|
82
|
+
## Install or update
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npm install -g @awebai/oats@0.20.0
|
|
86
|
+
pi install npm:@awebai/oats-pi@0.20.0
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Keep the kernel, Pi adapter, and Desktop on matching release versions.
|