@awebai/oats 0.30.0 → 0.30.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 +1 -1
- package/docs/capabilities.md +3 -3
- package/docs/design/2026-09-23-workspace-module-contracts.md +2 -1
- package/docs/desktop-cli-api.md +23 -11
- package/docs/first-team.md +1 -1
- package/docs/implementation.md +2 -1
- package/docs/integrations.md +1 -1
- package/docs/knowledge-capability-authoring.md +1 -1
- package/docs/knowledge.md +4 -4
- package/docs/official-catalog.md +4 -4
- package/docs/packages.md +13 -13
- package/docs/plans/0.30-close-out.md +24 -2
- package/docs/release-lane.md +7 -2
- package/docs/release-notes/v0.30.1.md +123 -0
- package/docs/release-notes/v0.30.2.md +85 -0
- package/docs/souls-and-instances.md +6 -5
- package/docs/workspaces.md +7 -2
- package/lib/core.mjs +42 -28
- package/lib/instance-inspect.mjs +1 -1
- package/lib/instance-resolution.mjs +15 -8
- package/lib/materialize.mjs +33 -19
- package/lib/packages.mjs +1 -1
- package/lib/resolve.mjs +1 -1
- package/package-catalog.json +3 -3
- package/package.json +1 -3
- package/skills/oats-getting-started/SKILL.md +2 -2
- package/capabilities/oats-authoring/LICENSE +0 -21
- package/capabilities/oats-authoring/oats-package.json +0 -11
- package/capabilities/oats-authoring/oats.json +0 -12
- package/capabilities/oats-authoring/skills/integration-authoring/SKILL.md +0 -84
- package/capabilities/oats-authoring/skills/skill-craft/SKILL.md +0 -109
- package/capabilities/oats-authoring/skills/soul-craft/SKILL.md +0 -116
- package/capabilities/oats-aweb/bin/oats-aweb-binding.mjs +0 -11
- package/capabilities/oats-aweb/bin/oats-aweb.mjs +0 -1672
- package/capabilities/oats-aweb/injects/aweb.md +0 -47
- package/capabilities/oats-aweb/lib/binding-wire.mjs +0 -365
- package/capabilities/oats-aweb/lib/captured-execution.mjs +0 -91
- package/capabilities/oats-aweb/lib/captured-native.mjs +0 -91
- package/capabilities/oats-aweb/lib/grant-custody.mjs +0 -38
- package/capabilities/oats-aweb/lib/invocation-shape.mjs +0 -135
- package/capabilities/oats-aweb/lib/portable-binding.mjs +0 -146
- package/capabilities/oats-aweb/lib/session-readiness.mjs +0 -56
- package/capabilities/oats-aweb/lib/wake-receive.mjs +0 -56
- package/capabilities/oats-aweb/oats.json +0 -201
- package/capabilities/oats-aweb/skills/LICENSE +0 -21
- package/capabilities/oats-aweb/skills/VENDORED.md +0 -31
- package/capabilities/oats-aweb/skills/aweb-identity/SKILL.md +0 -201
- package/capabilities/oats-aweb/skills/aweb-messaging/SKILL.md +0 -161
- package/capabilities/oats-aweb/skills/aweb-messaging/references/messaging-scenarios.md +0 -61
- package/capabilities/oats-aweb/skills/aweb-team-membership/SKILL.md +0 -116
- package/capabilities/oats-aweb/skills/aweb-team-membership/references/team-membership-reference.md +0 -74
- package/capabilities/oats-aweb/skills/oats-aweb/SKILL.md +0 -286
- package/capabilities/oats-code-review/injects/reviewer.md +0 -26
- package/capabilities/oats-code-review/oats.json +0 -16
- package/capabilities/oats-code-review/skills/adversarial-review/SKILL.md +0 -66
- package/capabilities/oats-code-review/skills/review-dev-docs/SKILL.md +0 -30
- package/capabilities/oats-code-review/skills/security-review/SKILL.md +0 -56
- package/capabilities/oats-code-review/skills/simplification-review/SKILL.md +0 -34
- package/capabilities/oats-developer/injects/developer.md +0 -38
- package/capabilities/oats-developer/oats.json +0 -17
- package/capabilities/oats-developer/skills/execution-strategy/SKILL.md +0 -43
- package/capabilities/oats-developer/skills/maintain-dev-docs/SKILL.md +0 -47
- package/capabilities/oats-developer/skills/run-the-review-loop/SKILL.md +0 -65
- package/capabilities/oats-developer/skills/understand-the-spec/SKILL.md +0 -37
- package/capabilities/oats-developer/skills/worktrees/SKILL.md +0 -36
- package/capabilities/oats-engineering-expert/injects/expert.md +0 -37
- package/capabilities/oats-engineering-expert/oats.json +0 -17
- package/capabilities/oats-engineering-expert/skills/coordinate-developers/SKILL.md +0 -37
- package/capabilities/oats-engineering-expert/skills/coordinate-experts/SKILL.md +0 -52
- package/capabilities/oats-engineering-expert/skills/land-your-prs/SKILL.md +0 -50
- package/capabilities/oats-engineering-expert/skills/plan-and-spec/SKILL.md +0 -53
- package/capabilities/oats-engineering-expert/skills/verify-developer-work/SKILL.md +0 -49
- package/capabilities/oats-jira/bin/oats-jira.mjs +0 -40
- package/capabilities/oats-jira/injects/jira.md +0 -10
- package/capabilities/oats-jira/oats.json +0 -22
- package/capabilities/oats-jira/skills/jira-tasks/SKILL.md +0 -179
- package/capabilities/oats-linear/bin/oats-linear-hook.mjs +0 -34
- package/capabilities/oats-linear/bin/oats-linear.mjs +0 -344
- package/capabilities/oats-linear/injects/linear.md +0 -8
- package/capabilities/oats-linear/oats.json +0 -24
- package/capabilities/oats-linear/skills/linear-tasks/SKILL.md +0 -223
- package/capabilities/oats-okf/bin/oats-okf-binding.mjs +0 -14
- package/capabilities/oats-okf/bin/oats-okf.mjs +0 -213
- package/capabilities/oats-okf/injects/okf.md +0 -42
- package/capabilities/oats-okf/lib/binding-wire.mjs +0 -380
- package/capabilities/oats-okf/lib/captured-worker.mjs +0 -109
- package/capabilities/oats-okf/lib/config.mjs +0 -124
- package/capabilities/oats-okf/lib/consult.mjs +0 -518
- package/capabilities/oats-okf/lib/harvest-status.mjs +0 -88
- package/capabilities/oats-okf/lib/harvest-switch.mjs +0 -94
- package/capabilities/oats-okf/lib/inspection.mjs +0 -138
- package/capabilities/oats-okf/lib/invocation-context.mjs +0 -111
- package/capabilities/oats-okf/lib/invocation-shape.mjs +0 -135
- package/capabilities/oats-okf/lib/io.mjs +0 -118
- package/capabilities/oats-okf/lib/migration.mjs +0 -137
- package/capabilities/oats-okf/lib/okf-validate.mjs +0 -123
- package/capabilities/oats-okf/lib/portable-binding.mjs +0 -199
- package/capabilities/oats-okf/lib/source-contract.mjs +0 -46
- package/capabilities/oats-okf/lib/sources.mjs +0 -438
- package/capabilities/oats-okf/lib/stores.mjs +0 -473
- package/capabilities/oats-okf/lib/worker.mjs +0 -486
- package/capabilities/oats-okf/oats.json +0 -151
- package/capabilities/oats-okf/schemas/okf-base.schema.json +0 -46
- package/capabilities/oats-okf/schemas/okf-bindings.schema.json +0 -112
- package/capabilities/oats-okf/schemas/okf-portable-declaration.schema.json +0 -87
- package/capabilities/oats-okf/schemas/okf-portable-payload.schema.json +0 -113
- package/capabilities/oats-okf/schemas/okf-soul.schema.json +0 -37
- package/capabilities/oats-okf/skills/okf-consultation/SKILL.md +0 -144
- package/capabilities/oats-okf/skills/okf-consultation/references/consult.md +0 -86
- package/capabilities/oats-okf/skills/okf-instance-knowledge/SKILL.md +0 -104
- package/capabilities/oats-okf-harvest/bin/okf-harvest.mjs +0 -140
- package/capabilities/oats-okf-harvest/injects/harvester.md +0 -12
- package/capabilities/oats-okf-harvest/oats.json +0 -26
- package/capabilities/oats-okf-harvest/skills/knowledge-harvest/SKILL.md +0 -168
- package/capabilities/oats-okf-harvest/skills/knowledge-theory/SKILL.md +0 -192
- package/capabilities/oats-okf-harvest/skills/okf-authoring/SKILL.md +0 -151
- package/capabilities/oats-okf-harvest/skills/okf-authoring/scripts/okf-validate.mjs +0 -123
- package/capabilities/oats-okf-maintenance/bin/okf-maintenance.mjs +0 -170
- package/capabilities/oats-okf-maintenance/injects/maintainer.md +0 -12
- package/capabilities/oats-okf-maintenance/lib/provenance.mjs +0 -50
- package/capabilities/oats-okf-maintenance/oats.json +0 -21
- package/capabilities/oats-okf-maintenance/skills/knowledge-review/SKILL.md +0 -159
- package/capabilities/oats-okf-maintenance/skills/knowledge-theory/SKILL.md +0 -192
- package/capabilities/oats-okf-maintenance/skills/okf-authoring/SKILL.md +0 -151
- package/capabilities/oats-okf-maintenance/skills/okf-authoring/scripts/okf-validate.mjs +0 -123
- package/capabilities/oats-okf-maintenance/skills/okf-trigger-setup/SKILL.md +0 -134
- package/capabilities/oats-workspace-experts/injects/oats-experts.md +0 -26
- package/capabilities/oats-workspace-experts/oats.json +0 -9
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: okf-trigger-setup
|
|
3
|
-
description: >-
|
|
4
|
-
Set up and verify the OKF harvest-review trigger, which spawns a knowledge
|
|
5
|
-
maintainer for each harvest PR: declare it as a workspace automation
|
|
6
|
-
(`oats-triggers/okf-harvest-review.yaml` in a member repo, `from:
|
|
7
|
-
oats.okf:harvest-review`, with `runsOn` naming the one host and `owner` the
|
|
8
|
-
GitHub account that can merge on the knowledge-base repo), or locally with
|
|
9
|
-
`oats trigger add` for a machine-private setup. Covers messaging, the
|
|
10
|
-
self-approval limit and `oats trigger test`. Use when setting up knowledge
|
|
11
|
-
operations, when harvest PRs are not being reviewed, when moving the
|
|
12
|
-
reviewer to another host, or when asked whether a host may run the
|
|
13
|
-
maintainer.
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Setting up the harvest-review trigger
|
|
17
|
-
|
|
18
|
-
The trigger makes a harvest PR get reviewed: when a PR labelled `okf-harvest`
|
|
19
|
-
opens on the knowledge-base (KB) repository, the host tick spawns a new
|
|
20
|
-
`oats.okf/knowledge-maintainer` to review it. It runs on one
|
|
21
|
-
machine, acting as one GitHub account, and that account must be able to
|
|
22
|
-
**merge** on the KB repository.
|
|
23
|
-
|
|
24
|
-
## 1. Choose the host and the account
|
|
25
|
-
|
|
26
|
-
- **The account (`owner`)** must be able to merge on the KB repository (push,
|
|
27
|
-
maintain or admin). Check from the host:
|
|
28
|
-
`gh api repos/<owner>/<repo> --jq .permissions`.
|
|
29
|
-
- **The host (`runsOn`)** is the one machine that runs the trigger, named by
|
|
30
|
-
its `oats-local.yaml` `host: { name: <slug> }`, and logged in with `gh` as
|
|
31
|
-
that account.
|
|
32
|
-
- **The harvest switch is independent**: a review host need not harvest (its
|
|
33
|
-
`harvest` setting can stay `off`), and a harvesting host need not review.
|
|
34
|
-
|
|
35
|
-
## 2. The self-approval limit
|
|
36
|
-
|
|
37
|
-
GitHub forbids approving your own account's PR. If the harvester's host and
|
|
38
|
-
the reviewer's account are the same GitHub account, then either:
|
|
39
|
-
- the KB repository's `main` must not require approving reviews (merge
|
|
40
|
-
permission is enough; the maintainer records its verdict as a PR comment,
|
|
41
|
-
not an approval), or
|
|
42
|
-
- the trigger's `owner` is a separate reviewer account or machine user.
|
|
43
|
-
|
|
44
|
-
Say which one applies when you report the setup.
|
|
45
|
-
|
|
46
|
-
## 3. Messaging
|
|
47
|
-
|
|
48
|
-
The harvester and the maintainer message each other through the soul's
|
|
49
|
-
messaging capability (`oats.aweb`, the workspace default). Both live in the
|
|
50
|
-
deployment's default team, like every instance: there is no okf team to
|
|
51
|
-
declare or map. A deployment that wants them in another team opts them in
|
|
52
|
-
locally, as for any soul.
|
|
53
|
-
|
|
54
|
-
Without a messaging capability they cannot message each other: the
|
|
55
|
-
maintainer's notices and questions do not reach the harvester.
|
|
56
|
-
|
|
57
|
-
## 4. Declare it in the workspace (the default)
|
|
58
|
-
|
|
59
|
-
A team relies on the review, so declare it in Git, in a member repository (the
|
|
60
|
-
workspace's host repo), in its `oats-triggers/` folder:
|
|
61
|
-
|
|
62
|
-
```yaml
|
|
63
|
-
# <member>/oats-triggers/okf-harvest-review.yaml
|
|
64
|
-
kind: oats-trigger
|
|
65
|
-
schemaVersion: 1
|
|
66
|
-
description: Review every OKF harvest PR on the knowledge base
|
|
67
|
-
from: oats.okf:harvest-review
|
|
68
|
-
set: { repo: github.com/<owner>/<kb-repo> } # optional: base, harness, model
|
|
69
|
-
runsOn: <host.name of the one machine>
|
|
70
|
-
owner: github.com/<the merge-capable account>
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
- `kind: oats-trigger` and `schemaVersion: 1` make the file self-describing; a
|
|
74
|
-
wrong kind is `E_AUTOMATION_SCHEMA`.
|
|
75
|
-
- The id is `id:` if present, else the filename stem (`okf-harvest-review`).
|
|
76
|
-
Two files with the same id in one member are `E_AUTOMATION_DUPLICATE`.
|
|
77
|
-
- A file named `*.oats-trigger.yaml` anywhere in the member works too (never
|
|
78
|
-
under `oats-package/`, `.git/` or `node_modules/`); `oats-triggers/` is the
|
|
79
|
-
canonical place.
|
|
80
|
-
|
|
81
|
-
Or let the CLI write it: `oats trigger add --from oats.okf:harvest-review
|
|
82
|
-
--set repo=github.com/<owner>/<kb-repo> --workspace <member>` (it prints the
|
|
83
|
-
file when that repository is not the current checkout). Commit and merge it
|
|
84
|
-
like any other change.
|
|
85
|
-
|
|
86
|
-
A host runs it only when **both** its `host.name` equals `runsOn` **and** its
|
|
87
|
-
`gh` account equals `owner`. Everywhere else it is listed with the reason:
|
|
88
|
-
`assigned-elsewhere`, `owner-mismatch` or `host-unnamed`. That keeps exactly
|
|
89
|
-
one machine on it, and the operator's consent explicit. A host can opt out
|
|
90
|
-
without a commit: `automations.disabled: [<member>/okf-harvest-review]` in its
|
|
91
|
-
`oats-local.yaml`. Changes reach the host within about ten minutes (after
|
|
92
|
-
`oats sync`, or the tick's refresh).
|
|
93
|
-
|
|
94
|
-
## 5. Or add it locally (machine-private)
|
|
95
|
-
|
|
96
|
-
For a personal or experimental setup, add it to this deployment only. It runs
|
|
97
|
-
on this host with this host's `gh`, with no `runsOn` or `owner`:
|
|
98
|
-
|
|
99
|
-
```sh
|
|
100
|
-
oats trigger add --from oats.okf:harvest-review --set repo=github.com/<owner>/<kb-repo>
|
|
101
|
-
# optional: --set base=main --set harness=claude --set model=opus --id okf-harvest-review
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Never run the same review from two places: one workspace declaration, or one
|
|
105
|
-
local trigger on one host.
|
|
106
|
-
|
|
107
|
-
## 6. Test it on the host that runs it
|
|
108
|
-
|
|
109
|
-
```sh
|
|
110
|
-
oats trigger test <member>/okf-harvest-review # or: oats trigger test okf-harvest-review (local)
|
|
111
|
-
oats schedule host install # the host timer, if the test says it is missing
|
|
112
|
-
oats trigger status
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
- `oats trigger test` checks gh auth and where its credential comes from, the
|
|
116
|
-
repository and your merge permissions, the soul, its messaging capability,
|
|
117
|
-
the host/owner match, and what would fire now. It spawns
|
|
118
|
-
nothing. It must pass before you report the setup done; fix what it names.
|
|
119
|
-
- **Credentials reach the tick through the host timer, not your shell.** A
|
|
120
|
-
`GH_TOKEN` exported in your shell does not reach it; `gh auth login` with the
|
|
121
|
-
keyring or config file does.
|
|
122
|
-
- Pause with `oats trigger disable <id>`; `remove` leaves running maintainers
|
|
123
|
-
alone.
|
|
124
|
-
|
|
125
|
-
## 7. Labels
|
|
126
|
-
|
|
127
|
-
Harvest PRs carry `okf-harvest` (the harvester's completion creates the label
|
|
128
|
-
if the repository lacks it). The maintainer adds `okf-needs-human` when a PR
|
|
129
|
-
would supersede a human-accepted decision. To pre-create both:
|
|
130
|
-
|
|
131
|
-
```sh
|
|
132
|
-
gh label create okf-harvest --repo <owner>/<repo> --force --color 0E8A16 --description "OKF harvest PR (oats.okf)"
|
|
133
|
-
gh label create okf-needs-human --repo <owner>/<repo> --force --color D93F0B --description "OKF: needs a human decision"
|
|
134
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
## Working on the OATS framework repository (this workspace's experts)
|
|
2
|
-
|
|
3
|
-
This is the OATS-repo-specific part of the expert role. It lives in the oats repo (a private
|
|
4
|
-
capability, `oats.workspace-experts`, assigned to this workspace's expert souls), not in
|
|
5
|
-
the generic engineering package.
|
|
6
|
-
|
|
7
|
-
**Surfaces and their developers.** To drive development, launch the developer that owns
|
|
8
|
-
the surface; for work across surfaces, one developer per surface.
|
|
9
|
-
|
|
10
|
-
| Surface | Paths | Developer soul | Expert |
|
|
11
|
-
|---|---|---|---|
|
|
12
|
-
| Kernel & CLI | `lib/`, `bin/`, `docs/*.schema.json` | `oats-kernel-developer` | `oats-kernel-expert` |
|
|
13
|
-
| Desktop app & server | `packages/desktop/` (not views) | `oats-desktop-developer` | `oats-desktop-expert` |
|
|
14
|
-
| Desktop design | `packages/desktop/renderer/` views, styles, copy | `oats-desktop-designer` | `oats-desktop-expert` |
|
|
15
|
-
| Provider packages | `oats-aweb`, `oats-okf`, and the other package repos | `oats-integrations-developer` | `integrations-expert` (and the package's own expert) |
|
|
16
|
-
| Docs & skills | `docs/`, `oats-package/`, `skills/` | the developer of the surface they document | the owning expert |
|
|
17
|
-
|
|
18
|
-
**Your own worktrees.** You may drive a piece of work in your own session instead of
|
|
19
|
-
launching a developer, when that's the better call (a small cross-cutting change, a spike,
|
|
20
|
-
a release PR). Use your work-mode briefing's extra worktrees, named for the surface
|
|
21
|
-
(`.work-kernel`, `.work-desktop`, `.work-docs`), with the developer's discipline, including
|
|
22
|
-
the adversarial review loop. Launching a developer is still the default.
|
|
23
|
-
|
|
24
|
-
**Delivery.** Every change reaches main by a PR. The owning expert lands it (opens it,
|
|
25
|
-
answers reviews, gets it merged). In this repository, merges are done by the maintainer
|
|
26
|
-
(`oats-expert`), so getting its approval is part of landing.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"capability": "oats.workspace-experts",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "1.0.0",
|
|
5
|
-
"compatibility": { "oats": ">=0.29.0" },
|
|
6
|
-
"description": "The OATS framework repository's part of the expert role: which developer soul owns each surface, when an expert drives work in its own worktrees, and how changes land here (PRs merged by the maintainer, oats-expert). Assigned to this workspace's expert souls, beside oats.engineering-expert.",
|
|
7
|
-
"requires": [],
|
|
8
|
-
"inject": "injects/oats-experts.md"
|
|
9
|
-
}
|