@awebai/oats 0.24.0 → 0.24.1
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 +224 -394
- package/bin/oats.mjs +29 -1
- package/capabilities/oats-okf/lib/captured-worker.mjs +12 -4
- package/capabilities/oats-okf/oats.json +1 -1
- package/docs/capabilities.md +4 -0
- package/docs/design/2026-09-20-redesign-program-board.md +70 -0
- package/docs/design/2026-09-20-workspace-and-portable-adoption-plan.md +287 -0
- package/docs/design/2026-09-20-workspace-onboarding-public.md +124 -0
- package/docs/design/README.md +42 -0
- package/docs/first-team.md +1 -1
- package/docs/knowledge-theory.md +353 -111
- package/docs/knowledge.md +10 -1
- package/docs/layers.md +89 -354
- package/docs/official-marketplace.md +79 -0
- package/docs/packages.md +4 -0
- package/docs/release-notes/v0.24.1.md +17 -0
- package/docs/souls-and-instances.md +20 -7
- package/docs/workspace-adoption.md +285 -0
- package/docs/workspaces.md +154 -0
- package/injects/oats-portable.md +4 -5
- package/lib/core.mjs +43 -4
- package/lib/portable-onboarding.mjs +19 -0
- package/lib/prepared-resources.mjs +1 -1
- package/package-catalog.json +2 -1
- package/package.json +1 -1
- package/skills/oats-config/SKILL.md +4 -5
- package/skills/oats-portable/SKILL.md +1 -2
- package/skills/oats-portable-artifacts/SKILL.md +2 -2
- package/skills/oats-portable-setup/SKILL.md +0 -69
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Design documents — navigation
|
|
2
|
+
|
|
3
|
+
Dated design documents record how decisions were reached and what each implementation slice was bounded to. They are **history with current pointers**: the current architecture is explained in [workspaces](../workspaces.md), [contracts](../layers.md), [souls and instances](../souls-and-instances.md) and [knowledge theory](../knowledge-theory.md); readiness is stated in the [release notes](../release-notes/). When a dated document and a current page disagree, the current page wins.
|
|
4
|
+
|
|
5
|
+
## Current plan
|
|
6
|
+
|
|
7
|
+
- [Redesign program board](2026-09-20-redesign-program-board.md) — live status of every work stream (knowledge contract, workspace adoption, messaging readiness, official capabilities, marketplace, five souls, centralised knowledge, Desktop), owners and blockers.
|
|
8
|
+
- [Workspace-first adoption plan (2026-09-20)](2026-09-20-workspace-and-portable-adoption-plan.md) — phase order, lane ownership, distribution work packages (`oats.core`, `oats.setup`, official marketplace), exit gates.
|
|
9
|
+
|
|
10
|
+
## Portable Souls and Git workspaces — the architecture
|
|
11
|
+
|
|
12
|
+
- [Portable Souls explainer](2026-09-14-portable-souls-explainer.md) — the short version.
|
|
13
|
+
- [Portable souls and Git-backed workspaces](2026-09-14-portable-souls-and-git-workspaces.md) — the accepted architecture.
|
|
14
|
+
- [Contract amendments (14 Sep)](2026-09-14-portable-souls-contract-amendments.md) · [portable declarations](2026-09-15-portable-declarations.md) · [portable data/digest contract](2026-09-15-portable-data-contract.md) · [source observation](2026-09-15-source-observation.md).
|
|
15
|
+
- [Fresh-install-first rollout](2026-09-16-fresh-install-first-rollout.md) · [fresh operator walkthrough](2026-09-16-fresh-operator-walkthrough.md) · [portable onboarding and discovery](2026-09-16-portable-onboarding.md) · [migration evidence](2026-09-16-portable-migration-evidence.md).
|
|
16
|
+
|
|
17
|
+
## Retained execution — artifacts, approval, capture
|
|
18
|
+
|
|
19
|
+
- [Artifact retention](2026-09-14-artifact-retention-contract.md) · [selection lock and approval](2026-09-15-selection-lock-and-approval.md) · [captured resolution records](2026-09-15-captured-resolution-records.md).
|
|
20
|
+
- [Package preparation](2026-09-15-package-preparation.md) · [command/curriculum preparation](2026-09-16-command-profile-preparation.md) · [prepare request transport](2026-09-16-prepare-request-transport.md) · [public prepare request](2026-09-17-public-prepare-request.md).
|
|
21
|
+
- [Captured dispatch](2026-09-15-captured-dispatch.md) · [captured admission](2026-09-16-captured-admission.md) · [retained helper dispatch](2026-09-16-captured-helper-dispatch.md) · [retained launch inputs](2026-09-16-captured-launch-inputs.md).
|
|
22
|
+
- [Boundary resources](2026-09-17-portable-boundary-resources.md) · [boundary hookup](2026-09-17-portable-boundary-hookup.md) · [captured native start](2026-09-17-captured-native-start.md) · [public captured start](2026-09-17-public-captured-start.md).
|
|
23
|
+
- [Backend parity: tmux and Herdr](2026-09-17-captured-backend-parity.md) · [Herdr protocol compatibility](2026-09-18-herdr-protocol-compatibility.md) · [captured Pi print host](2026-09-18-captured-pi-host.md).
|
|
24
|
+
- [First-cut release checklist](2026-09-18-first-cut-release-checklist.md).
|
|
25
|
+
- Implementation records: [implementation](2026-09-15-portable-souls-implementation.md) · [handoff](2026-09-15-portable-souls-handoff.md).
|
|
26
|
+
|
|
27
|
+
## Capabilities and providers
|
|
28
|
+
|
|
29
|
+
- [Package engine contract](package-engine-contract.md) · [package-runtime API](package-runtime-api.md) · [operations contract](operations-contract.md) · [launch configurations](launch-configurations.md).
|
|
30
|
+
- [Provider binding wire v1](2026-09-16-provider-binding-wire.md) · [provider binding codecs](2026-09-16-provider-binding-codecs.md) · [capability helper/input contract](2026-09-17-capability-helper-input-contract.md).
|
|
31
|
+
- [Knowledge capability contract](2026-09-16-knowledge-capability-contract.md) · [messaging capability contract](2026-09-16-messaging-capability-contract.md).
|
|
32
|
+
|
|
33
|
+
## Knowledge and memory
|
|
34
|
+
|
|
35
|
+
- [Knowledge and memory direction](2026-09-13-knowledge-and-memory-direction.md) · [knowledge location contract](2026-09-13-knowledge-location-contract.md) · [knowledge implementation plan](2026-09-13-knowledge-implementation.md) · [OKF mirror provenance](okf-mirror-provenance.md).
|
|
36
|
+
|
|
37
|
+
## Product direction and Desktop
|
|
38
|
+
|
|
39
|
+
- [Architecture reassessment](2026-09-07-architecture-reassessment.md) · [expert-assisted deployment](2026-09-08-expert-assisted-deployment-proposal.md).
|
|
40
|
+
- [Desktop UX plan](desktop-ux-plan.md) · [souls and capabilities in Desktop](2026-09-07-desktop-souls-capabilities.md) · [mobile management proposal](2026-09-07-mobile-agent-management-proposal.md).
|
|
41
|
+
|
|
42
|
+
Adding a design doc: date-prefix it, state its status in the first lines, and add it here under the right theme.
|
package/docs/first-team.md
CHANGED
|
@@ -212,4 +212,4 @@ oats recall "a phrase from your completed task"
|
|
|
212
212
|
```
|
|
213
213
|
|
|
214
214
|
Capture respects privacy exclusions. Native turns are content-addressed; signed
|
|
215
|
-
aweb messages retain their source signatures. See [the turn record](
|
|
215
|
+
aweb messages retain their source signatures. See [where the turn record fits](2026-09-03-architecture-proposal.md#where-the-turn-record-fits).
|
package/docs/knowledge-theory.md
CHANGED
|
@@ -1,111 +1,353 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
An
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
##
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
A
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
1
|
+
# Knowledge, instances and evolving expertise
|
|
2
|
+
|
|
3
|
+
This is the canonical explanation of OATS’s knowledge and specialisation model, consolidated from the founder’s knowledge doctrine, the September 16 topology/speciation exploration and the subsequent design decisions of September 19, 2026.
|
|
4
|
+
|
|
5
|
+
The [README](../README.md) introduces the framework. This document explains the reasoning behind its default knowledge model and the freedom other capabilities must retain. It records design direction, not a claim that every mechanism is implemented; see [implementation boundaries](#implementation-boundaries).
|
|
6
|
+
|
|
7
|
+
## The central distinction
|
|
8
|
+
|
|
9
|
+
> **A soul defines a reusable specialisation. An instance develops expertise in a particular situation. Knowledge preserves learning that should survive that situation.**
|
|
10
|
+
|
|
11
|
+
OATS separates these things so that a team can retain useful learning without making its expertise inseparable from one conversation, machine, model or knowledge system.
|
|
12
|
+
|
|
13
|
+
- A **soul** is an enduring identity and reviewed curriculum: responsibilities, boundaries, capabilities, skills and knowledge interests.
|
|
14
|
+
- An **instance** is a particular working continuity, with its own assignment, context, state and lifecycle.
|
|
15
|
+
- A **knowledge capability** determines how relevant knowledge is provided, how experience is captured and how learning is retained or shared.
|
|
16
|
+
|
|
17
|
+
The soul is not the complete mind of a running agent. Nor is its definition a place to paste everything an instance has learned.
|
|
18
|
+
|
|
19
|
+
## Instances can be short-lived or long-running
|
|
20
|
+
|
|
21
|
+
An instance is not necessarily a single task or chat session. An assignment may span many tasks and supported session continuations.
|
|
22
|
+
|
|
23
|
+
Short-lived developer and reviewer instances are useful for bounded implementation work. Longer-running instances of expertise souls are useful for planning, investigation and sustained work on a domain. These are examples, not rules preventing experts from implementing changes or temporary instances from producing valuable learning.
|
|
24
|
+
|
|
25
|
+
Over time, an instance may develop:
|
|
26
|
+
|
|
27
|
+
- Familiarity with the systems and people relevant to its assignment.
|
|
28
|
+
- Verified observations, provisional hypotheses and unresolved questions.
|
|
29
|
+
- An understanding of what has already been tried and why it failed.
|
|
30
|
+
- Effective procedures and a sense of which details matter together.
|
|
31
|
+
|
|
32
|
+
This is **situated expertise**. It is valuable even when some of it belongs only to that assignment.
|
|
33
|
+
|
|
34
|
+
“Disposable instance” describes a lifecycle possibility, not a recommendation to discard context frequently. Retirement should preserve required learning, work and handoff evidence. Duration alone does not turn an instance into a soul.
|
|
35
|
+
|
|
36
|
+
### Four different kinds of value
|
|
37
|
+
|
|
38
|
+
| What an experienced instance offers | Home in the reference model |
|
|
39
|
+
|---|---|
|
|
40
|
+
| Reusable workflows and practical know-how | Reviewed skills and capabilities |
|
|
41
|
+
| Durable judgment and awareness of the larger picture | Accepted knowledge |
|
|
42
|
+
| A working understanding of the particular problem | Instance context |
|
|
43
|
+
| Unfinished work, current experiments and next steps | Instance state |
|
|
44
|
+
|
|
45
|
+
The same investigation can produce all four. A new verification procedure may become a skill; the reason it is necessary may become a lesson; the current experiment and next action remain local state.
|
|
46
|
+
|
|
47
|
+
Persistence is not the only distinction. Information may remain useful for months and still be specific to an investigation. Conversely, a narrowly applicable lesson may deserve preservation because an appropriate future instance will need it.
|
|
48
|
+
|
|
49
|
+
## Shared souls do not imply identical instances
|
|
50
|
+
|
|
51
|
+
Several developers can use instances of the same semantic-layer expert. One studies revenue definitions, another investigates performance, and another supports a warehouse transition.
|
|
52
|
+
|
|
53
|
+
They share a specialisation but develop different working understanding. A person may have several instances; one instance may handle many tasks. Neither relationship needs to be one-to-one.
|
|
54
|
+
|
|
55
|
+
A shared knowledge base is not a shared active mind. Making a finding available does not mean every instance has read or understood it. In the reference model, instances obtain relevant orientation at session start, after context compaction and when a decision may already have been made. They fetch detail selectively rather than loading the whole base.
|
|
56
|
+
|
|
57
|
+
The knowledge capability can choose different conventions for that reading and refresh process. It also determines which experience remains with an instance and which becomes available to future instances. It does not redefine the kernel’s source or instance identity.
|
|
58
|
+
|
|
59
|
+
## What deserves to become knowledge
|
|
60
|
+
|
|
61
|
+
> **Knowledge is what makes an expert an expert in a subject or project. It is not a description of what lives in the code.**
|
|
62
|
+
|
|
63
|
+
Code is the truth about code. A stored description of modules, functions or configuration competes with the repository and becomes misleading when it drifts. Information already implicit and quickly learnable from the repository should not be duplicated in a knowledge base.
|
|
64
|
+
|
|
65
|
+
The reference promotion test asks:
|
|
66
|
+
|
|
67
|
+
1. **Would an appropriate future instance act differently for knowing this?**
|
|
68
|
+
2. **Could it not have obtained this simply by reading the repository?**
|
|
69
|
+
|
|
70
|
+
Both should be yes. Appropriate does not mean every instance: specialised learning can be valuable without becoming everyone’s initial context.
|
|
71
|
+
|
|
72
|
+
### Preserve judgment
|
|
73
|
+
|
|
74
|
+
The reference model accepts:
|
|
75
|
+
|
|
76
|
+
- **Decisions and rationale:** what was chosen, why, and whether it is deliberate or a stopgap.
|
|
77
|
+
- **Rejected alternatives:** what was considered and why it did not fit.
|
|
78
|
+
- **Architectural judgment:** why a boundary exists, not a second map of its implementation.
|
|
79
|
+
- **Direction and priorities:** what the project is trying to become and the reasoning governing it.
|
|
80
|
+
- **Discoveries and limitations:** findings that required investigation, with scope, evidence and solutions that worked.
|
|
81
|
+
- **Research conclusions:** conclusions rather than transcripts, with uncertainty and recheck conditions where needed.
|
|
82
|
+
- **Design inspiration:** what informed a design and which failures shaped it.
|
|
83
|
+
- **Review and process patterns:** verified judgment that code alone does not communicate.
|
|
84
|
+
- **Maintained slow state:** a dated interpretation of an area that orients future work.
|
|
85
|
+
|
|
86
|
+
Human-accepted decisions pass the promotion bar by construction. Preserve their meaning, scope and acceptance evidence rather than having a harvester re-judge the person. This does not remove confidentiality, provenance or duplication checks.
|
|
87
|
+
|
|
88
|
+
### Keep the larger picture, not a second issue tracker
|
|
89
|
+
|
|
90
|
+
A useful slow-state record might explain:
|
|
91
|
+
|
|
92
|
+
> We are replacing approach A with B because of this limitation. These parts are established; this unresolved question prevents the next stage.
|
|
93
|
+
|
|
94
|
+
It must have a clear scope, a responsible maintenance process, an as-of date and an update or supersession rule. An owning soul’s role is to consume the relevant context and capture evidence; ownership does not make each working instance responsible for directly maintaining the base.
|
|
95
|
+
|
|
96
|
+
The task tracker remains authoritative for issue status. Knowledge can link a decision to the work that established it, or explain why a blocker matters, without copying lists of open issues into permanent prose.
|
|
97
|
+
|
|
98
|
+
### Put other material elsewhere
|
|
99
|
+
|
|
100
|
+
| Material | Appropriate home |
|
|
101
|
+
|---|---|
|
|
102
|
+
| Shared project facts, API contracts and code navigation | Repository code and documentation |
|
|
103
|
+
| Repeatable operational steps | Skills |
|
|
104
|
+
| Why an approach works and when its trade-offs matter | Knowledge, if it passes the promotion test |
|
|
105
|
+
| Current investigation, provisional reasoning and next action | Instance context and state |
|
|
106
|
+
| Raw records and notes awaiting judgment | Evidence, not accepted knowledge |
|
|
107
|
+
|
|
108
|
+
A reasoned approach can be a Playbook; a bare sequence of commands belongs in a skill. If an insight already has an authoritative home, point to it rather than copying it.
|
|
109
|
+
|
|
110
|
+
Exclude secrets, improperly disclosed private material, indiscriminate third-party message copying, tool noise and ordinary task residue. A review pattern may cite the verified, disclosure-appropriate evidence that established it; that is not permission to ingest messages wholesale.
|
|
111
|
+
|
|
112
|
+
If code, a test or a clearer contract can eliminate a recurring problem, pursue that fix. A knowledge entry is not a substitute for removing a preventable defect.
|
|
113
|
+
|
|
114
|
+
“Invariant across incarnations” means useful beyond its author, not true for every task forever. Date and scope contingent claims. Supersede changed decisions explicitly rather than leaving contradictory truths or erasing their history.
|
|
115
|
+
|
|
116
|
+
## Default organisation: centralised and per soul
|
|
117
|
+
|
|
118
|
+
The chosen default is a shared knowledge base with a stable knowledge home for each adopted soul. It provides a simple starting point without requiring a team to design a topic taxonomy first.
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
A team's chosen knowledge base
|
|
122
|
+
kernel-expert
|
|
123
|
+
ux-expert
|
|
124
|
+
customer-support-expert
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
This is an illustrative organisation, not a kernel schema or a requirement to use those folder names.
|
|
128
|
+
|
|
129
|
+
- Instances of a soul consult its accepted expertise and relevant shared material.
|
|
130
|
+
- Their harvests have explicit destinations; task context is not published wholesale.
|
|
131
|
+
- A claim has one canonical home. Other readers use references rather than copies.
|
|
132
|
+
- A public soul’s publisher does not become the default recipient of an adopter’s private learning.
|
|
133
|
+
- Knowledge identity and lifetime must not depend on one instance or merely on a changeable display name.
|
|
134
|
+
|
|
135
|
+
In the reference model, **owns is harvest routing**, not personal authorship, an access right or a duty for ordinary souls to keep the base honest. **Reads is context selection**, not an access list. Actual repository/service access still governs what can be read.
|
|
136
|
+
|
|
137
|
+
Centralisation simplifies the initial destination of a harvest. It does not remove the need for judgment, deduplication, freshness or acceptance.
|
|
138
|
+
|
|
139
|
+
## Per-soul knowledge can evolve
|
|
140
|
+
|
|
141
|
+
Fluidity depends on being able to revise expertise boundaries, not on naming the top-level collections after topics rather than souls.
|
|
142
|
+
|
|
143
|
+
### Grow without creating another soul
|
|
144
|
+
|
|
145
|
+
A kernel expert starts with decisions about capability boundaries and execution authority. Its knowledge later develops sections for runtime behaviour, capabilities and packaging.
|
|
146
|
+
|
|
147
|
+
It can remain one soul if its instances routinely need those subjects together. A large collection or a new section is not sufficient evidence for a split.
|
|
148
|
+
|
|
149
|
+
### Split a recurring specialisation
|
|
150
|
+
|
|
151
|
+
An overall expert initially handles project direction and some UX work. Over time, UX assignments consistently require different skills and reading context.
|
|
152
|
+
|
|
153
|
+
A reviewed change can establish a UX-expert soul:
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
Before After
|
|
157
|
+
project-expert project-expert
|
|
158
|
+
direction direction
|
|
159
|
+
UX decisions reads UX expertise
|
|
160
|
+
ux-expert
|
|
161
|
+
UX decisions
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
The specialist material has one canonical home, not a copy in both collections. Role instructions, skills and knowledge declarations are reconciled together.
|
|
165
|
+
|
|
166
|
+
### Merge or widen
|
|
167
|
+
|
|
168
|
+
Separate CLI and runtime experts may repeatedly need the same knowledge and skills. Their boundary may create more handoffs than useful specialisation.
|
|
169
|
+
|
|
170
|
+
A reviewed change can consolidate them into a kernel expert. Reconcile overlapping claims, preserve provenance and references, and deliberately retire or revise the former definitions. Do not concatenate conflicting collections and call the result accepted knowledge.
|
|
171
|
+
|
|
172
|
+
### Reassign a concept without changing the roster
|
|
173
|
+
|
|
174
|
+
A kernel decision may initially land with the overall expert because that instance investigated it. Moving its canonical home to the kernel expert need not create a new soul. Other readers keep access through the capability’s supported reference or migration mechanism.
|
|
175
|
+
|
|
176
|
+
## Speciation: changing the reusable specialisation
|
|
177
|
+
|
|
178
|
+
**Speciation is one soul becoming two or more because a distinct, reusable specialisation has emerged from its work.**
|
|
179
|
+
|
|
180
|
+
Useful signals include:
|
|
181
|
+
|
|
182
|
+
- Sustained differences in the skills instances need.
|
|
183
|
+
- Sustained differences in the knowledge they consult and produce.
|
|
184
|
+
- A recurring class of work that would benefit from a different charter.
|
|
185
|
+
|
|
186
|
+
Repeated spawning is evidence, not a requirement. One long-running instance can handle recurring specialised work without ever being replaced. The counterfactual is more useful than a spawn count:
|
|
187
|
+
|
|
188
|
+
> Would we deliberately want future instances to start with this narrower charter, skill set and reading context?
|
|
189
|
+
|
|
190
|
+
A busy fortnight, an epic ending or a large set of notes is not enough on its own. Widening or retaining the existing soul may be the right conclusion.
|
|
191
|
+
|
|
192
|
+
Harvesters can supply evidence. Maintenance can compare it across instances and propose changes. A person accepts structural change in the reference model; any future auto-acceptance policy needs separate agreement and evidence. Souls do not split themselves.
|
|
193
|
+
|
|
194
|
+
There is no need for a separate “geneticist” agent with the same inputs and responsibilities as the knowledge maintainer. Drafting a soul can be a skill used during a maintenance proposal.
|
|
195
|
+
|
|
196
|
+
### Maintenance is a responsibility, not a compulsory background agent
|
|
197
|
+
|
|
198
|
+
Separate two kinds of judgment:
|
|
199
|
+
|
|
200
|
+
| Responsibility | Focus |
|
|
201
|
+
|---|---|
|
|
202
|
+
| Harvesting | What an instance’s evidence contributes to accepted knowledge |
|
|
203
|
+
| Maintenance | Consistency, freshness, structure, ownership and declarations across the base |
|
|
204
|
+
|
|
205
|
+
A maintainer must not silently accept a structural change merely because it proposed it. A human can initially perform maintenance; automated maintenance is an additional capability behaviour, not a prerequisite for basic per-soul knowledge.
|
|
206
|
+
|
|
207
|
+
Proposed incarnation profiles would summarise evidence such as purpose, relevant skills and knowledge consulted. They are operational evidence, not knowledge concepts or copies of private transcripts. Their exact collection, privacy and retention rules remain implementation work.
|
|
208
|
+
|
|
209
|
+
### Changing structure must preserve running work
|
|
210
|
+
|
|
211
|
+
A knowledge move or soul split must account for references, pending harvests and existing instances:
|
|
212
|
+
|
|
213
|
+
- Update ownership and reading declarations in the same reviewed change.
|
|
214
|
+
- Preserve a single canonical home and the provenance of claims.
|
|
215
|
+
- Use explicit migration or redirects where the capability supports them; path changes are not free.
|
|
216
|
+
- Do not silently rewrite an active instance’s retained role or skills.
|
|
217
|
+
- Do not silently retarget a pending write because ownership has changed. Reconcile it through a supported transition, or hold it for review.
|
|
218
|
+
|
|
219
|
+
A soul definition can evolve while an existing instance continues with its retained curriculum. Refreshing accepted knowledge and changing that curriculum are separate operations.
|
|
220
|
+
|
|
221
|
+
## Topic-first knowledge is an alternative, not a requirement
|
|
222
|
+
|
|
223
|
+
A topic-first model organises the base around subjects and then maps souls to them. A soul can own several topics and consult others.
|
|
224
|
+
|
|
225
|
+
For example, a base might contain runtime execution, capability contracts and interface accessibility. Ownership can change while those subject identities remain stable.
|
|
226
|
+
|
|
227
|
+
The distinction is which boundary leads:
|
|
228
|
+
|
|
229
|
+
- **Per soul:** start from the expert’s current scope and organise knowledge within it.
|
|
230
|
+
- **Per topic:** start from subjects and assign ownership and reading interests over them.
|
|
231
|
+
|
|
232
|
+
They can initially look similar when souls are named for expertise. Topic-first organisation becomes useful when subjects evolve independently of the roster, but it adds explicit structure and maintenance. A deployment need not use one uniform shape everywhere.
|
|
233
|
+
|
|
234
|
+
The earlier topology exploration favoured topics from the outset and proposed shallow subtopics, redirects and evidence-driven restructuring. The subsequent decision selects centralised per-soul knowledge as the default. The topic-first approach remains valid for a capability or supported profile, not a universal kernel rule.
|
|
235
|
+
|
|
236
|
+
## Knowledge procedures and learning are capability choices
|
|
237
|
+
|
|
238
|
+
OATS supplies contracts and a default implementation. Users can adapt existing capabilities or write their own knowledge procedures and ways of working and learning.
|
|
239
|
+
|
|
240
|
+
For example, a capability might arrange that:
|
|
241
|
+
|
|
242
|
+
- A new instance starts with relevant expertise accumulated by previous instances of its soul.
|
|
243
|
+
- Two instances share a foundation but develop different working understanding of their assignments.
|
|
244
|
+
- A long-running instance retains investigations and unresolved questions across many tasks.
|
|
245
|
+
- Selected, reviewed learning becomes available to other instances while task-specific context stays local.
|
|
246
|
+
|
|
247
|
+
Three choices should remain independent:
|
|
248
|
+
|
|
249
|
+
| Choice | Examples |
|
|
250
|
+
|---|---|
|
|
251
|
+
| Organisation | Per soul, per topic, per project |
|
|
252
|
+
| Placement | Shared repository, co-located directories, multiple stores, graph system |
|
|
253
|
+
| Learning and governance | Reading, capture, judgment, review, maintenance and acceptance workflows |
|
|
254
|
+
|
|
255
|
+
This does not require an overwhelming set of user-facing switches. A capability can offer coherent profiles. Changing a directory layout should not necessarily require writing a whole new integration.
|
|
256
|
+
|
|
257
|
+
### OAS-style co-location remains a valid model
|
|
258
|
+
|
|
259
|
+
A capability could keep mutable knowledge alongside the editable definition:
|
|
260
|
+
|
|
261
|
+
```text
|
|
262
|
+
agents/example/soul/
|
|
263
|
+
AGENTS.md
|
|
264
|
+
skills/
|
|
265
|
+
knowledge/
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
The architecture must allow this choice; it is not a claim that current `oats.okf` supports that layout. The chosen capability needs explicit, supported read/write destinations and custody.
|
|
269
|
+
|
|
270
|
+
**An immutable captured source artifact is not a live writable knowledge store.** It may contain a knowledge snapshot, but that does not authorise modifying the retained artifact or make it the destination of future harvests. Co-location in an editable authoring repository and mutation of a retained execution snapshot are different things.
|
|
271
|
+
|
|
272
|
+
Thus “all knowledge leaves souls” is a default integration choice, not a universal kernel prohibition. A relocated or unavailable live store must produce an honest readiness or transition outcome, not a fabricated replacement.
|
|
273
|
+
|
|
274
|
+
## Kernel contracts and capability behaviour
|
|
275
|
+
|
|
276
|
+
The kernel supplies the common boundary; it must not contain one mandatory knowledge pipeline disguised as an interface.
|
|
277
|
+
|
|
278
|
+
| Kernel responsibilities | Knowledge capability responsibilities |
|
|
279
|
+
|---|---|
|
|
280
|
+
| Source, soul and instance identity | Knowledge organisation and destination semantics |
|
|
281
|
+
| Configuration resolution and declared requirements | Storage, retrieval and reading context |
|
|
282
|
+
| Selected resources and exact executable approval | Capture conventions and evidence selection |
|
|
283
|
+
| Lifecycle/invocation context and provenance | Judgment, harvesting and maintenance where used |
|
|
284
|
+
| Safe helper/job execution when required | Proposals, delivery, acceptance and recovery policies |
|
|
285
|
+
| Retained-artifact integrity and truthful outcomes | Its complete runtime instructions, skills and tools |
|
|
286
|
+
|
|
287
|
+
A knowledge capability is more than a storage adapter underneath a kernel-owned judge. The kernel does not require OKF, a node taxonomy, particular memory filenames, Git publication, a harvester or a maintainer for every integration.
|
|
288
|
+
|
|
289
|
+
The reference capability retains its promotion doctrine and Git PR-only delivery. Alternative models do not weaken framework safety, repository governance, secret handling or declared authority. A binding must validate its own semantics and reject incompatible requirements, not quietly substitute another provider or destination.
|
|
290
|
+
|
|
291
|
+
This is the same principle used for messaging and tasks: common contracts with independently chosen implementations. Skills and capability resources are portable artifacts, not inherently tied to a model vendor’s distribution system.
|
|
292
|
+
|
|
293
|
+
## How the default OKF capability works
|
|
294
|
+
|
|
295
|
+
`oats.okf` represents accepted expertise as Markdown concepts with metadata, indexes and history. Its runtime owns bindings, input custody, read views, worker execution and delivery.
|
|
296
|
+
|
|
297
|
+
Conceptually:
|
|
298
|
+
|
|
299
|
+
1. A working instance consults relevant accepted knowledge and captures observations without self-censoring against the promotion bar.
|
|
300
|
+
2. An independent worker receives bounded evidence with provenance. It need not borrow the source instance’s live worktree or identity.
|
|
301
|
+
3. The worker judges additions, merges, supersessions or exclusions, using the reference doctrine.
|
|
302
|
+
4. The capability validates and delivers the proposal under the selected store’s policy.
|
|
303
|
+
5. Accepted learning becomes available for subsequent reads; it is not automatically present in every instance’s active context.
|
|
304
|
+
|
|
305
|
+
Git delivery uses pull requests, with merge-visible acceptance distinct from proposal delivery. Plain-directory delivery uses its own recoverable publication mechanism. A receipt must state what actually happened: capture, judgment, delivery and acceptance are different facts, and successful directory publication does not prove human review.
|
|
306
|
+
|
|
307
|
+
The [operational guide](knowledge.md) describes version-scoped commands and constraints. A new knowledge model or acceptance policy must not be inferred from a successful storage test or from this conceptual description.
|
|
308
|
+
|
|
309
|
+
## Reusing working understanding: context handoffs and cloning
|
|
310
|
+
|
|
311
|
+
Harvesting does not necessarily reproduce the combined understanding that makes a long-running instance effective. Preserving a few good concepts can preserve real learning without preserving the whole working picture.
|
|
312
|
+
|
|
313
|
+
Context reuse is complementary to harvesting. A handoff or clone could carry selected:
|
|
314
|
+
|
|
315
|
+
- References to relevant accepted concepts.
|
|
316
|
+
- Verified observations with scope and freshness.
|
|
317
|
+
- Problem framing and clearly labelled provisional reasoning.
|
|
318
|
+
- Useful procedural context, pending separate review if it should become a skill.
|
|
319
|
+
|
|
320
|
+
This selected context has been called **clothes** in design discussions. It is not another canonical knowledge store. Copying it does not promote it or make it true indefinitely.
|
|
321
|
+
|
|
322
|
+
A clone needs its own identity. It must not automatically inherit credentials, message identity, child instances, a worktree or ownership of unfinished operations. Cross-developer sharing needs explicit selection and privacy boundaries; a shared soul does not authorise copying an entire private session.
|
|
323
|
+
|
|
324
|
+
The selection, consent, freshness and lifecycle protocol remains design work. The principle is that shared learning and situated continuity deserve different preservation mechanisms.
|
|
325
|
+
|
|
326
|
+
## Implementation boundaries
|
|
327
|
+
|
|
328
|
+
The following are accepted directions:
|
|
329
|
+
|
|
330
|
+
- Both ephemeral and long-running instances are legitimate.
|
|
331
|
+
- The default is centralised, per-soul knowledge, with room for reviewed structural evolution.
|
|
332
|
+
- Knowledge capabilities own their model and complete runtime behaviour, including support for alternative placement and learning procedures.
|
|
333
|
+
- The default doctrine preserves expertise rather than code descriptions or task residue.
|
|
334
|
+
- Structural change must preserve provenance and running work.
|
|
335
|
+
|
|
336
|
+
These statements are not new CLI flags, configuration schemas or claims of universal runtime support.
|
|
337
|
+
|
|
338
|
+
The released framework and default OKF capability supply an implementation foundation, including scoped retained execution and knowledge capture/judgment/delivery. See the [release notes](release-notes/v0.24.0.md) for the bounded 0.24.0/2.1.0 scope. Do not infer automatic per-soul provisioning, a supported co-located OKF profile, automatic speciation, a complete maintenance service, redirects or safe context cloning from that release.
|
|
339
|
+
|
|
340
|
+
A convincing flexibility test needs the same kernel to support the centralised per-soul model, an explicitly writable co-located model, and a genuinely different organisation/learning model. Git and directory storage within OKF alone do not prove the last case.
|
|
341
|
+
|
|
342
|
+
Existing deployments must not be silently migrated by updating this document. Implementations, skills and operational guidance must be reconciled deliberately with these decisions.
|
|
343
|
+
|
|
344
|
+
## Related documentation
|
|
345
|
+
|
|
346
|
+
- [OATS overview](../README.md)
|
|
347
|
+
- [Souls and instances](souls-and-instances.md)
|
|
348
|
+
- [Knowledge operations](knowledge.md)
|
|
349
|
+
- [Layer contracts](layers.md)
|
|
350
|
+
- [Knowledge capability authoring](knowledge-capability-authoring.md)
|
|
351
|
+
- [Packages](packages.md)
|
|
352
|
+
|
|
353
|
+
The September 16 exploration and September 19 discussion inform this consolidated account. This document supersedes a mandatory topic-first interpretation and a kernel-wide prohibition on co-located knowledge; it does not silently approve pending bootstrap, identity, permission or source-layout proposals.
|
package/docs/knowledge.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Knowledge — layer 2
|
|
2
2
|
|
|
3
|
+
For the canonical design, defaults and alternatives, start with
|
|
4
|
+
[Knowledge, instances and evolving expertise](knowledge-theory.md). This page is
|
|
5
|
+
an operational guide to the version-scoped OKF implementation below, not a universal
|
|
6
|
+
knowledge layout or learning policy. The default direction is centralised per-soul
|
|
7
|
+
knowledge; other capabilities may provide different procedures and placements,
|
|
8
|
+
including co-location, without writing into immutable captured artifacts. For the
|
|
9
|
+
newer captured path, also read the [0.24 release scope](release-notes/v0.24.0.md).
|
|
10
|
+
|
|
3
11
|
Specialization is accumulated judgment: decisions and rationale, rejected
|
|
4
12
|
alternatives, discovered limits, and maintained context that changes what a
|
|
5
13
|
future instance does. It is not a second description of the code.
|
|
@@ -126,7 +134,8 @@ nonoverlapping subdirectories with an `index.md` and `log.md`; each has one stab
|
|
|
126
134
|
owner. Base roots have their own index and append-only log. Stable owner IDs must
|
|
127
135
|
not ambiguously identify different souls within one state namespace.
|
|
128
136
|
|
|
129
|
-
`owns`
|
|
137
|
+
`owns` identifies harvest destinations; it does not make a working instance the
|
|
138
|
+
author or direct maintainer of the base. `reads` selects initial context.
|
|
130
139
|
**Neither is an ACL.** All configured bases are discoverable/readable. Missing
|
|
131
140
|
bindings, owner declarations, base metadata or indexes fail required spawn rather
|
|
132
141
|
than silently bootstrapping empty knowledge.
|