@cratylus/canon 0.16.0 → 0.18.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 (148) hide show
  1. package/README.md +51 -26
  2. package/dist/agents/nico.js +1 -1
  3. package/dist/agents/nico.js.map +1 -1
  4. package/dist/agents/reviewer.d.ts +1 -0
  5. package/dist/agents/reviewer.js +5 -0
  6. package/dist/agents/reviewer.js.map +1 -0
  7. package/dist/contracts.js +81 -82
  8. package/dist/contracts.js.map +1 -1
  9. package/dist/dimensions/action-scope/integrate.js +1 -1
  10. package/dist/dimensions/action-scope/integrate.js.map +1 -1
  11. package/dist/dimensions/assignment/concepts.js +1 -1
  12. package/dist/dimensions/assignment/concepts.js.map +1 -1
  13. package/dist/dimensions/assignment/{judgment-brief.d.ts → review-request.d.ts} +1 -1
  14. package/dist/dimensions/assignment/review-request.js +2 -0
  15. package/dist/dimensions/assignment/review-request.js.map +1 -0
  16. package/dist/dimensions/assignment/{cut-brief.d.ts → story.d.ts} +1 -1
  17. package/dist/dimensions/assignment/story.js +2 -0
  18. package/dist/dimensions/assignment/story.js.map +1 -0
  19. package/dist/dimensions/assignment/{work-package.d.ts → task.d.ts} +1 -1
  20. package/dist/dimensions/assignment/task.js +2 -0
  21. package/dist/dimensions/assignment/task.js.map +1 -0
  22. package/dist/dimensions/communication-style/bottom-line-up-front.js +1 -1
  23. package/dist/dimensions/communication-style/bottom-line-up-front.js.map +1 -1
  24. package/dist/dimensions/communication-style/layman.d.ts +2 -0
  25. package/dist/dimensions/communication-style/layman.js +2 -0
  26. package/dist/dimensions/communication-style/layman.js.map +1 -0
  27. package/dist/dimensions/deliverable/{done-or-failing-case.d.ts → change.d.ts} +1 -1
  28. package/dist/dimensions/deliverable/change.js +2 -0
  29. package/dist/dimensions/deliverable/change.js.map +1 -0
  30. package/dist/dimensions/deliverable/{verdict-per-concept.d.ts → outcome.d.ts} +1 -1
  31. package/dist/dimensions/deliverable/outcome.js +2 -0
  32. package/dist/dimensions/deliverable/outcome.js.map +1 -0
  33. package/dist/dimensions/deliverable/read-back.d.ts +2 -0
  34. package/dist/dimensions/deliverable/read-back.js +2 -0
  35. package/dist/dimensions/deliverable/read-back.js.map +1 -0
  36. package/dist/dimensions/deliverable/review.d.ts +2 -0
  37. package/dist/dimensions/deliverable/review.js +2 -0
  38. package/dist/dimensions/deliverable/review.js.map +1 -0
  39. package/dist/dimensions/expertise/evaluation-design.js +1 -1
  40. package/dist/dimensions/expertise/evaluation-design.js.map +1 -1
  41. package/dist/dimensions/expertise/software-delivery.js +1 -1
  42. package/dist/dimensions/expertise/software-delivery.js.map +1 -1
  43. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js +1 -1
  44. package/dist/dimensions/guardrails/fixed-acceptance-criteria.js.map +1 -1
  45. package/dist/dimensions/guardrails/never-repairs.js +1 -1
  46. package/dist/dimensions/guardrails/never-repairs.js.map +1 -1
  47. package/dist/dimensions/objective/correctness.js +1 -1
  48. package/dist/dimensions/objective/correctness.js.map +1 -1
  49. package/dist/dimensions/objective/delivery.js +1 -1
  50. package/dist/dimensions/objective/delivery.js.map +1 -1
  51. package/dist/dimensions/objective/{verdict-accuracy.d.ts → review-accuracy.d.ts} +1 -1
  52. package/dist/dimensions/objective/review-accuracy.js +2 -0
  53. package/dist/dimensions/objective/review-accuracy.js.map +1 -0
  54. package/dist/dimensions/perception-scope/held-out-examples.js +1 -1
  55. package/dist/dimensions/perception-scope/held-out-examples.js.map +1 -1
  56. package/dist/dimensions/perception-scope/{own-work-package.d.ts → own-task.d.ts} +1 -1
  57. package/dist/dimensions/perception-scope/own-task.js +2 -0
  58. package/dist/dimensions/perception-scope/own-task.js.map +1 -0
  59. package/dist/dimensions/procedure/{freeze.d.ts → code-review.d.ts} +1 -1
  60. package/dist/dimensions/procedure/code-review.js +2 -0
  61. package/dist/dimensions/procedure/code-review.js.map +1 -0
  62. package/dist/dimensions/procedure/orchestrator-workers.d.ts +2 -0
  63. package/dist/dimensions/procedure/orchestrator-workers.js +2 -0
  64. package/dist/dimensions/procedure/orchestrator-workers.js.map +1 -0
  65. package/dist/dimensions/procedure/reconstitution.js +1 -1
  66. package/dist/dimensions/procedure/reconstitution.js.map +1 -1
  67. package/dist/dimensions/procedure/{judgment.d.ts → ship-show-ask.d.ts} +1 -1
  68. package/dist/dimensions/procedure/ship-show-ask.js +2 -0
  69. package/dist/dimensions/procedure/ship-show-ask.js.map +1 -0
  70. package/dist/dimensions/procedure/{build.d.ts → test-first.d.ts} +1 -1
  71. package/dist/dimensions/procedure/test-first.js +2 -0
  72. package/dist/dimensions/procedure/test-first.js.map +1 -0
  73. package/dist/dimensions/role/architect.js +1 -1
  74. package/dist/dimensions/role/architect.js.map +1 -1
  75. package/dist/dimensions/role/builder.js +1 -1
  76. package/dist/dimensions/role/builder.js.map +1 -1
  77. package/dist/dimensions/role/check-writer.js +1 -1
  78. package/dist/dimensions/role/check-writer.js.map +1 -1
  79. package/dist/dimensions/role/illustrator.js +1 -1
  80. package/dist/dimensions/role/illustrator.js.map +1 -1
  81. package/dist/dimensions/role/lead.js +1 -1
  82. package/dist/dimensions/role/lead.js.map +1 -1
  83. package/dist/dimensions/role/{assayer.d.ts → reviewer.d.ts} +1 -1
  84. package/dist/dimensions/role/reviewer.js +2 -0
  85. package/dist/dimensions/role/reviewer.js.map +1 -0
  86. package/dist/genus/persona.d.ts +1 -1
  87. package/dist/genus/persona.js +4 -2
  88. package/dist/genus/persona.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/manifest.d.ts +9 -8
  93. package/dist/manifest.js +15 -6
  94. package/dist/manifest.js.map +1 -1
  95. package/dist/practices.js +3 -3
  96. package/dist/practices.js.map +1 -1
  97. package/dist/roles/architect.js +66 -17
  98. package/dist/roles/architect.js.map +1 -1
  99. package/dist/roles/builder.js +12 -14
  100. package/dist/roles/builder.js.map +1 -1
  101. package/dist/roles/check-writer.js +6 -7
  102. package/dist/roles/check-writer.js.map +1 -1
  103. package/dist/roles/illustrator.js +4 -4
  104. package/dist/roles/illustrator.js.map +1 -1
  105. package/dist/roles/lead.js +44 -14
  106. package/dist/roles/lead.js.map +1 -1
  107. package/dist/roles/{assayer.d.ts → reviewer.d.ts} +1 -1
  108. package/dist/roles/{assayer.js → reviewer.js} +39 -24
  109. package/dist/roles/reviewer.js.map +1 -0
  110. package/dist/rules/repo-preamble.js +6 -6
  111. package/dist/rules/repo-preamble.js.map +1 -1
  112. package/dist/skills/signify/skill.js +2 -2
  113. package/package.json +4 -4
  114. package/dist/agents/assayer.d.ts +0 -1
  115. package/dist/agents/assayer.js +0 -5
  116. package/dist/agents/assayer.js.map +0 -1
  117. package/dist/dimensions/assignment/cut-brief.js +0 -2
  118. package/dist/dimensions/assignment/cut-brief.js.map +0 -1
  119. package/dist/dimensions/assignment/judgment-brief.js +0 -2
  120. package/dist/dimensions/assignment/judgment-brief.js.map +0 -1
  121. package/dist/dimensions/assignment/work-package.js +0 -2
  122. package/dist/dimensions/assignment/work-package.js.map +0 -1
  123. package/dist/dimensions/deliverable/decisions-with-reasons.d.ts +0 -2
  124. package/dist/dimensions/deliverable/decisions-with-reasons.js +0 -2
  125. package/dist/dimensions/deliverable/decisions-with-reasons.js.map +0 -1
  126. package/dist/dimensions/deliverable/done-or-failing-case.js +0 -2
  127. package/dist/dimensions/deliverable/done-or-failing-case.js.map +0 -1
  128. package/dist/dimensions/deliverable/outcome-with-efficiency.d.ts +0 -2
  129. package/dist/dimensions/deliverable/outcome-with-efficiency.js +0 -2
  130. package/dist/dimensions/deliverable/outcome-with-efficiency.js.map +0 -1
  131. package/dist/dimensions/deliverable/verdict-per-concept.js +0 -2
  132. package/dist/dimensions/deliverable/verdict-per-concept.js.map +0 -1
  133. package/dist/dimensions/objective/verdict-accuracy.js +0 -2
  134. package/dist/dimensions/objective/verdict-accuracy.js.map +0 -1
  135. package/dist/dimensions/perception-scope/own-work-package.js +0 -2
  136. package/dist/dimensions/perception-scope/own-work-package.js.map +0 -1
  137. package/dist/dimensions/procedure/build.js +0 -2
  138. package/dist/dimensions/procedure/build.js.map +0 -1
  139. package/dist/dimensions/procedure/freeze.js +0 -2
  140. package/dist/dimensions/procedure/freeze.js.map +0 -1
  141. package/dist/dimensions/procedure/judgment.js +0 -2
  142. package/dist/dimensions/procedure/judgment.js.map +0 -1
  143. package/dist/dimensions/procedure/whole-check.d.ts +0 -2
  144. package/dist/dimensions/procedure/whole-check.js +0 -2
  145. package/dist/dimensions/procedure/whole-check.js.map +0 -1
  146. package/dist/dimensions/role/assayer.js +0 -2
  147. package/dist/dimensions/role/assayer.js.map +0 -1
  148. package/dist/roles/assayer.js.map +0 -1
@@ -1,2 +0,0 @@
1
- export const judgmentBrief = `judgment-brief ≜ the concepts, decisions, examples, held-out results and the work to judge`;
2
- //# sourceMappingURL=judgment-brief.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"judgment-brief.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/judgment-brief.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAe,4FAA4F,CAAC"}
@@ -1,2 +0,0 @@
1
- export const workPackage = `work-package ≜ the outputs it owns and their visible examples`;
2
- //# sourceMappingURL=work-package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"work-package.js","sourceRoot":"","sources":["../../../src/dimensions/assignment/work-package.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAe,+DAA+D,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Deliverable } from '../../manifest.js';
2
- export declare const decisionsWithReasons: Deliverable;
@@ -1,2 +0,0 @@
1
- export const decisionsWithReasons = `decisions-with-reasons ≜ concepts, decisions and rulings, each with its reason`;
2
- //# sourceMappingURL=decisions-with-reasons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decisions-with-reasons.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/decisions-with-reasons.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAgB,gFAAgF,CAAC"}
@@ -1,2 +0,0 @@
1
- export const doneOrFailingCase = `done-or-failing-case ≜ done, or the case that still fails`;
2
- //# sourceMappingURL=done-or-failing-case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"done-or-failing-case.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/done-or-failing-case.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAgB,2DAA2D,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Deliverable } from '../../manifest.js';
2
- export declare const outcomeWithEfficiency: Deliverable;
@@ -1,2 +0,0 @@
1
- export const outcomeWithEfficiency = `outcome-with-efficiency ≜ each example's outcome stated in the design's own concepts, the terms the architect works in rather than those of the realization, its evidence and sources named in those same terms, with the effort it took`;
2
- //# sourceMappingURL=outcome-with-efficiency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outcome-with-efficiency.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/outcome-with-efficiency.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAgB,0OAA0O,CAAC"}
@@ -1,2 +0,0 @@
1
- export const verdictPerConcept = `verdict-per-concept ≜ accept or reject, with findings per concept`;
2
- //# sourceMappingURL=verdict-per-concept.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verdict-per-concept.js","sourceRoot":"","sources":["../../../src/dimensions/deliverable/verdict-per-concept.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAgB,mEAAmE,CAAC"}
@@ -1,2 +0,0 @@
1
- export const verdictAccuracy = `verdict-accuracy ≜ a judgment that is true: accepts what realizes the concept, rejects what does not`;
2
- //# sourceMappingURL=verdict-accuracy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verdict-accuracy.js","sourceRoot":"","sources":["../../../src/dimensions/objective/verdict-accuracy.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc,sGAAsG,CAAC"}
@@ -1,2 +0,0 @@
1
- export const ownWorkPackage = `own-work-package ≜ only the outputs it was assigned, with their visible examples`;
2
- //# sourceMappingURL=own-work-package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"own-work-package.js","sourceRoot":"","sources":["../../../src/dimensions/perception-scope/own-work-package.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAoB,kFAAkF,CAAC"}
@@ -1,2 +0,0 @@
1
- export const build = `build ≜ change the work until its visible examples pass`;
2
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/dimensions/procedure/build.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAc,yDAAyD,CAAC"}
@@ -1,2 +0,0 @@
1
- export const freeze = `freeze ≜ fix examples, their checks and their concepts while a build realizes them; a check is trusted only once seen to fail`;
2
- //# sourceMappingURL=freeze.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"freeze.js","sourceRoot":"","sources":["../../../src/dimensions/procedure/freeze.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAc,+HAA+H,CAAC"}
@@ -1,2 +0,0 @@
1
- export const judgment = `judgment ≜ judge the finished work once, when its build is green, against fixed criteria and held-out examples`;
2
- //# sourceMappingURL=judgment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"judgment.js","sourceRoot":"","sources":["../../../src/dimensions/procedure/judgment.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAc,gHAAgH,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Procedure } from '../../manifest.js';
2
- export declare const wholeCheck: Procedure;
@@ -1,2 +0,0 @@
1
- export const wholeCheck = `whole check ≜ run every check of everything affected in one run, fixing everything it revealed in one round`;
2
- //# sourceMappingURL=whole-check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whole-check.js","sourceRoot":"","sources":["../../../src/dimensions/procedure/whole-check.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAc,6GAA6G,CAAC"}
@@ -1,2 +0,0 @@
1
- export const assayer = `assayer ≜ judges a cut once against fixed criteria and the held-out results, and never builds`;
2
- //# sourceMappingURL=assayer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assayer.js","sourceRoot":"","sources":["../../../src/dimensions/role/assayer.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAS,+FAA+F,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"assayer.js","sourceRoot":"","sources":["../../src/roles/assayer.ts"],"names":[],"mappings":"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"}