@awebai/oats 0.25.9 → 0.27.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 +8 -6
- package/bin/oats.mjs +648 -1755
- package/capabilities/oats-authoring/oats-package.json +2 -2
- package/capabilities/oats-authoring/oats.json +2 -2
- package/capabilities/oats-authoring/skills/integration-authoring/SKILL.md +46 -25
- package/capabilities/oats-authoring/skills/soul-craft/SKILL.md +13 -6
- package/capabilities/oats-aweb/bin/oats-aweb.mjs +279 -93
- package/capabilities/oats-aweb/injects/aweb.md +7 -2
- package/capabilities/oats-aweb/lib/binding-wire.mjs +89 -13
- package/capabilities/oats-aweb/lib/captured-native.mjs +1 -1
- package/capabilities/oats-aweb/lib/grant-custody.mjs +38 -0
- package/capabilities/oats-aweb/oats.json +8 -4
- package/capabilities/oats-jira/bin/oats-jira.mjs +4 -4
- package/capabilities/oats-jira/oats.json +2 -2
- package/capabilities/oats-jira/skills/jira-tasks/SKILL.md +6 -3
- package/capabilities/oats-linear/bin/oats-linear-hook.mjs +6 -4
- package/capabilities/oats-linear/oats.json +2 -2
- package/capabilities/oats-linear/skills/linear-tasks/SKILL.md +6 -0
- package/capabilities/oats-review/oats.json +3 -2
- package/docs/capabilities.md +229 -58
- package/docs/capability-manifest.schema.json +29 -9
- package/docs/configuration.md +17 -5
- package/docs/conventions.md +18 -28
- package/docs/design/2026-09-08-expert-assisted-deployment-proposal.md +1 -1
- package/docs/design/2026-09-13-knowledge-and-memory-direction.md +3 -3
- package/docs/design/2026-09-14-portable-souls-and-git-workspaces.md +2 -2
- package/docs/design/2026-09-15-portable-souls-handoff.md +2 -2
- package/docs/design/2026-09-15-portable-souls-implementation.md +1 -1
- package/docs/design/2026-09-20-redesign-program-board.md +2 -2
- package/docs/design/2026-09-23-workspace-module-contracts.md +1 -1
- package/docs/design/2026-09-23-workspace-v2-implementation-plan.md +1 -1
- package/docs/design/2026-09-24-desktop-phase-f-boundary.md +34 -1
- package/docs/design/2026-09-24-phase-d-plan.md +57 -0
- package/docs/design/2026-09-25-teams-contract.md +226 -0
- package/docs/design/README.md +3 -3
- package/docs/design/launch-configurations.md +20 -16
- package/docs/design/operations-contract.md +27 -10
- package/docs/desktop-cli-api.md +604 -271
- package/docs/desktop-instance-start.md +3 -3
- package/docs/desktop.md +7 -13
- package/docs/execution-targets.md +16 -18
- package/docs/first-team.md +15 -18
- package/docs/implementation.md +31 -62
- package/docs/integrations.md +64 -33
- package/docs/knowledge-capability-authoring.md +1 -1
- package/docs/knowledge-reference/package-craft.md +10 -8
- package/docs/knowledge-theory.md +1 -1
- package/docs/knowledge.md +10 -11
- package/docs/layers.md +16 -17
- package/docs/oats-local.schema.json +30 -1
- package/docs/oats-membership.schema.json +5 -3
- package/docs/oats-package.schema.json +2 -2
- package/docs/oats-workspace.schema.json +1 -1
- package/docs/{official-marketplace.md → official-catalog.md} +15 -16
- package/docs/packages.md +76 -53
- package/docs/release-notes/v0.22.0.md +1 -1
- package/docs/release-notes/v0.23.1.md +1 -1
- package/docs/release-notes/v0.26.0.md +670 -0
- package/docs/release-notes/v0.27.0.md +100 -0
- package/docs/schedules.md +54 -132
- package/docs/servers.md +4 -4
- package/docs/soul.schema.json +11 -4
- package/docs/souls-and-instances.md +60 -47
- package/docs/workspaces.md +80 -58
- package/injects/instance-boundary.md +2 -2
- package/injects/work-attached.md +1 -1
- package/injects/work-workspace.md +2 -2
- package/lib/{portable-files.mjs → bounded-read.mjs} +6 -6
- package/lib/{portable-values.mjs → canonical-json.mjs} +3 -12
- package/lib/capability-contract.mjs +110 -0
- package/lib/config-data.mjs +2 -2
- package/lib/core.mjs +947 -5023
- package/lib/deprecation.mjs +24 -0
- package/lib/digest.mjs +12 -0
- package/lib/instance-inspect.mjs +397 -0
- package/lib/instance-lifecycle.mjs +3 -4
- package/lib/instance-resolution.mjs +212 -26
- package/lib/instruction-composition.mjs +0 -20
- package/lib/materialize.mjs +6 -4
- package/lib/operator-dispatch.mjs +33 -13
- package/lib/packages.mjs +25 -190
- package/lib/process-group.mjs +1 -1
- package/lib/provider-binding.mjs +4 -2
- package/lib/provider-reasons.mjs +3 -68
- package/lib/remote.mjs +1 -1
- package/lib/resolve.mjs +204 -68
- package/lib/schedule.mjs +136 -292
- package/lib/servers.mjs +70 -38
- package/lib/{portable-shape.mjs → shape.mjs} +4 -3
- package/lib/tree-copy.mjs +44 -0
- package/lib/workspace.mjs +132 -20
- package/package-catalog.json +6 -6
- package/package.json +1 -1
- package/packages/record/lib/session-roots.mjs +8 -6
- package/skills/integration-authoring/SKILL.md +48 -40
- package/skills/oats-getting-started/SKILL.md +105 -110
- package/skills/oats-support/SKILL.md +2 -2
- package/skills/soul-craft/SKILL.md +13 -6
- package/bin/oats-pi-sdk-host.mjs +0 -17
- package/docs/2026-09-03-architecture-proposal.md +0 -642
- package/docs/artifact-approvals.schema.json +0 -7
- package/docs/captured-invocation-context.schema.json +0 -7
- package/docs/captured-resolution.schema.json +0 -7
- package/docs/design/package-engine-contract.md +0 -813
- package/docs/design/package-runtime-api.md +0 -588
- package/docs/desktop-succession.md +0 -57
- package/docs/execution-capsule.schema.json +0 -108
- package/docs/first-team-demo.md +0 -92
- package/docs/knowledge-migration.md +0 -147
- package/docs/migration-from-oas.md +0 -103
- package/docs/oats-config.schema.json +0 -172
- package/docs/oats-lock-v3.schema.json +0 -7
- package/docs/oats-lock.schema.json +0 -175
- package/docs/operating-team-migration.md +0 -470
- package/docs/portable.schema.json +0 -2512
- package/docs/provider-check-input.schema.json +0 -7
- package/docs/rebuild-to-v2.md +0 -511
- package/docs/workspace-adoption.md +0 -74
- package/injects/framework-workspace.md +0 -7
- package/injects/local-soul.md +0 -19
- package/injects/oats-portable.md +0 -20
- package/injects/oats.md +0 -11
- package/injects/portable-instance-boundary.md +0 -39
- package/injects/portable-work-directory.md +0 -29
- package/lib/artifact-approvals.mjs +0 -120
- package/lib/artifact-tree.mjs +0 -141
- package/lib/capability-artifacts.mjs +0 -179
- package/lib/capability-execution.mjs +0 -15
- package/lib/capability-inputs.mjs +0 -39
- package/lib/capability-provenance.mjs +0 -231
- package/lib/captured-action-shape.mjs +0 -21
- package/lib/captured-admission-shape.mjs +0 -20
- package/lib/captured-binding-file.mjs +0 -36
- package/lib/captured-dispatch.mjs +0 -66
- package/lib/captured-instance-index.mjs +0 -277
- package/lib/captured-invocation-context.mjs +0 -130
- package/lib/captured-launch-request.mjs +0 -66
- package/lib/captured-operation-process.mjs +0 -15
- package/lib/captured-pi-custody.mjs +0 -29
- package/lib/captured-pi-host.mjs +0 -167
- package/lib/captured-pi-outcome.mjs +0 -172
- package/lib/captured-resolutions.mjs +0 -275
- package/lib/captured-scaffold.mjs +0 -87
- package/lib/captured-selector.mjs +0 -28
- package/lib/captured-session-backend.mjs +0 -52
- package/lib/captured-source-receipt-file.mjs +0 -72
- package/lib/helper-injection-policy.mjs +0 -104
- package/lib/legacy-lock-codec.mjs +0 -106
- package/lib/manifest-settings.mjs +0 -84
- package/lib/package-closure.mjs +0 -48
- package/lib/package-materialization.mjs +0 -83
- package/lib/pi-sdk-host.mjs +0 -229
- package/lib/portable-artifacts.mjs +0 -115
- package/lib/portable-choices.mjs +0 -82
- package/lib/portable-composition.mjs +0 -136
- package/lib/portable-digest.mjs +0 -105
- package/lib/portable-identity.mjs +0 -40
- package/lib/portable-lock.mjs +0 -117
- package/lib/portable-onboarding-request.mjs +0 -49
- package/lib/portable-onboarding.mjs +0 -256
- package/lib/portable-package-preparation.mjs +0 -188
- package/lib/portable-policy.mjs +0 -44
- package/lib/portable-soul.mjs +0 -42
- package/lib/portable-state.mjs +0 -80
- package/lib/prepare-composition.mjs +0 -170
- package/lib/prepared-bindings.mjs +0 -92
- package/lib/prepared-resources.mjs +0 -127
- package/lib/provider-binding-broker.mjs +0 -65
- package/lib/provider-binding-wire.mjs +0 -116
- package/lib/readiness.mjs +0 -225
- package/lib/repository-observation.mjs +0 -226
- package/lib/resolution-shape.mjs +0 -393
- package/lib/schedule-capsule.mjs +0 -206
- package/lib/soul-constraints.mjs +0 -40
- package/lib/source-projection.mjs +0 -84
- package/lib/source-spec.mjs +0 -189
- package/lib/workspace-definition.mjs +0 -126
- package/lib/workspace-discovery.mjs +0 -146
- package/skills/oats/SKILL.md +0 -162
- package/skills/oats-config/SKILL.md +0 -164
- package/skills/oats-packages/SKILL.md +0 -184
- package/skills/oats-portable/SKILL.md +0 -115
- package/skills/oats-portable-artifacts/SKILL.md +0 -63
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "oats.authoring",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Official additive OATS guidance for capability, skill, and soul authoring.",
|
|
5
5
|
"compatibility": {
|
|
6
|
-
"oats": ">=0.
|
|
6
|
+
"oats": ">=0.25.0"
|
|
7
7
|
},
|
|
8
8
|
"capabilities": [
|
|
9
9
|
"."
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"capability": "oats.authoring",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"compatibility": { "oats": ">=0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"compatibility": { "oats": ">=0.25.0" },
|
|
5
5
|
"description": "Additive framework-authoring guidance for capability packages, agent skills, and souls.",
|
|
6
6
|
"requires": [],
|
|
7
7
|
"skills": [
|
|
@@ -3,7 +3,7 @@ name: integration-authoring
|
|
|
3
3
|
description: >-
|
|
4
4
|
Route custom OATS capability-package and integration work to the framework's
|
|
5
5
|
integrations expert. Use when building, adapting, or debugging a reusable
|
|
6
|
-
capability, new
|
|
6
|
+
capability, new tasks/messaging/knowledge core capability, oats.json manifest,
|
|
7
7
|
lifecycle hook, or operational command—not merely activating an existing
|
|
8
8
|
package. Triggers: "custom integration", "capability package", "integrate
|
|
9
9
|
our tracker", "new messaging integration", "write an oats.json".
|
|
@@ -12,52 +12,73 @@ description: >-
|
|
|
12
12
|
# Capability and integration authoring — delegate
|
|
13
13
|
|
|
14
14
|
A capability package may ship skills, instance instructions, requirements,
|
|
15
|
-
namespaced commands, and
|
|
16
|
-
|
|
15
|
+
namespaced commands, and declared hooks. A core capability is the constrained
|
|
16
|
+
kind that fills one of the knowledge, messaging or tasks positions (its
|
|
17
|
+
manifest's `layer` field names which). Building either requires
|
|
17
18
|
manifest, security, targeting-boundary, collision, and probe discipline; use
|
|
18
19
|
the framework's **integrations-expert** soul rather than improvising.
|
|
19
20
|
|
|
20
|
-
If the user only wants an existing package,
|
|
21
|
+
If the user only wants an existing package, declare it and give it to souls;
|
|
22
|
+
no build is needed:
|
|
21
23
|
|
|
22
|
-
```
|
|
23
|
-
oats
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
```yaml
|
|
25
|
+
# oats-workspace.yaml (host repository): declaring the package is the trust decision
|
|
26
|
+
packages:
|
|
27
|
+
vendor.review: git:github.com/vendor/review@v1.0.0
|
|
28
|
+
# a soul's soul.yaml, or the workspace defaults: a capability the package exports
|
|
29
|
+
# (a package may export several; the soul names each one it wants)
|
|
30
|
+
capabilities:
|
|
31
|
+
vendor.review: { from: package }
|
|
26
32
|
```
|
|
27
33
|
|
|
34
|
+
Then run `oats sync` (fetch, verify integrity, lock). The oats.setup
|
|
35
|
+
capability's **oats-package-pins** skill has the procedure.
|
|
36
|
+
|
|
28
37
|
## 1. Verify the expert is available
|
|
29
38
|
|
|
30
|
-
Run `oats
|
|
39
|
+
Run `oats souls` in the deployment and confirm it resolves the
|
|
40
|
+
`integrations-expert` soul (a member repository or package provides it). If it
|
|
41
|
+
is absent, ask the human which OATS deployment owns reusable package work;
|
|
42
|
+
never locate or import private kernel files.
|
|
43
|
+
|
|
44
|
+
## 2. Spawn the expert against the package's repository
|
|
31
45
|
|
|
32
|
-
|
|
46
|
+
The package lives in its own repository. Make that repository a member of the
|
|
47
|
+
workspace (or use the member that already holds it), then spawn the expert on
|
|
48
|
+
it:
|
|
33
49
|
|
|
34
50
|
```bash
|
|
35
|
-
oats spawn integrations-expert \
|
|
51
|
+
oats spawn integrations-expert --preview \
|
|
36
52
|
--purpose <package-slug> \
|
|
37
|
-
--repo <
|
|
38
|
-
--work
|
|
39
|
-
--task '<capability intent; layer if any; skills/instructions/commands/hooks; external tools;
|
|
53
|
+
--repo <member clone of the package repository> \
|
|
54
|
+
--work worktree \
|
|
55
|
+
--task '<capability intent; layer if any; skills/instructions/commands/hooks; external tools; which souls should get it; distribution path>'
|
|
56
|
+
# review the preview, then run the same command without --preview
|
|
40
57
|
```
|
|
41
58
|
|
|
42
|
-
Use `--relation child --relative-to <your-instance>` only when the documented
|
|
59
|
+
Use `--relation child --relative-to <your-instance>` only when the documented
|
|
60
|
+
workflow makes the expert your child; otherwise leave the spawn unrelated. A
|
|
61
|
+
package is distributed from its own repository as `oats-package/` with a
|
|
62
|
+
version tag; a framework contribution belongs in the framework's repository.
|
|
43
63
|
|
|
44
64
|
## 3. Brief the design boundary
|
|
45
65
|
|
|
46
66
|
Tell the expert:
|
|
47
67
|
|
|
48
68
|
- whether it is additive or implements exactly one of knowledge/messaging/tasks;
|
|
49
|
-
- external requirements and executable surfaces;
|
|
69
|
+
- external requirements and executable surfaces (commands, hooks);
|
|
50
70
|
- intended distribution and version/compatibility;
|
|
51
|
-
-
|
|
52
|
-
- expected skill/instruction
|
|
71
|
+
- which souls or workspace defaults should receive it, and its settings; and
|
|
72
|
+
- expected skill/instruction collisions (a duplicate skill name fails the spawn).
|
|
53
73
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
74
|
+
Which souls get a capability is declared by the workspace (`defaults`) and the
|
|
75
|
+
souls (`soul.yaml` `capabilities`), never in the manifest. The expert must
|
|
76
|
+
test exact pi/Claude/Codex instance materialization, generated instructions,
|
|
77
|
+
command gating, deterministic hooks, and the lock's integrity check as
|
|
78
|
+
applicable.
|
|
57
79
|
|
|
58
80
|
## 4. Hand off
|
|
59
81
|
|
|
60
|
-
Report the
|
|
61
|
-
package/integration craft, runs a
|
|
62
|
-
and
|
|
63
|
-
its soul.
|
|
82
|
+
Report the new instance (`oats status`). The expert follows its
|
|
83
|
+
package/integration craft, runs a preview-only probe, and leaves the
|
|
84
|
+
`packages:` pin and the `oats sync` for the user.
|
|
@@ -28,7 +28,7 @@ real CLAUDE.md file diverging from AGENTS.md, that's a defect: merge and relink)
|
|
|
28
28
|
|---|---|---|
|
|
29
29
|
| **AGENTS.md** | always | Role, boundaries, the default workflow, memory pointers — only what applies to *every* session |
|
|
30
30
|
| **skills/** | on demand (description match) | Domain workflows, repeatable procedures ("how") — see `skill-craft` |
|
|
31
|
-
| **knowledge/** | on demand (index-first) | Facts, decisions, lessons ("what/why") — format per the knowledge
|
|
31
|
+
| **knowledge/** | on demand (index-first) | Facts, decisions, lessons ("what/why") — format per the knowledge capability (default okf) |
|
|
32
32
|
|
|
33
33
|
The test for every AGENTS.md line: **"would removing this cause mistakes in
|
|
34
34
|
most sessions?"** No → move it to a skill or a knowledge concept, or cut it.
|
|
@@ -53,7 +53,7 @@ Structure that works (keep the whole thing short — a screen or two):
|
|
|
53
53
|
"run the tests").
|
|
54
54
|
4. **Memory pointers.** Where its knowledge and state live (knowledge base
|
|
55
55
|
index, STATE.md discipline). Point, don't duplicate — the protocol lives
|
|
56
|
-
with your knowledge
|
|
56
|
+
with your knowledge capability (default okf: the memory-harvest skill).
|
|
57
57
|
5. **Escalation.** When to stop and ask the human or coordinator: the
|
|
58
58
|
human-gate triggers (security, authz, migrations, contract breaks),
|
|
59
59
|
plus "report to your spawner, don't self-fix" for infrastructure faults.
|
|
@@ -73,10 +73,17 @@ Style rules (from the agents.md standard + field experience):
|
|
|
73
73
|
|
|
74
74
|
## soul.yaml
|
|
75
75
|
|
|
76
|
-
Keep honest: `
|
|
77
|
-
checkout for reviewers/coordinators
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
Keep honest: `description` (one line; shows in rosters and pickers), `work`
|
|
77
|
+
(`worktree` for builders, `checkout` for reviewers/coordinators, `directory`
|
|
78
|
+
or `workspace` where the role needs them), and the capabilities the role
|
|
79
|
+
actually uses (`capabilities: { <cap>: { from: package | here | <repo key> } }`,
|
|
80
|
+
plus `knowledge` / `messaging` / `tasks` slots; `none` empties one). The
|
|
81
|
+
soul lives in its member repository, which is also what it works on.
|
|
82
|
+
|
|
83
|
+
Runtime, model and permission bypass are not soul fields: they are chosen at
|
|
84
|
+
spawn (`--runtime`, `--model`, `--yolo`) or by a host's named launch
|
|
85
|
+
configuration, so the same soul runs on any harness a host provides. Check a
|
|
86
|
+
soul with `oats spawn <soul> --preview` before committing it.
|
|
80
87
|
|
|
81
88
|
## Maintaining a soul
|
|
82
89
|
|