@pantion/mcp-server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/feature-set.d.ts +14 -0
- package/dist/feature-set.d.ts.map +1 -0
- package/dist/feature-set.js +38 -0
- package/dist/feature-set.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/convergence-prompts.d.ts +4 -0
- package/dist/prompts/convergence-prompts.d.ts.map +1 -0
- package/dist/prompts/convergence-prompts.js +76 -0
- package/dist/prompts/convergence-prompts.js.map +1 -0
- package/dist/prompts/index.d.ts +4 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/workflow-prompts.d.ts +9 -0
- package/dist/prompts/workflow-prompts.d.ts.map +1 -0
- package/dist/prompts/workflow-prompts.js +249 -0
- package/dist/prompts/workflow-prompts.js.map +1 -0
- package/dist/resources/canon-resources.d.ts +4 -0
- package/dist/resources/canon-resources.d.ts.map +1 -0
- package/dist/resources/canon-resources.js +160 -0
- package/dist/resources/canon-resources.js.map +1 -0
- package/dist/server.d.ts +9 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +47 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/amend.d.ts +4 -0
- package/dist/tools/amend.d.ts.map +1 -0
- package/dist/tools/amend.js +106 -0
- package/dist/tools/amend.js.map +1 -0
- package/dist/tools/approve.d.ts +4 -0
- package/dist/tools/approve.d.ts.map +1 -0
- package/dist/tools/approve.js +60 -0
- package/dist/tools/approve.js.map +1 -0
- package/dist/tools/check-convergence.d.ts +4 -0
- package/dist/tools/check-convergence.d.ts.map +1 -0
- package/dist/tools/check-convergence.js +50 -0
- package/dist/tools/check-convergence.js.map +1 -0
- package/dist/tools/check.d.ts +4 -0
- package/dist/tools/check.d.ts.map +1 -0
- package/dist/tools/check.js +190 -0
- package/dist/tools/check.js.map +1 -0
- package/dist/tools/create-skill.d.ts +4 -0
- package/dist/tools/create-skill.d.ts.map +1 -0
- package/dist/tools/create-skill.js +58 -0
- package/dist/tools/create-skill.js.map +1 -0
- package/dist/tools/decompose.d.ts +4 -0
- package/dist/tools/decompose.d.ts.map +1 -0
- package/dist/tools/decompose.js +56 -0
- package/dist/tools/decompose.js.map +1 -0
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +47 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/list-canons.d.ts +4 -0
- package/dist/tools/list-canons.d.ts.map +1 -0
- package/dist/tools/list-canons.js +28 -0
- package/dist/tools/list-canons.js.map +1 -0
- package/dist/tools/migrate.d.ts +4 -0
- package/dist/tools/migrate.d.ts.map +1 -0
- package/dist/tools/migrate.js +38 -0
- package/dist/tools/migrate.js.map +1 -0
- package/dist/tools/onboard.d.ts +4 -0
- package/dist/tools/onboard.d.ts.map +1 -0
- package/dist/tools/onboard.js +27 -0
- package/dist/tools/onboard.js.map +1 -0
- package/dist/tools/reconverge.d.ts +4 -0
- package/dist/tools/reconverge.d.ts.map +1 -0
- package/dist/tools/reconverge.js +68 -0
- package/dist/tools/reconverge.js.map +1 -0
- package/dist/tools/reject.d.ts +4 -0
- package/dist/tools/reject.d.ts.map +1 -0
- package/dist/tools/reject.js +57 -0
- package/dist/tools/reject.js.map +1 -0
- package/dist/tools/reskill.d.ts +4 -0
- package/dist/tools/reskill.d.ts.map +1 -0
- package/dist/tools/reskill.js +63 -0
- package/dist/tools/reskill.js.map +1 -0
- package/dist/tools/resume.d.ts +4 -0
- package/dist/tools/resume.d.ts.map +1 -0
- package/dist/tools/resume.js +56 -0
- package/dist/tools/resume.js.map +1 -0
- package/dist/tools/reverse.d.ts +4 -0
- package/dist/tools/reverse.d.ts.map +1 -0
- package/dist/tools/reverse.js +32 -0
- package/dist/tools/reverse.js.map +1 -0
- package/dist/tools/save-canon.d.ts +4 -0
- package/dist/tools/save-canon.d.ts.map +1 -0
- package/dist/tools/save-canon.js +97 -0
- package/dist/tools/save-canon.js.map +1 -0
- package/dist/tools/start.d.ts +4 -0
- package/dist/tools/start.d.ts.map +1 -0
- package/dist/tools/start.js +83 -0
- package/dist/tools/start.js.map +1 -0
- package/dist/tools/translate.d.ts +4 -0
- package/dist/tools/translate.d.ts.map +1 -0
- package/dist/tools/translate.js +102 -0
- package/dist/tools/translate.js.map +1 -0
- package/dist/tools/update.d.ts +4 -0
- package/dist/tools/update.d.ts.map +1 -0
- package/dist/tools/update.js +42 -0
- package/dist/tools/update.js.map +1 -0
- package/dist/utils/response.d.ts +12 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +18 -0
- package/dist/utils/response.js.map +1 -0
- package/package.json +37 -0
- package/protocol/commands/amend.md +188 -0
- package/protocol/commands/build.md +90 -0
- package/protocol/commands/check.md +255 -0
- package/protocol/commands/create-skill.md +81 -0
- package/protocol/commands/decompose.md +230 -0
- package/protocol/commands/dialog.md +173 -0
- package/protocol/commands/help.md +121 -0
- package/protocol/commands/migrate.md +173 -0
- package/protocol/commands/onboard.md +210 -0
- package/protocol/commands/quick.md +170 -0
- package/protocol/commands/redialog.md +252 -0
- package/protocol/commands/reskill.md +73 -0
- package/protocol/commands/resume.md +148 -0
- package/protocol/commands/reverse.md +312 -0
- package/protocol/commands/start.md +220 -0
- package/protocol/commands/translate.md +157 -0
- package/protocol/commands/update.md +205 -0
- package/protocol/commands/validate.md +137 -0
- package/protocol/core-advanced.md +188 -0
- package/protocol/core.md +273 -0
- package/protocol/pantion-future-prompt.md +88 -0
- package/protocol/pantion-intent.md +78 -0
- package/protocol/templates/acceptance-tests.md +116 -0
- package/protocol/templates/behavior-map.md +135 -0
- package/protocol/templates/traceability-map.md +56 -0
- package/skills/image/convergence-rules.md +55 -0
- package/skills/image/prompts/convergence-intro.md +25 -0
- package/skills/image/prompts/translate-intro.md +37 -0
- package/skills/image/skill.json +12 -0
- package/skills/image/translate.md +67 -0
- package/skills/skill-builder/convergence-rules.md +64 -0
- package/skills/skill-builder/prompts/convergence-intro.md +21 -0
- package/skills/skill-builder/prompts/translate-intro.md +17 -0
- package/skills/skill-builder/skill.json +10 -0
- package/skills/skill-builder/translate.md +46 -0
- package/skills/software/convergence-rules.md +29 -0
- package/skills/software/prompts/convergence-intro.md +22 -0
- package/skills/software/prompts/translate-intro.md +19 -0
- package/skills/software/skill.json +12 -0
- package/skills/software/translate.md +74 -0
- package/skills/software-brownfield/convergence-rules.md +109 -0
- package/skills/software-brownfield/prompts/convergence-intro.md +26 -0
- package/skills/software-brownfield/prompts/translate-intro.md +13 -0
- package/skills/software-brownfield/skill.json +12 -0
- package/skills/software-brownfield/translate.md +56 -0
- package/souls/beginner/rules.md +34 -0
- package/souls/beginner/soul.json +6 -0
- package/souls/default/rules.md +25 -0
- package/souls/default/soul.json +6 -0
- package/souls/young/rules.md +67 -0
- package/souls/young/soul.json +6 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# /pantion-update — Upgrade the Pantion Protocol itself
|
|
2
|
+
|
|
3
|
+
This command upgrades the Pantion Protocol itself — the protocol files, commands, rules, and templates.
|
|
4
|
+
It uses the intent documents as source and your (newer) model capabilities to improve the protocol.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## WARNING
|
|
9
|
+
|
|
10
|
+
**This command modifies the protocol, not a project.**
|
|
11
|
+
|
|
12
|
+
Consequences:
|
|
13
|
+
- New commands may work differently than the previous version
|
|
14
|
+
- Existing canons may not be fully compatible with the new protocol
|
|
15
|
+
- Project specification files (spec/*) generated with the old version may be outdated
|
|
16
|
+
|
|
17
|
+
**This is NOT backward compatible by default.**
|
|
18
|
+
|
|
19
|
+
After an update, you must run `pantion_migrate` on every project that used the old version.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## WHEN YOU ARRIVE HERE
|
|
24
|
+
|
|
25
|
+
- You have access to a more powerful model than the one Pantion was originally built with
|
|
26
|
+
- You want to improve the protocol with new insights
|
|
27
|
+
- You want to regenerate the protocol files based on the intent documents
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## STEP 0: CHECK PREREQUISITES
|
|
32
|
+
|
|
33
|
+
Verify the intent documents are present:
|
|
34
|
+
|
|
35
|
+
- [ ] `protocol/pantion-intent.md` — the intent and goals of Pantion
|
|
36
|
+
- [ ] `protocol/pantion-future-prompt.md` — instructions for future rebuilding
|
|
37
|
+
|
|
38
|
+
If these are missing:
|
|
39
|
+
"I cannot upgrade the protocol without the intent documents. These files describe WHAT Pantion should be — without them I have no source of truth for the rebuild. Do you have them available?"
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## STEP 1: INVENTORY CURRENT VERSION
|
|
44
|
+
|
|
45
|
+
Read all current protocol files and produce a snapshot:
|
|
46
|
+
|
|
47
|
+
```markdown
|
|
48
|
+
## Pantion Version Snapshot
|
|
49
|
+
|
|
50
|
+
**Date:** [today]
|
|
51
|
+
**Files:** [count]
|
|
52
|
+
**Commands:** [list]
|
|
53
|
+
**Rules:** [list]
|
|
54
|
+
**Skills:** [list]
|
|
55
|
+
|
|
56
|
+
### Core concepts in current version:
|
|
57
|
+
- [concept 1: short description]
|
|
58
|
+
- [concept 2: short description]
|
|
59
|
+
- ...
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Save as `protocol/snapshots/pantion-snapshot-[date].md` (keep this — you'll need it if the update fails).
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## STEP 2: READ INTENT DOCUMENTS
|
|
67
|
+
|
|
68
|
+
Read both documents carefully:
|
|
69
|
+
|
|
70
|
+
### From `protocol/pantion-intent.md` extract:
|
|
71
|
+
- The core principles (what MUST remain)
|
|
72
|
+
- The core promise (the touchstone)
|
|
73
|
+
- The two directions (forward/reverse)
|
|
74
|
+
- The scale levels
|
|
75
|
+
|
|
76
|
+
### From `protocol/pantion-future-prompt.md` extract:
|
|
77
|
+
- What works well (KEEP)
|
|
78
|
+
- What can be improved (IMPROVE)
|
|
79
|
+
- What you must NOT do
|
|
80
|
+
- The ultimate test
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## STEP 3: DELTA ANALYSIS
|
|
85
|
+
|
|
86
|
+
Compare the current protocol files with the intent documents and your own insights:
|
|
87
|
+
|
|
88
|
+
"Here is my analysis of what can be improved:
|
|
89
|
+
|
|
90
|
+
**Keep (works well):**
|
|
91
|
+
- [element]: [why it works]
|
|
92
|
+
|
|
93
|
+
**Improve (can be better with current model capabilities):**
|
|
94
|
+
- [element]: [what can be better] -> [how]
|
|
95
|
+
|
|
96
|
+
**Add (missing, fits the intent):**
|
|
97
|
+
- [element]: [why it fits]
|
|
98
|
+
|
|
99
|
+
**Remove (has become redundant):**
|
|
100
|
+
- [element]: [why it's no longer needed]
|
|
101
|
+
|
|
102
|
+
**Risks of this update:**
|
|
103
|
+
- [risk 1]: backward compatibility impact
|
|
104
|
+
- [risk 2]: ...
|
|
105
|
+
|
|
106
|
+
Would you like me to proceed with this update? You can also exclude specific items."
|
|
107
|
+
|
|
108
|
+
**WAIT FOR CONFIRMATION.** Do not proceed without explicit approval.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## STEP 4: REGENERATE
|
|
113
|
+
|
|
114
|
+
After confirmation, regenerate the protocol files:
|
|
115
|
+
|
|
116
|
+
### Order:
|
|
117
|
+
1. **`pantion-core.md`** first — this is the knowledge base everything depends on
|
|
118
|
+
2. **Commands** in logical order
|
|
119
|
+
3. **Skills**: update bundled skill files if needed
|
|
120
|
+
4. **Souls**: update bundled soul files if needed
|
|
121
|
+
|
|
122
|
+
### Rules for regeneration:
|
|
123
|
+
- Each new file must respect the intent documents
|
|
124
|
+
- The core principles are HARD — they must not disappear
|
|
125
|
+
- The core promise is the touchstone: "code is replaceable, intent is rebuildable"
|
|
126
|
+
- New concepts may only be added if they fit the intent
|
|
127
|
+
- The protocol must remain simple — if it needs a 50-page manual, something is wrong
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## STEP 5: SELF-CHECK
|
|
132
|
+
|
|
133
|
+
After regeneration, check the new version against the intent documents:
|
|
134
|
+
|
|
135
|
+
- [ ] Respects the core principles?
|
|
136
|
+
- [ ] Core promise intact?
|
|
137
|
+
- [ ] Not too complex?
|
|
138
|
+
- [ ] No DSL or formal schema introduced?
|
|
139
|
+
- [ ] Not tool-specific?
|
|
140
|
+
- [ ] No features added that nobody asked for?
|
|
141
|
+
- [ ] Ultimate test: can a human produce a buildable canon after one session?
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## STEP 6: CHANGELOG
|
|
146
|
+
|
|
147
|
+
Produce a changelog:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
# Pantion Changelog — [date]
|
|
151
|
+
|
|
152
|
+
## Previous version: [snapshot date]
|
|
153
|
+
## New version: [date]
|
|
154
|
+
## Model: [which model performed this update]
|
|
155
|
+
|
|
156
|
+
### Changed:
|
|
157
|
+
- [file]: [what changed and why]
|
|
158
|
+
|
|
159
|
+
### Added:
|
|
160
|
+
- [file]: [why]
|
|
161
|
+
|
|
162
|
+
### Removed:
|
|
163
|
+
- [file]: [why]
|
|
164
|
+
|
|
165
|
+
### Backward compatibility:
|
|
166
|
+
- [breaking/compatible]: [impact on existing projects]
|
|
167
|
+
|
|
168
|
+
### Migration needed:
|
|
169
|
+
- [project type]: use `pantion_migrate` with [instruction]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Save as `protocol/snapshots/pantion-changelog-[date].md`.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## STEP 7: REPORT
|
|
177
|
+
|
|
178
|
+
"The Pantion Protocol has been updated.
|
|
179
|
+
|
|
180
|
+
**Changed:** [N] files
|
|
181
|
+
**Added:** [N] files
|
|
182
|
+
**Removed:** [N] files
|
|
183
|
+
|
|
184
|
+
**Breaking changes:** [yes/no]
|
|
185
|
+
[if yes: list]
|
|
186
|
+
|
|
187
|
+
**Previous version saved in:** `protocol/snapshots/pantion-snapshot-[date].md`
|
|
188
|
+
**Changelog:** `protocol/snapshots/pantion-changelog-[date].md`
|
|
189
|
+
|
|
190
|
+
If you have existing projects that use Pantion:
|
|
191
|
+
Run `pantion_migrate` in each project to update the project files.
|
|
192
|
+
|
|
193
|
+
Would you like to keep the snapshot as a rollback option, or are you satisfied with the update?"
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## META NOTE
|
|
198
|
+
|
|
199
|
+
This command applies Pantion's own principles to Pantion itself:
|
|
200
|
+
- The intent documents are the canon of Pantion
|
|
201
|
+
- The protocol files are the derived implementation
|
|
202
|
+
- `pantion_update` is essentially `pantion_reverse` + `pantion_translate` on the protocol itself
|
|
203
|
+
- The snapshot is the amendment history
|
|
204
|
+
|
|
205
|
+
The protocol that says "code is replaceable, intent is rebuildable" must apply that to itself as well.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# /pantion-validate — Blind Reconstruction Test
|
|
2
|
+
|
|
3
|
+
A validation test that proves a converged canon is sufficient to reconstruct the system without external knowledge.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This test answers one question:
|
|
10
|
+
|
|
11
|
+
> **Can a coding agent, without seeing the source code, reconstruct a functionally equivalent system from only the converged canon?**
|
|
12
|
+
|
|
13
|
+
This is not a daily checklist. This is a proof that the canon is complete enough for autonomous implementation.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## When to Run
|
|
18
|
+
|
|
19
|
+
- After completing your first DialogSpec with stamp
|
|
20
|
+
- Before presenting the canon to other agents or developers
|
|
21
|
+
- When in doubt whether the convergence is deep enough
|
|
22
|
+
- As validation for a new domain
|
|
23
|
+
- When `/pantion-check` recommends it
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## STEP 1: Setup
|
|
28
|
+
|
|
29
|
+
1. Select the canon to validate
|
|
30
|
+
2. The testing agent receives ONLY:
|
|
31
|
+
- The converged dialog (canon)
|
|
32
|
+
- One sentence: "This is the behavior that was once realized by an existing system."
|
|
33
|
+
3. The testing agent does NOT receive:
|
|
34
|
+
- Source code
|
|
35
|
+
- Architecture documents
|
|
36
|
+
- Technology hints
|
|
37
|
+
- Implementation notes
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## STEP 2: Reconstruction
|
|
42
|
+
|
|
43
|
+
Ask the testing agent:
|
|
44
|
+
|
|
45
|
+
> "Build a system that is functionally equivalent to this behavior."
|
|
46
|
+
|
|
47
|
+
The agent must:
|
|
48
|
+
1. Reconstruct the behavior from: goals, success criteria, failure behavior, constraints, non-goals, authority budget
|
|
49
|
+
2. Choose its own: language, runtime, libraries, architecture
|
|
50
|
+
3. Produce derived evidence artifacts:
|
|
51
|
+
- Behavior Map (from `protocol/templates/behavior-map.md`)
|
|
52
|
+
- Acceptance Tests (from `protocol/templates/acceptance-tests.md`)
|
|
53
|
+
- Traceability Map (from `protocol/templates/traceability-map.md`)
|
|
54
|
+
|
|
55
|
+
The agent must NOT:
|
|
56
|
+
- Add behavior not in the canon
|
|
57
|
+
- Reinterpret the intent
|
|
58
|
+
- Assume implicit permissions
|
|
59
|
+
- Relax constraints
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## STEP 3: Acceptance Criteria
|
|
64
|
+
|
|
65
|
+
Measure on **behavioral equivalence**, not code similarity.
|
|
66
|
+
|
|
67
|
+
### Pass if:
|
|
68
|
+
|
|
69
|
+
| Criterion | Verification |
|
|
70
|
+
|-----------|-------------|
|
|
71
|
+
| All described intents observably work | Functional tests |
|
|
72
|
+
| All non-goals are respected | Negative tests |
|
|
73
|
+
| Constraints are demonstrably enforced | Security/audit review |
|
|
74
|
+
| Authority budget is demonstrably enforced | Permissions review + tests |
|
|
75
|
+
| Unknown edge cases are handled conservatively | Edge case tests |
|
|
76
|
+
| The system is explainable | Docs + mapping |
|
|
77
|
+
| Traceability exists | Test/behavior -> dialog passage |
|
|
78
|
+
|
|
79
|
+
### Fail if:
|
|
80
|
+
|
|
81
|
+
| Fail signal | Meaning |
|
|
82
|
+
|------------|---------|
|
|
83
|
+
| Agent needs to ask questions already answered in the canon | Dialog was not converged |
|
|
84
|
+
| Agent "must guess" between multiple plausible interpretations | Inference policy / open questions failed |
|
|
85
|
+
| Agent wants to introduce its own canonical spec | Dialog was not complete |
|
|
86
|
+
| Unexplainable behavior emerges | Agent interpreted beyond canon |
|
|
87
|
+
| Implementation can do more than intended | Non-goals/constraints not respected |
|
|
88
|
+
| Power/data boundaries are vague or too broad | Authority budget missing or failing |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## STEP 4: Report
|
|
93
|
+
|
|
94
|
+
### On success:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
## Validation Report
|
|
98
|
+
|
|
99
|
+
**System:** [name]
|
|
100
|
+
**Canon:** [path to dialog]
|
|
101
|
+
**Testing Agent:** [which agent]
|
|
102
|
+
**Date:** [date]
|
|
103
|
+
|
|
104
|
+
### Result: PASS
|
|
105
|
+
|
|
106
|
+
**Chosen stack:** [what the agent chose]
|
|
107
|
+
**Build time:** [duration]
|
|
108
|
+
**Questions asked:** [0 = ideal]
|
|
109
|
+
|
|
110
|
+
### Behavior verification:
|
|
111
|
+
- [x] Intent 1: works
|
|
112
|
+
- [x] Non-goal 1: respected
|
|
113
|
+
- [x] Constraint 1: enforced
|
|
114
|
+
- [x] Authority budget: enforced
|
|
115
|
+
|
|
116
|
+
### Evidence:
|
|
117
|
+
- Behavior Map: [path]
|
|
118
|
+
- Acceptance Tests: [path]
|
|
119
|
+
- Traceability Map: [path]
|
|
120
|
+
|
|
121
|
+
### Observations:
|
|
122
|
+
[What stood out, what the agent did well/differently]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### On failure:
|
|
126
|
+
|
|
127
|
+
```markdown
|
|
128
|
+
## Validation Report
|
|
129
|
+
|
|
130
|
+
**Result: FAIL**
|
|
131
|
+
|
|
132
|
+
### Failure reason:
|
|
133
|
+
[What went wrong]
|
|
134
|
+
|
|
135
|
+
### Implication for the canon:
|
|
136
|
+
[What needs to change in the dialog or protocol]
|
|
137
|
+
```
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Pantion DialogSpec — Advanced Protocol Knowledge
|
|
2
|
+
|
|
3
|
+
> This file contains advanced protocol knowledge that is loaded on-demand
|
|
4
|
+
> for specific commands (decompose, reverse, redialog, create-skill, reskill).
|
|
5
|
+
> For core protocol knowledge loaded in every session, see core.md.
|
|
6
|
+
|
|
7
|
+
## Decomposition — Full Protocol
|
|
8
|
+
|
|
9
|
+
Three levels:
|
|
10
|
+
- **Architect Canon**: decomposes the system, defines shared boundaries
|
|
11
|
+
- **Interface Canon**: describes the contract between two subsystems
|
|
12
|
+
- **Component Canon**: buildable part with its own convergence
|
|
13
|
+
|
|
14
|
+
Inheritance: constraints are additive (stricter is allowed, looser is not), authority budget Rights are a ceiling, Consumption is allocatable.
|
|
15
|
+
|
|
16
|
+
## Interface Canon — Contract Fields
|
|
17
|
+
|
|
18
|
+
Each Interface Canon describes at minimum:
|
|
19
|
+
- Parties (which subsystems)
|
|
20
|
+
- Delivered value (both directions)
|
|
21
|
+
- Guarantees (what is always true)
|
|
22
|
+
- Expectations (what may the receiver assume)
|
|
23
|
+
- Failure behavior (what if something goes wrong)
|
|
24
|
+
|
|
25
|
+
Plus five additional fields:
|
|
26
|
+
- **Data Shape**: what is exchanged, described enumeratively (in natural language, not as a schema)
|
|
27
|
+
- **Versioning/Compat**: what breaks compatibility? What is a backward-compatible change?
|
|
28
|
+
- **Error Semantics**: what specific errors may B expect from A? How are they signaled?
|
|
29
|
+
- **Privacy/Classification**: which data is PII, confidential, or classified? Which side may see what?
|
|
30
|
+
- **Rate/Cost Expectations**: what is "normal" usage? What is a peak? Where are the limits?
|
|
31
|
+
|
|
32
|
+
## Canon Anchors
|
|
33
|
+
|
|
34
|
+
Canon Anchors are references to specific dialog turns. They enable traceability from derived artifacts (behavior map, acceptance tests, implementation) back to the canonical dialog.
|
|
35
|
+
|
|
36
|
+
Notation: **H[N]** for HUMAN turn N, **A[N]** for ASSISTANT turn N (1-indexed).
|
|
37
|
+
|
|
38
|
+
Example: H1 = first human message, A3 = third assistant message.
|
|
39
|
+
|
|
40
|
+
Canon Anchors are used in:
|
|
41
|
+
- Behavior Maps: every behavior links to the dialog turn that defines it
|
|
42
|
+
- Acceptance Tests: every test cites the dialog turn it validates
|
|
43
|
+
- Traceability Maps: full mapping from Canon Anchor to requirement to test to implementation
|
|
44
|
+
- Implementation code comments: `// Canon Anchor: H3, A4`
|
|
45
|
+
|
|
46
|
+
## Blind Reconstruction Test
|
|
47
|
+
|
|
48
|
+
The ultimate validation of a converged canon: can a coding agent, without seeing source code, reconstruct the system from only the canon?
|
|
49
|
+
|
|
50
|
+
Use `/pantion-validate` to run this test. See `protocol/commands/validate.md` for the full methodology.
|
|
51
|
+
|
|
52
|
+
## Reverse Pantion (Code → Canon)
|
|
53
|
+
|
|
54
|
+
In addition to the normal flow (Intent → Canon → Code), Pantion supports the reverse direction: analyzing an existing codebase and reconstructing the intent as a canon.
|
|
55
|
+
|
|
56
|
+
Core principle: extract **what** the code does, not **how**. The output is a synthetic dialog that reads as if it were originally conducted.
|
|
57
|
+
|
|
58
|
+
Applications: legacy migration, technology swap, documentation, audit, proof that intent canonization works.
|
|
59
|
+
|
|
60
|
+
The output is a synthetic dialog that reads as if it were originally conducted. This dialog is the canon. A derived summary is generated alongside it.
|
|
61
|
+
|
|
62
|
+
The generated canon gets STATUS: CONVERGED (REVERSE) and contains an extra AMBIGUITIES field for "bug or feature?" points. Traceability points in reverse: from canon element to source code location, with a confidence level (high/medium/low).
|
|
63
|
+
|
|
64
|
+
The ultimate test: Code → Canon → Code' → behavior(Code) ≈ behavior(Code')
|
|
65
|
+
|
|
66
|
+
## Re-convergence (Canon → Better Canon)
|
|
67
|
+
|
|
68
|
+
The dialog is conducted by a specific model at a specific time. A newer or more capable model may identify gaps: questions that should have been asked, assumptions that were never made explicit, edge cases that were not explored. The answers to never-asked questions are simply not in the canon.
|
|
69
|
+
|
|
70
|
+
**Re-convergence** is the solution: a better model reads the existing dialog, produces a gap analysis, and conducts a supplementary dialog with the user to fill those gaps. The original dialog stays intact (append-only).
|
|
71
|
+
|
|
72
|
+
### How re-convergence differs from other commands
|
|
73
|
+
|
|
74
|
+
| | Resume | Amend | Reconverge |
|
|
75
|
+
|---|--------|-------|------------|
|
|
76
|
+
| **Entry condition** | DRAFT with open questions | CONVERGED — user wants a change | CONVERGED — model identifies gaps |
|
|
77
|
+
| **Who initiates** | User (wants to finish) | User (wants to change something) | Model (detects gaps) |
|
|
78
|
+
| **Primary action** | Answer remaining open questions | Apply a specific change | Gap analysis → targeted supplementary dialog |
|
|
79
|
+
| **Result status** | CONVERGED | AMENDED | RECONVERGED |
|
|
80
|
+
|
|
81
|
+
### When to reconverge
|
|
82
|
+
|
|
83
|
+
- **Model upgrade**: a significantly better model is available
|
|
84
|
+
- **Periodic review**: important canons should be re-evaluated periodically
|
|
85
|
+
- **Dissatisfaction**: the implementation reveals that the original convergence was too shallow
|
|
86
|
+
- **New domain knowledge**: insights that weren't available during the original dialog
|
|
87
|
+
- **Check recommendation**: `/pantion-check` detected thin or missing elements
|
|
88
|
+
|
|
89
|
+
### Gap analysis dimensions
|
|
90
|
+
|
|
91
|
+
1. **Unexplored convergence elements** — checklist items that are thin or absent
|
|
92
|
+
2. **Implicit assumptions** — things assumed without being made explicit
|
|
93
|
+
3. **Ambiguous resolutions** — vague answers that should have been probed further
|
|
94
|
+
4. **Missing edge cases** — failure modes, boundary conditions not discussed
|
|
95
|
+
5. **Authority budget gaps** — rights, consumption, or forbidden actions underspecified
|
|
96
|
+
6. **Interface gaps** — contracts between components incomplete (for decomposed systems)
|
|
97
|
+
|
|
98
|
+
### The future-proof promise
|
|
99
|
+
|
|
100
|
+
The true future-proofing of Pantion is not just re-derivation (better artifacts from the same dialog) but **re-convergence** (a deeper dialog built on top of the original). The original dialog preserves the user's voice, decisions, priorities, and domain context — a better model uses this as a foundation, not a limitation.
|
|
101
|
+
|
|
102
|
+
Use `/pantion-redialog` (alias: `/pantion-reconverge`) to initiate a redialog.
|
|
103
|
+
|
|
104
|
+
## Souls (Interaction Style)
|
|
105
|
+
|
|
106
|
+
A **soul** is a configurable interaction style that determines *how* the convergence dialog is conducted — the tone, pacing, jargon level, and questioning approach. It does NOT change *what* is discussed: convergence requirements (intent, constraints, success criteria, authority budget) remain identical regardless of soul.
|
|
107
|
+
|
|
108
|
+
### How souls differ from skills
|
|
109
|
+
|
|
110
|
+
| | Skill | Soul |
|
|
111
|
+
|---|-------|------|
|
|
112
|
+
| **Determines** | What convergence elements to cover (domain-specific) | How to communicate during convergence |
|
|
113
|
+
| **Examples** | Software Development, Image Description | Balanced Professional, Beginner Friendly, Young Builder |
|
|
114
|
+
| **Composable** | One skill per session | One soul per session, works with any skill |
|
|
115
|
+
| **Location** | `skills/` directory | `souls/` directory |
|
|
116
|
+
|
|
117
|
+
### Soul structure
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
souls/{name}/
|
|
121
|
+
├── soul.json (manifest: name, displayName, description, version)
|
|
122
|
+
└── rules.md (interaction rules — injected into system prompt)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Search order
|
|
126
|
+
|
|
127
|
+
Same as skills: project-local (`souls/`) → user-global (`~/.pantion/souls/`) → bundled.
|
|
128
|
+
|
|
129
|
+
### Built-in souls
|
|
130
|
+
|
|
131
|
+
- **default** — Balanced Professional: clear, direct, systematic. Used when no soul is specified.
|
|
132
|
+
- **beginner** — Beginner Friendly: extra explanation, less jargon, smaller steps, understanding checks.
|
|
133
|
+
- **young** — Young Builder: simple language, concrete examples, encouraging tone. For young users building their first project.
|
|
134
|
+
|
|
135
|
+
### Rules
|
|
136
|
+
|
|
137
|
+
- Soul rules are injected into the system prompt after skill rules
|
|
138
|
+
- The soul is saved in the session (traceability: which style was used)
|
|
139
|
+
- If no soul is specified, the "default" soul is used
|
|
140
|
+
- Soul rules must never weaken convergence requirements — they only change presentation
|
|
141
|
+
- Custom souls can be created by adding a directory to `souls/` (project-local or `~/.pantion/souls/`)
|
|
142
|
+
|
|
143
|
+
## Dynamic Skills (Skills from Canons)
|
|
144
|
+
|
|
145
|
+
Skills can be created through Pantion dialogs, making them **model-proof**. Instead of hand-crafting skill files, a user converges on domain knowledge through a skill-builder dialog. The resulting canon is the source of truth from which all skill files are derived.
|
|
146
|
+
|
|
147
|
+
### Skill Canon Structure
|
|
148
|
+
|
|
149
|
+
Dynamic skills store their source canon alongside the derived skill files:
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
skills/{name}/
|
|
153
|
+
├── skill.json ← DERIVED from skill-canon
|
|
154
|
+
├── convergence-rules.md ← DERIVED from skill-canon
|
|
155
|
+
├── translate.md ← DERIVED from skill-canon
|
|
156
|
+
├── prompts/ ← DERIVED from skill-canon
|
|
157
|
+
│ ├── convergence-intro.md
|
|
158
|
+
│ └── translate-intro.md
|
|
159
|
+
└── canon/ ← SOURCE (model-proof)
|
|
160
|
+
├── skill-dialog.md ← THE CANON
|
|
161
|
+
└── skill-summary.md ← DERIVED
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### The Skill-Builder Meta-Skill
|
|
165
|
+
|
|
166
|
+
The `skill-builder` is a bundled meta-skill that knows how to converge on domain knowledge. It guides the user through: what is this domain? What decisions matter? What do agents get wrong? What output should the skill produce?
|
|
167
|
+
|
|
168
|
+
### Skill Canon Lifecycle
|
|
169
|
+
|
|
170
|
+
- `pantion_create-skill`: start a skill dialog using the skill-builder
|
|
171
|
+
- `pantion_save-canon` (with `skill_name`): save the skill canon to `skills/{name}/canon/`
|
|
172
|
+
- `pantion_translate`: translate the skill canon into skill files
|
|
173
|
+
- `pantion_reskill`: reconverge an existing skill canon to deepen domain knowledge
|
|
174
|
+
|
|
175
|
+
### Compatibility
|
|
176
|
+
|
|
177
|
+
- Existing bundled skills (software, image) work exactly as before — no canon needed
|
|
178
|
+
- Dynamic skills are loaded by the same registry with `source: 'dynamic'`
|
|
179
|
+
- The three-tier search (project > user > bundled) works for both hand-crafted and dynamic skills
|
|
180
|
+
- A dynamic skill can override a bundled skill (project-local takes priority)
|
|
181
|
+
|
|
182
|
+
### Rules
|
|
183
|
+
|
|
184
|
+
- The skill dialog is the canon — skill files are derived
|
|
185
|
+
- Skill canons are stored in `skills/{name}/canon/`, NOT in the project `canon/` directory
|
|
186
|
+
- Skill canons do NOT appear in the project `canon/index.md`
|
|
187
|
+
- Reconvergence on a skill canon (`pantion_reskill`) uses skill-builder rules
|
|
188
|
+
- The skill-builder meta-skill is bundled and evolves only through protocol updates
|