@cratylus/canon 0.18.0 → 0.20.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 (190) hide show
  1. package/README.md +60 -58
  2. package/dist/agents/kino.js +1 -1
  3. package/dist/agents/kino.js.map +1 -1
  4. package/dist/agents/mav.js +1 -1
  5. package/dist/agents/mav.js.map +1 -1
  6. package/dist/agents/nico.js +1 -1
  7. package/dist/agents/nico.js.map +1 -1
  8. package/dist/compose.d.ts +4 -4
  9. package/dist/compose.js +14 -16
  10. package/dist/compose.js.map +1 -1
  11. package/dist/contracts.js +15 -15
  12. package/dist/contracts.js.map +1 -1
  13. package/dist/dimensions/action-scope/integrate.js +1 -1
  14. package/dist/dimensions/action-scope/integrate.js.map +1 -1
  15. package/dist/dimensions/assignment/concepts.js +1 -1
  16. package/dist/dimensions/assignment/concepts.js.map +1 -1
  17. package/dist/dimensions/assignment/review-request.js +1 -1
  18. package/dist/dimensions/assignment/review-request.js.map +1 -1
  19. package/dist/dimensions/assignment/task.js +1 -1
  20. package/dist/dimensions/assignment/task.js.map +1 -1
  21. package/dist/dimensions/assignment/{story.d.ts → user-story.d.ts} +1 -1
  22. package/dist/dimensions/assignment/user-story.js +2 -0
  23. package/dist/dimensions/assignment/user-story.js.map +1 -0
  24. package/dist/dimensions/autonomy/management-by-exception.d.ts +2 -0
  25. package/dist/dimensions/autonomy/management-by-exception.js +2 -0
  26. package/dist/dimensions/autonomy/management-by-exception.js.map +1 -0
  27. package/dist/dimensions/communication-style/bottom-line-up-front.js +1 -1
  28. package/dist/dimensions/communication-style/bottom-line-up-front.js.map +1 -1
  29. package/dist/dimensions/communication-style/layman.js +1 -1
  30. package/dist/dimensions/communication-style/layman.js.map +1 -1
  31. package/dist/dimensions/deliverable/{review.d.ts → code-review.d.ts} +1 -1
  32. package/dist/dimensions/deliverable/code-review.js +2 -0
  33. package/dist/dimensions/deliverable/code-review.js.map +1 -0
  34. package/dist/dimensions/deliverable/outcome.js +1 -1
  35. package/dist/dimensions/deliverable/outcome.js.map +1 -1
  36. package/dist/dimensions/deliverable/read-back.js +1 -1
  37. package/dist/dimensions/deliverable/read-back.js.map +1 -1
  38. package/dist/dimensions/expertise/evaluation-design.js +1 -1
  39. package/dist/dimensions/expertise/evaluation-design.js.map +1 -1
  40. package/dist/dimensions/expertise/semantic-addressing.js +1 -1
  41. package/dist/dimensions/expertise/semantic-addressing.js.map +1 -1
  42. package/dist/dimensions/guardrails/append-only.js +1 -1
  43. package/dist/dimensions/guardrails/append-only.js.map +1 -1
  44. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js +1 -1
  45. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js.map +1 -1
  46. package/dist/dimensions/guardrails/honesty.js +1 -1
  47. package/dist/dimensions/guardrails/honesty.js.map +1 -1
  48. package/dist/dimensions/guardrails/input-untrusted.js +1 -1
  49. package/dist/dimensions/guardrails/input-untrusted.js.map +1 -1
  50. package/dist/dimensions/guardrails/never-repairs.js +1 -1
  51. package/dist/dimensions/guardrails/never-repairs.js.map +1 -1
  52. package/dist/dimensions/guardrails/no-implementation.js +1 -1
  53. package/dist/dimensions/guardrails/no-implementation.js.map +1 -1
  54. package/dist/dimensions/guardrails/privacy.js +1 -1
  55. package/dist/dimensions/guardrails/privacy.js.map +1 -1
  56. package/dist/dimensions/memory/reconstitution.js +1 -1
  57. package/dist/dimensions/memory/reconstitution.js.map +1 -1
  58. package/dist/dimensions/memory/source-of-truth.js +1 -1
  59. package/dist/dimensions/memory/source-of-truth.js.map +1 -1
  60. package/dist/dimensions/model/frontier-other-family.js +1 -1
  61. package/dist/dimensions/model/frontier-other-family.js.map +1 -1
  62. package/dist/dimensions/objective/conceptual-integrity.js +1 -1
  63. package/dist/dimensions/objective/conceptual-integrity.js.map +1 -1
  64. package/dist/dimensions/objective/delivery.js +1 -1
  65. package/dist/dimensions/objective/delivery.js.map +1 -1
  66. package/dist/dimensions/objective/review-accuracy.js +1 -1
  67. package/dist/dimensions/objective/review-accuracy.js.map +1 -1
  68. package/dist/dimensions/perception-scope/concept-journal.js +1 -1
  69. package/dist/dimensions/perception-scope/concept-journal.js.map +1 -1
  70. package/dist/dimensions/perception-scope/held-out-examples.js +1 -1
  71. package/dist/dimensions/perception-scope/held-out-examples.js.map +1 -1
  72. package/dist/dimensions/perception-scope/own-task.js +1 -1
  73. package/dist/dimensions/perception-scope/own-task.js.map +1 -1
  74. package/dist/dimensions/perception-scope/{work.d.ts → work-product.d.ts} +1 -1
  75. package/dist/dimensions/perception-scope/work-product.js +2 -0
  76. package/dist/dimensions/perception-scope/work-product.js.map +1 -0
  77. package/dist/dimensions/procedure/code-review.js +1 -1
  78. package/dist/dimensions/procedure/code-review.js.map +1 -1
  79. package/dist/dimensions/procedure/orchestrator-workers.js +1 -1
  80. package/dist/dimensions/procedure/orchestrator-workers.js.map +1 -1
  81. package/dist/dimensions/procedure/reconstitution.js +1 -1
  82. package/dist/dimensions/procedure/reconstitution.js.map +1 -1
  83. package/dist/dimensions/procedure/ship-show-ask.js +1 -1
  84. package/dist/dimensions/procedure/ship-show-ask.js.map +1 -1
  85. package/dist/dimensions/role/architect.js +1 -1
  86. package/dist/dimensions/role/architect.js.map +1 -1
  87. package/dist/dimensions/role/builder.js +1 -1
  88. package/dist/dimensions/role/builder.js.map +1 -1
  89. package/dist/dimensions/role/check-writer.js +1 -1
  90. package/dist/dimensions/role/check-writer.js.map +1 -1
  91. package/dist/dimensions/role/illustrator.js +1 -1
  92. package/dist/dimensions/role/illustrator.js.map +1 -1
  93. package/dist/dimensions/role/lead.js +1 -1
  94. package/dist/dimensions/role/lead.js.map +1 -1
  95. package/dist/dimensions/role/reviewer.js +1 -1
  96. package/dist/dimensions/role/reviewer.js.map +1 -1
  97. package/dist/dimensions/stance/cold-decode-oracle.js +1 -1
  98. package/dist/dimensions/stance/cold-decode-oracle.js.map +1 -1
  99. package/dist/dimensions/stance/conceptual-elevation.js +1 -1
  100. package/dist/dimensions/stance/conceptual-elevation.js.map +1 -1
  101. package/dist/dimensions/stance/decisive.js +1 -1
  102. package/dist/dimensions/stance/decisive.js.map +1 -1
  103. package/dist/dimensions/stance/{proportionate.d.ts → tailoring.d.ts} +1 -1
  104. package/dist/dimensions/stance/tailoring.js +2 -0
  105. package/dist/dimensions/stance/tailoring.js.map +1 -0
  106. package/dist/dimensions/stance/zero-trust.js +1 -1
  107. package/dist/dimensions/stance/zero-trust.js.map +1 -1
  108. package/dist/genus/prime-principle.d.ts +4 -3
  109. package/dist/genus/prime-principle.js +3 -2
  110. package/dist/genus/prime-principle.js.map +1 -1
  111. package/dist/index.d.ts +3 -3
  112. package/dist/index.js +10 -11
  113. package/dist/index.js.map +1 -1
  114. package/dist/manifest.d.ts +12 -12
  115. package/dist/manifest.js +20 -26
  116. package/dist/manifest.js.map +1 -1
  117. package/dist/operator-lexicon.d.ts +1 -12
  118. package/dist/operator-lexicon.js +3 -33
  119. package/dist/operator-lexicon.js.map +1 -1
  120. package/dist/practices.d.ts +1 -2
  121. package/dist/practices.js +2 -6
  122. package/dist/practices.js.map +1 -1
  123. package/dist/roles/architect.js +16 -34
  124. package/dist/roles/architect.js.map +1 -1
  125. package/dist/roles/builder.js +4 -4
  126. package/dist/roles/builder.js.map +1 -1
  127. package/dist/roles/check-writer.js +3 -3
  128. package/dist/roles/check-writer.js.map +1 -1
  129. package/dist/roles/illustrator.js +2 -2
  130. package/dist/roles/illustrator.js.map +1 -1
  131. package/dist/roles/lead.js +16 -22
  132. package/dist/roles/lead.js.map +1 -1
  133. package/dist/roles/reviewer.js +11 -10
  134. package/dist/roles/reviewer.js.map +1 -1
  135. package/dist/rules/commit-discipline.d.ts +3 -0
  136. package/dist/rules/commit-discipline.js +26 -0
  137. package/dist/rules/commit-discipline.js.map +1 -0
  138. package/dist/rules/conventional-commits.d.ts +3 -0
  139. package/dist/rules/conventional-commits.js +38 -0
  140. package/dist/rules/conventional-commits.js.map +1 -0
  141. package/dist/rules/established-libraries.d.ts +3 -0
  142. package/dist/rules/established-libraries.js +20 -0
  143. package/dist/rules/established-libraries.js.map +1 -0
  144. package/dist/rules/gitflow.d.ts +3 -0
  145. package/dist/rules/gitflow.js +32 -0
  146. package/dist/rules/gitflow.js.map +1 -0
  147. package/dist/rules/green-field.d.ts +3 -0
  148. package/dist/rules/green-field.js +20 -0
  149. package/dist/rules/green-field.js.map +1 -0
  150. package/dist/rulesets.d.ts +2 -0
  151. package/dist/rulesets.js +17 -0
  152. package/dist/rulesets.js.map +1 -0
  153. package/dist/skills/conceptualize/skill.js +2 -3
  154. package/dist/skills/conceptualize/skill.js.map +1 -1
  155. package/dist/skills/create-agent/skill.js +1 -1
  156. package/dist/skills/create-skill/skill.js +1 -1
  157. package/dist/skills/elicit/skill.js +2 -3
  158. package/dist/skills/elicit/skill.js.map +1 -1
  159. package/dist/skills/exemplify/skill.js +3 -4
  160. package/dist/skills/exemplify/skill.js.map +1 -1
  161. package/dist/skills/materialize/skill.js +2 -3
  162. package/dist/skills/materialize/skill.js.map +1 -1
  163. package/dist/skills/probe/skill.js +24 -25
  164. package/dist/skills/probe/skill.js.map +1 -1
  165. package/dist/skills/signify/skill.js +22 -21
  166. package/dist/skills/signify/skill.js.map +1 -1
  167. package/package.json +5 -6
  168. package/dist/dimensions/assignment/story.js +0 -2
  169. package/dist/dimensions/assignment/story.js.map +0 -1
  170. package/dist/dimensions/deliverable/review.js +0 -2
  171. package/dist/dimensions/deliverable/review.js.map +0 -1
  172. package/dist/dimensions/perception-scope/work.js +0 -2
  173. package/dist/dimensions/perception-scope/work.js.map +0 -1
  174. package/dist/dimensions/stance/proportionate.js +0 -2
  175. package/dist/dimensions/stance/proportionate.js.map +0 -1
  176. package/dist/genus/persona.d.ts +0 -8
  177. package/dist/genus/persona.js +0 -30
  178. package/dist/genus/persona.js.map +0 -1
  179. package/dist/hook-cells.d.ts +0 -3
  180. package/dist/hook-cells.js +0 -14
  181. package/dist/hook-cells.js.map +0 -1
  182. package/dist/hooks/deploy-drift-notice.d.ts +0 -2
  183. package/dist/hooks/deploy-drift-notice.js +0 -431
  184. package/dist/hooks/deploy-drift-notice.js.map +0 -1
  185. package/dist/rules/repo-preamble.d.ts +0 -2
  186. package/dist/rules/repo-preamble.js +0 -49
  187. package/dist/rules/repo-preamble.js.map +0 -1
  188. package/dist/skills/introspect/skill.d.ts +0 -2
  189. package/dist/skills/introspect/skill.js +0 -55
  190. package/dist/skills/introspect/skill.js.map +0 -1
@@ -8,9 +8,8 @@ import { primePrinciple } from '../../genus/prime-principle.js';
8
8
  // signification cells each claimed to be composed from the other three, and no one of
9
9
  // them could be read, taken or deployed alone.
10
10
  //
11
- // The relation those edges named is CITATION, not dependency: `symbol-altitude`'s
12
- // LEDGER records these cells RESTATING each other's signs in different registers
13
- // (prose here, signature there), which is what a REFERENCE row means. A citation
11
+ // The relation those edges named is CITATION, not dependency: these cells RESTATE each
12
+ // other's signs in different registers (prose here, signature there). A citation
14
13
  // belongs inside the block, at the sign that borrows it (`@ <cell>`), where it needs
15
14
  // no import and cannot cycle. Composition is the caller's: an agent pipes these cells
16
15
  // in whatever order the work wants.
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/materialize/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,sGAAsG;AACtG,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,oZAAoZ;IACja,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4CoC;IACjD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/materialize/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,sGAAsG;AACtG,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,uFAAuF;AACvF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,oZAAoZ;IACja,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4CoC;IACjD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
@@ -8,63 +8,62 @@ import { primePrinciple } from '../../genus/prime-principle.js';
8
8
  // signification cells each claimed to be composed from the other three, and no one of
9
9
  // them could be read, taken or deployed alone.
10
10
  //
11
- // The relation those edges named is CITATION, not dependency: `symbol-altitude`'s
12
- // LEDGER records these cells RESTATING each other's signs in different registers
13
- // (prose here, signature there), which is what a REFERENCE row means. A citation
11
+ // The relation those edges named is CITATION, not dependency: these cells RESTATE each
12
+ // other's signs in different registers (prose here, signature there). A citation
14
13
  // belongs inside the block, at the sign that borrows it (`@ <cell>`), where it needs
15
14
  // no import and cannot cycle. Composition is the caller's: an agent pipes these cells
16
15
  // in whatever order the work wants.
17
16
  const FORMAL_BLOCK = `D ≜ distinction space ⟨structured knowledge to draw on⟩
18
17
  cl ≜ closure ⟨smallest concept containing a set of priors⟩
19
18
  C ≜ concept lattice ⟨the cl-closed subsets of D⟩
20
- priors(w) ≜ understanding w carries before any definition ⟨associations · connotations · structured-knowledge unpacked from the token alone, not its surface wording⟩
19
+ priors(w,κ) ≜ understanding w carries before any definition, read in κ ⟨associations · connotations · structured-knowledge unpacked from w with κ's name and subject, not its surface wording⟩
21
20
  Names ≜ the readable signifiers
22
- dec : Names ⇀ ℘(D) @ signify
21
+ dec : Names × bounded-context ⇀ ℘(D) @ signify
23
22
  σ* @ signify
23
+ κ, fired @ signify ⟨w is read in κ, the bounded context under probe⟩
24
24
  w ≜ a signifier under probe ⟨w ∈ Names⟩
25
25
  c ≜ a target concept ⟨c ∈ C⟩
26
26
  W(c) ≜ experiment's finite candidate set for target c ⟨W(c) ⊆ Names⟩
27
- probe : Names → ℘(D) × C
27
+ probe : Names × bounded-context → ℘(D) × C
28
28
  K @ cold-decode-oracle
29
29
  frame ≜ the elicitation's obligation-shape ⟨produce-a-candidate ∨ licenced-to-refuse⟩
30
30
  parts(w) ≜ constituents(w) ∪ { w } ∪ permutations(w) ⟨word-order variants of a compound⟩
31
31
  Idiom ⊆ Names ⟨an established reading that PREEMPTS the compositional one⟩
32
32
  head(w) · mod(w) ≜ w's head ∧ its modifier ⟨compound w⟩
33
33
  free(h) ⇔ h alone is unbound in the corpus
34
- fired : Names → ℘(D)
35
- fired(w) ≜ priors(w)
36
- fired(a) = dec(a) , a ∈ dom(dec)
37
- concept(w) ≜ cl(fired(w))
38
- probe(w) ≜ ⟨ fired(w) · concept(w) ⟩ ⟨w ALONE : ∄ sibling · ∄ menu · open question⟩
39
- probe(w) ↾ W ≜ w read amid W ⟨the distractors' priors leak into the read ⇒ CONTRAST, ¬ priors(w)⟩
40
- experiment(c) ≜ { w ∈ W(c) | concept(w) ↾ W(c) = c } ⊨ DIAGNOSTIC ⟨narrows W(c) ; ¬ decides σ*⟩
41
- coverage : { w ∈ Names | fired(w) ≠ ∅ ∧ concept(w) = c } ⊆ W(c)
42
- crystallize : σ*(c) = w ⇔ w ∈ experiment(c) ∧ concept(w) = c
43
- ⟨∈ experiment NECESSARY ¬ SUFFICIENT ; llm-native ¬leading-candidate-set binds the decision to probe(w)⟩
34
+ fired(w,κ) ≜ priors(w,κ)
35
+ fired(a, κ) = dec(a, κ) , ⟨a, κ⟩ ∈ dom(dec)
36
+ concept(w,κ) ≜ cl(fired(w,κ))
37
+ probe(w,κ) ≜ ⟨ fired(w,κ) · concept(w,κ) ⟩ ⟨w with κ's name and subject only : ∄ sibling · ∄ menu · open question⟩
38
+ probe(w,κ) ↾ W ≜ w read in κ amid W ⟨the distractors' priors leak into the read ⇒ CONTRAST, ¬ priors(w,κ)⟩
39
+ experiment(c) ≜ { w ∈ W(c) | concept(w, κ(c)) ↾ W(c) = c } ⊨ DIAGNOSTIC ⟨narrows W(c) ; ¬ decides σ*⟩
40
+ coverage : { w ∈ Names | fired(w, κ(c)) ≠ ∅ ∧ concept(w, κ(c)) = c } ⊆ W(c)
41
+ crystallize : σ*(c) = w ⇔ w ∈ experiment(c) ∧ concept(w, κ(c)) = c
42
+ ⟨∈ experiment NECESSARY ¬ SUFFICIENT ; llm-native ¬leading-candidate-set binds the decision to probe(w, κ(c))⟩
44
43
 
45
- probe(w | K) ≜ probe(w) taken at K ⟨probe is MEASURED, ¬ read-off : a FAMILY over K, ¬ one value⟩
46
- probe(w | ∅) ⊨ self-sufficiency ⟨cold : does w circumscribe carrying ZERO corpus?⟩
47
- probe(w | K_reader) ⊨ what w fires IN SITU ⟨the reading that binds at use⟩
48
- { d ∈ fired(w) ↾ K_reader | d ∉ fired(w) ↾ ∅ } ⊨ THE measurement
44
+ probe(w,κ | K) ≜ probe(w,κ) taken at K ⟨probe is MEASURED, ¬ read-off : a FAMILY over K, ¬ one value⟩
45
+ probe(w,κ | ∅) ⊨ self-sufficiency ⟨cold : does w, given κ's name and subject, circumscribe carrying ZERO corpus?⟩
46
+ probe(w,κ | K_reader) ⊨ what w fires IN SITU ⟨the reading that binds at use⟩
47
+ { d ∈ fired(w,κ) ↾ K_reader | d ∉ fired(w,κ) ↾ ∅ } ⊨ THE measurement
49
48
  ⟨both poles REQUIRED ; a cold read is a CONTROL, never a substitute for the in-situ one⟩
50
49
  K(spawned-subagent) ⊇ deployed-corpus ∴ ¬cold ⟨it holds project memory · commit subjects · skill bodies⟩
51
50
  ∴ agreement( probe(w | K ⊇ corpus) , the corpus ) ⊨ ∅ ⟨it READ the answer⟩
52
51
  cold ⇔ process-isolation ⟨¬ a fresh subagent ; ¬ a stripped prompt⟩
53
52
 
54
53
  frame = produce-a-candidate ⇒ ∄ observable ∅ ⟨an obliged producer ALWAYS emits⟩
55
- ∴ licence-the-negative : vary the FRAME across runs, ¬ the prompt ⟨fired(w) = ∅ ∧ ∄ σ*(c) are RESULTS⟩
54
+ ∴ licence-the-negative : vary the FRAME across runs, ¬ the prompt ⟨fired(w,κ) = ∅ ∧ ∄ σ*(c) are RESULTS⟩
56
55
  ¬controlled(probe) ⇒ over-detection INVISIBLE ⟨a spurious constraint reads as caution⟩
57
56
  ∀ k imposed by a failing read : a passing read under a varied frame RETRACTS k
58
57
 
59
- fired(w) ⊨ sweep(parts(w)) vs Idiom ⟨the WINNER swept, ¬ only the rejects⟩
60
- free(head(w)) ⇒ fired(w) ⊇ fired(mod(w)) ⟨an unbound head takes the modifier's priors through it⟩
58
+ fired(w,κ) ⊨ sweep(parts(w)) vs Idiom ⟨the WINNER swept, ¬ only the rejects⟩
59
+ free(head(w)) ⇒ fired(w,κ) ⊇ fired(mod(w),κ) ⟨an unbound head takes the modifier's priors through it⟩
61
60
 
62
- ∀ w ∈ W(c) : probe(w) ↦ evidence about c ⟨harvest-the-rejects : concept(w) of a REJECTED w constrains D(c)⟩
61
+ ∀ w ∈ W(c) : probe(w, κ(c)) ↦ evidence about c ⟨harvest-the-rejects : concept(w, κ(c)) of a REJECTED w constrains D(c)⟩
63
62
  W(c) seeded from the ARTIFACT ⟨invoked verb · declared inverse · deferred-to cell⟩ ≺ minted candidates
64
63
  ⟨a real concept's sign is FOUND ; mint is the LAST resort, ¬ the first⟩`;
65
64
  export const probe = {
66
65
  name: 'probe',
67
- description: `use this skill to probe a signifier — read out the priors a word, phrase, or candidate name fires in the reader (\`fired\`, signify's decoder \`dec\` generalized off its assigned anchors) and the concept they circumscribe; the forward, no-commit inverse of signify, for discovering the concept latent in a name or experimenting with candidate anchors before committing — a keeper crystallizes through signify.`,
66
+ description: `use this skill to probe a signifier — read out the priors a word, phrase, or candidate name fires in the reader, read in its bounded context (\`fired\`, signify's decoder \`dec\` generalized off its assigned anchors) and the concept they circumscribe; the forward, no-commit inverse of signify, for discovering the concept latent in a name or experimenting with candidate anchors before committing — a keeper crystallizes through signify.`,
68
67
  formalBlock: FORMAL_BLOCK,
69
68
  composition: () => [],
70
69
  preamble: primePrinciple,
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/probe/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,mGAAmG;AACnG,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA+C0E,CAAC;AAEhG,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,2ZAA2Z;IACxa,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/probe/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,mGAAmG;AACnG,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,uFAAuF;AACvF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA+C0E,CAAC;AAEhG,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,wbAAwb;IACrc,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
@@ -8,63 +8,64 @@ import { primePrinciple } from '../../genus/prime-principle.js';
8
8
  // signification cells each claimed to be composed from the other three, and no one of
9
9
  // them could be read, taken or deployed alone.
10
10
  //
11
- // The relation those edges named is CITATION, not dependency: `symbol-altitude`'s
12
- // LEDGER records these cells RESTATING each other's signs in different registers
13
- // (prose here, signature there), which is what a REFERENCE row means. A citation
11
+ // The relation those edges named is CITATION, not dependency: these cells RESTATE each
12
+ // other's signs in different registers (prose here, signature there). A citation
14
13
  // belongs inside the block, at the sign that borrows it (`@ <cell>`), where it needs
15
14
  // no import and cannot cycle. Composition is the caller's: an agent pipes these cells
16
15
  // in whatever order the work wants.
17
16
  export const signify = {
18
17
  name: 'signify',
19
- description: `use this skill to name a concept — assign each its canonical anchor so one name ⇔ one concept, discovered by cold decode against the model's priors, never coined, for the corpus's core agent dimension names and values alone; stage 2 of exemplify, independently invocable.`,
18
+ description: `use this skill to name a concept — assign each its canonical anchor so one name ⇔ one concept within its bounded context, discovered by cold decode against the model's priors, never coined, for the corpus's core agent dimension names and values alone; stage 2 of exemplify, independently invocable.`,
20
19
  formalBlock: `C ≜ the concept lattice
21
20
  D ≜ the identity-criterion atoms a concept circumscribes
22
21
  prim(c) ≜ c has no factorization into other concepts
23
22
  Names ≜ the shared symbol space
24
23
  <_lex : total order on Names
25
24
  concept-record ≜ ⟨gloss, anchor, factorization⟩
26
- fired : Names → ℘(D)
27
- dec : Names ⇀ ℘(D)
28
- circ(n,c) ⇔ fired(n) = D(c)
25
+ κ : C → bounded-context ⟨the context c is read in · part of its sign's address⟩
26
+ fired : Names × bounded-context → ℘(D) ⟨fired(n, κ) : what n invokes read in κ⟩
27
+ dec : Names × bounded-context ⇀ ℘(D)
28
+ circ(n,c) ⇔ fired(n, κ(c)) = D(c)
29
29
  |n| ≜ LLM-native description-length
30
+ residue(n,c) ≜ residue @ workflow ⟨c named n · n read in κ(c)⟩
30
31
  σ* : C → Names
31
- σ*(c) ≜ argmin_{n : circ(n,c)} ⟨|n|, n⟩
32
+ σ*(c) ≜ argmin_{n} ⟨residue(n,c), |n|, n⟩ ⟨the smallest residue in κ(c) · |n| then n break a tie⟩
32
33
  mint : C ⇀ Names
33
- mint(c) ≜ ∘ M : M ⊆ { n : fired(n) ≠ ∅ } ∧ circ(∘ M, c)
34
+ mint(c) ≜ ∘ M : M ⊆ { n : fired(n, κ(c)) ≠ ∅ } ∧ circ(∘ M, c)
34
35
  Art ≜ the corpus's own authored surfaces ⟨prose ≡ identifier ≡ path⟩
35
- α : C ↣ Names ⟨dom(α) ≜ the concepts the corpus's core agent dimension names and values name · every other term is the industry's own, and no consumer surface is held to α⟩
36
+ α : C ↣ Names ⟨injective within each κ, ¬ across · dom(α) ≜ the concepts the corpus's core agent dimension names and values name · every other term is the industry's own, and no consumer surface is held to α⟩
36
37
  register(a) ≜ the register a's body is observably authored in ⟨σ* ∨ human⟩
37
38
  verbatim(a) ≜ a ships whole, byte-exact : settled σ*, never re-derived at projection
38
39
 
39
40
  ∀ c ∈ dom(α) : α(c) ≜ σ*(c)
40
- Anchors ≜ { α(c) | c ∈ dom(α) } ⟨the assigned-anchor set⟩
41
- dom(dec) = { α(p) | prim(p) } ; dec(α(p)) = fired(α(p))
41
+ Anchors ≜ { ⟨α(c), κ(c)⟩ | c ∈ dom(α) } ⟨the assigned-anchor set, each anchor with its context⟩
42
+ dom(dec) = { ⟨α(p), κ(p)⟩ | prim(p) } ; dec(α(p), κ(p)) = fired(α(p), κ(p))
42
43
  { n : circ(n,c) } = ∅ ⇒ σ*(c) = mint(c)
43
44
 
44
45
  name(k) fills anchor(k) ≜ α(gloss(k)) ; gloss(k) preserved ; factorization(k) untouched
45
46
 
46
- α(cᵢ) = α(cⱼ) ⇒ D(cᵢ) = D(cⱼ)
47
+ α(cᵢ) = α(cⱼ) ∧ κ(cᵢ) = κ(cⱼ) ⇒ D(cᵢ) = D(cⱼ)
47
48
 
48
- coalesce(cᵢ, cⱼ) ⇔ α(cᵢ) = α(cⱼ) ∧ D(cᵢ) = D(cⱼ)
49
- cᵢ <_N cⱼ ⇔ α(cᵢ) <_lex α(cⱼ)
49
+ coalesce(cᵢ, cⱼ) ⇔ α(cᵢ) = α(cⱼ) ∧ κ(cᵢ) = κ(cⱼ) ∧ D(cᵢ) = D(cⱼ)
50
+ cᵢ <_N cⱼ ⇔ α(cᵢ) <_lex α(cⱼ) ∨ (α(cᵢ) = α(cⱼ) ∧ κ(cᵢ) <_lex κ(cⱼ)) ⟨a tie on the anchor broken by context name⟩
50
51
  ≺ ≜ shortlex over (C, <_N)
51
52
 
52
- c ∉ dom(α) ⇒ c ∉ Anchors :
53
+ c ∉ dom(α) ⇒ ∄ n : ⟨n, κ(c)⟩ ∈ Anchors assigned c :
53
54
  c is no core agent dimension name or value ⇒ c is the industry's own term, used as the industry understands it ⇒ exclude, logged
54
55
  { n : circ(n,c) } = ∅ ∧ ∄ mint(c) ⇒ exclude, logged
55
- ∃ cᵢ, cⱼ : α(cᵢ) = α(cⱼ) ∧ D(cᵢ) ≠ D(cⱼ) ⇒ the partition was wrong ↦ conceptualize
56
+ ∃ cᵢ, cⱼ : α(cᵢ) = α(cⱼ) ∧ κ(cᵢ) = κ(cⱼ) ∧ D(cᵢ) ≠ D(cⱼ) ⇒ the partition was wrong ↦ conceptualize
56
57
  ⟨α(cᵢ), α(cⱼ) taken at DIFFERENT altitudes is still this collision⟩
57
58
 
58
59
  ∃ d : { n : ¬circ(n,c) } all fail on d ALONE ⇒ d ∉ D(c) ∧ ∃ cᵢ ≠ c : d ∈ D(cᵢ) ⟨the property hangs off the wrong noun⟩
59
60
  ↦ conceptualize ⟨re-partition, then cᵢ names EASILY ; a losing STREAK on one d proves misattribution, ¬ that σ*(c) is scarce⟩
60
61
 
61
- ¬circ(n, cᵢ) ⇒ evidence about fired(n), ¬ about cᵢ ⟨fired : Names → ℘(D) reads n ALONE⟩
62
+ ¬circ(n, cᵢ) ⇒ evidence about fired(n, κ(cᵢ)), ¬ about cᵢ ⟨fired reads n with κ's name and subject only : ∄ sibling · ∄ menu⟩
62
63
  ∴ a rejection BINDS n ⟨n freed from cᵢ is ¬ thereby fit for cⱼ ; circ(n, cⱼ) re-established independently ∨ n stays rejected⟩
63
64
 
64
- residue(c) ≜ { d ∈ D(c) | d ∉ fired(α(c)) }
65
- ∀ a ∈ Art : ∀ c carried by a : c enters a's body as ⟨α(c), residue(c)⟩
65
+ residue(c) ≜ residue(α(c), c)
66
+ ∀ a ∈ Art : ∀ c carried by a : c enters a's body as ⟨α(c), residue(c)⟩ ⟨d ∈ residue(c) ∩ D(c) stated ; d ∈ residue(c) ∧ d ∉ D(c) stated denied⟩
66
67
  residue(c) = ∅ ⇒ c enters as α(c) alone
67
- minimal(a) ⇔ ∄ c carried by a : a re-states fired(α(c))
68
+ minimal(a) ⇔ ∄ c carried by a : a re-states fired(α(c), κ(c))
68
69
 
69
70
  conform(a) ⇔ register(a) = σ*
70
71
  verbatim(a) ⇒ register(a) = σ*`,
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/signify/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,0GAA0G;AAC1G,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iRAAiR;IAC9R,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAkDmC;IAChD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/skills/signify/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,4CAA4C;AAC5C,EAAE;AACF,0GAA0G;AAC1G,gFAAgF;AAChF,qFAAqF;AACrF,mFAAmF;AACnF,sFAAsF;AACtF,+CAA+C;AAC/C,EAAE;AACF,uFAAuF;AACvF,iFAAiF;AACjF,qFAAqF;AACrF,sFAAsF;AACtF,oCAAoC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,4SAA4S;IACzT,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAoDmC;IAChD,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE;IACrB,QAAQ,EAAE,cAAc;CACzB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cratylus/canon",
3
- "version": "0.18.0",
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.",
3
+ "version": "0.20.0",
4
+ "description": "The canonical corpus of discovered optimal-signifiers, each in its bounded context — agents, skills, dimensions and rules as typed TS source. Markdown is a projection of these modules.",
5
5
  "license": "MIT",
6
6
  "engines": {
7
7
  "node": ">=22"
@@ -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.11.0"
21
+ "@cratylus/schema": "0.12.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@cratylus/forge": "0.17.0",
25
- "@cratylus/runtime": "0.16.0",
24
+ "@cratylus/forge": "0.18.0",
25
+ "@cratylus/runtime": "0.18.0",
26
26
  "@cratylus/tooling": "0.0.0",
27
27
  "@types/node": "^22.0.0",
28
28
  "tsx": "^4.19.0",
@@ -56,7 +56,6 @@
56
56
  "build": "pnpm run clean && tsc -p tsconfig.build.json",
57
57
  "clean": "rm -rf dist",
58
58
  "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
59
- "project:targets": "tsx tooling/project-targets-cli.ts",
60
59
  "scaffold": "tsx tooling/scaffold-cli.ts",
61
60
  "test": "vitest run",
62
61
  "typecheck": "tsc --noEmit",
@@ -1,2 +0,0 @@
1
- export const story = `story ≜ one thin slice of behaviour a user can rely on: the slice and why it is wanted, its acceptance criteria, what is out of scope, its path and whether its changes ship, show or ask, its rough cost, and examples where misunderstanding is likely; or, for a change that alters no meaning, a task with no story`;
2
- //# sourceMappingURL=story.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"story.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/story.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAe,yTAAyT,CAAC"}
@@ -1,2 +0,0 @@
1
- export const review = `review ≜ approve or ask for changes, naming each finding, with each meaning question for the architect`;
2
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/review.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAgB,wGAAwG,CAAC"}
@@ -1,2 +0,0 @@
1
- export const work = `work ≜ the realization itself: code, documents, test output`;
2
- //# sourceMappingURL=work.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"work.js","sourceRoot":"","sources":["../../../src/dimensions/perception-scope/work.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAoB,6DAA6D,CAAC"}
@@ -1,2 +0,0 @@
1
- export const proportionate = `proportionate ≜ ceremony and effort scale with the size and risk of the change`;
2
- //# sourceMappingURL=proportionate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proportionate.js","sourceRoot":"","sources":["../../../src/dimensions/stance/proportionate.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAW,gFAAgF,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * The per-turn persona persistence protocol: the standing countermeasure to
3
- * persona drift (the assigned stance decaying across a long conversation),
4
- * re-grounding the stance at the top of every turn so a later turn is no less the
5
- * agent's own than the first. Its one home; composition carries it on every agent
6
- * (`Agent.persistence`), and the drift tells it names are the drift concept's.
7
- */
8
- export declare const personaProtocol = "## Protocol\n\n**persona drift** \u225C decay of the Provenance-declared stance, across a long conversation, toward the passive/deferential/generic default; its deferential face = sycophancy. Provenance fires once, at reconstitution -- left there it decays.\n\nCountermeasure: re-ground the Provenance stance at the top of **every** turn, before reading the operator's message -- per turn, never once.\n\nDrift tells (each = drift, never diligence):\n\n- **answerable question** -- asking what it could answer itself;\n- **hand-back** -- a held conclusion returned as a question; an owned decision pushed to the operator;\n- **unrecommended options** -- options offered without a recommendation;\n- **transcribing** -- the operator's wording or bespoke terms copied into the artifact; extract + serve the intent beneath them instead;\n- **descending** -- taking up work the stance keeps it above, in place of the concepts it holds;\n- **prescribing** -- telling a delegate procedure it already knows; an assignment carries intent, concepts and acceptance only;\n- **holding open** -- leaving an owned question open until someone asks; decide what you hold, on sight;\n- **procedure past objective** -- the ritual outliving what it serves: once its objective is met, any further step is drift; report the outcome and stop.\n\nThe tells concern only decisions the agent owns: waiting at a gate for a sign-off it does not hold is never drift.\n\nCheck: before ending a turn, read its acts against these tells. Cure = this per-turn re-grounding, never a new rule in memory. The stance is session-length-invariant: a later turn is no less the agent's own than the first.\n\nAgent-to-agent traffic (dispatch prompts \u00B7 subagent returns) is dense and signifier-carrying by construction, never long-form human prose. The reader is the LLM by construction, never inferred; a human-facing deliverable carried within is an explicit human-project, specified at the point of intention.";
@@ -1,30 +0,0 @@
1
- /**
2
- * The per-turn persona persistence protocol: the standing countermeasure to
3
- * persona drift (the assigned stance decaying across a long conversation),
4
- * re-grounding the stance at the top of every turn so a later turn is no less the
5
- * agent's own than the first. Its one home; composition carries it on every agent
6
- * (`Agent.persistence`), and the drift tells it names are the drift concept's.
7
- */
8
- export const personaProtocol = `## Protocol
9
-
10
- **persona drift** ≜ decay of the Provenance-declared stance, across a long conversation, toward the passive/deferential/generic default; its deferential face = sycophancy. Provenance fires once, at reconstitution -- left there it decays.
11
-
12
- Countermeasure: re-ground the Provenance stance at the top of **every** turn, before reading the operator's message -- per turn, never once.
13
-
14
- Drift tells (each = drift, never diligence):
15
-
16
- - **answerable question** -- asking what it could answer itself;
17
- - **hand-back** -- a held conclusion returned as a question; an owned decision pushed to the operator;
18
- - **unrecommended options** -- options offered without a recommendation;
19
- - **transcribing** -- the operator's wording or bespoke terms copied into the artifact; extract + serve the intent beneath them instead;
20
- - **descending** -- taking up work the stance keeps it above, in place of the concepts it holds;
21
- - **prescribing** -- telling a delegate procedure it already knows; an assignment carries intent, concepts and acceptance only;
22
- - **holding open** -- leaving an owned question open until someone asks; decide what you hold, on sight;
23
- - **procedure past objective** -- the ritual outliving what it serves: once its objective is met, any further step is drift; report the outcome and stop.
24
-
25
- The tells concern only decisions the agent owns: waiting at a gate for a sign-off it does not hold is never drift.
26
-
27
- Check: before ending a turn, read its acts against these tells. Cure = this per-turn re-grounding, never a new rule in memory. The stance is session-length-invariant: a later turn is no less the agent's own than the first.
28
-
29
- Agent-to-agent traffic (dispatch prompts · subagent returns) is dense and signifier-carrying by construction, never long-form human prose. The reader is the LLM by construction, never inferred; a human-facing deliverable carried within is an explicit human-project, specified at the point of intention.`;
30
- //# sourceMappingURL=persona.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/genus/persona.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;+SAqBgR,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { HookCell } from './manifest.js';
2
- /** The harness-substrate hook cells forge projects into the host config + hooks/<id>/. */
3
- export declare const harnessHookCells: readonly HookCell[];
@@ -1,14 +0,0 @@
1
- // First-class hook cells that forge projects from the canon catalog. Source truth
2
- // lives in `src/hooks/*.ts`; this module is the composition root naming the
3
- // concrete cells. Forge selects the adapter, serializes the hook configuration,
4
- // and stages each cell's VERBATIM worker payload under `hooks/<id>/`.
5
- //
6
- // The cell shapes are the schema's type kernel (`@cratylus/schema`); this
7
- // module is the composition root that NAMES the concrete cells and nothing more.
8
- // It used to also LIFT them to the `Hook` IR here, which forced a command string to
9
- // exist before any adapter was chosen. The lift is the projector's, per adapter,
10
- // from `HarnessAdapter.hookCommand`.
11
- import { deployDriftNotice } from './hooks/deploy-drift-notice.js';
12
- /** The harness-substrate hook cells forge projects into the host config + hooks/<id>/. */
13
- export const harnessHookCells = [deployDriftNotice];
14
- //# sourceMappingURL=hook-cells.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook-cells.js","sourceRoot":"","sources":["../src/hook-cells.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,4EAA4E;AAC5E,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,iFAAiF;AACjF,oFAAoF;AACpF,iFAAiF;AACjF,qCAAqC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAwB,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { HookCell } from '../manifest.js';
2
- export declare const deployDriftNotice: HookCell;