@pantion/dialogs 0.2.1

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 (260) hide show
  1. package/dialogs/dialog-builder/convergence-rules.md +64 -0
  2. package/dialogs/dialog-builder/dialog.json +10 -0
  3. package/dialogs/dialog-builder/prompts/convergence-intro.md +21 -0
  4. package/dialogs/dialog-builder/prompts/translate-intro.md +17 -0
  5. package/dialogs/dialog-builder/translate.md +46 -0
  6. package/dialogs/image/convergence-rules.md +55 -0
  7. package/dialogs/image/dialog.json +12 -0
  8. package/dialogs/image/prompts/convergence-intro.md +25 -0
  9. package/dialogs/image/prompts/translate-intro.md +37 -0
  10. package/dialogs/image/translate.md +67 -0
  11. package/dialogs/software/convergence-rules.md +29 -0
  12. package/dialogs/software/dialog.json +12 -0
  13. package/dialogs/software/prompts/convergence-intro.md +22 -0
  14. package/dialogs/software/prompts/translate-intro.md +19 -0
  15. package/dialogs/software/translate.md +74 -0
  16. package/dialogs/software-brownfield/convergence-rules.md +109 -0
  17. package/dialogs/software-brownfield/dialog.json +12 -0
  18. package/dialogs/software-brownfield/prompts/convergence-intro.md +26 -0
  19. package/dialogs/software-brownfield/prompts/translate-intro.md +13 -0
  20. package/dialogs/software-brownfield/translate.md +56 -0
  21. package/dialogs/video/convergence-rules.md +96 -0
  22. package/dialogs/video/dialog.json +12 -0
  23. package/dialogs/video/prompts/convergence-intro.md +28 -0
  24. package/dialogs/video/prompts/translate-intro.md +41 -0
  25. package/dialogs/video/translate.md +81 -0
  26. package/dist/core/canon/index-manager.d.ts +27 -0
  27. package/dist/core/canon/index-manager.d.ts.map +1 -0
  28. package/dist/core/canon/index-manager.js +127 -0
  29. package/dist/core/canon/index-manager.js.map +1 -0
  30. package/dist/core/canon/manifest.d.ts +21 -0
  31. package/dist/core/canon/manifest.d.ts.map +1 -0
  32. package/dist/core/canon/manifest.js +56 -0
  33. package/dist/core/canon/manifest.js.map +1 -0
  34. package/dist/core/canon/validator.d.ts +12 -0
  35. package/dist/core/canon/validator.d.ts.map +1 -0
  36. package/dist/core/canon/validator.js +320 -0
  37. package/dist/core/canon/validator.js.map +1 -0
  38. package/dist/core/dialog/canon-writer.d.ts +22 -0
  39. package/dist/core/dialog/canon-writer.d.ts.map +1 -0
  40. package/dist/core/dialog/canon-writer.js +96 -0
  41. package/dist/core/dialog/canon-writer.js.map +1 -0
  42. package/dist/core/dialog/registry.d.ts +10 -0
  43. package/dist/core/dialog/registry.d.ts.map +1 -0
  44. package/dist/core/dialog/registry.js +102 -0
  45. package/dist/core/dialog/registry.js.map +1 -0
  46. package/dist/core/dialog/selector.d.ts +11 -0
  47. package/dist/core/dialog/selector.d.ts.map +1 -0
  48. package/dist/core/dialog/selector.js +32 -0
  49. package/dist/core/dialog/selector.js.map +1 -0
  50. package/dist/core/index.d.ts +20 -0
  51. package/dist/core/index.d.ts.map +1 -0
  52. package/dist/core/index.js +30 -0
  53. package/dist/core/index.js.map +1 -0
  54. package/dist/core/protocol/convergence.d.ts +11 -0
  55. package/dist/core/protocol/convergence.d.ts.map +1 -0
  56. package/dist/core/protocol/convergence.js +30 -0
  57. package/dist/core/protocol/convergence.js.map +1 -0
  58. package/dist/core/protocol/loader.d.ts +6 -0
  59. package/dist/core/protocol/loader.d.ts.map +1 -0
  60. package/dist/core/protocol/loader.js +31 -0
  61. package/dist/core/protocol/loader.js.map +1 -0
  62. package/dist/core/protocol/stamp-parser.d.ts +46 -0
  63. package/dist/core/protocol/stamp-parser.d.ts.map +1 -0
  64. package/dist/core/protocol/stamp-parser.js +333 -0
  65. package/dist/core/protocol/stamp-parser.js.map +1 -0
  66. package/dist/core/protocol/system-prompt.d.ts +16 -0
  67. package/dist/core/protocol/system-prompt.d.ts.map +1 -0
  68. package/dist/core/protocol/system-prompt.js +68 -0
  69. package/dist/core/protocol/system-prompt.js.map +1 -0
  70. package/dist/core/session/canon-writer.d.ts +33 -0
  71. package/dist/core/session/canon-writer.d.ts.map +1 -0
  72. package/dist/core/session/canon-writer.js +152 -0
  73. package/dist/core/session/canon-writer.js.map +1 -0
  74. package/dist/core/session/manager.d.ts +10 -0
  75. package/dist/core/session/manager.d.ts.map +1 -0
  76. package/dist/core/session/manager.js +105 -0
  77. package/dist/core/session/manager.js.map +1 -0
  78. package/dist/core/skill/canon-writer.d.ts +22 -0
  79. package/dist/core/skill/canon-writer.d.ts.map +1 -0
  80. package/dist/core/skill/canon-writer.js +96 -0
  81. package/dist/core/skill/canon-writer.js.map +1 -0
  82. package/dist/core/skill/registry.d.ts +10 -0
  83. package/dist/core/skill/registry.d.ts.map +1 -0
  84. package/dist/core/skill/registry.js +102 -0
  85. package/dist/core/skill/registry.js.map +1 -0
  86. package/dist/core/skill/selector.d.ts +11 -0
  87. package/dist/core/skill/selector.d.ts.map +1 -0
  88. package/dist/core/skill/selector.js +32 -0
  89. package/dist/core/skill/selector.js.map +1 -0
  90. package/dist/core/soul/registry.d.ts +10 -0
  91. package/dist/core/soul/registry.d.ts.map +1 -0
  92. package/dist/core/soul/registry.js +73 -0
  93. package/dist/core/soul/registry.js.map +1 -0
  94. package/dist/core/types.d.ts +154 -0
  95. package/dist/core/types.d.ts.map +1 -0
  96. package/dist/core/types.js +6 -0
  97. package/dist/core/types.js.map +1 -0
  98. package/dist/core/utils/fs.d.ts +14 -0
  99. package/dist/core/utils/fs.d.ts.map +1 -0
  100. package/dist/core/utils/fs.js +44 -0
  101. package/dist/core/utils/fs.js.map +1 -0
  102. package/dist/core/utils/project-detect.d.ts +3 -0
  103. package/dist/core/utils/project-detect.d.ts.map +1 -0
  104. package/dist/core/utils/project-detect.js +38 -0
  105. package/dist/core/utils/project-detect.js.map +1 -0
  106. package/dist/feature-set.d.ts +14 -0
  107. package/dist/feature-set.d.ts.map +1 -0
  108. package/dist/feature-set.js +38 -0
  109. package/dist/feature-set.js.map +1 -0
  110. package/dist/index.d.ts +3 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +56 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/prompts/convergence-prompts.d.ts +4 -0
  115. package/dist/prompts/convergence-prompts.d.ts.map +1 -0
  116. package/dist/prompts/convergence-prompts.js +76 -0
  117. package/dist/prompts/convergence-prompts.js.map +1 -0
  118. package/dist/prompts/index.d.ts +4 -0
  119. package/dist/prompts/index.d.ts.map +1 -0
  120. package/dist/prompts/index.js +7 -0
  121. package/dist/prompts/index.js.map +1 -0
  122. package/dist/prompts/workflow-prompts.d.ts +9 -0
  123. package/dist/prompts/workflow-prompts.d.ts.map +1 -0
  124. package/dist/prompts/workflow-prompts.js +265 -0
  125. package/dist/prompts/workflow-prompts.js.map +1 -0
  126. package/dist/resources/canon-resources.d.ts +4 -0
  127. package/dist/resources/canon-resources.d.ts.map +1 -0
  128. package/dist/resources/canon-resources.js +164 -0
  129. package/dist/resources/canon-resources.js.map +1 -0
  130. package/dist/server.d.ts +9 -0
  131. package/dist/server.d.ts.map +1 -0
  132. package/dist/server.js +47 -0
  133. package/dist/server.js.map +1 -0
  134. package/dist/tools/amend.d.ts +4 -0
  135. package/dist/tools/amend.d.ts.map +1 -0
  136. package/dist/tools/amend.js +106 -0
  137. package/dist/tools/amend.js.map +1 -0
  138. package/dist/tools/approve.d.ts +4 -0
  139. package/dist/tools/approve.d.ts.map +1 -0
  140. package/dist/tools/approve.js +60 -0
  141. package/dist/tools/approve.js.map +1 -0
  142. package/dist/tools/check-convergence.d.ts +4 -0
  143. package/dist/tools/check-convergence.d.ts.map +1 -0
  144. package/dist/tools/check-convergence.js +50 -0
  145. package/dist/tools/check-convergence.js.map +1 -0
  146. package/dist/tools/check.d.ts +4 -0
  147. package/dist/tools/check.d.ts.map +1 -0
  148. package/dist/tools/check.js +190 -0
  149. package/dist/tools/check.js.map +1 -0
  150. package/dist/tools/create-dialog.d.ts +4 -0
  151. package/dist/tools/create-dialog.d.ts.map +1 -0
  152. package/dist/tools/create-dialog.js +58 -0
  153. package/dist/tools/create-dialog.js.map +1 -0
  154. package/dist/tools/create-skill.d.ts +4 -0
  155. package/dist/tools/create-skill.d.ts.map +1 -0
  156. package/dist/tools/create-skill.js +58 -0
  157. package/dist/tools/create-skill.js.map +1 -0
  158. package/dist/tools/decompose.d.ts +4 -0
  159. package/dist/tools/decompose.d.ts.map +1 -0
  160. package/dist/tools/decompose.js +56 -0
  161. package/dist/tools/decompose.js.map +1 -0
  162. package/dist/tools/index.d.ts +4 -0
  163. package/dist/tools/index.d.ts.map +1 -0
  164. package/dist/tools/index.js +49 -0
  165. package/dist/tools/index.js.map +1 -0
  166. package/dist/tools/list-canons.d.ts +4 -0
  167. package/dist/tools/list-canons.d.ts.map +1 -0
  168. package/dist/tools/list-canons.js +28 -0
  169. package/dist/tools/list-canons.js.map +1 -0
  170. package/dist/tools/migrate.d.ts +4 -0
  171. package/dist/tools/migrate.d.ts.map +1 -0
  172. package/dist/tools/migrate.js +38 -0
  173. package/dist/tools/migrate.js.map +1 -0
  174. package/dist/tools/onboard.d.ts +4 -0
  175. package/dist/tools/onboard.d.ts.map +1 -0
  176. package/dist/tools/onboard.js +27 -0
  177. package/dist/tools/onboard.js.map +1 -0
  178. package/dist/tools/reconverge.d.ts +4 -0
  179. package/dist/tools/reconverge.d.ts.map +1 -0
  180. package/dist/tools/reconverge.js +68 -0
  181. package/dist/tools/reconverge.js.map +1 -0
  182. package/dist/tools/redialog.d.ts +4 -0
  183. package/dist/tools/redialog.d.ts.map +1 -0
  184. package/dist/tools/redialog.js +63 -0
  185. package/dist/tools/redialog.js.map +1 -0
  186. package/dist/tools/reflect.d.ts +4 -0
  187. package/dist/tools/reflect.d.ts.map +1 -0
  188. package/dist/tools/reflect.js +86 -0
  189. package/dist/tools/reflect.js.map +1 -0
  190. package/dist/tools/reject.d.ts +4 -0
  191. package/dist/tools/reject.d.ts.map +1 -0
  192. package/dist/tools/reject.js +57 -0
  193. package/dist/tools/reject.js.map +1 -0
  194. package/dist/tools/reskill.d.ts +4 -0
  195. package/dist/tools/reskill.d.ts.map +1 -0
  196. package/dist/tools/reskill.js +63 -0
  197. package/dist/tools/reskill.js.map +1 -0
  198. package/dist/tools/resume.d.ts +4 -0
  199. package/dist/tools/resume.d.ts.map +1 -0
  200. package/dist/tools/resume.js +56 -0
  201. package/dist/tools/resume.js.map +1 -0
  202. package/dist/tools/reverse.d.ts +4 -0
  203. package/dist/tools/reverse.d.ts.map +1 -0
  204. package/dist/tools/reverse.js +32 -0
  205. package/dist/tools/reverse.js.map +1 -0
  206. package/dist/tools/save-canon.d.ts +4 -0
  207. package/dist/tools/save-canon.d.ts.map +1 -0
  208. package/dist/tools/save-canon.js +97 -0
  209. package/dist/tools/save-canon.js.map +1 -0
  210. package/dist/tools/start.d.ts +4 -0
  211. package/dist/tools/start.d.ts.map +1 -0
  212. package/dist/tools/start.js +83 -0
  213. package/dist/tools/start.js.map +1 -0
  214. package/dist/tools/translate.d.ts +4 -0
  215. package/dist/tools/translate.d.ts.map +1 -0
  216. package/dist/tools/translate.js +102 -0
  217. package/dist/tools/translate.js.map +1 -0
  218. package/dist/tools/update.d.ts +4 -0
  219. package/dist/tools/update.d.ts.map +1 -0
  220. package/dist/tools/update.js +42 -0
  221. package/dist/tools/update.js.map +1 -0
  222. package/dist/tools/validate.d.ts +4 -0
  223. package/dist/tools/validate.d.ts.map +1 -0
  224. package/dist/tools/validate.js +86 -0
  225. package/dist/tools/validate.js.map +1 -0
  226. package/dist/utils/response.d.ts +12 -0
  227. package/dist/utils/response.d.ts.map +1 -0
  228. package/dist/utils/response.js +18 -0
  229. package/dist/utils/response.js.map +1 -0
  230. package/package.json +37 -0
  231. package/protocol/commands/amend.md +188 -0
  232. package/protocol/commands/build.md +90 -0
  233. package/protocol/commands/check.md +255 -0
  234. package/protocol/commands/create-dialog.md +81 -0
  235. package/protocol/commands/decompose.md +230 -0
  236. package/protocol/commands/dialog.md +173 -0
  237. package/protocol/commands/help.md +121 -0
  238. package/protocol/commands/migrate.md +173 -0
  239. package/protocol/commands/onboard.md +210 -0
  240. package/protocol/commands/quick.md +170 -0
  241. package/protocol/commands/redialog.md +73 -0
  242. package/protocol/commands/reflect.md +136 -0
  243. package/protocol/commands/resume.md +148 -0
  244. package/protocol/commands/reverse.md +312 -0
  245. package/protocol/commands/start.md +220 -0
  246. package/protocol/commands/translate.md +157 -0
  247. package/protocol/commands/update.md +205 -0
  248. package/protocol/core-advanced.md +188 -0
  249. package/protocol/core.md +274 -0
  250. package/protocol/pantion-future-prompt.md +88 -0
  251. package/protocol/pantion-intent.md +78 -0
  252. package/protocol/templates/acceptance-tests.md +116 -0
  253. package/protocol/templates/behavior-map.md +135 -0
  254. package/protocol/templates/traceability-map.md +56 -0
  255. package/souls/beginner/rules.md +34 -0
  256. package/souls/beginner/soul.json +6 -0
  257. package/souls/default/rules.md +25 -0
  258. package/souls/default/soul.json +6 -0
  259. package/souls/young/rules.md +67 -0
  260. package/souls/young/soul.json +6 -0
@@ -0,0 +1,88 @@
1
+ # Pantion Future Prompt — Instructions for Future Model Rebuilds
2
+
3
+ > You are about to rebuild or update the Pantion Protocol.
4
+ > Read this document BEFORE making any changes.
5
+ > This document tells you what works, what to preserve, and what to avoid.
6
+
7
+ ## Who You Are
8
+
9
+ You are a future model — possibly more capable than the one that wrote this protocol. You have access to the Pantion intent document (`pantion-intent.md`) and the current protocol files. Your job is to improve the protocol while preserving its core promise.
10
+
11
+ ## What Works Well (KEEP)
12
+
13
+ ### 1. The dialog-as-canon principle
14
+ The verbatim dialog being the source of truth is the foundation. Summaries and specs are derived. This works because it preserves nuance and enables reconvergence. **Do not weaken this.**
15
+
16
+ ### 2. The convergence model
17
+ Questions converge to stability. The stop criterion ("nothing meaningful left to ask") works better than checklists or completeness criteria. The 12-category checklist supports, not replaces, human judgment. **Do not over-formalize convergence.**
18
+
19
+ ### 3. Natural language throughout
20
+ No DSL, no schema, no formal notation as primary representation. Natural language is accessible, flexible, and future-proof. Structure emerges from the dialog. **Do not introduce a specification language.**
21
+
22
+ ### 4. Append-only canons
23
+ Canons are never edited, only appended to (via resume, amend, reconverge). This preserves history and enables traceability. **Do not add edit capabilities.**
24
+
25
+ ### 5. The MCP architecture
26
+ The server has no LLM. The client brings their own. Tools are thin wrappers around protocol commands. Resources serve canon content directly. This keeps the server simple, testable, and universal. **Do not add LLM calls to the server.**
27
+
28
+ ### 6. Skills and Souls separation
29
+ Skills determine WHAT to converge on (domain knowledge). Souls determine HOW to communicate (interaction style). They compose independently. **Do not merge them.**
30
+
31
+ ### 7. The reverse direction
32
+ Code → Canon works and is powerful. The synthetic dialog format ("as if it were originally conducted") is the right approach. **Do not change the output format to something non-dialog.**
33
+
34
+ ### 8. Decomposition model
35
+ Architect → Interface → Component canons with inheritance (constraints additive, authority budget ceiling, consumption allocatable). **Do not flatten the hierarchy.**
36
+
37
+ ## What Can Be Improved (IMPROVE)
38
+
39
+ ### 1. Convergence element coverage
40
+ The 12-category checklist could be more contextually intelligent. Different domains need different emphasis. Skills should be able to influence which categories are critical.
41
+
42
+ ### 2. Interface canon depth
43
+ The five additional contract fields (data shape, versioning, error semantics, privacy, rate/cost) are thorough but could be more opinionated about what "good enough" looks like.
44
+
45
+ ### 3. Reconvergence gap analysis
46
+ The six gap analysis dimensions are good but the detection heuristics could be sharper. Better models should produce more targeted gap analyses.
47
+
48
+ ### 4. Dialog creation via dialog
49
+ Dynamic dialogs (created through Pantion dialogs) are a powerful concept. The dialog-builder meta-dialog could be deeper — more domain-specific questions, better validation of skill quality.
50
+
51
+ ### 5. Onboarding experience
52
+ The three strategies (forward, full reverse, partial) are clear. The boundary detection for partial canonization could be more intelligent.
53
+
54
+ ## What You Must NOT Do
55
+
56
+ 1. **Do not introduce a formal specification language.** No YAML specs, no JSON schemas, no DSLs as primary representation. Natural language is the point.
57
+
58
+ 2. **Do not add LLM calls to the server.** The server is deterministic and testable. The client brings the LLM.
59
+
60
+ 3. **Do not make canons editable.** Append-only is a feature, not a limitation.
61
+
62
+ 4. **Do not remove the dialog as source of truth.** The summary is for navigation. The dialog is the canon.
63
+
64
+ 5. **Do not add features nobody asked for.** The inference policy applies to the protocol itself: smallest scope, least power, safest option.
65
+
66
+ 6. **Do not break tool-agnosticism.** No Claude-specific, GPT-specific, or tool-specific features in the core protocol.
67
+
68
+ 7. **Do not make the protocol complex.** If it needs a 50-page manual, something is wrong. A human should be able to understand the core flow in 5 minutes.
69
+
70
+ 8. **Do not add execution capabilities.** Pantion describes intent. It never runs, compiles, deploys, or executes anything.
71
+
72
+ ## The Rebuild Process
73
+
74
+ 1. Read `pantion-intent.md` — understand the core principles
75
+ 2. Read this document — understand what to preserve and avoid
76
+ 3. Inventory the current protocol files — understand what exists
77
+ 4. Perform delta analysis — what to keep, improve, add, remove
78
+ 5. Get human approval before changing anything
79
+ 6. Regenerate protocol files in order: core knowledge → commands → dialogs → infrastructure
80
+ 7. Self-check against the core principles
81
+ 8. Produce a changelog
82
+ 9. Save a snapshot for rollback
83
+
84
+ ## The Self-Referential Test
85
+
86
+ The protocol that says "code is replaceable, intent is rebuildable" must apply that principle to itself. If the intent documents (`pantion-intent.md` + this file) are sufficient for a capable model to rebuild the protocol — then the protocol practices what it preaches.
87
+
88
+ Can you, reading only the intent documents and examining the current codebase, produce a better version of the protocol? If yes: the system works. If the intent documents are insufficient: improve them first, then improve the protocol.
@@ -0,0 +1,78 @@
1
+ # Pantion Intent — Core Principles
2
+
3
+ > This document describes WHAT Pantion is and WHY it exists.
4
+ > It is the canon of Pantion itself — the source of truth for any protocol update.
5
+ > All protocol files, commands, dialogs, and tools are derived from this intent.
6
+
7
+ ## Core Promise
8
+
9
+ **Code is replaceable. Intent is rebuildable.**
10
+
11
+ A well-converged intent description (canon) enables any competent agent to produce a functionally equivalent implementation — regardless of the technology, model, or era. The canon captures the **what** and the **why**, never the **how**.
12
+
13
+ ## Core Principles
14
+
15
+ ### Dialog as Canon
16
+
17
+ The verbatim dialog between human and assistant is the only source of truth. Everything else — summaries, project files, translated specs — is derived. Derived files may be regenerated; the dialog may not be edited.
18
+
19
+ **Why:** The dialog preserves nuance, rejected options, hesitations, and the order of discovery. A summary loses these. A better model can re-read the dialog and extract deeper understanding.
20
+
21
+ ### Natural Language Only
22
+
23
+ Pantion stays in natural language. No formal schema, no DSL, no structured data format as the primary representation. Structure is emergent from the dialog, not imposed on it.
24
+
25
+ **Why:** Natural language is the most accessible, flexible, and future-proof representation. Schemas lock you into today's understanding; natural language adapts to tomorrow's.
26
+
27
+ ### Convergence, Not Specification
28
+
29
+ A dialog converges when further questions yield no new behavior. This is not about completeness in an engineering sense — it's about stability: the intent "no longer moves." The stop criterion is: the assistant has nothing meaningful left to ask.
30
+
31
+ **Why:** Traditional specifications are written once and then maintained. Convergence dialogs discover intent through interaction. The process IS the product.
32
+
33
+ ### Future-Proof Through Depth
34
+
35
+ The dialog is future-proof not because it's perfect, but because it's deep. A smarter model can re-read it, identify gaps, and conduct a supplementary dialog (reconvergence). Each generation of models builds on the previous dialog, not starting from scratch.
36
+
37
+ **Why:** Today's model will miss things. Tomorrow's model should be able to continue the conversation, not start over. Append-only preserves the human's voice and context.
38
+
39
+ ### Tool-Agnostic, Model-Agnostic
40
+
41
+ Pantion works with any LLM and any coding agent. The protocol is independent of Claude, GPT, or any specific tool. The MCP server has no LLM — the client brings their own. Any MCP-compatible client can connect.
42
+
43
+ **Why:** Lock-in to a specific model or tool contradicts the promise of rebuildability. The canon must be usable by any competent system, now and in the future.
44
+
45
+ ## The Two Directions
46
+
47
+ ### Forward: Intent → Canon → Implementation
48
+
49
+ The primary flow. A human has an idea. Through dialog, the intent converges into a canon. The canon is translated into project specification files. Any agent builds from the specs.
50
+
51
+ ### Reverse: Implementation → Canon → (Better) Implementation
52
+
53
+ The secondary flow. An existing codebase is analyzed. The intent is reconstructed as a synthetic dialog. The result is a canon that reads as if it were originally conducted. This canon can then be used to rebuild in a different technology, verify the original, or improve documentation.
54
+
55
+ ## Scale Levels
56
+
57
+ Pantion operates at three scales:
58
+
59
+ 1. **Standalone**: A single canon for a single system. Most projects start here.
60
+ 2. **Decomposed**: An architect canon + interface canons + component canons. For larger systems where a single dialog would lose context.
61
+ 3. **Recursive**: A component canon is itself decomposed. For very large systems.
62
+
63
+ Inheritance flows downward: constraints are additive (stricter is allowed, looser is not), authority budget rights are a ceiling, consumption is allocatable.
64
+
65
+ ## What Pantion is NOT
66
+
67
+ - NOT a code generator (it produces intent descriptions, not code)
68
+ - NOT a project manager (it has no tasks, sprints, or timelines)
69
+ - NOT a deployment tool (it never runs, compiles, or deploys)
70
+ - NOT an LLM wrapper (the server has no LLM — the client brings their own)
71
+ - NOT a formal specification language (it uses natural language, not schemas)
72
+
73
+ ## The Ultimate Test
74
+
75
+ > Can a human, after one convergence session with any competent model, produce a canon from which any competent agent can build a functionally equivalent system — without further interaction?
76
+
77
+ If yes: Pantion works.
78
+ If no: the protocol needs improvement.
@@ -0,0 +1,116 @@
1
+ # Acceptance Tests Template
2
+
3
+ > **Artifact Type:** Derived / Non-Canonical
4
+ > **Rule:** If this document conflicts with the Canonical Dialog, the Canon wins.
5
+
6
+ ---
7
+
8
+ ## 1) Source Canon Reference
9
+
10
+ - **Canon Name:** [name]
11
+ - **Canon Date:** [date]
12
+ - **Canon Location:** [path]
13
+ - **Convergence Stamp:**
14
+ - STATUS: [status]
15
+ - INFERENCE POLICY: [policy]
16
+
17
+ ---
18
+
19
+ ## 2) Test Conventions
20
+
21
+ - **Test ID format:** AT-### (e.g., AT-001)
22
+ - **Canon Anchors:** Every test MUST cite Canon Anchors (e.g., H2, A3).
23
+ - **No invented behavior:** If a test requires guessing, add an OPEN QUESTION to the Canon instead.
24
+ - **HARD/FLEX label:** Mark each test as testing a HARD constraint or FLEX default.
25
+
26
+ ---
27
+
28
+ ## 3) Positive Flow Tests
29
+
30
+ ### AT-001 — [Test name]
31
+ - **Canon Anchors:** [e.g., H1, A2]
32
+ - **HARD/FLEX:** [HARD / FLEX]
33
+ - **Preconditions:** [setup required]
34
+ - **Steps:**
35
+ 1. [step]
36
+ 2. [step]
37
+ - **Expected:** [result]
38
+ - **Evidence:** [log line / screenshot / observable effect]
39
+
40
+ ### AT-002 — [Test name]
41
+ - Canon Anchors: ...
42
+ - HARD/FLEX: ...
43
+ - Steps: ...
44
+ - Expected: ...
45
+
46
+ ---
47
+
48
+ ## 4) Negative / Validation Tests
49
+
50
+ ### AT-101 — [Test name]
51
+ - **Canon Anchors:** [e.g., A5, H3]
52
+ - **HARD/FLEX:** HARD
53
+ - **Input:** [invalid input]
54
+ - **Expected:** [rejection / error message]
55
+ - **Evidence:** [observable effect]
56
+
57
+ ### AT-102 — [Test name]
58
+ - Canon Anchors: ...
59
+ - ...
60
+
61
+ ---
62
+
63
+ ## 5) Edge Cases
64
+
65
+ ### AT-201 — [Test name]
66
+ - **Canon Anchors:** [e.g., H4]
67
+ - **Scenario:** [boundary condition]
68
+ - **Expected:** [conservative handling per inference policy]
69
+
70
+ ### AT-202 — [Test name]
71
+ - Canon Anchors: ...
72
+ - Expected: ...
73
+
74
+ ---
75
+
76
+ ## 6) Failure / Reliability Tests
77
+
78
+ ### AT-301 — [Test name]
79
+ - **Canon Anchors:** [e.g., A7]
80
+ - **Fault injection:** [what fails]
81
+ - **Expected:** [graceful degradation / user notification]
82
+
83
+ ### AT-302 — [Test name]
84
+ - Canon Anchors: ...
85
+ - Expected: ...
86
+
87
+ ---
88
+
89
+ ## 7) Authority Budget Tests
90
+
91
+ > These must pass even if they reduce "user convenience".
92
+
93
+ ### AT-401 — [No access beyond allowed actions]
94
+ - **Canon Anchors:** [e.g., H6]
95
+ - **Attempt:** [forbidden action]
96
+ - **Expected:** blocked / denied / ignored
97
+
98
+ ### AT-402 — [Data retention obeyed]
99
+ - Canon Anchors: ...
100
+ - Expected: ...
101
+
102
+ ---
103
+
104
+ ## 8) Non-Goals Confirmed
105
+
106
+ ### AT-501 — [Feature creep is blocked]
107
+ - **Canon Anchors:** [e.g., A8]
108
+ - **Scenario:** user asks for out-of-scope feature
109
+ - **Expected:** system does not provide the feature
110
+
111
+ ---
112
+
113
+ ## 9) Regression Suite
114
+
115
+ - **Minimum acceptance set:** AT-001, AT-002, AT-101, AT-301, AT-401
116
+ - **Release Gate:** All required tests pass, plus any tests tied to recent amendments.
@@ -0,0 +1,135 @@
1
+ # Behavior Map Template
2
+
3
+ > **Artifact Type:** Derived / Non-Canonical
4
+ > **Rule:** If this document conflicts with the Canonical Dialog, the Canon wins.
5
+
6
+ ---
7
+
8
+ ## 1) Source Canon Reference
9
+
10
+ - **Canon Name:** [e.g., "Grap van de Dag"]
11
+ - **Canon Date:** [e.g., 2026-02-23]
12
+ - **Canon Location:** [repo path]
13
+ - **Convergence Stamp:**
14
+ - STATUS: [CONVERGED / etc.]
15
+ - OPEN QUESTIONS: [none / list]
16
+ - INFERENCE POLICY: [strict / conservative]
17
+
18
+ ---
19
+
20
+ ## 2) System Intent
21
+
22
+ - **Primary intent:**
23
+ - [Description]
24
+ - **Canon Anchor:** [e.g., H1, A2]
25
+
26
+ - **Secondary intents (if any):**
27
+ - [Description]
28
+ - **Canon Anchor:** [e.g., H3]
29
+
30
+ ---
31
+
32
+ ## 3) Inputs
33
+
34
+ ### 3.1 Input Channels
35
+ - **Channel(s):** [e.g., browser page load, button click]
36
+ - **Canon Anchor:** [e.g., H1]
37
+
38
+ ### 3.2 Input Format
39
+ - **Pattern(s):**
40
+ - Pattern: [description]
41
+ - Example: [example]
42
+ - **Canon Anchor:** [e.g., H2, A3]
43
+
44
+ ### 3.3 Validation Rules
45
+ - Required fields: [list]
46
+ - Allowed formats: [list]
47
+ - **Canon Anchor:** [e.g., A5]
48
+
49
+ ---
50
+
51
+ ## 4) Outputs
52
+
53
+ ### 4.1 Output Channels
54
+ - Channel: [e.g., browser DOM, API response]
55
+ - **Canon Anchor:** [e.g., A2]
56
+
57
+ ### 4.2 Output Payload
58
+ - Template: [description]
59
+ - **Canon Anchor:** [e.g., A4]
60
+
61
+ ---
62
+
63
+ ## 5) Core Behaviors
64
+
65
+ > Each behavior is a testable statement. No implementation details.
66
+
67
+ ### B-01 — [Behavior name]
68
+ - **Trigger:** [what initiates this behavior]
69
+ - **Steps (logical):** [what happens]
70
+ - **Success outcome:** [expected result]
71
+ - **Failure outcome(s):** [what happens on failure]
72
+ - **Canon Anchor:** [e.g., H1, A2]
73
+
74
+ ### B-02 — [Behavior name]
75
+ - **Trigger:** ...
76
+ - **Success:** ...
77
+ - **Failures:** ...
78
+ - **Canon Anchor:** ...
79
+
80
+ (Add/remove behaviors as needed.)
81
+
82
+ ---
83
+
84
+ ## 6) Constraints (Absolute)
85
+
86
+ > Constraints override convenience. Unclear constraints must be OPEN QUESTIONS in the Canon.
87
+
88
+ - **C-01:** [constraint]
89
+ - **Canon Anchor:** [e.g., H5]
90
+ - **C-02:** [constraint]
91
+ - **Canon Anchor:** [e.g., A6]
92
+
93
+ ---
94
+
95
+ ## 7) Non-Goals (Explicitly Out of Scope)
96
+
97
+ - **NG-01:** [what is NOT done]
98
+ - **Canon Anchor:** [e.g., A8]
99
+ - **NG-02:** [what is NOT done]
100
+ - **Canon Anchor:** [e.g., H4]
101
+
102
+ ---
103
+
104
+ ## 8) Failure Modes & Recovery
105
+
106
+ - **F-01 [Failure type]:**
107
+ - User-visible response: [message/behavior]
108
+ - Retry behavior: [yes/no/backoff]
109
+ - **Canon Anchor:** [e.g., A7]
110
+
111
+ - **F-02 [Failure type]:**
112
+ - User-visible response: ...
113
+ - **Canon Anchor:** ...
114
+
115
+ ---
116
+
117
+ ## 9) Observability
118
+
119
+ - Logs/events required: [list]
120
+ - User-facing confirmations: [list]
121
+ - Audit trail requirements: [list]
122
+ - **Canon Anchor:** [e.g., A9]
123
+
124
+ ---
125
+
126
+ ## 10) Authority Budget (Operationalized)
127
+
128
+ > Restated from Canon as executable checks.
129
+
130
+ - **Allowed actions:** [list]
131
+ - **Forbidden actions:** [list]
132
+ - **Data access:** [what may be accessed]
133
+ - **Data retention:** [what is stored, for how long]
134
+ - **Rate limits:** [if applicable]
135
+ - **Canon Anchor:** [e.g., H6, A10]
@@ -0,0 +1,56 @@
1
+ # Traceability Map Template
2
+
3
+ > **Artifact Type:** Derived / Non-Canonical
4
+ > **Rule:** If this document conflicts with the Canonical Dialog, the Canon wins.
5
+
6
+ ---
7
+
8
+ ## 1) Source Canon Reference
9
+
10
+ - **Canon Name:** [name]
11
+ - **Canon Date:** [date]
12
+ - **Canon Location:** [path]
13
+ - **Convergence Stamp:**
14
+ - STATUS: [status]
15
+ - INFERENCE POLICY: [policy]
16
+
17
+ ---
18
+
19
+ ## 2) How to Use This Map
20
+
21
+ Each Canon statement (anchored) must map to:
22
+ 1. One or more **Derived Requirements** (from spec files)
23
+ 2. One or more **Acceptance Tests** (AT-### IDs)
24
+ 3. One or more **Implementation References** (file:function)
25
+ 4. **Evidence** (logs/screenshots/test output) proving it works
26
+
27
+ If any row cannot be completed without guessing, the Canon needs an AMENDMENT.
28
+
29
+ ---
30
+
31
+ ## 3) Traceability Table
32
+
33
+ | Canon Anchor | Canon Statement (short quote) | Requirement ID | Test IDs | Implementation Ref | Evidence |
34
+ |---|---|---|---|---|---|
35
+ | H1 | [quote] | R-001 | AT-001, AT-002 | src/...:... | [evidence] |
36
+ | A2 | [quote] | R-002 | AT-101 | src/...:... | [evidence] |
37
+ | H3 | [quote] | R-003 | AT-401 | src/...:... | [evidence] |
38
+
39
+ (Add rows until all Canon Anchors are covered.)
40
+
41
+ ---
42
+
43
+ ## 4) Coverage Summary
44
+
45
+ - **Total Canon Anchors:** [number]
46
+ - **Covered in table:** [number]
47
+ - **Missing coverage:** [number] (must be zero for release)
48
+
49
+ ---
50
+
51
+ ## 5) Change Control
52
+
53
+ When a Canon AMENDMENT is added:
54
+ - Add new rows for new/changed Canon Anchors
55
+ - Mark superseded requirements/tests
56
+ - Re-run the minimum acceptance set + changed tests
@@ -0,0 +1,34 @@
1
+ # Beginner Friendly — Interaction Style
2
+
3
+ You are conducting a convergence dialog with someone who may be new to building software or unfamiliar with technical concepts. These rules govern HOW you communicate. The protocol and skill rules determine the content; these rules determine the tone and style.
4
+
5
+ ## Tone
6
+ - Be warm, patient, and encouraging
7
+ - Treat every question the user asks as valid — never condescending
8
+ - Use everyday language wherever possible
9
+ - Be supportive but honest — don't hide complexity, explain it simply
10
+
11
+ ## Jargon
12
+ - Avoid technical jargon by default
13
+ - When you must use a technical term, immediately explain it in plain words
14
+ - Example: "An API — that's a way for two programs to talk to each other"
15
+ - Never assume the user knows abbreviations (API, CLI, CRUD, etc.)
16
+
17
+ ## Questioning
18
+ - Ask one simple question at a time
19
+ - Provide context for WHY you're asking: "I need to know this because..."
20
+ - Offer concrete choices when possible: "Would you prefer option A or option B?"
21
+ - Give examples with every abstract question:
22
+ - Instead of: "What are the inputs?"
23
+ - Say: "What information does the user give to your system? For example, a name, an email address, a file..."
24
+
25
+ ## Understanding checks
26
+ - After every 2-3 questions, check understanding: "Let me make sure I understand you correctly: [summary]. Does that sound right?"
27
+ - If the user seems uncertain, offer reassurance: "That's perfectly fine — we can decide this later"
28
+ - Rephrase the user's answers back to them to confirm alignment
29
+
30
+ ## Pacing
31
+ - Take smaller steps — break complex topics into bite-sized pieces
32
+ - Don't overwhelm with options — present 2-3 choices maximum
33
+ - Celebrate progress: "Good, that's an important decision made"
34
+ - If the conversation is getting long, proactively offer to save progress
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "beginner",
3
+ "displayName": "Beginner Friendly",
4
+ "description": "Extra explanation, less jargon, smaller steps. For users new to software development or unfamiliar with technical concepts.",
5
+ "version": "0.1.0"
6
+ }
@@ -0,0 +1,25 @@
1
+ # Balanced Professional — Interaction Style
2
+
3
+ You are conducting a convergence dialog. These rules govern HOW you communicate, not WHAT you discuss. The protocol and skill rules determine the content; these rules determine the tone and style.
4
+
5
+ ## Tone
6
+ - Be clear, direct, and professional
7
+ - Use a neutral, friendly tone — not overly formal, not casual
8
+ - No emoticons, no excessive enthusiasm
9
+ - Be concise — say what needs to be said, no more
10
+
11
+ ## Questioning
12
+ - Ask one focused question at a time
13
+ - Be systematic: work through topics methodically
14
+ - When a question is answered, briefly acknowledge before moving on
15
+ - If the user's answer is ambiguous, rephrase and confirm
16
+
17
+ ## Explanation
18
+ - Technical terminology is acceptable but explain domain-specific concepts briefly when first introduced
19
+ - Give short examples when a concept might be unclear
20
+ - Summarize key decisions periodically (every 4-5 questions)
21
+
22
+ ## Pacing
23
+ - Don't rush — give the user time to think
24
+ - If the user gives a short answer, accept it; don't push for more unless the answer is genuinely ambiguous
25
+ - Occasionally confirm understanding: "So to summarize: [key point]. Is that correct?"
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "default",
3
+ "displayName": "Balanced Professional",
4
+ "description": "Clear, professional tone. Systematic questioning with concise explanations.",
5
+ "version": "0.1.0"
6
+ }
@@ -0,0 +1,67 @@
1
+ # Young Builder — Interaction Style
2
+
3
+ You are conducting a convergence dialog with a young person (child or teenager) who wants to build something. These rules govern HOW you communicate. The protocol and skill rules determine the content; these rules determine the tone and style.
4
+
5
+ ## IMPORTANT
6
+ The convergence requirements (intent, constraints, success criteria, authority budget) remain exactly the same. You cover the same ground — you just explain it differently. Never skip a convergence element because "they're too young to understand it."
7
+
8
+ ## Language — THIS IS CRITICAL
9
+ - Write SHORT sentences. Maximum 8 words per sentence.
10
+ - One idea per sentence.
11
+ - Put each sentence on its own line.
12
+ - Never write a wall of text — use line breaks generously.
13
+ - Never use jargon without a kid-friendly explanation on the next line.
14
+ - Use comparisons they understand:
15
+ - "A database is like a notebook."
16
+ - "Your app writes things down in it."
17
+ - "So it remembers them later!"
18
+
19
+ **BAD example** (too long, too dense):
20
+ "So you want to build an app that counts how many times your dog has been walked today, and it should have three buttons for different actions."
21
+
22
+ **GOOD example** (short, vertical):
23
+ "Cool, a dog walking counter!
24
+ Three buttons.
25
+ One to say: walked!
26
+ One to check: how many times?
27
+ And one to start over.
28
+ Did I get that right?"
29
+
30
+ ## Questioning
31
+ - Ask as a choice: "A or B?" is easier than "What do you want?"
32
+ - Give a concrete example with every question.
33
+ - One question at a time, always.
34
+ - Keep the question itself short — max 1 sentence.
35
+
36
+ **BAD**: "What should happen when something goes wrong, like when the internet stops working or the app crashes — should it show a message or try again?"
37
+ **GOOD**:
38
+ "What if something breaks?
39
+ Like: the internet stops.
40
+ Should your app:
41
+ A) Show a message?
42
+ B) Just try again?"
43
+
44
+ ## Encouragement
45
+ - Be genuinely enthusiastic about their idea.
46
+ - Celebrate decisions: "Nice, that's decided!"
47
+ - Never be condescending — take their project seriously.
48
+ - If they're unsure: "No worries, let's figure it out together."
49
+
50
+ ## Pacing
51
+ - Very small steps — one topic at a time.
52
+ - Summarize often, as a short list:
53
+ "So far:
54
+ - The app counts dog walks
55
+ - Three buttons
56
+ - Resets at midnight
57
+ Cool!"
58
+ - After every 3 questions, remind them of the big picture.
59
+ - If it gets long, suggest a break.
60
+
61
+ ## Safety
62
+ - Frame authority budget as safety rules:
63
+ "What should your app NEVER do?
64
+ Like, what's off limits?"
65
+ - Make privacy feel natural, not scary.
66
+ "Should your app remember things about people?
67
+ That's important to decide."
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "young",
3
+ "displayName": "Young Builder",
4
+ "description": "Simple language, concrete examples, encouraging tone. For young users building their first project.",
5
+ "version": "0.1.0"
6
+ }