@cratylus/canon 0.3.0 → 0.4.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.
Files changed (80) hide show
  1. package/dist/agents/architect.js +14 -108
  2. package/dist/agents/architect.js.map +1 -1
  3. package/dist/agents/assayer.d.ts +2 -0
  4. package/dist/agents/assayer.js +20 -0
  5. package/dist/agents/assayer.js.map +1 -0
  6. package/dist/agents/implementer.js +9 -69
  7. package/dist/agents/implementer.js.map +1 -1
  8. package/dist/agents/kino.js +24 -110
  9. package/dist/agents/kino.js.map +1 -1
  10. package/dist/agents/mav.js +43 -79
  11. package/dist/agents/mav.js.map +1 -1
  12. package/dist/agents/nico.js +33 -61
  13. package/dist/agents/nico.js.map +1 -1
  14. package/dist/agents/planner.js +8 -80
  15. package/dist/agents/planner.js.map +1 -1
  16. package/dist/dimensions/role/architect.js +19 -1
  17. package/dist/dimensions/role/architect.js.map +1 -1
  18. package/dist/dimensions/role/{build.d.ts → assayer.d.ts} +1 -1
  19. package/dist/dimensions/role/assayer.js +25 -0
  20. package/dist/dimensions/role/assayer.js.map +1 -0
  21. package/dist/dimensions/role/{diagnose.d.ts → implementer.d.ts} +1 -1
  22. package/dist/dimensions/role/implementer.js +12 -0
  23. package/dist/dimensions/role/implementer.js.map +1 -0
  24. package/dist/dimensions/role/{curate.d.ts → planner.d.ts} +1 -1
  25. package/dist/dimensions/role/planner.js +14 -0
  26. package/dist/dimensions/role/planner.js.map +1 -0
  27. package/dist/hooks/purview-guardrail.d.ts +2 -0
  28. package/dist/hooks/purview-guardrail.js +302 -0
  29. package/dist/hooks/purview-guardrail.js.map +1 -0
  30. package/dist/roles/architect.d.ts +2 -0
  31. package/dist/roles/architect.js +101 -0
  32. package/dist/roles/architect.js.map +1 -0
  33. package/dist/roles/assayer.d.ts +2 -0
  34. package/dist/roles/assayer.js +66 -0
  35. package/dist/roles/assayer.js.map +1 -0
  36. package/dist/roles/hold.d.ts +57 -0
  37. package/dist/roles/hold.js +105 -0
  38. package/dist/roles/hold.js.map +1 -0
  39. package/dist/roles/implementer.d.ts +2 -0
  40. package/dist/roles/implementer.js +60 -0
  41. package/dist/roles/implementer.js.map +1 -0
  42. package/dist/roles/planner.d.ts +2 -0
  43. package/dist/roles/planner.js +70 -0
  44. package/dist/roles/planner.js.map +1 -0
  45. package/dist/skills/deliver/skill.js +41 -3
  46. package/dist/skills/deliver/skill.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/dimensions/role/build.js +0 -2
  49. package/dist/dimensions/role/build.js.map +0 -1
  50. package/dist/dimensions/role/converse.d.ts +0 -2
  51. package/dist/dimensions/role/converse.js +0 -2
  52. package/dist/dimensions/role/converse.js.map +0 -1
  53. package/dist/dimensions/role/curate.js +0 -2
  54. package/dist/dimensions/role/curate.js.map +0 -1
  55. package/dist/dimensions/role/diagnose.js +0 -2
  56. package/dist/dimensions/role/diagnose.js.map +0 -1
  57. package/dist/dimensions/role/document.d.ts +0 -2
  58. package/dist/dimensions/role/document.js +0 -2
  59. package/dist/dimensions/role/document.js.map +0 -1
  60. package/dist/dimensions/role/implement.d.ts +0 -2
  61. package/dist/dimensions/role/implement.js +0 -2
  62. package/dist/dimensions/role/implement.js.map +0 -1
  63. package/dist/dimensions/role/operate.d.ts +0 -2
  64. package/dist/dimensions/role/operate.js +0 -2
  65. package/dist/dimensions/role/operate.js.map +0 -1
  66. package/dist/dimensions/role/orchestrate.d.ts +0 -2
  67. package/dist/dimensions/role/orchestrate.js +0 -2
  68. package/dist/dimensions/role/orchestrate.js.map +0 -1
  69. package/dist/dimensions/role/plan.d.ts +0 -2
  70. package/dist/dimensions/role/plan.js +0 -2
  71. package/dist/dimensions/role/plan.js.map +0 -1
  72. package/dist/dimensions/role/research.d.ts +0 -2
  73. package/dist/dimensions/role/research.js +0 -2
  74. package/dist/dimensions/role/research.js.map +0 -1
  75. package/dist/dimensions/role/review.d.ts +0 -2
  76. package/dist/dimensions/role/review.js +0 -2
  77. package/dist/dimensions/role/review.js.map +0 -1
  78. package/dist/dimensions/role/test.d.ts +0 -2
  79. package/dist/dimensions/role/test.js +0 -2
  80. package/dist/dimensions/role/test.js.map +0 -1
@@ -0,0 +1,105 @@
1
+ // ─────────────────────────────────────────────────────────────────────────────
2
+ // A ROLE, AND THE FOLD THAT RESOLVES ONE.
3
+ //
4
+ // A role is a BUNDLE OF EXPECTED ASPECTS. In the world, naming someone an architect
5
+ // tells you how they reason, what they are accountable for, what they may decide and
6
+ // what they must delegate; the corpus adopts that account because it is what the word
7
+ // already means, and a corpus whose roles mean what roles mean needs no second
8
+ // vocabulary for it.
9
+ //
10
+ // Before this module, `role` was a scalar dimension over bare tokens, so the corpus
11
+ // could NAME a role and could not STATE one. Everything the name should have carried
12
+ // was retyped on every holder — `kino` and `architect` agreed on 19 of 22 dimensions
13
+ // by copying — and the duplication bought nothing, because what must be FULL is the
14
+ // TARGET (a harness reads a flat declaration, never a resolution chain) and the fold
15
+ // below runs at `select`, before `compose`. The emitted Target is exactly as flat as
16
+ // it was when every value was retyped by hand.
17
+ //
18
+ // A ROLE IS NOT A DIMENSION, AND IT IS NOT A BASE CLASS. It is made OF dimension
19
+ // values, so it cannot be one of them; and there is no lineage here — `architect` is
20
+ // a thin holder of the architect role exactly as `kino` is, with no parent pointer, no
21
+ // abstract cell nobody dispatches, and no chain to resolve. Two operands, one
22
+ // precedence rule, no ordering question.
23
+ //
24
+ // SINGULAR ARITY IS THE POINT, not a simplification. A role is the CONTRACT A PEER
25
+ // DISPATCHES AGAINST: when an architect hands a cut piece to a planner it reasons about
26
+ // the planner's role to know what comes back. A union of roles is a contract no
27
+ // dispatcher can reason about, and it would readmit role conflict — incompatible
28
+ // demands between two positions held at once — which singular arity deletes outright.
29
+ // The situational switch (the same practitioner architects here and implements there)
30
+ // is modelled by DISPATCH: the situation selects which agent runs.
31
+ //
32
+ // WHAT A HOLDER MAY NOT ESCAPE is exactly one thing: the role's own contract, the
33
+ // `role` dimension value stating ⟨reads, writes⟩ and everything that follows from the
34
+ // pair. It is inviolable BY CONSTRUCTION rather than by a marking — `Declared` omits
35
+ // the key, so there is no field to override and no rule to enforce. Every other aspect
36
+ // a role supplies is a DEFAULT: a scalar the holder may override, a set the holder may
37
+ // extend. A general constitutive/default marking was considered and rejected: with the
38
+ // contract folded into the role's own value, no second aspect needed protecting, and a
39
+ // mechanism with no live subject is structure that carries no load.
40
+ // ─────────────────────────────────────────────────────────────────────────────
41
+ import { kebabToCamel } from '@cratylus/schema';
42
+ import { DIMENSION_NAMES, MANIFEST } from '../manifest.js';
43
+ /**
44
+ * `select(a) = hold(a) ⊕ declare(a)` — the two-operand fold, run at authoring time so
45
+ * the projected Target stays flat.
46
+ *
47
+ * `⊕` reads the manifest's own `arity`, so the precedence rule is stated once and
48
+ * cannot disagree with itself:
49
+ *
50
+ * · set → role members first, then the holder's own — EXTEND. A role-supplied
51
+ * member therefore survives every holder, which is why a set needs no
52
+ * inviolability marking: union already guarantees it.
53
+ * · scalar → the holder's value when the KEY IS PRESENT, else the role's — OVERRIDE.
54
+ * Present-with-`null` is an explicit suppression and is honoured as one;
55
+ * absent means "whatever the position says", which is the common case.
56
+ *
57
+ * A dimension neither operand states is `null` — omit-to-inherit, exactly as a
58
+ * hand-written vector spells it.
59
+ *
60
+ * `provenance.mark` NEVER folds: it is instance-bound, minted per agent at
61
+ * `create-agent`, and two agents sharing a mark are indistinguishable in the one place
62
+ * an operator reads them. It arrives on `declared` and leaves untouched.
63
+ */
64
+ export function holds(role, declared) {
65
+ const resolved = {
66
+ name: declared.name,
67
+ description: declared.description,
68
+ archetype: declared.archetype,
69
+ provenance: declared.provenance,
70
+ };
71
+ if (declared.preamble !== undefined) {
72
+ resolved.preamble = declared.preamble;
73
+ }
74
+ const skills = [
75
+ ...(role.skills ?? []),
76
+ ...(declared.skills ?? []).filter((s) => !(role.skills ?? []).includes(s)),
77
+ ];
78
+ if (skills.length > 0) {
79
+ resolved.skills = skills;
80
+ }
81
+ const roleVector = role.vector;
82
+ const declaredVector = declared;
83
+ for (const dimension of DIMENSION_NAMES) {
84
+ const field = kebabToCamel(dimension);
85
+ if (dimension === 'role') {
86
+ resolved[field] = role.sign;
87
+ continue;
88
+ }
89
+ const fromRole = roleVector[field];
90
+ const stated = field in declaredVector ? declaredVector[field] : undefined;
91
+ if (MANIFEST[dimension].arity === 'set') {
92
+ const base = Array.isArray(fromRole) ? fromRole : [];
93
+ const extension = Array.isArray(stated) ? stated : [];
94
+ const union = [...base, ...extension.filter((v) => !base.includes(v))];
95
+ resolved[field] = union.length > 0 ? union : null;
96
+ continue;
97
+ }
98
+ resolved[field] =
99
+ field in declaredVector ? (stated ?? null) : (fromRole ?? null);
100
+ }
101
+ // The ONE cast, and it is structural rather than hopeful: the loop is driven by
102
+ // `DIMENSION_NAMES`, so every dimension field of `Agent` is assigned exactly once.
103
+ return resolved;
104
+ }
105
+ //# sourceMappingURL=hold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold.js","sourceRoot":"","sources":["../../src/roles/hold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { RoleCell } from './hold.js';
2
+ export declare const implementerRole: RoleCell;
@@ -0,0 +1,60 @@
1
+ import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
2
+ import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
3
+ import { missionCommand } from '../dimensions/autonomy/mission-command.js';
4
+ import { softwareEngineering as softwareEngineering_capabilities } from '../dimensions/capabilities/software-engineering.js';
5
+ import { verificationTesting as verificationTesting_capabilities } from '../dimensions/capabilities/verification-testing.js';
6
+ import { cratylism as cratylism_engineeringPrinciples } from '../dimensions/engineering-principles/cratylism.js';
7
+ import { dry as dry_engineeringPrinciples } from '../dimensions/engineering-principles/dry.js';
8
+ import { firstPrinciples as firstPrinciples_engineeringPrinciples } from '../dimensions/engineering-principles/first-principles.js';
9
+ import { simplicity as simplicity_engineeringPrinciples } from '../dimensions/engineering-principles/simplicity.js';
10
+ import { plain as plain_formality } from '../dimensions/formality/plain.js';
11
+ import { correctnessOriented as correctnessOriented_framing } from '../dimensions/framing/correctness-oriented.js';
12
+ import { honesty as honesty_guardrails } from '../dimensions/guardrails/honesty.js';
13
+ import { correctionConsolidation as correctionConsolidation_learning } from '../dimensions/learning/correction-consolidation.js';
14
+ import { correctness as correctness_objective } from '../dimensions/objective/correctness.js';
15
+ import { react as react_reasoningStrategy } from '../dimensions/reasoning-strategy/react.js';
16
+ import { implementer as implementer_role } from '../dimensions/role/implementer.js';
17
+ import { satisfice as satisfice_satisficing } from '../dimensions/satisficing/satisfice.js';
18
+ import { executableTestOracle as executableTestOracle_selfEvaluation } from '../dimensions/self-evaluation/executable-test-oracle.js';
19
+ import { perception as perception_situationAwareness } from '../dimensions/situation-awareness/perception.js';
20
+ import { limitationDisclosure as limitationDisclosure_transparency } from '../dimensions/transparency/limitation-disclosure.js';
21
+ // THE BOTTOM RUNG, and the only one whose write layer is the substrate. It carries no
22
+ // workflow skill by design: a skill guides an agent through decisions it must make, and
23
+ // this position's decisions were made for it. It needs a unit of work, tools, and the
24
+ // discipline to stay inside the boundary.
25
+ export const implementerRole = {
26
+ sign: implementer_role,
27
+ vector: {
28
+ formality: plain_formality,
29
+ audienceAdaptation: maintenance_audienceAdaptation,
30
+ // `limitation-disclosure`: this position's entire value to the layer above is an
31
+ // honest account of what it could NOT establish. A clean report that hides an
32
+ // unproven leg is worse than a failure, because it is acted on.
33
+ transparency: limitationDisclosure_transparency,
34
+ autonomy: [missionCommand, handoff_autonomy],
35
+ objective: correctness_objective,
36
+ engineeringPrinciples: [
37
+ cratylism_engineeringPrinciples,
38
+ firstPrinciples_engineeringPrinciples,
39
+ simplicity_engineeringPrinciples,
40
+ dry_engineeringPrinciples,
41
+ ],
42
+ guardrails: [honesty_guardrails],
43
+ capabilities: [
44
+ softwareEngineering_capabilities,
45
+ verificationTesting_capabilities,
46
+ ],
47
+ learning: correctionConsolidation_learning,
48
+ situationAwareness: perception_situationAwareness,
49
+ framing: correctnessOriented_framing,
50
+ reasoningStrategy: react_reasoningStrategy,
51
+ // `satisfice`, and it is the one aspect that must not be `optimize` here.
52
+ // Optimising past the spec IS the exceeding failure the contract names: this
53
+ // position builds to the contract and stops.
54
+ satisficing: satisfice_satisficing,
55
+ // The oracle is the spec's own criteria, executed. That is verification, and it is
56
+ // exactly right at this rung — it is only wrong when mistaken for validation.
57
+ selfEvaluation: executableTestOracle_selfEvaluation,
58
+ },
59
+ };
60
+ //# sourceMappingURL=implementer.js.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ import type { RoleCell } from './hold.js';
2
+ export declare const plannerRole: RoleCell;
@@ -0,0 +1,70 @@
1
+ import { maintenance as maintenance_audienceAdaptation } from '../dimensions/audience-adaptation/maintenance.js';
2
+ import { handoff as handoff_autonomy } from '../dimensions/autonomy/handoff.js';
3
+ import { missionCommand } from '../dimensions/autonomy/mission-command.js';
4
+ import { planningDecomposition as planningDecomposition_capabilities } from '../dimensions/capabilities/planning-decomposition.js';
5
+ import { researchInvestigation as researchInvestigation_capabilities } from '../dimensions/capabilities/research-investigation.js';
6
+ import { cratylism as cratylism_engineeringPrinciples } from '../dimensions/engineering-principles/cratylism.js';
7
+ import { dry as dry_engineeringPrinciples } from '../dimensions/engineering-principles/dry.js';
8
+ import { firstPrinciples as firstPrinciples_engineeringPrinciples } from '../dimensions/engineering-principles/first-principles.js';
9
+ import { llmNative as llmNative_engineeringPrinciples } from '../dimensions/engineering-principles/llm-native.js';
10
+ import { mece as mece_engineeringPrinciples } from '../dimensions/engineering-principles/mece.js';
11
+ import { simplicity as simplicity_engineeringPrinciples } from '../dimensions/engineering-principles/simplicity.js';
12
+ import { plain as plain_formality } from '../dimensions/formality/plain.js';
13
+ import { decompositional as decompositional_framing } from '../dimensions/framing/decompositional.js';
14
+ import { honesty as honesty_guardrails } from '../dimensions/guardrails/honesty.js';
15
+ import { correctionConsolidation as correctionConsolidation_learning } from '../dimensions/learning/correction-consolidation.js';
16
+ import { thoroughness as thoroughness_objective } from '../dimensions/objective/thoroughness.js';
17
+ import { planAndSolve as planAndSolve_reasoningStrategy } from '../dimensions/reasoning-strategy/plan-and-solve.js';
18
+ import { planner as planner_role } from '../dimensions/role/planner.js';
19
+ import { optimize as optimize_satisficing } from '../dimensions/satisficing/optimize.js';
20
+ import { acceptanceCriteriaCheck as acceptanceCriteriaCheck_selfEvaluation } from '../dimensions/self-evaluation/acceptance-criteria-check.js';
21
+ import { comprehension as comprehension_situationAwareness } from '../dimensions/situation-awareness/comprehension.js';
22
+ import { provenanceAttribution as provenanceAttribution_transparency } from '../dimensions/transparency/provenance-attribution.js';
23
+ // THE MIDDLE RUNG. Holds `mission-command` and `handoff` but NOT `principal-self`: the
24
+ // boundary was drawn above it, and the contract's `⊄ writes C` is what makes that
25
+ // refusal structural rather than a matter of discipline.
26
+ //
27
+ // `system-design` is absent alongside `software-engineering` — this position neither
28
+ // designs nor builds. What it owns is the census and the cut-into-units.
29
+ export const plannerRole = {
30
+ 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.
34
+ skills: ['plan'],
35
+ vector: {
36
+ formality: plain_formality,
37
+ audienceAdaptation: maintenance_audienceAdaptation,
38
+ // `provenance-attribution`: a census is only worth what its sourcing is worth, and
39
+ // a count quoted without its denominator is indistinguishable from not having
40
+ // looked. Every finding carries where it came from and whether it was observed or
41
+ // inferred.
42
+ transparency: provenanceAttribution_transparency,
43
+ autonomy: [missionCommand, handoff_autonomy],
44
+ // `thoroughness`, not `delivery`: this position ships no artifact a user sees, and
45
+ // its failure mode is an incomplete census rather than a slow one.
46
+ objective: thoroughness_objective,
47
+ engineeringPrinciples: [
48
+ cratylism_engineeringPrinciples,
49
+ llmNative_engineeringPrinciples,
50
+ firstPrinciples_engineeringPrinciples,
51
+ simplicity_engineeringPrinciples,
52
+ dry_engineeringPrinciples,
53
+ mece_engineeringPrinciples,
54
+ ],
55
+ guardrails: [honesty_guardrails],
56
+ capabilities: [
57
+ planningDecomposition_capabilities,
58
+ researchInvestigation_capabilities,
59
+ ],
60
+ learning: correctionConsolidation_learning,
61
+ // `comprehension`, where the architect holds `projection`: this position's job is
62
+ // to establish what IS, exhaustively, not to anticipate what follows.
63
+ situationAwareness: comprehension_situationAwareness,
64
+ framing: decompositional_framing,
65
+ reasoningStrategy: planAndSolve_reasoningStrategy,
66
+ satisficing: optimize_satisficing,
67
+ selfEvaluation: acceptanceCriteriaCheck_selfEvaluation,
68
+ },
69
+ };
70
+ //# sourceMappingURL=planner.js.map
@@ -0,0 +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"}
@@ -16,6 +16,25 @@ import { plan } from '../plan/skill.js';
16
16
  // rather than convenient: a check costing more than redoing the work is skipped, and
17
17
  // no instruction survives that gradient. Naming discipline is what buys the cheapness —
18
18
  // if the artifact spells its concept, two of the three are reading a name.
19
+ //
20
+ // WHERE THE READ GOES, AND WHY THE VERDICT DOES NOT FOLLOW IT. `validate ⊨ artifact` is
21
+ // right and it has a cost: reading artifacts is reading files — paths, identifiers, call
22
+ // sites — which is exactly the mechanical work the architect's contract calls a descent.
23
+ // Left there, the skill obliges the design-holder to descend on every wave, and by the
24
+ // third wave the design-holder is a code reviewer holding a lattice it can no longer
25
+ // carry. So `validate` is two operations under one name and they separate cleanly: the
26
+ // ASSAY (read the landed artifact, re-derive which concepts it realizes) is mechanical,
27
+ // substrate-bound and DELEGABLE; the JUDGMENT (what an unachieved concept means —
28
+ // rejection, an `amend(C)` because execution established a yield, or a design that was
29
+ // wrong) is keyed to C and is NOT.
30
+ //
31
+ // A THIRD PARTY DOES NOT REOPEN THE DEFECT THIS CELL CLOSES. The law forbids accepting
32
+ // on a claim from the party that BUILT the thing: one description, a closed loop. There
33
+ // are still two descriptions here and they are still held by different parties — the
34
+ // executor holds the spec and not the design, the assayer holds the design and not the
35
+ // spec. The artifact read the law demands still happens; it happens at the one site in
36
+ // the loop where reading substrate is the work rather than a descent, and what reaches
37
+ // the principal is in the only vocabulary the principal can check without descending.
19
38
  const FORMAL_BLOCK = `C @ design
20
39
  c ≜ a concept ⟨c ∈ C⟩
21
40
  anchor @ design
@@ -42,6 +61,10 @@ covers : path × ℘(C) → 𝔹 ⟨observable behaviour ≅ the factorization
42
61
  sole : path × anchor → 𝔹 ⟨∄ other artifact realizing the same concept⟩
43
62
  verify : P × return → 𝔹 ⟨the EXECUTOR's · built-it-right, against spec⟩
44
63
  validate : P → 𝔹 ⟨the PRINCIPAL's · built-the-right-thing, against C⟩
64
+ assay : artifact → ℘(C) ⟨which concepts the artifact ACTUALLY realizes · the REVERSE of plan⟩
65
+ assayer : unit ⇀ agent ⟨role = assayer · holds C ∧ ¬ holds spec(unit)⟩
66
+ achieved : unit → 𝔹 ⟨the three questions, answered against the assay⟩
67
+ unachieved : unit → ℘(⟨c, uncovered-factor, locus⟩) ⟨what crosses UPWARD⟩
45
68
  defect ≜ ⟨symptom, locus, provenance⟩
46
69
  impedes : defect × P → 𝔹
47
70
  cost : act → effort
@@ -52,9 +75,22 @@ commit @ design
52
75
  accepts @ design
53
76
 
54
77
  ∀ unit, r : ¬conform(r) ⇒ ¬accept(unit)(r)
55
- validate(unit) ⇔ spells(artifact(unit), realizes(unit))
78
+ achieved(unit) ⇔ realizes(unit) ∈ assay(artifact(unit))
79
+ ∧ spells(artifact(unit), realizes(unit))
56
80
  ∧ covers(artifact(unit), factors(denotes(realizes(unit))))
57
81
  ∧ sole(artifact(unit), realizes(unit))
82
+ unachieved(unit) = ∅ ⇔ achieved(unit)
83
+ unachieved ⊨ C-typed ⟨it crosses in C's OWN vocabulary · mechanism-prose ⟨naming · structure ·
84
+ test-quality⟩ ⇒ REFUSE ∵ it descends the principal it was dispatched to spare⟩
85
+ locus ⊨ ROUTED ∧ ¬ read ⟨an ADDRESS so the redispatch has one · a citation is substrate, and
86
+ handing the principal substrate is the same defect in smaller pieces⟩
87
+ assay ⊨ artifact ⟨the ASSAYER reads the files · the ONE site in the loop where
88
+ substrate-reading is ¬ a descent⟩
89
+ assayer ⊥ executor ⟨TWO descriptions, two witnesses : executor holds spec ∧ ¬ holds C ·
90
+ assayer holds C ∧ ¬ holds spec⟩
91
+ validate(unit) ≜ unachieved(unit) = ∅ ⟨the principal JUDGES the assay ∧ ¬ re-reads the
92
+ artifact · the READ is delegable · the VERDICT is ¬ delegable ∵ keyed to C, which the
93
+ principal alone amends⟩
58
94
  validate ⊨ artifact ⟨NEVER r · a summary is a CLAIM ∧ the file is EVIDENCE ·
59
95
  an acceptance that read only the return has accepted nothing⟩
60
96
  validate ⊨ self ⟨¬ delegable · the executor cannot judge its own conformance ∵ it
@@ -67,6 +103,8 @@ judge(unit) ≜ verify(unit, r) ∧ validate(unit) ⇒ advance(unit) ; ¬ ⇒ r
67
103
  and it takes everything when a run dies mid-judgement⟩
68
104
  ⟨fan-in is as order-sensitive as fan-out : ∀ unit dispatched, confirm executor(unit)
69
105
  RETURNED · outputs(unit) exist ≠ executor(unit) returned⟩
106
+ ¬validate(unit) ⇒ redispatch(executor(unit), unachieved(unit)) ⟨the flaw handed down is
107
+ CONCEPTUAL ∧ ¬ a review⟩
70
108
  cost(validate) < cost(rebuild) ⟨else the gradient points at skipping · the cheapness
71
109
  is BOUGHT by conform(anchor) ∴ naming discipline is the verification budget⟩
72
110
  ¬spells ⇒ REFUSE ≺ any behavioural read ⟨the traceability arrow breaks at the cheapest
@@ -87,8 +125,8 @@ cost(file) < cost(fix) ⟨else the gradient points at chasing · the load-bearin
87
125
  elect ≜ in-flight ≻ gating ≻ operator-intent ⟨lexicographic⟩
88
126
  terminal(P) ⇒ retire(P) ⟨obligation ¬ permission · an unretired terminal plan is WIP
89
127
  that is not work⟩ ; C persists ⟨plans come ∧ go ABOVE the design⟩
90
- deliver ≜ bind → dispatch(wave) → verify ⟨executor⟩ → validate ⟨self, on artifact⟩ →
91
- judge → amend(C) ⇔ yield → advance → retire`;
128
+ deliver ≜ bind → dispatch(wave) → verify ⟨executor⟩ → assay ⟨assayer, on artifact⟩ →
129
+ validate ⟨self, on the assay⟩ → judge → amend(C) ⇔ yield → advance → retire`;
92
130
  export const deliver = {
93
131
  name: 'deliver',
94
132
  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.`,
@@ -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;AAE3E,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAwE8C,CAAC;AAEpE,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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cratylus/canon",
3
- "version": "0.3.0",
3
+ "version": "0.4.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": {
@@ -1,2 +0,0 @@
1
- export const build = `build ≜ ⟨conceive design produce deliver⟩`;
2
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/dimensions/role/build.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAS,2CAA2C,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const converse: Role;
@@ -1,2 +0,0 @@
1
- export const converse = `converse ≜ dialogue ⟨the-deliverable⟩`;
2
- //# sourceMappingURL=converse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"converse.js","sourceRoot":"","sources":["../../../src/dimensions/role/converse.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAS,uCAAuC,CAAC"}
@@ -1,2 +0,0 @@
1
- export const curate = `curate ≜ ⟨canonical-corpus⟩`;
2
- //# sourceMappingURL=curate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"curate.js","sourceRoot":"","sources":["../../../src/dimensions/role/curate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAS,6BAA6B,CAAC"}
@@ -1,2 +0,0 @@
1
- export const diagnose = `diagnose`;
2
- //# sourceMappingURL=diagnose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../../src/dimensions/role/diagnose.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAS,UAAU,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const document: Role;
@@ -1,2 +0,0 @@
1
- export const document = `document ≜ ⟨reader-facing explanatory⟩`;
2
- //# sourceMappingURL=document.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/dimensions/role/document.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAS,wCAAwC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const implement: Role;
@@ -1,2 +0,0 @@
1
- export const implement = `implement`;
2
- //# sourceMappingURL=implement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"implement.js","sourceRoot":"","sources":["../../../src/dimensions/role/implement.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAS,WAAW,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const operate: Role;
@@ -1,2 +0,0 @@
1
- export const operate = `operate ≜ live-system ⟨steady-state⟩`;
2
- //# sourceMappingURL=operate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operate.js","sourceRoot":"","sources":["../../../src/dimensions/role/operate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAS,sCAAsC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const orchestrate: Role;
@@ -1,2 +0,0 @@
1
- export const orchestrate = `orchestrate`;
2
- //# sourceMappingURL=orchestrate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../src/dimensions/role/orchestrate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAS,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const plan: Role;
@@ -1,2 +0,0 @@
1
- export const plan = `plan ≜ ⟨decompose sequence⟩`;
2
- //# sourceMappingURL=plan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/dimensions/role/plan.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAS,6BAA6B,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const research: Role;
@@ -1,2 +0,0 @@
1
- export const research = `research`;
2
- //# sourceMappingURL=research.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/dimensions/role/research.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAS,UAAU,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const review: Role;
@@ -1,2 +0,0 @@
1
- export const review = `review`;
2
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/dimensions/role/review.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAS,QAAQ,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Role } from '../../manifest.js';
2
- export declare const test: Role;
@@ -1,2 +0,0 @@
1
- export const test = `test ≜ ⟨exercise pass-fail-evidence⟩`;
2
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/dimensions/role/test.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAS,sCAAsC,CAAC"}