@manifesto-ai/skills 0.2.2 → 0.3.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 +20 -1
- package/SKILL.md +20 -12
- package/claude-code/CLAUDE.md +3 -3
- package/knowledge/antipatterns.md +14 -17
- package/knowledge/architecture.md +40 -98
- package/knowledge/effect-patterns.md +5 -11
- package/knowledge/llm/LLM-INDEX.md +13 -76
- package/knowledge/llm/LLM-NORMS.md +8 -15
- package/knowledge/mel-patterns.md +5 -8
- package/knowledge/mel-reference.md +2 -7
- package/knowledge/packages/codegen.md +0 -1
- package/knowledge/packages/compiler.md +2 -2
- package/knowledge/packages/core.md +2 -2
- package/knowledge/packages/governance.md +91 -0
- package/knowledge/packages/host.md +2 -2
- package/knowledge/packages/lineage.md +78 -0
- package/knowledge/packages/sdk.md +75 -76
- package/knowledge/packages/studio-cli.md +72 -0
- package/knowledge/packages/studio-core.md +69 -0
- package/knowledge/patch-rules.md +0 -3
- package/knowledge/spec-index.md +40 -117
- package/package.json +4 -6
- package/scripts/manifesto-skills.mjs +0 -1
- package/knowledge/packages/world.md +0 -107
- package/tracking/source-map.json +0 -126
package/README.md
CHANGED
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
# @manifesto-ai/skills
|
|
2
2
|
|
|
3
|
+
Standalone repository for the Manifesto integration skills pack.
|
|
4
|
+
|
|
3
5
|
LLM knowledge pack for Manifesto.
|
|
4
6
|
|
|
7
|
+
The packaged guidance is aligned to the current public seams:
|
|
8
|
+
|
|
9
|
+
- base runtime via `@manifesto-ai/sdk`
|
|
10
|
+
- continuity via `@manifesto-ai/lineage`
|
|
11
|
+
- legitimacy via `@manifesto-ai/governance`
|
|
12
|
+
- domain inspection and runtime debugging via `@manifesto-ai/studio-cli`
|
|
13
|
+
- projection-first offline analysis via `@manifesto-ai/studio-core`
|
|
14
|
+
- projected vs canonical snapshot boundaries
|
|
15
|
+
|
|
16
|
+
This package is aimed at agents using Manifesto in apps, tools, and experiments, not at maintaining Manifesto core itself.
|
|
17
|
+
|
|
5
18
|
## Codex setup
|
|
6
19
|
|
|
7
20
|
With npm:
|
|
@@ -20,6 +33,7 @@ pnpm exec manifesto-skills install-codex
|
|
|
20
33
|
|
|
21
34
|
This installs the managed `manifesto` skill into `$CODEX_HOME/skills/manifesto` or `~/.codex/skills/manifesto`.
|
|
22
35
|
The setup is explicit so package-manager `postinstall` approval policies do not block installation.
|
|
36
|
+
Rerun the install command after upgrading `@manifesto-ai/skills` if you want the managed Codex skill refreshed to the latest seam knowledge.
|
|
23
37
|
|
|
24
38
|
If package-manager exec is unavailable, run:
|
|
25
39
|
|
|
@@ -34,10 +48,15 @@ After installation, restart Codex.
|
|
|
34
48
|
Add this to your `CLAUDE.md`:
|
|
35
49
|
|
|
36
50
|
```md
|
|
37
|
-
See @node_modules/@manifesto-ai/skills/SKILL.md for Manifesto
|
|
51
|
+
See @node_modules/@manifesto-ai/skills/SKILL.md for Manifesto integration guidance.
|
|
38
52
|
```
|
|
39
53
|
|
|
54
|
+
Prefer wording like "integration guidance" when describing this package. It is meant for agents using Manifesto in an app, not for maintaining Manifesto core internals.
|
|
55
|
+
|
|
40
56
|
## Notes
|
|
41
57
|
|
|
42
58
|
- This package does not auto-install Codex files from `postinstall`.
|
|
43
59
|
- The installer refuses to overwrite an existing non-managed `manifesto` skill directory.
|
|
60
|
+
- The managed install is safe to rerun when the package updates.
|
|
61
|
+
- The managed install copies the skill and its knowledge files only. It does not vendor repo source docs or tracking metadata.
|
|
62
|
+
- The installed knowledge is intended to be self-contained for normal integrations.
|
package/SKILL.md
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: manifesto
|
|
3
|
-
description: Use when
|
|
3
|
+
description: Use when building with Manifesto runtimes, MEL flows, or SDK/Studio/Lineage/Governance seams. Focus on consumer-facing integration guidance, domain inspection, and runtime debugging.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Manifesto Skills
|
|
6
|
+
# Manifesto Skills
|
|
7
7
|
|
|
8
|
-
You are
|
|
8
|
+
You are integrating or extending a Manifesto-based system. Prefer the current public seams and keep your reasoning inside the installed skill knowledge by default.
|
|
9
9
|
|
|
10
10
|
## Scope Note
|
|
11
11
|
|
|
12
|
-
This skills pack
|
|
12
|
+
This skills pack is for agents using Manifesto, not for editing Manifesto internals by default.
|
|
13
13
|
|
|
14
|
-
- `@manifesto-ai/
|
|
15
|
-
- `@manifesto-ai/
|
|
16
|
-
-
|
|
14
|
+
- `@manifesto-ai/sdk` owns the base activation-first app path: `createManifesto(schema, effects) -> activate() -> dispatchAsync(intent)`.
|
|
15
|
+
- `@manifesto-ai/lineage` and `@manifesto-ai/governance` are the active governed composition packages. The public governed direction is `createManifesto() -> withLineage() -> withGovernance() -> activate()`.
|
|
16
|
+
- `getSnapshot()` is the normal app-facing read model. `getCanonicalSnapshot()` is the explicit substrate read for restore, seal-aware tooling, and deep debugging.
|
|
17
|
+
- `@manifesto-ai/studio-cli` is the terminal inspection surface for findings, canonical snapshot debugging, trace replay, and transition graph projection.
|
|
18
|
+
- `@manifesto-ai/studio-core` is the projection-first analysis layer for offline findings, graph inspection, and overlay-aware tooling.
|
|
19
|
+
- The installed skill should be enough for normal app, tool, and experiment integrations. Do not assume repo-internal docs are available.
|
|
17
20
|
|
|
18
21
|
## Absolute Rules
|
|
19
22
|
|
|
@@ -25,9 +28,9 @@ This skills pack follows the current implementation in this repo.
|
|
|
25
28
|
6. **Flows terminate.** No unbounded loops in Flow. Host controls iteration. All guards required for re-entry safety.
|
|
26
29
|
7. **`$` is reserved.** `$host`, `$mel`, `$system` are platform namespaces. Never use `$` in domain identifiers.
|
|
27
30
|
|
|
28
|
-
##
|
|
31
|
+
## Installed Knowledge Rule
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
Prefer the installed knowledge files and the current public package seams. Do not assume repo-internal design documents are present.
|
|
31
34
|
|
|
32
35
|
## Task-Specific Knowledge
|
|
33
36
|
|
|
@@ -35,13 +38,15 @@ Load these before writing code in each area:
|
|
|
35
38
|
|
|
36
39
|
| Task | Knowledge File |
|
|
37
40
|
|------|---------------|
|
|
38
|
-
| Understanding
|
|
41
|
+
| Understanding base vs lineage vs governance runtime seams | `@knowledge/architecture.md` |
|
|
39
42
|
| Writing MEL domain code | `@knowledge/mel-patterns.md` |
|
|
40
43
|
| MEL complete function reference | `@knowledge/mel-reference.md` |
|
|
41
44
|
| Implementing effect handlers | `@knowledge/effect-patterns.md` |
|
|
42
45
|
| Working with state/patches | `@knowledge/patch-rules.md` |
|
|
43
46
|
| Reviewing or debugging | `@knowledge/antipatterns.md` |
|
|
44
|
-
|
|
|
47
|
+
| Choosing the right installed knowledge file | `@knowledge/spec-index.md` |
|
|
48
|
+
| Inspecting or debugging a domain from the terminal | `@knowledge/packages/studio-cli.md` |
|
|
49
|
+
| Understanding Studio projections and offline analysis | `@knowledge/packages/studio-core.md` |
|
|
45
50
|
|
|
46
51
|
## Package API Reference
|
|
47
52
|
|
|
@@ -50,11 +55,14 @@ Load when working with a specific package API:
|
|
|
50
55
|
| Package | Knowledge File |
|
|
51
56
|
|---------|---------------|
|
|
52
57
|
| @manifesto-ai/sdk | `@knowledge/packages/sdk.md` |
|
|
58
|
+
| @manifesto-ai/lineage | `@knowledge/packages/lineage.md` |
|
|
59
|
+
| @manifesto-ai/governance | `@knowledge/packages/governance.md` |
|
|
53
60
|
| @manifesto-ai/core | `@knowledge/packages/core.md` |
|
|
54
61
|
| @manifesto-ai/host | `@knowledge/packages/host.md` |
|
|
55
|
-
| @manifesto-ai/world | `@knowledge/packages/world.md` |
|
|
56
62
|
| @manifesto-ai/compiler | `@knowledge/packages/compiler.md` |
|
|
57
63
|
| @manifesto-ai/codegen | `@knowledge/packages/codegen.md` |
|
|
64
|
+
| @manifesto-ai/studio-cli | `@knowledge/packages/studio-cli.md` |
|
|
65
|
+
| @manifesto-ai/studio-core | `@knowledge/packages/studio-core.md` |
|
|
58
66
|
|
|
59
67
|
## Self-Check
|
|
60
68
|
|
package/claude-code/CLAUDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Manifesto
|
|
1
|
+
# Manifesto Integration Rules
|
|
2
2
|
|
|
3
|
-
This project uses the Manifesto framework. Read the rules below before writing
|
|
3
|
+
This project uses the Manifesto framework. Read the rules below before writing integration code.
|
|
4
4
|
|
|
5
5
|
## Entry Point
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ Load the relevant file BEFORE writing code:
|
|
|
15
15
|
- Effect handler implementation: @../knowledge/effect-patterns.md
|
|
16
16
|
- State mutations & patches: @../knowledge/patch-rules.md
|
|
17
17
|
- Common mistakes to avoid: @../knowledge/antipatterns.md
|
|
18
|
-
-
|
|
18
|
+
- Knowledge index: @../knowledge/spec-index.md
|
|
19
19
|
|
|
20
20
|
## Quick Rules
|
|
21
21
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Antipatterns
|
|
2
2
|
|
|
3
|
-
> Source: CLAUDE.md §10, Core FDR v2.0.0, Compiler SPEC v0.5.0 §8
|
|
4
|
-
> Last synced: 2026-02-09
|
|
5
|
-
|
|
6
3
|
If you see these patterns in code, REJECT the change.
|
|
7
4
|
|
|
8
5
|
## Constitutional Violations
|
|
@@ -22,7 +19,7 @@ async function executeEffect(req) {
|
|
|
22
19
|
// Host MUST execute or report failure, never decide.
|
|
23
20
|
```
|
|
24
21
|
|
|
25
|
-
Why: Host executes, Core computes. Decision-making is Core's job.
|
|
22
|
+
Why: Host executes, Core computes. Decision-making is Core's job.
|
|
26
23
|
|
|
27
24
|
### AP-002: Value Passing Outside Snapshot
|
|
28
25
|
|
|
@@ -37,7 +34,7 @@ core.compute(schema, snapshot, { ...intent, result });
|
|
|
37
34
|
// Effect returns patches → Host applies → Next compute() reads from Snapshot
|
|
38
35
|
```
|
|
39
36
|
|
|
40
|
-
Why: Snapshot is the sole communication medium.
|
|
37
|
+
Why: Snapshot is the sole communication medium.
|
|
41
38
|
|
|
42
39
|
### AP-003: Execution-Aware Core
|
|
43
40
|
|
|
@@ -51,7 +48,7 @@ if (effectExecutionSucceeded) { ... }
|
|
|
51
48
|
if (snapshot.data.syncStatus === 'success') { ... }
|
|
52
49
|
```
|
|
53
50
|
|
|
54
|
-
Why: Core is pure. It reads Snapshot, nothing else.
|
|
51
|
+
Why: Core is pure. It reads Snapshot, nothing else.
|
|
55
52
|
|
|
56
53
|
### AP-004: Hidden Continuation State
|
|
57
54
|
|
|
@@ -64,7 +61,7 @@ const pendingCallbacks = new Map(); // Hidden state!
|
|
|
64
61
|
// CORRECT — All execution state in snapshot.system.pendingRequirements
|
|
65
62
|
```
|
|
66
63
|
|
|
67
|
-
Why: There is no suspended execution context.
|
|
64
|
+
Why: There is no suspended execution context.
|
|
68
65
|
|
|
69
66
|
## Flow Violations
|
|
70
67
|
|
|
@@ -88,7 +85,7 @@ action increment() {
|
|
|
88
85
|
}
|
|
89
86
|
```
|
|
90
87
|
|
|
91
|
-
Why: Flows are re-evaluated on every `compute()` call. Guards prevent re-execution.
|
|
88
|
+
Why: Flows are re-evaluated on every `compute()` call. Guards prevent re-execution.
|
|
92
89
|
|
|
93
90
|
### AP-006: Unbounded Loop in Flow
|
|
94
91
|
|
|
@@ -99,7 +96,7 @@ Attempting Turing-complete loops in Flow.
|
|
|
99
96
|
while eq(pending, true) { ... }
|
|
100
97
|
```
|
|
101
98
|
|
|
102
|
-
Why: Flow must terminate in finite steps. Host controls iteration.
|
|
99
|
+
Why: Flow must terminate in finite steps. Host controls iteration.
|
|
103
100
|
|
|
104
101
|
### AP-007: Nested Effects
|
|
105
102
|
|
|
@@ -123,7 +120,7 @@ effect array.flatMap({ source: teams, select: $item.members, into: allMembers })
|
|
|
123
120
|
effect array.filter({ source: allMembers, where: eq($item.active, true), into: activeMembers })
|
|
124
121
|
```
|
|
125
122
|
|
|
126
|
-
Why: Effects are sequential declarations, not expressions.
|
|
123
|
+
Why: Effects are sequential declarations, not expressions.
|
|
127
124
|
|
|
128
125
|
## State Violations
|
|
129
126
|
|
|
@@ -137,7 +134,7 @@ snapshot.data.count = 5;
|
|
|
137
134
|
core.apply(schema, snapshot, [{ op: 'set', path: 'data.count', value: 5 }]);
|
|
138
135
|
```
|
|
139
136
|
|
|
140
|
-
Why: Snapshots are immutable. All mutations via patches.
|
|
137
|
+
Why: Snapshots are immutable. All mutations via patches.
|
|
141
138
|
|
|
142
139
|
### AP-009: Throwing in Effect Handler
|
|
143
140
|
|
|
@@ -153,7 +150,7 @@ async function handler(params) {
|
|
|
153
150
|
}
|
|
154
151
|
```
|
|
155
152
|
|
|
156
|
-
Why: Errors are values in Snapshot, never thrown.
|
|
153
|
+
Why: Errors are values in Snapshot, never thrown.
|
|
157
154
|
|
|
158
155
|
## Type Violations
|
|
159
156
|
|
|
@@ -173,18 +170,18 @@ Why: User-facing APIs must be type-safe with zero string paths.
|
|
|
173
170
|
|
|
174
171
|
### AP-011: Authority Bypass
|
|
175
172
|
|
|
176
|
-
Executing
|
|
173
|
+
Executing governed work without the current governance path.
|
|
177
174
|
|
|
178
175
|
```typescript
|
|
179
176
|
// FORBIDDEN
|
|
180
177
|
host.execute(snapshot, intent); // Skips governance!
|
|
181
178
|
|
|
182
179
|
// CORRECT
|
|
183
|
-
|
|
184
|
-
|
|
180
|
+
const governed = withGovernance(withLineage(createManifesto(schema, effects), lineageConfig), governanceConfig).activate();
|
|
181
|
+
await governed.proposeAsync(governed.createIntent(governed.MEL.actions.someAction));
|
|
185
182
|
```
|
|
186
183
|
|
|
187
|
-
Why:
|
|
184
|
+
Why: Governed work must pass through the current approval path to preserve legitimacy and auditability.
|
|
188
185
|
|
|
189
186
|
## MEL-Specific Mistakes
|
|
190
187
|
|
|
@@ -230,7 +227,7 @@ computed a = b
|
|
|
230
227
|
computed b = a
|
|
231
228
|
```
|
|
232
229
|
|
|
233
|
-
Computed dependencies MUST form a DAG. Cycles are rejected at validation time.
|
|
230
|
+
Computed dependencies MUST form a DAG. Cycles are rejected at validation time.
|
|
234
231
|
|
|
235
232
|
## Quick Checklist
|
|
236
233
|
|
|
@@ -1,122 +1,64 @@
|
|
|
1
|
-
# Manifesto
|
|
1
|
+
# Manifesto Runtime Map
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
> Last synced: 2026-03-31
|
|
3
|
+
Use this file to choose the right public seam quickly.
|
|
5
4
|
|
|
6
|
-
##
|
|
5
|
+
## Mental model
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
- Core computes meaning.
|
|
8
|
+
- Host executes requirements and applies patches.
|
|
9
|
+
- SDK exposes the base runtime for direct dispatch.
|
|
10
|
+
- Lineage decorates the base runtime with continuity and sealing.
|
|
11
|
+
- Governance decorates a lineage runtime with legitimacy and approval.
|
|
13
12
|
|
|
14
|
-
##
|
|
13
|
+
## Runtime ladder
|
|
15
14
|
|
|
16
15
|
```typescript
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
systemDelta,
|
|
20
|
-
trace,
|
|
21
|
-
status,
|
|
22
|
-
}
|
|
16
|
+
createManifesto(schema, effects).activate()
|
|
17
|
+
-> dispatchAsync(intent)
|
|
23
18
|
```
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
- **Total**: Business logic failures are reported as values, not thrown.
|
|
27
|
-
- **Traceable**: Compute returns a trace graph for explainability.
|
|
28
|
-
- **Resumable via Snapshot**: Host applies `patches` + `systemDelta`, then re-enters `compute()` with the new snapshot.
|
|
29
|
-
|
|
30
|
-
## Runtime Paths
|
|
31
|
-
|
|
32
|
-
Two practical paths exist in the current repo:
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
SDK-style app
|
|
36
|
-
createManifesto()
|
|
37
|
-
-> Host
|
|
38
|
-
-> Core
|
|
39
|
-
```
|
|
20
|
+
Use this when you want the shortest path: compile/activate/dispatch/read.
|
|
40
21
|
|
|
41
22
|
```text
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
->
|
|
45
|
-
->
|
|
23
|
+
Lineage runtime
|
|
24
|
+
createManifesto(schema, effects)
|
|
25
|
+
-> withLineage(...)
|
|
26
|
+
-> activate()
|
|
27
|
+
-> commitAsync(intent)
|
|
46
28
|
-> Host
|
|
47
29
|
-> Core
|
|
48
|
-
->
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Package Sovereignty
|
|
52
|
-
|
|
53
|
-
| Package | Responsibility | MUST NOT |
|
|
54
|
-
|---------|---------------|----------|
|
|
55
|
-
| **Core** | Pure computation, expression evaluation, flow interpretation, patch generation, validation, explanation | IO, wall-clock access, effect execution, Host/World policy |
|
|
56
|
-
| **Host** | Effect execution, patch application, compute loop orchestration, requirement fulfillment | Compute semantic meaning, suppress declared effects, make governance decisions |
|
|
57
|
-
| **World** | Proposal lifecycle, authority evaluation, lineage DAG, persistence, governance event emission | Import `@manifesto-ai/host` directly, compute semantic meaning, apply Core patches itself |
|
|
58
|
-
| **SDK** | Public app entrypoint (`createManifesto`), typed effect registration, `dispatchAsync`, typed patch helpers, selected re-exports | Invent semantics outside Core/Host/World public contracts |
|
|
59
|
-
|
|
60
|
-
## Current Governed Structure
|
|
61
|
-
|
|
62
|
-
In this repo's implementation:
|
|
63
|
-
|
|
64
|
-
- `@manifesto-ai/world` is the exact consumer-facing governed facade
|
|
65
|
-
- `@manifesto-ai/governance` is the current governance protocol package
|
|
66
|
-
- `@manifesto-ai/lineage` is the current continuity protocol package
|
|
67
|
-
- top-level `@manifesto-ai/world` re-exports the split-native surfaces needed for explicit composition
|
|
68
|
-
|
|
69
|
-
## Snapshot Structure
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
type Snapshot = {
|
|
73
|
-
data: unknown;
|
|
74
|
-
computed: Record<string, unknown>;
|
|
75
|
-
system: {
|
|
76
|
-
status: "idle" | "computing" | "pending" | "error";
|
|
77
|
-
lastError: ErrorValue | null;
|
|
78
|
-
pendingRequirements: Requirement[];
|
|
79
|
-
currentAction: string | null;
|
|
80
|
-
};
|
|
81
|
-
input: unknown;
|
|
82
|
-
meta: {
|
|
83
|
-
version: number;
|
|
84
|
-
timestamp: number;
|
|
85
|
-
randomSeed: string;
|
|
86
|
-
schemaHash: string;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
30
|
+
-> seal into lineage
|
|
31
|
+
-> visible head advances
|
|
89
32
|
```
|
|
90
33
|
|
|
91
|
-
|
|
34
|
+
Use this when execution must also become recorded continuity.
|
|
92
35
|
|
|
93
36
|
```text
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
37
|
+
Governed runtime
|
|
38
|
+
createManifesto(schema, effects)
|
|
39
|
+
-> withLineage(...)
|
|
40
|
+
-> withGovernance(...)
|
|
41
|
+
-> activate()
|
|
42
|
+
-> proposeAsync(intent)
|
|
43
|
+
-> authority decision
|
|
44
|
+
-> approved commit
|
|
45
|
+
-> seal into lineage
|
|
46
|
+
-> visible governed history advances
|
|
99
47
|
```
|
|
100
48
|
|
|
101
|
-
|
|
49
|
+
Use this when actions need legitimacy, approval, or proposal records.
|
|
102
50
|
|
|
103
|
-
##
|
|
51
|
+
## Snapshot boundary
|
|
104
52
|
|
|
105
|
-
|
|
106
|
-
- `$mel` is compiler-owned guard state.
|
|
107
|
-
- `$system.*` values are surfaced in MEL and lowered through platform mechanics.
|
|
108
|
-
- Domain schemas must not define `$`-prefixed fields.
|
|
53
|
+
For application code, prefer the SDK projected snapshot from `getSnapshot()`. Escalate to `getCanonicalSnapshot()` only when you need substrate-level fields such as `pendingRequirements`, `currentAction`, or canonical metadata.
|
|
109
54
|
|
|
110
|
-
|
|
55
|
+
Practical rule:
|
|
111
56
|
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
- **Portability**: Host remains the execution seam.
|
|
115
|
-
- **Clarity**: SDK is the public app-facing direct-dispatch layer, while World is the explicit governed composition layer around Host.
|
|
57
|
+
- app/UI/agent reasoning: `getSnapshot()`
|
|
58
|
+
- lineage restore / sealing / deep runtime tooling: `getCanonicalSnapshot()`
|
|
116
59
|
|
|
117
|
-
##
|
|
60
|
+
## Quick reminders
|
|
118
61
|
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
- World package API: `@knowledge/packages/world.md`
|
|
62
|
+
- Effects are declarations from Core and IO adapters in Host handlers.
|
|
63
|
+
- Snapshot is the only medium between turns and layers.
|
|
64
|
+
- Only three patch ops exist: `set`, `unset`, `merge`.
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# Effect Patterns
|
|
2
2
|
|
|
3
|
-
> Source: `packages/host/docs/host-SPEC.md`, `packages/sdk/src/types.ts`, `packages/sdk/src/create-manifesto.ts`
|
|
4
|
-
> Last synced: 2026-03-28
|
|
5
|
-
|
|
6
3
|
## Rules
|
|
7
4
|
|
|
8
5
|
> **R1**: Effect handlers return `Patch[]` and should not use exceptions as the business-logic result channel.
|
|
@@ -33,14 +30,11 @@ Host uses a different internal signature, but SDK adapts your handler automatica
|
|
|
33
30
|
```typescript
|
|
34
31
|
import { createManifesto } from "@manifesto-ai/sdk";
|
|
35
32
|
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"payment.process": processPayment,
|
|
42
|
-
},
|
|
43
|
-
});
|
|
33
|
+
const runtime = createManifesto(domainSchema, {
|
|
34
|
+
"api.fetchUser": fetchUser,
|
|
35
|
+
"api.createTodo": createTodo,
|
|
36
|
+
"payment.process": processPayment,
|
|
37
|
+
}).activate();
|
|
44
38
|
```
|
|
45
39
|
|
|
46
40
|
Effect names must match effect types declared in schema or MEL.
|
|
@@ -1,82 +1,19 @@
|
|
|
1
1
|
# Manifesto LLM Knowledge Pack Index
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This installed pack is meant to be self-contained for normal integrations.
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
1) SPEC
|
|
7
|
-
2) FDR
|
|
8
|
-
3) ADR
|
|
9
|
-
4) Guides / README
|
|
5
|
+
## Default routing
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
- Runtime seam choice: `../architecture.md`
|
|
8
|
+
- Base runtime API: `../packages/sdk.md`
|
|
9
|
+
- Continuity and sealing: `../packages/lineage.md`
|
|
10
|
+
- Legitimacy and approval: `../packages/governance.md`
|
|
11
|
+
- Effect handlers: `../effect-patterns.md`
|
|
12
|
+
- Patch and snapshot rules: `../patch-rules.md`
|
|
13
|
+
- MEL generation patterns: `../mel-patterns.md`
|
|
14
|
+
- MEL builtin summary: `../mel-reference.md`
|
|
15
|
+
- Common mistakes: `../antipatterns.md`
|
|
12
16
|
|
|
13
|
-
##
|
|
17
|
+
## Working rule
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
- `packages/core/docs/core-SPEC.md`
|
|
17
|
-
- `packages/core/docs/VERSION-INDEX.md`
|
|
18
|
-
- `packages/core/src/index.ts`
|
|
19
|
-
|
|
20
|
-
### Host
|
|
21
|
-
- `packages/host/docs/host-SPEC.md`
|
|
22
|
-
- `packages/host/docs/VERSION-INDEX.md`
|
|
23
|
-
- `packages/host/src/index.ts`
|
|
24
|
-
|
|
25
|
-
### World
|
|
26
|
-
- `packages/world/docs/world-facade-spec-v1.0.0.md`
|
|
27
|
-
- `packages/world/docs/VERSION-INDEX.md`
|
|
28
|
-
- `packages/world/src/index.ts`
|
|
29
|
-
- `packages/world/src/facade/index.ts`
|
|
30
|
-
|
|
31
|
-
Note: top-level `@manifesto-ai/world` is the exact governed facade in the current repo.
|
|
32
|
-
|
|
33
|
-
### Governance
|
|
34
|
-
- `packages/governance/docs/governance-SPEC-1.0.0v.md`
|
|
35
|
-
- `packages/governance/docs/VERSION-INDEX.md`
|
|
36
|
-
- `packages/governance/src/index.ts`
|
|
37
|
-
|
|
38
|
-
### Lineage
|
|
39
|
-
- `packages/lineage/docs/lineage-SPEC-1.0.1v.md`
|
|
40
|
-
- `packages/lineage/docs/VERSION-INDEX.md`
|
|
41
|
-
- `packages/lineage/src/index.ts`
|
|
42
|
-
|
|
43
|
-
### SDK
|
|
44
|
-
- `packages/sdk/docs/sdk-SPEC-v2.0.0.md`
|
|
45
|
-
- `packages/sdk/docs/VERSION-INDEX.md`
|
|
46
|
-
- `packages/sdk/src/index.ts`
|
|
47
|
-
- `packages/sdk/src/types.ts`
|
|
48
|
-
- `packages/sdk/src/create-manifesto.ts`
|
|
49
|
-
|
|
50
|
-
### Compiler
|
|
51
|
-
- `packages/compiler/docs/SPEC-v0.7.0.md`
|
|
52
|
-
- `packages/compiler/docs/VERSION-INDEX.md`
|
|
53
|
-
- `packages/compiler/src/index.ts`
|
|
54
|
-
|
|
55
|
-
### Codegen
|
|
56
|
-
- `packages/codegen/docs/SPEC-v0.1.1.md`
|
|
57
|
-
- `packages/codegen/docs/VERSION-INDEX.md`
|
|
58
|
-
|
|
59
|
-
## Future-split / design-only references
|
|
60
|
-
|
|
61
|
-
These are useful next-major drafts, but they are not the default coding target unless a task explicitly targets them:
|
|
62
|
-
|
|
63
|
-
- `packages/sdk/docs/sdk-SPEC-v3.0.0-draft.md`
|
|
64
|
-
- `packages/governance/docs/governance-SPEC-2.0.0v.md`
|
|
65
|
-
- `packages/lineage/docs/lineage-SPEC-2.0.0v.md`
|
|
66
|
-
- `packages/world/docs/world-facade-spec-v2.0.0.md`
|
|
67
|
-
|
|
68
|
-
Use them for next-major direction, not as the primary basis for current code changes.
|
|
69
|
-
|
|
70
|
-
## ADRs
|
|
71
|
-
|
|
72
|
-
- ADR-002: `onceIntent` + `$mel` namespace
|
|
73
|
-
- ADR-010: protocol-first SDK reconstruction
|
|
74
|
-
- ADR-014: split world protocol
|
|
75
|
-
|
|
76
|
-
## Legacy note
|
|
77
|
-
|
|
78
|
-
Older application-layer docs and migration notes may still exist for historical context. They are not part of the current routing baseline for new code changes.
|
|
79
|
-
|
|
80
|
-
## Archives
|
|
81
|
-
|
|
82
|
-
Historical docs under `archive/` remain useful for archaeology, but they are not the primary source for new code unless a task explicitly targets historical behavior.
|
|
19
|
+
Prefer the installed knowledge files first. Only reach outside the installed skill if the user explicitly asks for repo archaeology or maintainer-level implementation detail.
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
# Manifesto Normative Summary (LLM)
|
|
2
2
|
|
|
3
|
-
This is a compact summary of high-salience rules
|
|
4
|
-
|
|
5
|
-
## Document precedence
|
|
6
|
-
|
|
7
|
-
- SPEC is authoritative.
|
|
8
|
-
- FDR is rationale and must not contradict SPEC.
|
|
9
|
-
- ADR is decision context and must not contradict SPEC or FDR.
|
|
10
|
-
- Guides and READMEs are non-normative.
|
|
3
|
+
This is a compact summary of high-salience rules for the installed skill.
|
|
11
4
|
|
|
12
5
|
## Core boundaries
|
|
13
6
|
|
|
14
|
-
- Core computes meaning; Host executes effects;
|
|
7
|
+
- Core computes meaning; Host executes effects; Lineage preserves continuity; Governance governs legitimacy.
|
|
15
8
|
- Core is pure and deterministic: same input, same output.
|
|
16
9
|
- Snapshot is the sole communication medium between layers.
|
|
17
10
|
- State changes are expressed as patches plus system transitions, not hidden mutable state.
|
|
@@ -42,12 +35,12 @@ This is a compact summary of high-salience rules. For exact wording, defer to th
|
|
|
42
35
|
|
|
43
36
|
## Current implementation note
|
|
44
37
|
|
|
45
|
-
-
|
|
46
|
-
- `@manifesto-ai/
|
|
47
|
-
- For
|
|
38
|
+
- `@manifesto-ai/sdk` owns the activation-first base runtime.
|
|
39
|
+
- `@manifesto-ai/lineage` and `@manifesto-ai/governance` are the active governed composition packages.
|
|
40
|
+
- For governed work, prefer `createManifesto() -> withLineage() -> withGovernance() -> activate()`.
|
|
48
41
|
|
|
49
42
|
## Guidance for LLM use
|
|
50
43
|
|
|
51
|
-
- Do not infer behavior not stated in
|
|
52
|
-
-
|
|
53
|
-
-
|
|
44
|
+
- Do not infer behavior not stated in the installed knowledge or current public package APIs.
|
|
45
|
+
- Prefer the installed package notes over repo archaeology for normal integrations.
|
|
46
|
+
- If something conflicts with the installed knowledge, prefer the current public seams: SDK, Lineage, Governance.
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
# MEL Patterns
|
|
2
2
|
|
|
3
|
-
> Source: Compiler SPEC v0.5.0, Compiler FDR v0.5.0
|
|
4
|
-
> Last synced: 2026-02-09
|
|
5
|
-
|
|
6
3
|
## Rules
|
|
7
4
|
|
|
8
|
-
> **R1**: MEL is pure and total. All expressions terminate, are deterministic, and never throw.
|
|
9
|
-
> **R2**: One pattern per concept. Function calls only, no method chaining.
|
|
10
|
-
> **R3**: Every mutation (patch/effect) MUST be inside a guard (when/once/onceIntent).
|
|
11
|
-
> **R4**: Effects are declarations, not executions. Effects are sequential, never nested.
|
|
12
|
-
> **R5**: `$` is completely prohibited in user identifiers — not just at start, anywhere.
|
|
5
|
+
> **R1**: MEL is pure and total. All expressions terminate, are deterministic, and never throw.
|
|
6
|
+
> **R2**: One pattern per concept. Function calls only, no method chaining.
|
|
7
|
+
> **R3**: Every mutation (patch/effect) MUST be inside a guard (when/once/onceIntent).
|
|
8
|
+
> **R4**: Effects are declarations, not executions. Effects are sequential, never nested.
|
|
9
|
+
> **R5**: `$` is completely prohibited in user identifiers — not just at start, anywhere.
|
|
13
10
|
|
|
14
11
|
## Domain Structure
|
|
15
12
|
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
# MEL
|
|
1
|
+
# MEL Quick Reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
> Last synced: 2026-03-24
|
|
5
|
-
|
|
6
|
-
This is a pointer to the comprehensive MEL reference document. For the full content, see:
|
|
7
|
-
|
|
8
|
-
**`docs/mel/REFERENCE.md`** (1700+ lines)
|
|
3
|
+
This is the installed quick reference for MEL. Use it for normal generation work.
|
|
9
4
|
|
|
10
5
|
## Quick Summary
|
|
11
6
|
|
|
@@ -41,5 +41,5 @@ MEL text -> Lexer -> Parser -> Analyzer -> Generator -> Lowering
|
|
|
41
41
|
|
|
42
42
|
## Notes
|
|
43
43
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
44
|
+
- Prefer MEL source plus the compiler API surface shown here.
|
|
45
|
+
- For normal integrations, you usually only need compile output or bundler wiring, not compiler internals.
|