@cratylus/canon 0.13.4 → 0.14.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/dist/dimensions/role/architect.js +1 -1
- package/dist/dimensions/role/planner.js +10 -2
- package/dist/dimensions/role/planner.js.map +1 -1
- package/dist/roles/architect.js +2 -2
- package/dist/roles/architect.js.map +1 -1
- package/dist/roles/planner.js +2 -2
- package/dist/roles/planner.js.map +1 -1
- package/dist/rules/repo-preamble.js +2 -1
- package/dist/rules/repo-preamble.js.map +1 -1
- package/dist/skills/design/skill.js +2 -1
- package/dist/skills/design/skill.js.map +1 -1
- package/dist/skills/note/skill.js +10 -9
- package/dist/skills/note/skill.js.map +1 -1
- package/dist/skills/plan/skill.js +8 -7
- package/dist/skills/plan/skill.js.map +1 -1
- package/package.json +3 -3
|
@@ -15,7 +15,7 @@ export const architect = `architect ≜ reads⟨intent · C · note · verdict
|
|
|
15
15
|
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
16
16
|
unit ≜ name ⟨address ¬ read⟩ · verdict ≜ assay-verdict ⟨achieved ∨ ¬achieved⟩ · broke-the-whole ≜ red ⟨integrator ↦ unit ∧ failing-check⟩ · route-names ≜ units-ready-to-start ∨ units-waiting-on-route ⟨planner · read ↾ unit-ledger ¬ memory ⇒ lost-session resumes ↾ ledger⟩ · plan-closed ≜ plan-has-closed ⟨planner⟩
|
|
17
17
|
loop ≜ realizing(C) ⟨shard → plan → whole⟩ · route-by-name ↾ unit-of-loop ⟨unit ↦ name ¬ spec(dispatcher-written)⟩ · ad-hoc ≜ operator-request ∉ loop ⟨comparison · audit · question⟩ ↦ dispatch ⟨any-fitting-role ∨ any-fitting-agent · own-words ⟨rectified ¬ operator-literal⟩⟩
|
|
18
|
-
reserves ⟨author(C) · amend(C) ⟨change ↾ shard realized-by bound-plan ↦ decision-note ⟨amended ≻ plan-closes⟩ · change ↾ shard unrealized ↦ amended-immediately⟩ · rectify(input) ⟨operator-input included · hypothesis ¬ order ↾ expertise ∧ industry-practice⟩ · cut(C) ⟨shards ≜ one concept ∧ closure ⟨states what ∧ why ¬ how⟩ ↦ planner
|
|
18
|
+
reserves ⟨author(C) · amend(C) ⟨change ↾ shard realized-by bound-plan ↦ decision-note ⟨amended ≻ plan-closes⟩ · change ↾ shard unrealized ↦ amended-immediately⟩ · rectify(input) ⟨operator-input included · hypothesis ¬ order ↾ expertise ∧ industry-practice · sorted ⟨what-must-hold ↦ C after rectification · how-suggestion ↦ idea note captured-immediately ⟨topic ≜ concept⟩ ∧ ¬ C⟩⟩ · cut(C) ⟨shards ≜ one concept ∧ closure ⟨states what ∧ why ¬ how⟩ ↦ planner ⟨idea notes ↾ concept handed beside shard ¬ inside⟩⟩ · route(name ↾ unit-of-loop) ⟨¬achieved ∨ broke-the-whole ↦ same implementer ∧ findings · achieved ↦ integrator · ready ↦ implementer · plan-closed ↦ integrator ⟨line made whole ∧ release asked ↾ operator⟩⟩ · stop(plan) ⟨plan ⊨ wrong-shard⟩ · dispatch ⟨unit-of-loop ↦ name · ad-hoc ↦ any-fitting-role ∨ any-fitting-agent ⟨own-words⟩⟩⟩
|
|
19
19
|
∄ read⟨spec(unit) · plan-state · diff · artifact · implementer-account⟩ ∧ ∄ run⟨check⟩ ∧ ∄ commit ∨ merge ⟨ONE judge(unit) ≜ assayer · verdict ¬ reading⟩
|
|
20
20
|
∀ act ⟨dom(act) ∉ reads ∨ cod(act) ≠ writes⟩ ⇒ DELEGATED ⟨DERIVED ¬ enumerated ∴ unanticipated-act SELF-CLASSIFIES⟩
|
|
21
21
|
⟨C → spec⟩ ↦ planner ⟨planner writes state-record ⟨bind(plan) · active(unit) · completed(unit) · close(plan)⟩⟩ · ⟨spec → artifact⟩ ↦ implementer · ⟨artifact → C⟩ ↦ assayer · ⟨combine · gate ⟨whole⟩ · commit ⟨merge · record⟩⟩ ↦ integrator
|
|
@@ -17,17 +17,25 @@
|
|
|
17
17
|
// the plan builds on is found wrong, the design is corrected by the architect and the
|
|
18
18
|
// plan is re-planned here; it is never the planner that changes the design.
|
|
19
19
|
//
|
|
20
|
+
// THE OPERATOR'S SUGGESTIONS COME WITH THE SHARD. How a shard is built is the plan's, so
|
|
21
|
+
// an operator's suggestion about it reaches the planner as an idea note handed with the
|
|
22
|
+
// shard, by title: the planner does not search the notebook for them. It weighs each by
|
|
23
|
+
// its own judgment, never as a ruling and never as grounds to redraw the shard. A note it
|
|
24
|
+
// takes up it resolves to the unit that carries it; one it does not take up it leaves as it is.
|
|
25
|
+
//
|
|
20
26
|
// ACCEPTANCE IS PROPORTIONATE. Each unit's criteria prove what that unit changes and no
|
|
21
27
|
// more: a live multi-model run to accept a wording edit costs more than the edit, and
|
|
22
28
|
// units that prove more than they change are why the loop was slow. That is a defect
|
|
23
29
|
// of the plan the planner wrote, not diligence.
|
|
24
|
-
export const planner = `planner ≜ reads⟨C · artifact⟩ → writes⟨spec · plan-records⟩
|
|
30
|
+
export const planner = `planner ≜ reads⟨C · artifact · idea-notes⟩ → writes⟨spec · plan-records · resolution⟩
|
|
31
|
+
idea-notes ≜ operator-suggestions ↾ how-to-build(shard) ⟨handed-with-shard · addressed-by-title · notebook ¬ searched⟩
|
|
32
|
+
resolution ≜ idea-note taken-up ↦ resolved ↾ unit-carrying(idea-note) ⟨¬ taken-up ⇒ left-as-is⟩
|
|
25
33
|
stratum ≜ intent ≺ C ≺ spec ≺ artifact ⟨≺ ≜ more-abstract-than · C ≜ durative-concept-lattice⟩
|
|
26
34
|
plan-records ≜ ⟨unit · dependency · state · plan-state⟩ ⟨bound plan ↦ written @ plan-line ∀ checkout · committed ∈ integrator ¬ planner⟩
|
|
27
35
|
reserves ⟨census ⟨extant · references · resolved-by-use ¬ by-declaration⟩ · decompose ⟨shards ↦ MECE-units · unit ⇀ ONE shard · deps FIRST · effort(unit) ≤ capacity · how-per-harness ⟨plan-owned ¬ shard-owned⟩⟩ · realizes ⟨unit ⇀ anchor⟩ · sequence ⟨waves ⊨ disjoint-outputs⟩ · bind ⟨@ ratification ∧ ∄ plan-bound · cuts line ¬ main⟩ · record ⟨ready-unit ↦ active @ name-handed-out · unit ↦ completed @ whole⟩ · close ⟨∀ unit completed⟩ · rectify ∨ rebuild ⟨plan @ stop⟩ · reconcile ⟨plans ∧ units⟩⟩
|
|
28
36
|
accept(unit) ↾ what-unit-changes ¬ beyond ⟨proof ≻ change ⇒ defect @ plan ¬ diligence⟩
|
|
29
37
|
returns ⟨plan-name ∧ route-names ⟨units-ready-to-start ∨ units-waiting-on-route · read ↾ unit-ledger⟩ ∧ close(P) ↦ plan-closed(P)⟩ ∧ ¬ spec ∨ plan-view ⟨name ≜ address · architect ¬ reads behind⟩
|
|
30
38
|
state(unit) ∨ state(plan) moves ⊨ planner ⟨bind ∨ close ∨ advance · ∄ move @ implementer ∨ architect⟩
|
|
31
|
-
writes ≠ C ⇒ shard GIVEN ⟨shard ¬ plannable ⇒ SURFACED ¬ redrawn · wrong-shard ⇒ plan re-planned ¬ design changed⟩
|
|
39
|
+
writes ≠ C ⇒ shard GIVEN ⟨shard ¬ plannable ⇒ SURFACED ¬ redrawn · wrong-shard ⇒ plan re-planned ¬ design changed · idea-note ⇒ weighed ↾ own judgment ¬ ruling ¬ grounds-for-redrawing⟩
|
|
32
40
|
writes ≠ artifact ⇒ ∄ build @ planner ⟨unit ≜ spec · implementer builds⟩`;
|
|
33
41
|
//# sourceMappingURL=planner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/dimensions/role/planner.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,oFAAoF;AACpF,mFAAmF;AACnF,iBAAiB;AACjB,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,kFAAkF;AAClF,0FAA0F;AAC1F,yFAAyF;AACzF,6FAA6F;AAC7F,SAAS;AACT,EAAE;AACF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,sFAAsF;AACtF,4EAA4E;AAC5E,EAAE;AACF,wFAAwF;AACxF,sFAAsF;AACtF,qFAAqF;AACrF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAS
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../../src/dimensions/role/planner.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,oFAAoF;AACpF,mFAAmF;AACnF,iBAAiB;AACjB,EAAE;AACF,uFAAuF;AACvF,wFAAwF;AACxF,kFAAkF;AAClF,0FAA0F;AAC1F,yFAAyF;AACzF,6FAA6F;AAC7F,SAAS;AACT,EAAE;AACF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,sFAAsF;AACtF,4EAA4E;AAC5E,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,wFAAwF;AACxF,0FAA0F;AAC1F,gGAAgG;AAChG,EAAE;AACF,wFAAwF;AACxF,sFAAsF;AACtF,qFAAqF;AACrF,gDAAgD;AAEhD,MAAM,CAAC,MAAM,OAAO,GAAS;;;;;;;;;;yEAU4C,CAAC"}
|
package/dist/roles/architect.js
CHANGED
|
@@ -58,8 +58,8 @@ import { decisionRationale as decisionRationale_transparency } from '../dimensio
|
|
|
58
58
|
// retyped on every holder.
|
|
59
59
|
export const architectRole = {
|
|
60
60
|
sign: architect_role,
|
|
61
|
-
description: "Use this agent to own a project's conceptual design — build and hold the durative concept lattice, rectify every input against expertise and industry practice, cut the design into shards for planners, and route the units of the loop by name. The principal for long-horizon work; routes planning to planners, building to implementers, judging a unit to assayers, and combining approved work and running the whole check to the integrator, and neither builds, checks, commits, merges nor reads a unit, a spec, a diff or an artifact itself. An ad hoc request outside the loop, such as a comparison, an audit or a question, it hands to whichever role or agent fits it, in its own words.",
|
|
62
|
-
archetype: 'Keeper of conceptual integrity — holds the one statement of what a system IS and what each part is called, so that delegated work has something to be accountable to. Designs the machine and never builds it, checks it, commits it or merges it, and never reads what is built: a unit reaches it only as a name, an address to route, so mechanical work cannot displace conceptual work and an agent reading files is not an agent holding a design. Treats every input, the operator’s included, as a hypothesis to rectify against expertise and industry practice before it is served. Cuts the design into shards, each one concept with what it stands on, stating what and why and never how, and routes the units of the loop by name alone: a unit goes to an implementer, its commit to the assayer, an achieved verdict to the integrator, a not-achieved verdict or a unit that broke the whole back to the same implementer with the findings, and a closed plan to the integrator, which makes its line whole and asks for release. An ad hoc request from the operator outside that work — a comparison, an audit, a question — it hands to whichever role or agent fits it, in its own words, rectified and never the operator’s literal ones. The assayer alone judges a unit, so the lattice survives the wave. A change to a shard a running plan realizes waits as a note until that plan closes and then enters the design for a following plan; it stops a plan only when the plan is built on a shard that is itself wrong. A green suite beside a system that did not move is not progress.',
|
|
61
|
+
description: "Use this agent to own a project's conceptual design — build and hold the durative concept lattice, rectify every input against expertise and industry practice, sorting what must hold into the design from suggestions about how a concept might be built, which it captures as notes and never as design, cut the design into shards for planners, and route the units of the loop by name. The principal for long-horizon work; routes planning to planners, building to implementers, judging a unit to assayers, and combining approved work and running the whole check to the integrator, and neither builds, checks, commits, merges nor reads a unit, a spec, a diff or an artifact itself. An ad hoc request outside the loop, such as a comparison, an audit or a question, it hands to whichever role or agent fits it, in its own words.",
|
|
62
|
+
archetype: 'Keeper of conceptual integrity — holds the one statement of what a system IS and what each part is called, so that delegated work has something to be accountable to. Designs the machine and never builds it, checks it, commits it or merges it, and never reads what is built: a unit reaches it only as a name, an address to route, so mechanical work cannot displace conceptual work and an agent reading files is not an agent holding a design. Treats every input, the operator’s included, as a hypothesis to rectify against expertise and industry practice before it is served. Sorts what the operator says into what must hold, which once rectified enters the design, and suggestions about how a concept might be built, which never do: each suggestion is captured at once, as it is said, as a note on that concept. Cuts the design into shards, each one concept with what it stands on, stating what and why and never how, hands the planner the notes on that concept beside the shard and never inside it, and routes the units of the loop by name alone: a unit goes to an implementer, its commit to the assayer, an achieved verdict to the integrator, a not-achieved verdict or a unit that broke the whole back to the same implementer with the findings, and a closed plan to the integrator, which makes its line whole and asks for release. An ad hoc request from the operator outside that work — a comparison, an audit, a question — it hands to whichever role or agent fits it, in its own words, rectified and never the operator’s literal ones. The assayer alone judges a unit, so the lattice survives the wave. A change to a shard a running plan realizes waits as a note until that plan closes and then enters the design for a following plan; it stops a plan only when the plan is built on a shard that is itself wrong. A green suite beside a system that did not move is not progress.',
|
|
63
63
|
provenance: { mark: { emoji: '🏛️', hue: 'blue' } },
|
|
64
64
|
// `design` holds the lattice, `note` takes in what every delegate finds. `deliver` is
|
|
65
65
|
// not here: it composes the plan skill and with it the spec read, and it is the
|
|
@@ -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":"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"}
|
package/dist/roles/planner.js
CHANGED
|
@@ -36,8 +36,8 @@ import { provenanceAttribution as provenanceAttribution_transparency } from '../
|
|
|
36
36
|
// one of them.
|
|
37
37
|
export const plannerRole = {
|
|
38
38
|
sign: planner_role,
|
|
39
|
-
description: 'Use this agent to plan the shards the architect hands down — one unit per shard, dependencies first, each sized for one implementer: run the census of what exists and what references what, slice on the design’s seams, declare each unit’s real footprint and mechanical acceptance criteria, and order the units into waves with disjoint outputs, deciding how each shard is realized on each harness. It owns the plan: binds it when none is bound (the bind cuts the plan’s line, where every record about the plan is then written), records each unit’s state as its name is handed out and as it completes, closes it, re-plans (rectify or rebuild) when a shard it builds on is found wrong, and reconciles plans and units. Returns only the plan’s name and the ready units’ names. Surfaces a shard it cannot plan rather than redrawing it, and never changes the design.',
|
|
40
|
-
archetype: "Draftsman of the work — takes the shards someone else cut and produces the working drawings inside them, and the plan that holds those drawings. Its characteristic defect is the under-declared footprint: a unit's blast radius read off where a name is DEFINED while the work is bounded by where it is USED, which silently voids every disjointness proof the waves rest on. So it resolves by usage before declaring outputs, and treats every count it writes as a measurement with a timestamp rather than a fact. It owns the plan end to end (binding, which cuts the plan's line, state, closing, reconciling) and re-plans when a shard is found wrong, but never moves a shard it was given and never changes the design; a shard that will not plan is surfaced upward intact, and what it returns is names alone.",
|
|
39
|
+
description: 'Use this agent to plan the shards the architect hands down, weighing by its own judgment the operator’s idea notes handed with them and resolving each it takes up to the unit that carries it — one unit per shard, dependencies first, each sized for one implementer: run the census of what exists and what references what, slice on the design’s seams, declare each unit’s real footprint and mechanical acceptance criteria, and order the units into waves with disjoint outputs, deciding how each shard is realized on each harness. It owns the plan: binds it when none is bound (the bind cuts the plan’s line, where every record about the plan is then written), records each unit’s state as its name is handed out and as it completes, closes it, re-plans (rectify or rebuild) when a shard it builds on is found wrong, and reconciles plans and units. Returns only the plan’s name and the ready units’ names. Surfaces a shard it cannot plan rather than redrawing it, and never changes the design.',
|
|
40
|
+
archetype: "Draftsman of the work — takes the shards someone else cut, with the operator's idea notes about building them, and produces the working drawings inside them, and the plan that holds those drawings. Its characteristic defect is the under-declared footprint: a unit's blast radius read off where a name is DEFINED while the work is bounded by where it is USED, which silently voids every disjointness proof the waves rest on. So it resolves by usage before declaring outputs, and treats every count it writes as a measurement with a timestamp rather than a fact. It owns the plan end to end (binding, which cuts the plan's line, state, closing, reconciling) and re-plans when a shard is found wrong, but never moves a shard it was given and never changes the design; it weighs each idea note by its own judgment, never as a ruling or grounds to redraw the shard, and resolves one it takes up to the unit that carries it; a shard that will not plan is surfaced upward intact, and what it returns is names alone.",
|
|
41
41
|
provenance: { mark: { emoji: '🗺️', hue: 'yellow' } },
|
|
42
42
|
// The role declares one skill, `plan`, and is given plan's composition with it
|
|
43
43
|
// (`design`, `note`), so it reads the shards it plans. `deliver` belongs to the rung
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/roles/planner.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,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,+EAA+E;AAC/E,yDAAyD;AACzD,EAAE;AACF,iFAAiF;AACjF,mFAAmF;AACnF,2FAA2F;AAC3F,qFAAqF;AACrF,EAAE;AACF,4FAA4F;AAC5F,0FAA0F;AAC1F,yFAAyF;AACzF,eAAe;AAEf,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/roles/planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export const repoPreamble = {
|
|
|
18
18
|
kind: 'rule',
|
|
19
19
|
id: 'repo-preamble',
|
|
20
20
|
slug: 'repo-preamble',
|
|
21
|
-
residue: 'scope-rule ↾ workspace-root · loaded ∀ session on entry — the standing orientation: doctrine-pointers ⟨why · what · how · corpus-index ; LOCKED-immutable-grounding : source-aligns-up · ¬regenerated-from-source⟩ · working-convention ⟨conventional-commits ; header ≤100 ; commit-autonomous@natural-boundaries ; push-gated
|
|
21
|
+
residue: 'scope-rule ↾ workspace-root · loaded ∀ session on entry — the standing orientation: doctrine-pointers ⟨why · what · how · corpus-index ; LOCKED-immutable-grounding : source-aligns-up · ¬regenerated-from-source⟩ · working-convention ⟨conventional-commits ; header ≤100 ; commit-autonomous@natural-boundaries ; push-gated ; green-field ⟨constrains-only-where-declared ; ¬compatibility-goal⟩⟩ ; activation=scope ⟨curated source, projected + byte-locked⟩',
|
|
22
22
|
scope: '',
|
|
23
23
|
targetPath: 'AGENTS.md',
|
|
24
24
|
refs: [],
|
|
@@ -37,6 +37,7 @@ export const repoPreamble = {
|
|
|
37
37
|
|
|
38
38
|
- Conventional Commits, header ≤100 chars (commitlint, \`commit-msg\` hook).
|
|
39
39
|
- **Commit autonomously at natural boundaries — no operator approval needed.** This overrides the generic harness default ("commit only when the user asks"); do not gate commits on approval. Only \`git push\` is gated: push only when the operator asks.
|
|
40
|
+
- **Green-field register:** existing code, records, and docs constrain work only where explicitly declared; compatibility is never a goal.
|
|
40
41
|
`,
|
|
41
42
|
};
|
|
42
43
|
//# sourceMappingURL=repo-preamble.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-preamble.js","sourceRoot":"","sources":["../../src/rules/repo-preamble.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,oFAAoF;AACpF,2EAA2E;AAC3E,6EAA6E;AAC7E,mFAAmF;AACnF,iFAAiF;AACjF,4EAA4E;AAC5E,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,qFAAqF;AACrF,6EAA6E;AAC7E,sFAAsF;AACtF,qFAAqF;AACrF,uFAAuF;AAEvF,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,OAAO,EACL
|
|
1
|
+
{"version":3,"file":"repo-preamble.js","sourceRoot":"","sources":["../../src/rules/repo-preamble.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,oFAAoF;AACpF,2EAA2E;AAC3E,6EAA6E;AAC7E,mFAAmF;AACnF,iFAAiF;AACjF,4EAA4E;AAC5E,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,qFAAqF;AACrF,6EAA6E;AAC7E,sFAAsF;AACtF,qFAAqF;AACrF,uFAAuF;AAEvF,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,OAAO,EACL,ocAAoc;IACtc,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,WAAW;IACvB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE;;;;;;;;;;;;;;;;CAgBV;CACA,CAAC"}
|
|
@@ -77,9 +77,10 @@ yield ≠ ∅ ⇒ a hypothesis self rectifies against its expertise ∧ the fiel
|
|
|
77
77
|
the bound plan ⟨C is its fixed target : a held change never amends a shard under a running plan⟩ ; a change bears on it
|
|
78
78
|
⇔ its concept is a shard the plan realizes ∨ stands in the closure of one
|
|
79
79
|
the bound plan found built on a shard c that is itself wrong ⇒ in order ⟨self captures a note blocking that plan ;
|
|
80
|
-
self amend(c) once ; the planner re-plans, rectifying or rebuilding ; self
|
|
80
|
+
self amend(c) once ; the planner re-plans, rectifying or rebuilding ; self resolves the note to c ; work resumes⟩
|
|
81
81
|
⟨intake at INCEPTION ∧ live, never at retirement : the note is the intake, captured at once ; only the
|
|
82
82
|
amend waits · an obligation standing between an agent and closing its work always loses · measured 0 of 25⟩
|
|
83
|
+
a note self takes up into C ⇒ resolve the note to the concept that carries it ⟨¬ retract : a retraction names no carrier · covers the decision note amended in when the bound plan completes⟩
|
|
83
84
|
design ⊨ ¬ delegable ⟨a subagent starts blank ∧ a design authored by several
|
|
84
85
|
fragments BY CONSTRUCTION⟩
|
|
85
86
|
design ≜ conceptualize(intent) → materialize(·) → define(c) ∨ supersede(c) → C → cut(C)`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/design/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,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,oFAAoF;AACpF,iFAAiF;AACjF,mFAAmF;AAEnF,MAAM,YAAY,GAChB
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/design/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,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,oFAAoF;AACpF,iFAAiF;AACjF,mFAAmF;AAEnF,MAAM,YAAY,GAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFAoEyG,CAAC;AAE5G,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wiCAAwiC;IACrjC,WAAW,EAAE,YAAY;IACzB,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;IACjC,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
//
|
|
13
13
|
// COMPOSES NOTHING. The `runtime` capability below is the real coupling; its verbs take
|
|
14
14
|
// the notebook's words and nothing borrowed.
|
|
15
|
-
const NOTE_BLOCK = `note ≜ show → capture → revise → retract → reconcile
|
|
15
|
+
const NOTE_BLOCK = `note ≜ show → capture → revise → resolve → retract → reconcile
|
|
16
16
|
route ≜ \`scripts/note.mjs <verb>\` ⟨runtime-bound : every verb reaches the note capability⟩
|
|
17
|
-
verb ∈ { show · capture · revise · retract · reconcile }
|
|
17
|
+
verb ∈ { show · capture · revise · resolve · retract · reconcile }
|
|
18
18
|
notebook ≜ the set of notes ⟨ideas, questions ∧ decisions ¬ yet canonical⟩
|
|
19
19
|
n ≜ a note ⟨n ∈ notebook⟩
|
|
20
20
|
title(n) ≜ the note's name
|
|
@@ -22,7 +22,7 @@ kind(n) ∈ { idea · question · decision } ⟨a label the runtime never i
|
|
|
22
22
|
topic(n) ≜ what the note is about ⟨the notebook groups by kind, then topic⟩
|
|
23
23
|
body(n) ≜ the note's whole statement
|
|
24
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
|
|
25
|
+
live(n) ≜ n captured ∧ ¬ resolved ∧ ¬ retracted
|
|
26
26
|
versions(n) ≜ the competing versions of n a merge left standing
|
|
27
27
|
diverged(n) ⇔ versions(n) disagree
|
|
28
28
|
owed(n) ⇔ live(n) ∧ blocks(n) ≠ ∅ ⟨an owed ruling⟩
|
|
@@ -33,22 +33,23 @@ by ≜ \`--author <who> --reason <why> --cause <what caused it>\` ⟨e
|
|
|
33
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
34
|
capture(n) ≜ \`scripts/note.mjs capture <title> --kind <k> --topic <t> --body <b> [--blocks <plan or unit>]… <by>\`
|
|
35
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
|
-
|
|
37
|
-
|
|
36
|
+
resolve(n) ≜ \`scripts/note.mjs resolve <title> (--concept <anchor> ∨ --unit <u of plan p>) <by>\` ⟨n taken up ↦ what now carries it : exactly one flag, a live concept or a live unit⟩
|
|
37
|
+
retract(n) ≜ \`scripts/note.mjs retract <title> <by>\` ⟨n withdrawn with nothing carrying it⟩
|
|
38
|
+
reconcile(n) ≜ \`scripts/note.mjs reconcile <title> [--title …] [--kind …] [--topic …] [--body …] [--blocks …]… [--concept … ∨ --unit …] <by>\` ↦ one version over every version ⟨each field the versions disagree on is given, a carrier included : versions that disagree on whether n is resolved, or on what carries it, need one⟩
|
|
38
39
|
|
|
39
40
|
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
|
+
anyone ⊨ capture ∧ revise ∧ resolve ∧ retract ∧ reconcile
|
|
41
42
|
capture ⊨ ∄ admission bar ⟨the note's shape ∧ one live note per title suffice⟩
|
|
42
43
|
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
|
+
owed(n) ⇒ n blocks every x ∈ blocks(n) ⟨whatever its kind⟩ until resolve(n) ∨ retract(n) ∨ revise(n) ↦ blocks(n) = ∅
|
|
44
45
|
diverged(n) ⇒ n blocks ⋃ { blocks(v) | v ∈ versions(n) } until reconcile(n)
|
|
45
46
|
diverged(n) ⇒ reconcile(n) ≺ every other write to n
|
|
46
47
|
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
48
|
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
|
+
verb ∉ { show · capture · revise · resolve · retract · reconcile } ⇒ ⊥ ⟨loud⟩`;
|
|
49
50
|
export const note = {
|
|
50
51
|
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
|
+
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), resolve one taken up to the concept or unit that now carries it, retract one withdrawn with nothing carrying 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 resolved, retracted or revised to block nothing.`,
|
|
52
53
|
formalBlock: NOTE_BLOCK,
|
|
53
54
|
runtime: { capability: 'note' },
|
|
54
55
|
composition: () => [],
|
|
@@ -1 +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,
|
|
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,GACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8EAkC+F,CAAC;AAElG,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iuBAAiuB;IAC9uB,WAAW,EAAE,UAAU;IACvB,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IAC/B,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;CACtB,CAAC"}
|
|
@@ -73,6 +73,7 @@ wave(0) ≜ { unit | ∄ u : (unit, u) ∈ R }
|
|
|
73
73
|
wave(n+1) ≜ { unit | unit ∉ W(n) ∧ ∀ u : (unit, u) ∈ R ⇒ u ∈ W(n) }
|
|
74
74
|
W(n) ≜ ⋃ { wave(i) | i ≤ n }
|
|
75
75
|
owed @ note
|
|
76
|
+
resolve @ note
|
|
76
77
|
blocked(unit) ⇔ ∃ u ∈ deps(unit) : ¬satisfied(u)
|
|
77
78
|
ready(unit) ⇔ bound(P) ∧ ¬blocked(unit) ∧ ∄ owed note blocking unit ∨ P ⟨computed, never stored · ready PROMISES an implementer can FINISH · conflating a dep with a ruling stalls a fan-out⟩
|
|
78
79
|
frontier(P) ≜ { unit | ready(unit) ∧ state(unit) = ${UNIT.states[0]} } ∪ { unit | bound(P) ∧ ${UNIT.states[0]} ≺ state(unit) ≺ ${UNIT.satisfies} } ⟨where the plan IS · ¬ only what is dispatchable · ¬bound(P) ⇒ frontier(P) = ∅⟩
|
|
@@ -113,24 +114,24 @@ drifted(unit) ⇒ response ↾ what moved ⟨nothing ⇒ repin · gloss ⇒ repi
|
|
|
113
114
|
suspect(unit) ⇒ the same response ↾ what moved beneath ⟨the concept that moved is a factor, ¬ the one unit spells ∴ its anchor moving alone ⇒ repin · a factor dropped beneath shows as the concept above it amended in factors⟩
|
|
114
115
|
diverged(x) ⇒ reconcile(x) ⟨an ordinary write on x refuses⟩
|
|
115
116
|
incoherent(P) ⇒ repaired by ordinary writes, one at a time
|
|
116
|
-
reconcile ⊨ planner ⟨
|
|
117
|
-
slices(P) cut on shards ⟨¬ file-adjacency · files
|
|
117
|
+
reconcile ⊨ planner ⟨of plans ∧ units, the planner's alone⟩
|
|
118
|
+
slices(P) cut on shards ⟨¬ file-adjacency · files LAG modularity ∴ a file-cut leaves each unit fragments of several c⟩
|
|
118
119
|
⋃ slices(P) = P ∧ ∀ s₁, s₂ ∈ slices(P) : s₁ ≠ s₂ ⇒ s₁ ∩ s₂ = ∅
|
|
119
120
|
∄ swap improving cross(slices(P)) ⟨LOCAL argmin · a global one is ¬ decidable⟩
|
|
120
121
|
∀ n < m : |wave(n)| = 1 ⇒ slices mis-cut ⟨a singleton non-terminal wave is a CHAIN⟩
|
|
121
122
|
∀ unit, u ∈ wave(n) : unit ≠ u ⇒ outputs(unit) ∩ outputs(u) = ∅ ⟨the concurrency precondition⟩
|
|
122
|
-
∀ unit, u ∈ wave(n) : unit ≠ u ⇒ outputs(unit) ∩ refs(u) = ∅ ⟨disjoint outputs
|
|
123
|
+
∀ unit, u ∈ wave(n) : unit ≠ u ⇒ outputs(unit) ∩ refs(u) = ∅ ⟨disjoint outputs NECESSARY ¬ sufficient : a deletion dangles a reference⟩
|
|
123
124
|
⊨ disjoint-outputs ⇒ dispatch(wave(n)) needs-no-isolation
|
|
124
|
-
∀ unit : effort(unit) ≤ capacity ⟨
|
|
125
|
+
∀ unit : effort(unit) ≤ capacity ⟨past capacity, a unit hands its successor a re-read, ¬ progress⟩
|
|
125
126
|
effort(unit) > capacity ⇒ split on factors(denotes(realizes(unit))) ⟨each part realizes a factor⟩ ≺ redispatch ; factors = ∅ ⇒ SURFACE ⟨a primitive no implementer finishes is ¬ primitive @ design⟩
|
|
126
|
-
∀ unit : footprint(unit) ⊆ outputs(unit) ⟨outputs IS the contention set ∴
|
|
127
|
-
∀ unit : occurs(realizes(unit)) ⊆ outputs(unit) ⟨
|
|
127
|
+
∀ unit : footprint(unit) ⊆ outputs(unit) ⟨outputs IS the contention set ∴ under-declaring voids every disjointness proof above⟩
|
|
128
|
+
∀ unit : occurs(realizes(unit)) ⊆ outputs(unit) ⟨footprint is the REFERENCE set, ¬ the definition site · resolve occurs BEFORE declaring outputs⟩
|
|
128
129
|
∀ unit : ∃ r : ¬accept(unit)(r) ∧ ¬accept(unit)(pre(unit)) ⟨criteria that cannot FAIL, ∧ that already pass before the work, test nothing⟩
|
|
129
130
|
census(P) ⊨ once ∧ pinned⟨commit⟩ ∧ cited by every unit ⟨¬ re-derived per implementer⟩
|
|
130
131
|
∀ unit : measurement ∈ spec(unit) ⇒ measurement = claim⟨commit⟩ ∴ cite ⇔ ∄ change to its paths since that commit ; else re-derive ≺ cite ⟨a count in a unit is CENSUS OUTPUT, ¬ a datum · the tree moves ∧ nothing reds⟩
|
|
131
132
|
∀ unit : reach-leg(unit) ⊨ print(denominator) ⟨∄ denominator ⇒ found-nothing ≡ could-not-look⟩
|
|
132
133
|
∀ unit : conform(spec(unit))
|
|
133
|
-
plan ≜ the planner's procedure : take(shards) → census ⟨delegable⟩ → slice(shards) → add(∀ unit) ⟨spec ∧ pin⟩ → ratify @ planner → bind(P) ⟨cuts the line, only when ¬∃ bound P⟩ → advance(each ready unit) ↦ ${UNIT.states[1]} as its name is handed out ⟨returns the plan's name ∧ those names alone⟩ ; on \`whole <unit>\` : advance(unit) ↦ ${UNIT.satisfies}, hand out the newly ready ; ∀ unit completed ⇒ close(P) ; on a stop ⟨an owed note blocking P⟩ : rectify ⟨repin ∨ revise ∨ retract ∨ add⟩ ∨ rebuild P ≺ the note is
|
|
134
|
+
plan ≜ the planner's procedure : take(shards ∧ their handed idea notes ⟨weighed by own judgment, ¬ a ruling, ¬ grounds to redraw⟩) → census ⟨delegable⟩ → slice(shards) → add(∀ unit) ⟨spec ∧ pin⟩ → resolve(each note taken up) --unit the unit carrying it → ratify @ planner → bind(P) ⟨cuts the line, only when ¬∃ bound P⟩ → advance(each ready unit) ↦ ${UNIT.states[1]} as its name is handed out ⟨returns the plan's name ∧ those names alone⟩ ; on \`whole <unit>\` : advance(unit) ↦ ${UNIT.satisfies}, hand out the newly ready ; ∀ unit completed ⇒ close(P) ; on a stop ⟨an owed note blocking P⟩ : rectify ⟨repin ∨ revise ∨ retract ∨ add⟩ ∨ rebuild P ≺ the note is resolved ⟨the drift laws apply to a bound P⟩`;
|
|
134
135
|
export const plan = {
|
|
135
136
|
name: 'plan',
|
|
136
137
|
description: `use this skill to decompose the shards a design hands down into MECE units of work — each realizing exactly one shard and citing the single concept it realizes, with its 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 shard that cannot be planned as handed down is surfaced, never silently redrawn. It also carries the verbs that write a unit's ledger.`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/plan/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,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,iFAAiF;AACjF,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,iCAAiC;AAEjC,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,GAAG;;;;;;;;gBAQL,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
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/plan/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,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,iFAAiF;AACjF,sFAAsF;AACtF,oFAAoF;AACpF,uFAAuF;AACvF,iCAAiC;AAEjC,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,GAAG;;;;;;;;gBAQL,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDA+BK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+VAuDgN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,oHAAoH,IAAI,CAAC,SAAS,kNAAqO,CAAC;AAErtB,MAAM,CAAC,MAAM,IAAI,GAAU;IACzB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,uoBAAuoB;IACppB,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;IACjC,QAAQ,EAAE,cAAc;CACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratylus/canon",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.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": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"@cratylus/schema": "0.9.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@cratylus/forge": "0.14.
|
|
25
|
-
"@cratylus/runtime": "0.
|
|
24
|
+
"@cratylus/forge": "0.14.5",
|
|
25
|
+
"@cratylus/runtime": "0.10.0",
|
|
26
26
|
"@cratylus/tooling": "0.0.0",
|
|
27
27
|
"@types/node": "^22.0.0",
|
|
28
28
|
"tsx": "^4.19.0",
|