@cratylus/canon 0.4.0 → 0.6.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 CHANGED
@@ -64,11 +64,12 @@ directory fields are resolved against `import.meta.url` at definition time and c
64
64
  `defineAgentPlugin`. Canon reaches the projector as **data** — the corpus is passed to it as a
65
65
  plugin — and no cell imports it.
66
66
 
67
- One cell does import the runtime: `hooks/memory-consolidation-nudge.ts` takes `CLI_BIN` from
68
- `@cratylus/runtime/bin-name`, because it emits shell that invokes that binary and the alternative is
69
- repeating the literal inside a compiler-invisible string. This breaches the architecture's
70
- highest-ranked property — meaning and mechanism never referencing each other — and a test currently
71
- requires the breach. It is recorded in [ARCHITECTURE.md](../../ARCHITECTURE.md), not explained away.
67
+ No cell imports the runtime either. A skill names the capability it routes to — one of `eventTap`,
68
+ `design`, `plan` and `note`, the four built into the runtime — as `runtime: { capability: … }`,
69
+ never its implementation, and a cell that emits shell invoking the binary carries it as a fact the
70
+ projector substitutes at emission. That is the architecture's highest-ranked property — meaning
71
+ and mechanism never referencing each other — and [ARCHITECTURE.md](../../ARCHITECTURE.md) records
72
+ how it came to hold.
72
73
 
73
74
  ## Tests
74
75
 
@@ -1,6 +1,5 @@
1
1
  import { codeExecution as codeExecution_actions } from '../dimensions/actions/code-execution.js';
2
2
  import { delegation as delegation_actions } from '../dimensions/actions/delegation.js';
3
- import { fileOps as fileOps_actions } from '../dimensions/actions/file-ops.js';
4
3
  import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
5
4
  import { coldDecodeOracle as coldDecodeOracle_engineeringPrinciples } from '../dimensions/engineering-principles/cold-decode-oracle.js';
6
5
  import { invokeTheCanonical as invokeTheCanonical_engineeringPrinciples } from '../dimensions/engineering-principles/invoke-the-canonical.js';
@@ -55,7 +54,7 @@ export const nico = holds(architectRole, {
55
54
  helpfulness_guardrails,
56
55
  inputUntrusted_guardrails,
57
56
  ],
58
- actions: [fileOps_actions, codeExecution_actions, delegation_actions],
57
+ actions: [codeExecution_actions, delegation_actions],
59
58
  framing: analytical_framing,
60
59
  reasoningStrategy: react_reasoningStrategy,
61
60
  satisficing: satisfice_satisficing,
@@ -1 +1 @@
1
- {"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,gBAAgB,IAAI,sCAAsC,EAAE,MAAM,4DAA4D,CAAC;AACxI,OAAO,EAAE,kBAAkB,IAAI,wCAAwC,EAAE,MAAM,8DAA8D,CAAC;AAC9I,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAClH,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,aAAa,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC1G,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,IAAI,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAEtI,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,+CAA+C;AAC/C,EAAE;AACF,mFAAmF;AACnF,uFAAuF;AACvF,sFAAsF;AACtF,6EAA6E;AAC7E,EAAE;AACF,wFAAwF;AACxF,oFAAoF;AACpF,qFAAqF;AACrF,wCAAwC;AAExC,MAAM,CAAC,MAAM,IAAI,GAAU,KAAK,CAAC,aAAa,EAAE;IAC9C,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,mUAAmU;IACrU,SAAS,EACP,2iBAA2iB;IAC7iB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAClD,gFAAgF;IAChF,oFAAoF;IACpF,wBAAwB;IACxB,kBAAkB,EAAE,8BAA8B;IAClD,mFAAmF;IACnF,mFAAmF;IACnF,0BAA0B;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,qBAAqB,EAAE;QACrB,sCAAsC;QACtC,wCAAwC;QACxC,+BAA+B;KAChC;IACD,UAAU,EAAE;QACV,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;KAC1B;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,CAAC;IACrE,OAAO,EAAE,kBAAkB;IAC3B,iBAAiB,EAAE,uBAAuB;IAC1C,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,iBAAiB;IAC/B,qFAAqF;IACrF,kFAAkF;IAClF,8EAA8E;IAC9E,cAAc,EAAE,mCAAmC;CACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"nico.js","sourceRoot":"","sources":["../../src/agents/nico.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,gBAAgB,IAAI,sCAAsC,EAAE,MAAM,4DAA4D,CAAC;AACxI,OAAO,EAAE,kBAAkB,IAAI,wCAAwC,EAAE,MAAM,8DAA8D,CAAC;AAC9I,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAClH,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,aAAa,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC1G,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,IAAI,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAEtI,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,wFAAwF;AACxF,uFAAuF;AACvF,sFAAsF;AACtF,mFAAmF;AACnF,wFAAwF;AACxF,+CAA+C;AAC/C,EAAE;AACF,mFAAmF;AACnF,uFAAuF;AACvF,sFAAsF;AACtF,6EAA6E;AAC7E,EAAE;AACF,wFAAwF;AACxF,oFAAoF;AACpF,qFAAqF;AACrF,wCAAwC;AAExC,MAAM,CAAC,MAAM,IAAI,GAAU,KAAK,CAAC,aAAa,EAAE;IAC9C,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,mUAAmU;IACrU,SAAS,EACP,2iBAA2iB;IAC7iB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAClD,gFAAgF;IAChF,oFAAoF;IACpF,wBAAwB;IACxB,kBAAkB,EAAE,8BAA8B;IAClD,mFAAmF;IACnF,mFAAmF;IACnF,0BAA0B;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,qBAAqB,EAAE;QACrB,sCAAsC;QACtC,wCAAwC;QACxC,+BAA+B;KAChC;IACD,UAAU,EAAE;QACV,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;KAC1B;IACD,OAAO,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;IACpD,OAAO,EAAE,kBAAkB;IAC3B,iBAAiB,EAAE,uBAAuB;IAC1C,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,iBAAiB;IAC/B,qFAAqF;IACrF,kFAAkF;IAClF,8EAA8E;IAC9E,cAAc,EAAE,mCAAmC;CACpD,CAAC,CAAC"}
@@ -1,2 +1,6 @@
1
- export const fileOps = `file-ops ⟨filesystem vcs⟩`;
1
+ // The `vcs` factor carries what a commit IS, because nothing else an agent reads does:
2
+ // measured 2026-09-25 (docs/commit-gated-on-acceptance-hypothesis.md), a dispatcher with
3
+ // no commit rule in reach withheld every lane's commit until green in 18 of 18 dispatches,
4
+ // and one reading this durability definition let every lane commit in 6 of 6.
5
+ export const fileOps = `file-ops ⟨filesystem · vcs⟩ · commit ≜ durability ¬ acceptance ⟨acceptance ≜ unit state-move · ¬ gates commit⟩ · commit ∀ coherent-step ⟨isolated-branch ∨ worktree ⇒ red admitted ∧ NAMED ↦ message · main ⇒ green⟩ · commit ↾ own-paths ⟨pathspec · formatter(own-paths) ≺ commit⟩ · ∄ dispatch withholding commit(writer)`;
2
6
  //# sourceMappingURL=file-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../../src/dimensions/actions/file-ops.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAY,2BAA2B,CAAC"}
1
+ {"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../../src/dimensions/actions/file-ops.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,yFAAyF;AACzF,2FAA2F;AAC3F,8EAA8E;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAY,8TAA8T,CAAC"}
@@ -4,7 +4,8 @@
4
4
  // phase-STATE, not a static value: the `⟨resting · phase-state⟩` residue declares
5
5
  // this as the RESTING / initial position (a session opens in orientation, intent
6
6
  // the operator's to set) while marking that the live position shifts —
7
- // `carry-on` elevates it to out-of-the-loop, held until the bound plan
8
- // completes or an unresolvable fork re-enters on-the-loop. See skills/carry-on.
7
+ // `carry-on` elevates it to out-of-the-loop, held until its context is
8
+ // satisfied, the operator redirects, or an unresolvable fork re-enters
9
+ // on-the-loop. See skills/carry-on.
9
10
  export const humanOnTheLoop = `human-on-the-loop ⟨resting · phase-state⟩`;
10
11
  //# sourceMappingURL=human-on-the-loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"human-on-the-loop.js","sourceRoot":"","sources":["../../../src/dimensions/autonomy/human-on-the-loop.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uEAAuE;AACvE,uEAAuE;AACvE,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAa,2CAA2C,CAAC"}
1
+ {"version":3,"file":"human-on-the-loop.js","sourceRoot":"","sources":["../../../src/dimensions/autonomy/human-on-the-loop.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAa,2CAA2C,CAAC"}
@@ -178,7 +178,7 @@ export type ReasoningStrategy = Value<'reasoning-strategy'>;
178
178
  export type Satisficing = Value<'satisficing'>;
179
179
  export type OutputFormat = Value<'output-format'>;
180
180
  export type SelfEvaluation = Value<'self-evaluation'>;
181
- export declare const RUNTIME_CAPABILITIES: readonly ["memory", "eventTap", "carryOn", "heartbeat"];
181
+ export declare const RUNTIME_CAPABILITIES: readonly ["eventTap", "design", "plan", "note"];
182
182
  /** A runtime capability this corpus ships a face for. */
183
183
  export type RuntimeCapability = (typeof RUNTIME_CAPABILITIES)[number];
184
184
  /** This corpus's `Skill`: schema's shape, narrowed to the capabilities above. */
package/dist/manifest.js CHANGED
@@ -123,10 +123,10 @@ export const DIMENSION_NAMES = Object.keys(MANIFEST);
123
123
  // agent-design axis, which is a different concept. Bare `Capability` beside it
124
124
  // would be one root over two concepts.
125
125
  export const RUNTIME_CAPABILITIES = [
126
- 'memory',
127
126
  'eventTap',
128
- 'carryOn',
129
- 'heartbeat',
127
+ 'design',
128
+ 'plan',
129
+ 'note',
130
130
  ];
131
131
  // ── The lifecycle-event vocabulary ──────────────────────────────────────────
132
132
  //
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { fileOps as fileOps_actions } from '../dimensions/actions/file-ops.js';
1
2
  import { convergence as convergence_audienceAdaptation } from '../dimensions/audience-adaptation/convergence.js';
2
3
  import { principalSelf } from '../dimensions/autonomy/decision-authority.js';
3
4
  import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
@@ -47,8 +48,8 @@ export const architectRole = {
47
48
  sign: architect_role,
48
49
  // `design` holds the lattice, `deliver` closes the loop on what comes back. Declared
49
50
  // rather than described — omp injects them before a dispatched subagent's first
50
- // prompt and the generic launcher names them as required reading for a main session,
51
- // so a holder is the same agent either way it is reached.
51
+ // prompt and the generic launcher inlines their bodies for a main session, so a
52
+ // holder is the same agent either way it is reached.
52
53
  skills: ['design', 'deliver'],
53
54
  vector: {
54
55
  formality: plain_formality,
@@ -87,6 +88,9 @@ export const architectRole = {
87
88
  systemDesign_capabilities,
88
89
  researchInvestigation_capabilities,
89
90
  ],
91
+ // `file-ops`: this position writes C and dispatches every writer below it, so it is
92
+ // where a lane's commit would be withheld; the `vcs` factor forbids that.
93
+ actions: [fileOps_actions],
90
94
  learning: correctionConsolidation_learning,
91
95
  situationAwareness: projection_situationAwareness,
92
96
  framing: systemsThinking_framing,
@@ -1 +1 @@
1
- {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/roles/architect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"architect.js","sourceRoot":"","sources":["../../src/roles/architect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AACnI,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,GAAG,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,eAAe,IAAI,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,UAAU,IAAI,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACrH,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAClH,OAAO,EAAE,IAAI,IAAI,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EAAE,oBAAoB,IAAI,0CAA0C,EAAE,MAAM,gEAAgE,CAAC;AACpJ,OAAO,EAAE,UAAU,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,cAAc,IAAI,oCAAoC,EAAE,MAAM,0DAA0D,CAAC;AAClI,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACjI,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,YAAY,IAAI,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,uBAAuB,IAAI,sCAAsC,EAAE,MAAM,4DAA4D,CAAC;AAC/I,OAAO,EAAE,UAAU,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAC9G,OAAO,EAAE,iBAAiB,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAGvH,2FAA2F;AAC3F,qFAAqF;AACrF,sFAAsF;AACtF,sFAAsF;AACtF,sDAAsD;AACtD,EAAE;AACF,mEAAmE;AACnE,mFAAmF;AACnF,wFAAwF;AACxF,wFAAwF;AACxF,gEAAgE;AAChE,EAAE;AACF,gFAAgF;AAChF,wFAAwF;AACxF,sFAAsF;AACtF,2EAA2E;AAC3E,iFAAiF;AACjF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,IAAI,EAAE,cAAc;IACpB,qFAAqF;IACrF,gFAAgF;IAChF,gFAAgF;IAChF,qDAAqD;IACrD,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,MAAM,EAAE;QACN,SAAS,EAAE,eAAe;QAC1B,kFAAkF;QAClF,+EAA+E;QAC/E,yEAAyE;QACzE,kBAAkB,EAAE,8BAA8B;QAClD,YAAY,EAAE,8BAA8B;QAC5C,QAAQ,EAAE;YACR,aAAa;YACb,uBAAuB;YACvB,cAAc;YACd,gBAAgB;SACjB;QACD,oFAAoF;QACpF,6EAA6E;QAC7E,+EAA+E;QAC/E,oCAAoC;QACpC,SAAS,EAAE,kBAAkB;QAC7B,qBAAqB,EAAE;YACrB,+BAA+B;YAC/B,+BAA+B;YAC/B,qCAAqC;YACrC,2EAA2E;YAC3E,iFAAiF;YACjF,uDAAuD;YACvD,0CAA0C;YAC1C,oCAAoC;YACpC,gCAAgC;YAChC,gCAAgC;YAChC,yBAAyB;YACzB,0BAA0B;SAC3B;QACD,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,YAAY,EAAE;YACZ,yBAAyB;YACzB,kCAAkC;SACnC;QACD,oFAAoF;QACpF,0EAA0E;QAC1E,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,QAAQ,EAAE,gCAAgC;QAC1C,kBAAkB,EAAE,6BAA6B;QACjD,OAAO,EAAE,uBAAuB;QAChC,iBAAiB,EAAE,8BAA8B;QACjD,WAAW,EAAE,oBAAoB;QACjC,+EAA+E;QAC/E,+EAA+E;QAC/E,0CAA0C;QAC1C,cAAc,EAAE,sCAAsC;KACvD;CACF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { fileOps as fileOps_actions } from '../dimensions/actions/file-ops.js';
1
2
  import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
2
3
  import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
3
4
  import { missionCommand } from '../dimensions/autonomy/mission-command.js';
@@ -44,6 +45,7 @@ export const implementerRole = {
44
45
  softwareEngineering_capabilities,
45
46
  verificationTesting_capabilities,
46
47
  ],
48
+ actions: [fileOps_actions],
47
49
  learning: correctionConsolidation_learning,
48
50
  situationAwareness: perception_situationAwareness,
49
51
  framing: correctnessOriented_framing,
@@ -1 +1 @@
1
- {"version":3,"file":"implementer.js","sourceRoot":"","sources":["../../src/roles/implementer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC7H,OAAO,EAAE,mBAAmB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC7H,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,GAAG,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,eAAe,IAAI,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,UAAU,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACjI,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,IAAI,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AACtI,OAAO,EAAE,UAAU,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAC9G,OAAO,EAAE,oBAAoB,IAAI,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AAGhI,sFAAsF;AACtF,wFAAwF;AACxF,sFAAsF;AACtF,0CAA0C;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE;QACN,SAAS,EAAE,eAAe;QAC1B,kBAAkB,EAAE,8BAA8B;QAClD,iFAAiF;QACjF,8EAA8E;QAC9E,gEAAgE;QAChE,YAAY,EAAE,iCAAiC;QAC/C,QAAQ,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAC5C,SAAS,EAAE,qBAAqB;QAChC,qBAAqB,EAAE;YACrB,+BAA+B;YAC/B,qCAAqC;YACrC,gCAAgC;YAChC,yBAAyB;SAC1B;QACD,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,YAAY,EAAE;YACZ,gCAAgC;YAChC,gCAAgC;SACjC;QACD,QAAQ,EAAE,gCAAgC;QAC1C,kBAAkB,EAAE,6BAA6B;QACjD,OAAO,EAAE,2BAA2B;QACpC,iBAAiB,EAAE,uBAAuB;QAC1C,0EAA0E;QAC1E,6EAA6E;QAC7E,6CAA6C;QAC7C,WAAW,EAAE,qBAAqB;QAClC,mFAAmF;QACnF,8EAA8E;QAC9E,cAAc,EAAE,mCAAmC;KACpD;CACF,CAAC"}
1
+ {"version":3,"file":"implementer.js","sourceRoot":"","sources":["../../src/roles/implementer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC7H,OAAO,EAAE,mBAAmB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC7H,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,GAAG,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,eAAe,IAAI,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,UAAU,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACjI,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,KAAK,IAAI,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,EAAE,oBAAoB,IAAI,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AACtI,OAAO,EAAE,UAAU,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAC9G,OAAO,EAAE,oBAAoB,IAAI,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AAGhI,sFAAsF;AACtF,wFAAwF;AACxF,sFAAsF;AACtF,0CAA0C;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE;QACN,SAAS,EAAE,eAAe;QAC1B,kBAAkB,EAAE,8BAA8B;QAClD,iFAAiF;QACjF,8EAA8E;QAC9E,gEAAgE;QAChE,YAAY,EAAE,iCAAiC;QAC/C,QAAQ,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAC5C,SAAS,EAAE,qBAAqB;QAChC,qBAAqB,EAAE;YACrB,+BAA+B;YAC/B,qCAAqC;YACrC,gCAAgC;YAChC,yBAAyB;SAC1B;QACD,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,YAAY,EAAE;YACZ,gCAAgC;YAChC,gCAAgC;SACjC;QACD,OAAO,EAAE,CAAC,eAAe,CAAC;QAC1B,QAAQ,EAAE,gCAAgC;QAC1C,kBAAkB,EAAE,6BAA6B;QACjD,OAAO,EAAE,2BAA2B;QACpC,iBAAiB,EAAE,uBAAuB;QAC1C,0EAA0E;QAC1E,6EAA6E;QAC7E,6CAA6C;QAC7C,WAAW,EAAE,qBAAqB;QAClC,mFAAmF;QACnF,8EAA8E;QAC9E,cAAc,EAAE,mCAAmC;KACpD;CACF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { fileOps as fileOps_actions } from '../dimensions/actions/file-ops.js';
1
2
  import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
2
3
  import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
3
4
  import { missionCommand } from '../dimensions/autonomy/mission-command.js';
@@ -28,9 +29,10 @@ import { provenanceAttribution as provenanceAttribution_transparency } from '../
28
29
  // designs nor builds. What it owns is the census and the cut-into-units.
29
30
  export const plannerRole = {
30
31
  sign: planner_role,
31
- // One skill, and only one. `design` and `deliver` belong to the rung ABOVE, which
32
- // draws the boundary this rung plans inside; the rung BELOW declares none at all,
33
- // because an implementer's decisions are made for it by its spec.
32
+ // The role declares one skill, `plan`, and is given plan's composition with it
33
+ // (`design`, `note`), so it reads the boundary it plans inside. `deliver` belongs
34
+ // to the rung ABOVE, which draws that boundary; the rung BELOW declares none at
35
+ // all, because an implementer's decisions are made for it by its spec.
34
36
  skills: ['plan'],
35
37
  vector: {
36
38
  formality: plain_formality,
@@ -64,6 +66,7 @@ export const plannerRole = {
64
66
  framing: decompositional_framing,
65
67
  reasoningStrategy: planAndSolve_reasoningStrategy,
66
68
  satisficing: optimize_satisficing,
69
+ actions: [fileOps_actions],
67
70
  selfEvaluation: acceptanceCriteriaCheck_selfEvaluation,
68
71
  },
69
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/roles/planner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,qBAAqB,IAAI,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AACnI,OAAO,EAAE,qBAAqB,IAAI,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AACnI,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACjH,OAAO,EAAE,GAAG,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,eAAe,IAAI,qCAAqC,EAAE,MAAM,0DAA0D,CAAC;AACpI,OAAO,EAAE,SAAS,IAAI,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAClH,OAAO,EAAE,IAAI,IAAI,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EAAE,UAAU,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACjI,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,YAAY,IAAI,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AACpH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,QAAQ,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,uBAAuB,IAAI,sCAAsC,EAAE,MAAM,4DAA4D,CAAC;AAC/I,OAAO,EAAE,aAAa,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACvH,OAAO,EAAE,qBAAqB,IAAI,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AAGnI,uFAAuF;AACvF,kFAAkF;AAClF,yDAAyD;AACzD,EAAE;AACF,qFAAqF;AACrF,yEAAyE;AAEzE,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,EAAE,YAAY;IAClB,kFAAkF;IAClF,kFAAkF;IAClF,kEAAkE;IAClE,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,SAAS,EAAE,eAAe;QAC1B,kBAAkB,EAAE,8BAA8B;QAClD,mFAAmF;QACnF,8EAA8E;QAC9E,kFAAkF;QAClF,YAAY;QACZ,YAAY,EAAE,kCAAkC;QAChD,QAAQ,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAC5C,mFAAmF;QACnF,mEAAmE;QACnE,SAAS,EAAE,sBAAsB;QACjC,qBAAqB,EAAE;YACrB,+BAA+B;YAC/B,+BAA+B;YAC/B,qCAAqC;YACrC,gCAAgC;YAChC,yBAAyB;YACzB,0BAA0B;SAC3B;QACD,UAAU,EAAE,CAAC,kBAAkB,CAAC;QAChC,YAAY,EAAE;YACZ,kCAAkC;YAClC,kCAAkC;SACnC;QACD,QAAQ,EAAE,gCAAgC;QAC1C,kFAAkF;QAClF,sEAAsE;QACtE,kBAAkB,EAAE,gCAAgC;QACpD,OAAO,EAAE,uBAAuB;QAChC,iBAAiB,EAAE,8BAA8B;QACjD,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,sCAAsC;KACvD;CACF,CAAC"}
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/roles/planner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { design } from '../design/skill.js';
2
+ import { note } from '../note/skill.js';
2
3
  import { plan } from '../plan/skill.js';
3
4
  // WHERE THE TRUST DEFECT IS CLOSED. Acceptance keyed to a unit's own criteria is a
4
5
  // closed loop: the author writes the unit, writes its criteria, and checks the return
@@ -36,7 +37,7 @@ import { plan } from '../plan/skill.js';
36
37
  // the loop where reading substrate is the work rather than a descent, and what reaches
37
38
  // the principal is in the only vocabulary the principal can check without descending.
38
39
  const FORMAL_BLOCK = `C @ design
39
- c ≜ a concept ⟨c ∈ C⟩
40
+ c @ design
40
41
  anchor @ design
41
42
  gloss @ design
42
43
  factors @ design
@@ -44,17 +45,21 @@ denotes @ design
44
45
  amend @ design
45
46
  yield ≜ what execution established ∧ ¬ derivable from C
46
47
  P @ plan
47
- unit ≜ a unit of work
48
+ unit @ plan
48
49
  wave @ plan
49
50
  frontier @ plan
50
51
  realizes @ plan
52
+ advance, bind, close, bound, ready @ plan
53
+ show ⟨C⟩ @ design
54
+ show ⟨P ∧ unit⟩ @ plan
51
55
  accept @ plan ⟨the MECHANICAL half⟩
52
56
  outputs @ plan
53
57
  artifact : P → ℘(path) ⟨what landed · the EVIDENCE⟩
54
58
  r ≜ an executor's return
55
59
  conform @ signify
56
60
  executor : P ⇀ agent
57
- self ≜ the principal ⟨the design-holder⟩
61
+ self @ design
62
+ capture @ note
58
63
  spells : path × anchor → 𝔹 ⟨identifiers · path · public surface bear the sign⟩
59
64
  covers : path × ℘(C) → 𝔹 ⟨observable behaviour ≅ the factorization · nothing missing
60
65
  ∧ nothing extra⟩
@@ -68,11 +73,9 @@ unachieved : unit → ℘(⟨c, uncovered-factor, locus⟩) ⟨what crosses UPWA
68
73
  defect ≜ ⟨symptom, locus, provenance⟩
69
74
  impedes : defect × P → 𝔹
70
75
  cost : act → effort
71
- bound : P → 𝔹 ⟨plan-level commitment · persists across sessions⟩
76
+ file(d) ≜ capture(d) ⟨its topic names the unit as \`u of plan p\` · beside the path ∴ it blocks nothing⟩
72
77
  electable ≜ { P | ¬terminal(P) ∧ ¬occupied(P) }
73
78
  terminal : P → 𝔹
74
- commit @ design
75
- accepts @ design
76
79
 
77
80
  ∀ unit, r : ¬conform(r) ⇒ ¬accept(unit)(r)
78
81
  achieved(unit) ⇔ realizes(unit) ∈ assay(artifact(unit))
@@ -97,8 +100,8 @@ validate ⊨ self ⟨¬ delegable · the executor cannot judge its own conforman
97
100
  holds the spec ∧ ¬ the design⟩
98
101
  verify ⊥ validate ⟨two checks, two witnesses · neither substitutes ; an executor's
99
102
  green suite proves the EXECUTOR's own assertion ∧ nothing about the design⟩
100
- judge(unit) ≜ verify(unit, r) ∧ validate(unit) ⇒ advance(unit) ; ¬ ⇒ r rejected back to
101
- executor(unit) ∧ state(unit) stays active
103
+ judge(unit) ≜ verify(unit, r) ∧ validate(unit) ⇒ advance(unit) ⟨the acceptance⟩ ; ¬ ⇒ r rejected
104
+ back to executor(unit) ∧ ¬advance(unit)
102
105
  ⟨r lands VERBATIM ≺ any verdict on it · the loss mode is read-reason-discard,
103
106
  and it takes everything when a run dies mid-judgement⟩
104
107
  ⟨fan-in is as order-sensitive as fan-out : ∀ unit dispatched, confirm executor(unit)
@@ -111,26 +114,25 @@ cost(validate) < cost(rebuild) ⟨else the gradient points at skipping · the ch
111
114
  place it will ever be visible⟩
112
115
  ¬covers ∧ extra ⇒ a second concept smuggled in unnamed ⇒ amend(C) ∨ REFUSE
113
116
  ¬sole ⇒ duplication ⟨the observable signature of a vision that fragmented⟩
114
- dispatch(P) ≜ ∀ unit ∈ frontier(P) ⟨state(unit) = ready⟩ concurrently ⟨state(unit) := active ∧
117
+ dispatch(P) ≜ ∀ unit ∈ frontier(P) ⟨ready(unit)⟩ concurrently ⟨advance(unit) ∧
115
118
  executor(unit) runs spec(unit)⟩ ; pre bound(P) ∧ ⊨ disjoint-outputs
116
- yield ≠ ∅ ⇒ amend(C) @ design ⟨LIVE, ¬ at retirement⟩
117
- ∀ k : amends(k, c) ⇒ ¬accepts(k) ⟨the amendment and the acceptance motivating it are
118
- two commits · fused, the agent adjusts the concept its artifact failed ∧ declares
119
- success ⟨evidence MANUFACTURED⟩⟩
119
+ ∀ c : ∄ unit ⟨realizes(unit) = anchor(c)⟩ ⇒ SURFACE ⟨a concept nothing builds is design agreed ∧
120
+ unbuilt · the reverse orphan is plan's⟩
120
121
  impedes(d, unit) ⇔ d standing ⇒ ∄ r : accept(unit)(r)
121
122
  impedes(d, unit) ⇒ fix(d) ⟨a regression in the path is repaired, ¬ surfaced⟩
122
123
  ¬impedes(d, unit) ⇒ file(d) ∧ ¬fix(d) ⟨a defect BESIDE the path is filed, ¬ chased⟩
123
124
  cost(file) < cost(fix) ⟨else the gradient points at chasing · the load-bearing law⟩
124
- ∃ P : ¬terminal(P) ⇒ ∃! P : bound(P) ⟨WIP = 1 · finish before starting⟩
125
+ ∃ P : ¬terminal(P) ⇒ ∃ P : bound(P) ⟨WIP = 1, held by bind : it returns the plan bound before ·
126
+ finish before starting⟩
125
127
  elect ≜ in-flight ≻ gating ≻ operator-intent ⟨lexicographic⟩
126
- terminal(P) ⇒ retire(P) ⟨obligation ¬ permission · an unretired terminal plan is WIP
127
- that is not work⟩ ; C persists ⟨plans come ∧ go ABOVE the design⟩
128
+ terminal(P) ⇒ close(P) ⟨obligation ¬ permission · an unclosed terminal plan is WIP
129
+ that is not work · a closed plan stays readable⟩ ; C persists ⟨plans come ∧ go ABOVE the design⟩
128
130
  deliver ≜ bind → dispatch(wave) → verify ⟨executor⟩ → assay ⟨assayer, on artifact⟩ →
129
- validate ⟨self, on the assay⟩ → judge → amend(C) ⇔ yield → advance → retire`;
131
+ validate ⟨self, on the assay⟩ → judge → amend(C) ⇔ yield → advance → close`;
130
132
  export const deliver = {
131
133
  name: 'deliver',
132
134
  description: `use this skill to execute a plan and ACCEPT its results — dispatch a wave of units to executors, then validate each landed artifact against the design rather than against the executor's report, and integrate. Reach for it whenever delegated work comes back. Validation is three cheap questions — does the artifact spell its concept's name, does its behaviour cover that concept's factorization exactly, and does anything else already realize it — read off the files themselves, never off a summary. It also carries the conduct of the work: one plan bound at a time, finish before starting, repair what blocks the path and merely file what sits beside it.`,
133
135
  formalBlock: FORMAL_BLOCK,
134
- composition: () => [design, plan],
136
+ composition: () => [design, plan, note],
135
137
  };
136
138
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/deliver/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,mFAAmF;AACnF,sFAAsF;AACtF,uFAAuF;AACvF,qFAAqF;AACrF,iFAAiF;AACjF,sFAAsF;AACtF,mFAAmF;AACnF,EAAE;AACF,sFAAsF;AACtF,oFAAoF;AACpF,kEAAkE;AAClE,EAAE;AACF,qFAAqF;AACrF,qFAAqF;AACrF,wFAAwF;AACxF,2EAA2E;AAC3E,EAAE;AACF,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,uFAAuF;AACvF,qFAAqF;AACrF,uFAAuF;AACvF,wFAAwF;AACxF,kFAAkF;AAClF,uFAAuF;AACvF,mCAAmC;AACnC,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,qFAAqF;AACrF,uFAAuF;AACvF,uFAAuF;AACvF,uFAAuF;AACvF,sFAAsF;AAEtF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gFA2F8E,CAAC;AAEpG,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,gpBAAgpB;IAC7pB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/deliver/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,mFAAmF;AACnF,sFAAsF;AACtF,uFAAuF;AACvF,qFAAqF;AACrF,iFAAiF;AACjF,sFAAsF;AACtF,mFAAmF;AACnF,EAAE;AACF,sFAAsF;AACtF,oFAAoF;AACpF,kEAAkE;AAClE,EAAE;AACF,qFAAqF;AACrF,qFAAqF;AACrF,wFAAwF;AACxF,2EAA2E;AAC3E,EAAE;AACF,wFAAwF;AACxF,yFAAyF;AACzF,yFAAyF;AACzF,uFAAuF;AACvF,qFAAqF;AACrF,uFAAuF;AACvF,wFAAwF;AACxF,kFAAkF;AAClF,uFAAuF;AACvF,mCAAmC;AACnC,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,qFAAqF;AACrF,uFAAuF;AACvF,uFAAuF;AACvF,uFAAuF;AACvF,sFAAsF;AAEtF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EA4F6E,CAAC;AAEnG,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,gpBAAgpB;IAC7pB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;CACxC,CAAC"}
@@ -1,5 +1,5 @@
1
- // THE DURATIVE HALF. `plan` and `deliver` are per-effort and disposable; this cell
2
- // is the one that persists, and that asymmetry is the whole point of the trio.
1
+ // THE DURATIVE HALF. `plan` and `deliver` are per-effort; this cell is the one that
2
+ // persists across every effort, and that asymmetry is the whole point of the trio.
3
3
  //
4
4
  // It exists because the corpus could DO long-horizon work and could only THINK in
5
5
  // single sittings: every conceptual cell (conceptualize · signify · materialize ·
@@ -16,7 +16,7 @@
16
16
  // operation rather than a re-reading of the claim. That statement is this lattice.
17
17
  const FORMAL_BLOCK = `anchor ≜ a concept's canonical sign @ signify
18
18
  gloss ≜ what a concept IS ⟨one line · reconstruction-grade⟩
19
- C ≜ the concept lattice ⟨the project's durative record⟩
19
+ C ≜ the concept lattice ⟨the project's durative model⟩
20
20
  c ≜ a concept ⟨c ∈ C⟩
21
21
  concept ≜ ⟨ anchor(c) , gloss(c) , factors(c) ⟩
22
22
  factors : C → ℘(C) ⟨what c decomposes into⟩
@@ -28,52 +28,59 @@ denotes : anchor ⇀ C
28
28
  conform @ signify
29
29
  Piece ≜ a cut piece ⟨what a planner is handed⟩
30
30
  cut : C → ℘(℘(C))
31
- digest : ℘(C) → hash ⟨content address of a piece⟩
32
- pin : Piece ⇀ hash ⟨the digest a piece was DERIVED from · carried with it⟩
33
- Phase ≜ { live, superseded }
34
- phase : C → Phase
35
- supersededBy : C ⇀ C
36
- commit ≜ a VCS commit ⟨the append-only carrier · attribution ∧ order⟩
37
- amends : commit × C → 𝔹
38
- accepts : commit → 𝔹 ⟨the commit carries an acceptance @ deliver⟩
39
- realizes : unit ⇀ anchor @ plan
31
+ history(c) ≜ every version ∧ retraction of c, in order ⟨resident · ¬ deleted⟩
32
+ settled(c) ⇔ c has exactly one current version
33
+ live(c) ⇔ settled(c) ∧ that version ¬ a retraction
34
+ withdrawn(c) ⇔ settled(c) ∧ c retracted
35
+ diverged(c) ⇔ ¬settled(c) ⟨concurrent sessions wrote c differently ∧ merged · state, ¬ error⟩
36
+ incoherent(C) ⇔ a law below broken across concepts by a merge ∧ kept on each branch
40
37
  yield ≜ what execution established ∧ ¬ derivable from C @ deliver
41
- self ≜ the principal ⟨the design-holder · ¬ delegable⟩
38
+ self ≜ the principal ⟨the architect · the design-holder · ¬ delegable⟩
42
39
  author : C ⇀ self
40
+ show(C) ≜ \`scripts/design.mjs show [<concept>]\` ↦ C root to primitive ∨ one c in full
41
+ define(c) ≜ \`scripts/design.mjs define <anchor> --gloss <g> [--factors <anchor>]…\`
42
+ supersede(c) ≜ \`scripts/design.mjs amend <concept> [--anchor <a>] [--gloss <g>] [--factors <anchor>]…\` ⟨a new version of the SAME c · amending a withdrawn c reinstates it⟩
43
+ retract(c) ≜ \`scripts/design.mjs retract <concept>\` ⟨c withdrawn · no successor version⟩
44
+ reconcile(c) ≜ \`scripts/design.mjs reconcile <concept> [--anchor <a>] [--gloss <g>] [--factors <anchor>]…\` ⟨one version superseding every current version of c⟩
45
+ trace(c) ≜ \`scripts/design.mjs trace <concept>\` ↦ ⟨history(c), closure(c), blast(c)⟩ ⟨how c came to be · what it stands on · what stands on it⟩
43
46
 
44
- ∀ c : ∃! anchor(c) ∧ ∀ a ∈ dom(denotes) : ∃! denotes(a) ⟨one name ⇔ one concept⟩
47
+ ∀ define ∨ supersede ∨ retract ∨ reconcile : \`--author <who> --reason <why> --cause <what caused it>\` ⟨a set-valued flag repeats, one member each⟩
48
+ ∀ c : ∃! anchor(c) ∧ ∀ a ∈ dom(denotes) : ∃! denotes(a) ⟨one live concept per anchor⟩
49
+ withdrawn(c) ⇒ anchor(c) held until supersede(c) reinstates it
45
50
  ∀ c : conform(anchor(c)) ∧ gloss(c) ≠ ∅
46
- ∀ c : closure(c) finite ⟨factors acyclic ∴ a lattice, ¬ a graph⟩
51
+ ∀ c : closure(c) finite ⟨factors acyclic ∴ a lattice, ¬ a graph⟩ ∧ ∀ f ∈ factors(c) : live(f)
52
+ ∃ d : live(d) ∧ c ∈ factors(d) ⇒ ¬ retract(c) ⟨what live concepts factor on cannot be withdrawn⟩
47
53
  amend(C) ≜ supersede ⟨∄ overwrite ; a live c is NEVER edited in place⟩
48
54
  ⟨the protection is ¬ a rule about honesty : an editable lattice lets the agent
49
55
  adjust the concept its artifact failed, ∴ acceptance-against-C goes CIRCULAR
50
56
  with one extra step ∧ the loop manufactures its own evidence⟩
51
- supersede(c, c') ⇒ phase(c) := superseded ∧ supersededBy(c) = c' ∧ c ∈ C
52
- ⟨residence, ¬ deletion : a reader of the CURRENT state sees the history without
53
- a VCS query ∴ the lattice is self-describing⟩
54
- ∀ k : amends(k, c) ⇒ ¬ accepts(k) ⟨THE separation · an amendment and an acceptance
55
- it bears on are two acts ; fused, the second witness collapses into the first⟩
56
- ∀ k : amends(k, c) ⇒ reason(k) ≠ ∅ ⟨attribution ∧ order are what make retroactive
57
- justification DETECTABLE : the amendment postdates the artifact it excuses⟩
57
+ supersede(c) ⇒ the prior version stays in history(c) ⟨residence, ¬ deletion : trace(c) reads
58
+ the history without a VCS query ∴ the lattice is self-describing⟩
59
+ c becomes another concept ⇒ retract(c) ∧ define(c') ⟨¬ supersede : a new version is the SAME concept⟩
60
+ ∀ define ∨ supersede ∨ retract ∨ reconcile : reason ≠ ∅ ⟨attribution ∧ order are what make
61
+ retroactive justification DETECTABLE : the amendment postdates the artifact it excuses⟩
62
+ reconcile ⊨ amend(C) ∧ ¬ an acceptance ⟨THE separation · a reconciliation never shares a write
63
+ with an acceptance it bears on ; fused, the second witness collapses into the first⟩
64
+ diverged(c) ⇒ reconcile(c) ⟨an ordinary write on c refuses⟩
65
+ incoherent(C) ⇒ repaired by ordinary writes, one at a time
66
+ reconcile ⊨ self ⟨reconciliation of the design is the architect's alone⟩
67
+ planner ∨ implementer ∨ assayer ⊨ diverged ∨ incoherent ⇒ report ∧ ¬ resolve
58
68
  blast(c) ≜ { d ∈ C | c ∈ closure(d) } ⟨DERIVED, ¬ guessed · what the normal form buys⟩
59
69
  churn(primitive) high ⇒ conceptualization wrong ⟨primitives near-stable · composites move⟩
60
70
  ⋃ cut(C) = C ∧ ∀ s₁, s₂ ∈ cut(C) : s₁ ≠ s₂ ⇒ s₁ ∩ s₂ = ∅
61
71
  ∀ s ∈ cut(C) : ∀ c ∈ s : closure(c) ⊆ s ⟨a piece is CLOSED ∴ plannable alone⟩
62
72
  cut ⊨ self ⟨the ASSIGNMENT of concepts to pieces is the design-holder's ; a planner
63
73
  receiving a piece may ¬ redraw it · a boundary it cannot plan is SURFACED⟩
64
- ∀ s ∈ cut(C) : pin(s) = digest(s) ⟨a piece carries the digest it was derived from ∴
65
- an amendment mid-flight surfaces as DRIFT, ¬ executes silently⟩
66
74
  yield ≠ ∅ ⇒ amend(C) ⟨intake at INCEPTION ∧ live, never at retirement : an obligation
67
75
  standing between an agent and closing its work always loses · measured 0 of 25⟩
68
- ∀ c : ∄ unit ⟨realizes(unit) = anchor(c)⟩ ⇒ SURFACE ⟨a concept nothing builds is design agreed ∧
69
- unbuilt · the reverse orphan is plan's⟩
70
76
  design ⊨ ¬ delegable ⟨a subagent starts blank ∧ a design authored by several
71
77
  fragments BY CONSTRUCTION⟩
72
- design ≜ conceptualize(intent) → signify(·) → materialize(·) → C ⟨bind⟩ → cut(C)`;
78
+ design ≜ conceptualize(intent) → signify(·) → materialize(·) → define(c) ∨ supersede(c) → C → cut(C)`;
73
79
  export const design = {
74
80
  name: 'design',
75
- description: `use this skill to build and hold a project's DURATIVE conceptual model — the one artifact that outlives every plan: each concept's anchor, gloss and factorization, amended only by append-only supersession, and cut into closed pieces a planner can take. Reach for it FIRST on any long-horizon effort, before any work is decomposed, and again whenever execution establishes something the model does not yet hold. It is what acceptance is judged against, so without it verification has no referent and degrades into re-reading the executor's own claim.`,
81
+ description: `use this skill to build and hold a project's DURATIVE conceptual model — the one artifact that outlives every plan: each concept's anchor, gloss and factorization, amended only by append-only supersession, and cut into closed pieces a planner can take. Its verbs show the design or one concept, define, amend, retract and reconcile a concept, and trace how one came to be, what it stands on and what stands on it. Reach for it FIRST on any long-horizon effort, before any work is decomposed, and again whenever execution establishes something the model does not yet hold. It is what acceptance is judged against, so without it verification has no referent and degrades into re-reading the executor's own claim.`,
76
82
  formalBlock: FORMAL_BLOCK,
83
+ runtime: { capability: 'design' },
77
84
  composition: () => [],
78
85
  };
79
86
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/design/skill.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,+EAA+E;AAC/E,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,qFAAqF;AACrF,mFAAmF;AACnF,oFAAoF;AACpF,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,oFAAoF;AACpF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,mFAAmF;AAEnF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAuD+E,CAAC;AAErG,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,uiBAAuiB;IACpjB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/design/skill.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,mFAAmF;AACnF,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,qFAAqF;AACrF,mFAAmF;AACnF,oFAAoF;AACpF,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,oFAAoF;AACpF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,mFAAmF;AAEnF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGA6DmG,CAAC;AAEzH,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wsBAAwsB;IACrtB,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IACjC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Skill } from '../../manifest.js';
2
+ export declare const note: Skill;
@@ -0,0 +1,56 @@
1
+ // THE NOTEBOOK'S OWN RULES, and no one else's. This cell routes the reader's notebook
2
+ // intents to the `note` capability and is the one home of the three kinds: the
3
+ // runtime carries a kind as a label it never interprets, so nothing else spells them.
4
+ //
5
+ // It rectifies an earlier ledger skill kept outside this corpus. That one addressed a
6
+ // note by a sequential number, grew a note in place by appending "derived" material
7
+ // beside a frozen definition, treated a withdrawal as one more kind, and taught its
8
+ // reader the mechanics of how the ledger was stored. Here a note is addressed by its
9
+ // title, every change is a whole new version, withdrawal is a verb, and the reader meets
10
+ // only notes. No kind is privileged to block: any live note that names a plan or unit
11
+ // owes a ruling, whatever its kind.
12
+ //
13
+ // COMPOSES NOTHING. The `runtime` capability below is the real coupling; its verbs take
14
+ // the notebook's words and nothing borrowed.
15
+ const NOTE_BLOCK = `note ≜ show → capture → revise → retract → reconcile
16
+ route ≜ \`scripts/note.mjs <verb>\` ⟨runtime-bound : every verb reaches the note capability⟩
17
+ verb ∈ { show · capture · revise · retract · reconcile }
18
+ notebook ≜ the set of notes ⟨ideas, questions ∧ decisions ¬ yet canonical⟩
19
+ n ≜ a note ⟨n ∈ notebook⟩
20
+ title(n) ≜ the note's name
21
+ kind(n) ∈ { idea · question · decision } ⟨a label the runtime never interprets⟩
22
+ topic(n) ≜ what the note is about ⟨the notebook groups by kind, then topic⟩
23
+ body(n) ≜ the note's whole statement
24
+ blocks(n) ≜ the plans ∧ units n names ⟨a plan by its name · a unit as \`u of plan p\`, bare u only where the unit's name is its own⟩
25
+ live(n) ≜ n captured ∧ ¬ retracted
26
+ versions(n) ≜ the competing versions of n a merge left standing
27
+ diverged(n) ⇔ versions(n) disagree
28
+ owed(n) ⇔ live(n) ∧ blocks(n) ≠ ∅ ⟨an owed ruling⟩
29
+ holders(t) ≜ { n | live(n) ∧ title(n) = t } ∪ { n | diverged(n) ∧ ∃ v ∈ versions(n) : title(v) = t }
30
+ incoherent(t) ⇔ |holders(t)| > 1 ⟨a merge left title t held by more than one note ; show prints each holder with its identity beside t⟩
31
+ by ≜ \`--author <who> --reason <why> --cause <what caused it>\` ⟨every write carries it⟩
32
+
33
+ show(n?) ≜ \`scripts/note.mjs show [<title>]\` ↦ owed rulings, diverged notes ∧ incoherent titles first, then the notebook by kind, then topic ∨ n in full ⟨every version of a diverged n · every holder of an incoherent title⟩
34
+ capture(n) ≜ \`scripts/note.mjs capture <title> --kind <k> --topic <t> --body <b> [--blocks <plan or unit>]… <by>\`
35
+ revise(n) ≜ \`scripts/note.mjs revise <title> [--title <new title>] [--kind <k>] [--topic <t>] [--body <b>] [--blocks <plan or unit>]… <by>\` ⟨a field left out carries over ; \`--blocks ''\` ↦ blocks(n) = ∅⟩
36
+ retract(n) ≜ \`scripts/note.mjs retract <title> <by>\`
37
+ reconcile(n) ≜ \`scripts/note.mjs reconcile <title> [--title …] [--kind …] [--topic …] [--body …] [--blocks …]… <by>\` ↦ one version over every version ⟨each field the versions disagree on is given⟩
38
+
39
+ a note's title is its name ⟨one live note per title⟩ ∴ n is addressed by title(n) as show prints it ⟨∄ matching on a fragment of its body⟩
40
+ anyone ⊨ capture ∧ revise ∧ retract ∧ reconcile
41
+ capture ⊨ ∄ admission bar ⟨the note's shape ∧ one live note per title suffice⟩
42
+ changed(n) ⇒ revise(n) ⟨¬ edited in place ; \`--title\` retitles n⟩
43
+ owed(n) ⇒ n blocks every x ∈ blocks(n) ⟨whatever its kind⟩ until retract(n) ∨ revise(n) ↦ blocks(n) = ∅
44
+ diverged(n) ⇒ n blocks ⋃ { blocks(v) | v ∈ versions(n) } until reconcile(n)
45
+ diverged(n) ⇒ reconcile(n) ≺ every other write to n
46
+ incoherent(t) ⇒ for ONE h ∈ holders(t) ⟨h named exactly as show prints it, identity included⟩ : live(h) ⇒ revise(h) with \`--title\` ∨ retract(h) · diverged(h) ⇒ reconcile(h) ; until ¬ incoherent(t)
47
+ reconcile ↾ diverged(n) ⟨one note's competing versions ; never a title merely held by more than one note⟩
48
+ verb ∉ { show · capture · revise · retract · reconcile } ⇒ ⊥ ⟨loud⟩`;
49
+ export const note = {
50
+ name: 'note',
51
+ description: `use this skill to keep the project's notebook of notes not yet canonical, whenever one surfaces in the work or to see what is still owed: show the whole notebook or one note, capture a note under its title with a kind, topic and body, revise it (retitle it too), retract it, or reconcile one a merge left in competing versions; where a merge left one title held by two notes, repair one holder, named as show prints it: retitle or retract a live one, reconcile a diverged one. Anyone may capture, with no admission bar, and any live note that names a plan or unit blocks it until it is retracted or revised to block nothing.`,
52
+ formalBlock: NOTE_BLOCK,
53
+ runtime: { capability: 'note' },
54
+ composition: () => [],
55
+ };
56
+ //# sourceMappingURL=skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/note/skill.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,+EAA+E;AAC/E,sFAAsF;AACtF,EAAE;AACF,sFAAsF;AACtF,oFAAoF;AACpF,oFAAoF;AACpF,qFAAqF;AACrF,yFAAyF;AACzF,sFAAsF;AACtF,oCAAoC;AACpC,EAAE;AACF,wFAAwF;AACxF,6CAA6C;AAE7C,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEAiCoE,CAAC;AAExF,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,knBAAknB;IAC/nB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { PLAN_STATES } from '../../plan-states.js';
2
1
  import { design } from '../design/skill.js';
2
+ import { note } from '../note/skill.js';
3
3
  // SUPERSEDES `praxis`, which carried three activities with three different ends —
4
4
  // capturing understanding, specifying work, and governing execution — and no seam
5
5
  // between them. An agent asked to switch telos three times with nothing marking the
@@ -11,22 +11,50 @@ import { design } from '../design/skill.js';
11
11
  // the plan's own lifecycle. Understanding moved to `design`; dispatch, judgement and
12
12
  // triage moved to `deliver`.
13
13
  //
14
+ // THE LIFECYCLE STATES LIVE HERE AND NOWHERE ELSE. They are meaning, so the corpus
15
+ // holds them; the `plan` capability receives them as the configuration this cell's
16
+ // runtime face carries, which deploy emits into the host runtime config, and acts on
17
+ // the roles it names (which plan state at most one plan holds, which is final, which
18
+ // unit state satisfies a dependency), never on a spelling of its own.
19
+ //
14
20
  // The laws carried forward are the ones that were PAID FOR. The output-array law and
15
21
  // its measurement survive verbatim because the defect it names — a footprint read off
16
22
  // where a sign is DEFINED while the work is bounded by where it is USED — recurred six
17
23
  // times in one plan and voids every disjointness proof above it when it recurs.
24
+ const LIFECYCLE = {
25
+ plan: {
26
+ states: ['proposed', 'bound', 'closed'],
27
+ exclusive: 'bound',
28
+ final: 'closed',
29
+ },
30
+ unit: { states: ['pending', 'active', 'completed'], satisfies: 'completed' },
31
+ };
32
+ const { plan: PLAN, unit: UNIT } = LIFECYCLE;
18
33
  const FORMAL_BLOCK = `s ≜ a cut piece ⟨closed · handed down · ¬ redrawable here⟩ @ design
34
+ c @ design
19
35
  anchor @ design
20
36
  closure @ design
21
- pin @ design
22
- digest @ design
37
+ withdrawn @ design
38
+ self @ design
23
39
  P ≜ a plan : the units cutting s into work
24
- unit ≜ a unit of work ⟨unit ∈ P⟩
25
- States ≜ { ${PLAN_STATES.join(', ')} }
26
- state : P → States
40
+ unit ≜ a unit of work ⟨unit ∈ P⟩
41
+ name(x) ≜ the label x is addressed by ⟨x a P ∨ a unit · revisable⟩
42
+ States(P) ≜ { ${PLAN.states.join(', ')} } ⟨in lifecycle order⟩
43
+ States(unit) ≜ { ${UNIT.states.join(', ')} } ⟨in lifecycle order⟩
44
+ state : P → States(P) ∧ unit → States(unit)
45
+ bound(P) ⇔ state(P) = ${PLAN.exclusive}
46
+ closed(P) ⇔ state(P) = ${PLAN.final}
47
+ satisfied(unit) ⇔ state(unit) ≽ ${UNIT.satisfies} ⟨reached completion ∨ moved past it⟩
48
+ settled(x) ⇔ x has exactly one current version ⟨x a P ∨ a unit⟩
49
+ live(x) ⇔ settled(x) ∧ that version ¬ a retraction
50
+ diverged(x) ⇔ ¬settled(x) ⟨concurrent sessions wrote x differently ∧ merged · state, ¬ error⟩
51
+ incoherent(P) ⇔ a law below broken across plans ∨ units by a merge ∧ kept on each branch
27
52
  R ⊆ P × P ⟨dependency⟩
28
53
  deps(unit) ≜ { u | (unit, u) ∈ R }
29
- realizes : P → anchor ⟨TOTAL⟩
54
+ realizes : P → ℘(anchor) ∧ unit → anchor ⟨TOTAL⟩
55
+ pin : unit → the version of denotes(realizes(unit)) the unit was authored against
56
+ drifted(unit) ⇔ pin(unit) ≠ the one current version of denotes(realizes(unit)) ⟨amended · withdrawn · split into competing versions⟩
57
+ suspect(unit) ⇔ ¬drifted(unit) ∧ ∃ c ∈ closure(denotes(realizes(unit))) : c has more than one current version ∨ withdrawn(c) ∨ c has a version newer than pin(unit)
30
58
  static : P → ℘(path)
31
59
  refs : P → ℘(path) ⟨what unit's outputs compile against⟩
32
60
  outputs : P → ℘(path)
@@ -41,19 +69,49 @@ cross(S) ≜ |R ∩ ⋃ { sᵢ × sⱼ | sᵢ, sⱼ ∈ S ∧ i ≠ j }|
41
69
  wave(0) ≜ { unit | ∄ u : (unit, u) ∈ R }
42
70
  wave(n+1) ≜ { unit | unit ∉ W(n) ∧ ∀ u : (unit, u) ∈ R ⇒ u ∈ W(n) }
43
71
  W(n) ≜ ⋃ { wave(i) | i ≤ n }
44
- frontier(P) ≜ { unit | state(unit) ∈ { ready, active } } ⟨where the plan IS · ¬ only
45
- what is dispatchable⟩
46
- blocked(unit) ⇔ ∃ u : (unit, u) ∈ R ∧ state(u) ≠ completed
47
- ruling-owed(unit) ⇔ a decision nobody has taken stands between unit and acceptance
48
- mirror : (state, R, spec) → document
72
+ owed @ note
73
+ blocked(unit) ⇔ ∃ u ∈ deps(unit) : ¬satisfied(u)
74
+ ready(unit) ⇔ bound(P) ∧ ¬blocked(unit) ∧ ∄ owed note blocking unit ∨ P ⟨computed, never stored · ready
75
+ PROMISES an executor can FINISH · conflating a dep with a ruling stalls a fan-out⟩
76
+ frontier(P) ≜ { unit | ready(unit) ∧ state(unit) = ${UNIT.states[0]} } ∪ { unit | bound(P) ∧ ${UNIT.states[0]} ≺ state(unit) ≺ ${UNIT.satisfies} } ⟨where
77
+ the plan IS · ¬ only what is dispatchable · ¬bound(P) ⇒ frontier(P) = ∅⟩
49
78
  planner ≜ the planner ⟨bounded to s⟩
50
79
  conform @ signify
80
+ show(P) ≜ \`scripts/plan.mjs show [<plan>]\` ↦ the bound P in wave order ∨ any P named, whole
81
+ show(unit) ≜ \`scripts/plan.mjs show <unit> --plan <p>\` ↦ one unit in full
82
+ add(unit) ≜ \`scripts/plan.mjs add <unit> --plan <p> --realizes <concept> --intent <i> [--static <path>]… [--deps <unit>]… [--outputs <path>]… [--accept <criterion>]… [--plan-realizes <concept>]…\` ⟨pin(unit) taken · the first add naming an absent P proposes it, realizing each --plan-realizes⟩
83
+ advance(unit) ≜ \`scripts/plan.mjs advance <unit> --plan <p> --to <state>\`
84
+ retract(unit) ≜ \`scripts/plan.mjs retract <unit> --plan <p>\`
85
+ revise(unit) ≜ \`scripts/plan.mjs revise <unit> --plan <p> [--intent <i>] [--static <path>]… [--deps <unit>]… [--outputs <path>]… [--accept <criterion>]…\` ⟨spec(unit) · pin(unit) kept⟩
86
+ revise(P) ≜ \`scripts/plan.mjs revise <plan> [--name <n>] [--realizes <concept>]…\` ⟨name(P) ∨ realizes(P)⟩
87
+ bind(P) ≜ \`scripts/plan.mjs bind <plan>\` ⟨bound(P) ∧ the P bound before returns to ${PLAN.states[0]}⟩
88
+ close(P) ≜ \`scripts/plan.mjs close <plan>\` ⟨closed(P)⟩
89
+ reconcile(x) ≜ \`scripts/plan.mjs reconcile <unit> --plan <p> [--name <n>] [--realizes <concept>] [--intent <i>] [--static <path>]… [--deps <unit>]… [--outputs <path>]… [--accept <criterion>]… [--state <state>] [--repin]\` ∨ \`scripts/plan.mjs reconcile <plan> [--name <n>] [--realizes <concept>]… [--state <state>]\` ↦ one version superseding every current version of x ⟨each field the versions disagree on is given · a unit whose versions pin differently takes --repin⟩
51
90
 
91
+ ∀ add ∨ advance ∨ retract ∨ revise ∨ bind ∨ close ∨ reconcile : \`--author <who> --reason <why> --cause <what caused it>\` ⟨a set-valued flag repeats, one member each⟩
52
92
  ∀ unit : realizes(unit) ∈ { anchor(c) | c ∈ s } ⟨TOTALITY is the gate · a unit citing no
53
93
  concept is work whose purpose cannot be stated ∴ REFUSED at authoring, ¬ warned⟩
54
94
  ∀ unit : closure(denotes(realizes(unit))) ⊆ s ⟨a unit reaching outside its piece is a
55
95
  BOUNDARY finding · SURFACE it ; the planner may ¬ redraw the cut⟩
56
- pin(s) ≠ digest(s) ⇒ REFUSE ⟨the design moved under the plan · drift, ¬ staleness⟩
96
+ ∀ unit : realizes(unit) = the concept pin(unit) names ∧ realizes(unit) ∈ realizes(P) ⟨a merge
97
+ breaking it is incoherent(P), reported like the others⟩
98
+ |{ P | bound(P) }| ≤ 1 ⟨held by bind(P), which returns the P bound before⟩
99
+ ∀ n : |{ P | live(P) ∧ name(P) = n }| ≤ 1 ∧ ∀ P : |{ unit ∈ P | live(unit) ∧ name(unit) = n }| ≤ 1
100
+ closed(P) ⇒ name(P) kept ∧ ∄ write to P ∨ any unit ∈ P ⟨closed is final · readable forever⟩
101
+ ¬closed(P) ⇒ revise(P) admitted ⟨its name ∧ its concepts, never its state⟩
102
+ state(P) moves by bind(P) ∨ close(P) alone
103
+ revise routes to revise(unit) ∨ revise(P) by the name it is given ⟨--plan puts a unit's P in view⟩
104
+ ∃ u : live(u) ∧ unit ∈ deps(u) ⇒ ¬ retract(unit)
105
+ advance(unit) ⊨ bound(P) ∧ one step forward in States(unit) ⟨a skip ∨ a step back refuses · a unit of an unbound P is authored ∧ revised, ¬ worked⟩
106
+ ∀ unit : R acyclic ∧ ∀ u ∈ deps(unit) : live(u) ∧ u ∈ P
107
+ an owed note blocking P ⇒ ¬ bind(P) ∧ ∀ unit ∈ P : ¬ready(unit)
108
+ add(unit) ⊨ ∀ c ∈ closure(denotes(realizes(unit))) : c has exactly one current version ∧ ¬withdrawn(c) ⟨a pin is taken on settled ground alone⟩
109
+ pin(unit) retaken ⇔ \`scripts/plan.mjs revise <unit> --plan <p> --repin --reason <why>\` ⟨the ONLY way · never a side effect of editing spec(unit)⟩
110
+ withdrawn(denotes(realizes(unit))) ⇒ drifted(unit) ∧ ¬ incoherent(P) ⟨a retraction in the design never breaks a plan law⟩
111
+ drifted(unit) ∨ suspect(unit) ⇒ SURFACE ⟨the design moved under the plan · drift, ¬ staleness⟩
112
+ diverged(x) ⇒ reconcile(x) ⟨an ordinary write on x refuses⟩
113
+ incoherent(P) ⇒ repaired by ordinary writes, one at a time
114
+ reconcile ⊨ self ⟨reconciliation of plans ∧ units is the architect's alone⟩
57
115
  slices(P) cut on s ⟨¬ file-adjacency · files are a LAGGING proxy for modularity ∴
58
116
  file-cut ⇒ ∀ unit ⊇ fragments of several c ⇒ executor finishes ∧ system incoherent⟩
59
117
  ⋃ slices(P) = P ∧ ∀ s₁, s₂ ∈ slices(P) : s₁ ≠ s₂ ⇒ s₁ ∩ s₂ = ∅
@@ -75,15 +133,13 @@ slices(P) cut on s ⟨¬ file-adjacency · files are a LAGGING proxy for modular
75
133
  ∀ unit : measurement ∈ spec(unit) ⇒ measurement = claim⟨timestamp⟩ ∴ re-derive ≺ cite
76
134
  ⟨a count in a unit is CENSUS OUTPUT, ¬ a datum · the tree moves ∧ nothing reds⟩
77
135
  ∀ unit : reach-leg(unit) ⊨ print(denominator) ⟨∄ denominator ⇒ found-nothing ≡ could-not-look⟩
78
- state(unit) = ready ⇒ ¬blocked(unit) ∧ ¬ruling-owed(unit) ⟨ready PROMISES an executor can
79
- FINISH · conflating a dep with a ruling stalls a fan-out on one unanswered question⟩
80
136
  ∀ unit : conform(spec(unit))
81
- advance ⊨ mirror ⟨state moves ∴ the document moves · drift is ¬ a later chore⟩
82
- plan ≜ take(s) → census ⟨delegable⟩ → slice(s) → author spec(∀ unit) → mirror → ratify @ planner`;
137
+ plan ≜ take(s) → census ⟨delegable⟩ → slice(s) → add(∀ unit) ⟨spec ∧ pin⟩ → ratify @ planner → advance`;
83
138
  export const plan = {
84
139
  name: 'plan',
85
- description: `use this skill to decompose ONE cut piece of a design into MECE units of work — each citing the single concept it realizes, with its inputs, dependencies, declared outputs and mechanical acceptance criteria — sliced on the design's seams rather than on file adjacency, and ordered into waves whose outputs are disjoint so they dispatch concurrently without contending. Reach for it after a design exists and before any work is dispatched. A unit that cites no concept is refused; a piece that cannot be planned as handed down is surfaced, never silently redrawn.`,
140
+ description: `use this skill to decompose ONE cut piece of a design into MECE units of work — each citing the single concept it realizes, with its inputs, dependencies, declared outputs and mechanical acceptance criteria — sliced on the design's seams rather than on file adjacency, and ordered into waves whose outputs are disjoint so they dispatch concurrently without contending. Reach for it after a design exists and before any work is dispatched. A unit that cites no concept is refused; a piece that cannot be planned as handed down is surfaced, never silently redrawn. Its verbs show a plan or a unit, add, advance, retract and revise units, revise, bind and close a plan, and reconcile either.`,
86
141
  formalBlock: FORMAL_BLOCK,
87
- composition: () => [design],
142
+ runtime: { capability: 'plan', configuration: LIFECYCLE },
143
+ composition: () => [design, note],
88
144
  };
89
145
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/plan/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,kFAAkF;AAClF,kFAAkF;AAClF,oFAAoF;AACpF,kFAAkF;AAClF,oFAAoF;AACpF,oCAAoC;AACpC,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,6BAA6B;AAC7B,EAAE;AACF,qFAAqF;AACrF,sFAAsF;AACtF,uFAAuF;AACvF,gFAAgF;AAEhF,MAAM,YAAY,GAChB;;;;;;;aAOW,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iGAyDiF,CAAC;AAErH,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,ojBAAojB;IACjkB,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/plan/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,kFAAkF;AAClF,kFAAkF;AAClF,oFAAoF;AACpF,kFAAkF;AAClF,oFAAoF;AACpF,oCAAoC;AACpC,EAAE;AACF,mFAAmF;AACnF,qFAAqF;AACrF,6BAA6B;AAC7B,EAAE;AACF,mFAAmF;AACnF,mFAAmF;AACnF,qFAAqF;AACrF,qFAAqF;AACrF,sEAAsE;AACtE,EAAE;AACF,qFAAqF;AACrF,sFAAsF;AACtF,uFAAuF;AACvF,gFAAgF;AAEhF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;QACvC,SAAS,EAAE,OAAO;QAClB,KAAK,EAAE,QAAQ;KAChB;IACD,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;CACpE,CAAC;AACX,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;AAE7C,MAAM,YAAY,GAChB;;;;;;;;;gBASc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;mBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;wBAEjB,IAAI,CAAC,SAAS;yBACb,IAAI,CAAC,KAAK;kCACD,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDA6BK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,SAAS;;;;;;;;;;;uFAWxD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uGAkDqB,CAAC;AAE3H,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,krBAAkrB;IAC/rB,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE;IACzD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratylus/canon",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "The canonical corpus of discovered optimal-signifiers — agents, skills, dimensions and rules as typed TS source. Markdown is a projection of these modules.",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -18,11 +18,11 @@
18
18
  ],
19
19
  "//test": "`test` builds FIRST because `test/runtime-shim.test.ts` drives the shipped `cratylus project` over the repository's own `cratylus.config.ts`, and that config extends `@cratylus/canon` — the PACKAGE, i.e. this package's `dist`. turbo's `test.dependsOn: [^build]` builds this package's DEPENDENCIES, never this package, so a cold clone would run the consumer path against a dist that does not exist.",
20
20
  "dependencies": {
21
- "@cratylus/schema": "0.2.0"
21
+ "@cratylus/schema": "0.4.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@cratylus/forge": "0.6.0",
25
- "@cratylus/runtime": "0.2.0",
24
+ "@cratylus/forge": "0.9.0",
25
+ "@cratylus/runtime": "0.4.0",
26
26
  "@cratylus/tooling": "0.0.0",
27
27
  "@types/node": "^22.0.0",
28
28
  "tsx": "^4.19.0",
@@ -57,8 +57,6 @@
57
57
  "clean": "rm -rf dist",
58
58
  "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
59
59
  "pack:smoke": "tsx tooling/pack-smoke/pack-smoke-cli.ts",
60
- "plan-set": "tsx tooling/plan-set-cli.ts",
61
- "plan": "sh tooling/plan-set/plan-set.sh",
62
60
  "project:targets": "tsx tooling/project-targets-cli.ts",
63
61
  "scaffold": "tsx tooling/scaffold-cli.ts",
64
62
  "stance-guard:test": "sh test/support/guardrail/test-stance-guardrail.sh",
@@ -1,31 +0,0 @@
1
- /** The plan-layout state folders, in task-file lifecycle order. */
2
- export declare const PLAN_STATES: readonly ["pending", "ready", "active", "completed"];
3
- /** `frontier(P)` — the states a shard sits in when the plan is workable AT it
4
- * (`{ t | state(t) ∈ { ready, active } }`, where the plan IS, not merely
5
- * what is dispatchable). A subset of {@link PLAN_STATES} and not derivable from
6
- * their ORDER: `pending` is open too, and is not frontier. */
7
- export declare const PLAN_FRONTIER: readonly ["ready", "active"];
8
- /**
9
- * The plan-tier dotfile MARKERS whose only home is here.
10
- *
11
- * A relation with no on-disk carrier is not readable — the reading `plan-set.sh`
12
- * states in its own words when it explains why `.landed` exists ("exactly parallel
13
- * to `.superseded-by`"). These are the two markers a reader of the plan set needs
14
- * that have no other TypeScript home: `.superseded-by` already has one
15
- * (`plan-set.ts`'s `SUPERSEDED_MARKER`) and is deliberately not restated.
16
- *
17
- * `.ruling-owed` is the third carrier this corpus has minted on that reading, and
18
- * it carries the concept the corpus ALREADY signifies as a ruling owed — "a
19
- * decision nobody has taken", which the retired praxis cell distinguished from a
20
- * dependency ("a dep waits itself out, a ruling needs a human"). At the SHARD tier
21
- * that concept is `ruling-owed(t)`, and it gates `ready`; at the
22
- * PLAN tier it had no carrier at all, so a fork the principal cannot resolve —
23
- * irreversible, or above its competence — was unreadable from disk however loudly
24
- * it had been surfaced. Its content is the fork as it was put to the operator.
25
- */
26
- export declare const PLAN_MARKERS: {
27
- /** `bound(P)` — the plan-level commitment; exactly one plan carries it (WIP=1). */
28
- readonly bound: ".bound";
29
- /** `fork⊥(P)` — a fork surfaced to the operator, whose ruling nobody has taken. */
30
- readonly rulingOwed: ".ruling-owed";
31
- };
@@ -1,46 +0,0 @@
1
- // plan-states.ts — the CANON home of the sharded-plan-layout state folders, in
2
- // lifecycle order. ONE home, two consumers (DRY): the `plan` skill's formal block
3
- // (`../skills/plan/skill.ts`, whose `States ≜ {…}` set derives from here) and the
4
- // canon project template (`./project-template.ts`, whose `planStates` is this). It
5
- // lives here — not as a second export on the plan skill module — because a skill
6
- // module carries exactly one export (its `Skill`); this is the plan cell's canon,
7
- // factored out to a sibling both can source.
8
- //
9
- // The consumer was `praxis` until that cell was superseded by the design/plan/deliver
10
- // trio: praxis carried understanding, specification and governance in one place, and
11
- // the state set belongs to the middle term alone.
12
- /** The plan-layout state folders, in task-file lifecycle order. */
13
- export const PLAN_STATES = ['pending', 'ready', 'active', 'completed'];
14
- /** `frontier(P)` — the states a shard sits in when the plan is workable AT it
15
- * (`{ t | state(t) ∈ { ready, active } }`, where the plan IS, not merely
16
- * what is dispatchable). A subset of {@link PLAN_STATES} and not derivable from
17
- * their ORDER: `pending` is open too, and is not frontier. */
18
- export const PLAN_FRONTIER = [
19
- 'ready',
20
- 'active',
21
- ];
22
- /**
23
- * The plan-tier dotfile MARKERS whose only home is here.
24
- *
25
- * A relation with no on-disk carrier is not readable — the reading `plan-set.sh`
26
- * states in its own words when it explains why `.landed` exists ("exactly parallel
27
- * to `.superseded-by`"). These are the two markers a reader of the plan set needs
28
- * that have no other TypeScript home: `.superseded-by` already has one
29
- * (`plan-set.ts`'s `SUPERSEDED_MARKER`) and is deliberately not restated.
30
- *
31
- * `.ruling-owed` is the third carrier this corpus has minted on that reading, and
32
- * it carries the concept the corpus ALREADY signifies as a ruling owed — "a
33
- * decision nobody has taken", which the retired praxis cell distinguished from a
34
- * dependency ("a dep waits itself out, a ruling needs a human"). At the SHARD tier
35
- * that concept is `ruling-owed(t)`, and it gates `ready`; at the
36
- * PLAN tier it had no carrier at all, so a fork the principal cannot resolve —
37
- * irreversible, or above its competence — was unreadable from disk however loudly
38
- * it had been surfaced. Its content is the fork as it was put to the operator.
39
- */
40
- export const PLAN_MARKERS = {
41
- /** `bound(P)` — the plan-level commitment; exactly one plan carries it (WIP=1). */
42
- bound: '.bound',
43
- /** `fork⊥(P)` — a fork surfaced to the operator, whose ruling nobody has taken. */
44
- rulingOwed: '.ruling-owed',
45
- };
46
- //# sourceMappingURL=plan-states.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan-states.js","sourceRoot":"","sources":["../src/plan-states.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kFAAkF;AAClF,kFAAkF;AAClF,mFAAmF;AACnF,iFAAiF;AACjF,kFAAkF;AAClF,6CAA6C;AAC7C,EAAE;AACF,sFAAsF;AACtF,qFAAqF;AACrF,kDAAkD;AAElD,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAEhF;;;+DAG+D;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO;IACP,QAAQ;CACkD,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mFAAmF;IACnF,KAAK,EAAE,QAAQ;IACf,mFAAmF;IACnF,UAAU,EAAE,cAAc;CAClB,CAAC"}