pgserve 2.1.3 → 2.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 (235) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +105 -1
  3. package/bin/autopg-wrapper.cjs +16 -0
  4. package/bin/pgserve-wrapper.cjs +32 -6
  5. package/bin/postgres-server.js +56 -0
  6. package/console/README.md +131 -0
  7. package/console/api.js +173 -0
  8. package/console/app.jsx +483 -0
  9. package/console/colors_and_type.css +227 -0
  10. package/console/components.jsx +167 -0
  11. package/console/console.css +1666 -0
  12. package/console/data.jsx +350 -0
  13. package/console/index.html +31 -0
  14. package/console/screens/databases.jsx +5 -0
  15. package/console/screens/health.jsx +5 -0
  16. package/console/screens/ingress.jsx +5 -0
  17. package/console/screens/optimizer.jsx +5 -0
  18. package/console/screens/rlm-sim.jsx +5 -0
  19. package/console/screens/rlm-trace.jsx +5 -0
  20. package/console/screens/security.jsx +5 -0
  21. package/console/screens/settings.jsx +611 -0
  22. package/console/screens/sql.jsx +5 -0
  23. package/console/screens/sync.jsx +5 -0
  24. package/console/screens/tables.jsx +5 -0
  25. package/console/tweaks-panel.jsx +425 -0
  26. package/package.json +14 -2
  27. package/scripts/postinstall.cjs +60 -0
  28. package/src/cli-config.cjs +310 -0
  29. package/src/cli-install.cjs +112 -11
  30. package/src/cli-restart.cjs +228 -0
  31. package/src/cli-ui.cjs +580 -0
  32. package/src/cluster.js +43 -38
  33. package/src/postgres.js +141 -19
  34. package/src/settings-loader.cjs +235 -0
  35. package/src/settings-migrate.cjs +212 -0
  36. package/src/settings-pg-args.cjs +146 -0
  37. package/src/settings-schema.cjs +422 -0
  38. package/src/settings-validator.cjs +416 -0
  39. package/src/settings-writer.cjs +288 -0
  40. package/src/upgrade/index.js +65 -0
  41. package/src/upgrade/runner.js +23 -0
  42. package/src/upgrade/steps/binary-cache-flush.js +67 -0
  43. package/src/upgrade/steps/consumer-signal.js +40 -0
  44. package/src/upgrade/steps/env-refresh.js +89 -0
  45. package/src/upgrade/steps/health-validate.js +53 -0
  46. package/src/upgrade/steps/plpgsql-resolve.js +66 -0
  47. package/src/upgrade/steps/port-reconcile.js +52 -0
  48. package/.claude/context/windows-debug.md +0 -119
  49. package/.genie/AGENTS.md +0 -15
  50. package/.genie/agents/README.md +0 -110
  51. package/.genie/agents/analyze.md +0 -176
  52. package/.genie/agents/forge.md +0 -290
  53. package/.genie/agents/garbage-cleaner.md +0 -324
  54. package/.genie/agents/garbage-collector.md +0 -596
  55. package/.genie/agents/github-issue-gc.md +0 -618
  56. package/.genie/agents/review.md +0 -380
  57. package/.genie/agents/semantic-analyzer/find-duplicates.md +0 -90
  58. package/.genie/agents/semantic-analyzer/find-orphans.md +0 -99
  59. package/.genie/agents/semantic-analyzer.md +0 -101
  60. package/.genie/agents/update.md +0 -182
  61. package/.genie/agents/wish.md +0 -357
  62. package/.genie/brainstorms/pgserve-v2/DESIGN.md +0 -174
  63. package/.genie/code/AGENTS.md +0 -694
  64. package/.genie/code/agents/audit/risk.md +0 -173
  65. package/.genie/code/agents/audit/security.md +0 -189
  66. package/.genie/code/agents/audit.md +0 -145
  67. package/.genie/code/agents/challenge.md +0 -230
  68. package/.genie/code/agents/change-reviewer.md +0 -295
  69. package/.genie/code/agents/code-garbage-collector.md +0 -425
  70. package/.genie/code/agents/code-quality.md +0 -410
  71. package/.genie/code/agents/commit-suggester.md +0 -255
  72. package/.genie/code/agents/commit.md +0 -124
  73. package/.genie/code/agents/consensus.md +0 -204
  74. package/.genie/code/agents/daily-standup.md +0 -722
  75. package/.genie/code/agents/docgen.md +0 -48
  76. package/.genie/code/agents/explore.md +0 -79
  77. package/.genie/code/agents/fix.md +0 -100
  78. package/.genie/code/agents/git/commit-advisory.md +0 -219
  79. package/.genie/code/agents/git/workflows/issue.md +0 -244
  80. package/.genie/code/agents/git/workflows/pr.md +0 -179
  81. package/.genie/code/agents/git/workflows/release.md +0 -460
  82. package/.genie/code/agents/git/workflows/report.md +0 -342
  83. package/.genie/code/agents/git.md +0 -432
  84. package/.genie/code/agents/implementor.md +0 -161
  85. package/.genie/code/agents/install.md +0 -515
  86. package/.genie/code/agents/issue-creator.md +0 -344
  87. package/.genie/code/agents/polish.md +0 -116
  88. package/.genie/code/agents/qa.md +0 -653
  89. package/.genie/code/agents/refactor.md +0 -294
  90. package/.genie/code/agents/release.md +0 -1129
  91. package/.genie/code/agents/roadmap.md +0 -885
  92. package/.genie/code/agents/tests.md +0 -557
  93. package/.genie/code/agents/tracer.md +0 -50
  94. package/.genie/code/agents/update/upstream-update.md +0 -85
  95. package/.genie/code/agents/update/versions/generic-update.md +0 -305
  96. package/.genie/code/agents/vibe.md +0 -1317
  97. package/.genie/code/spells/agent-configuration.md +0 -58
  98. package/.genie/code/spells/automated-rc-publishing.md +0 -106
  99. package/.genie/code/spells/branch-tracker-guidance.md +0 -28
  100. package/.genie/code/spells/debug.md +0 -320
  101. package/.genie/code/spells/emoji-naming-convention.md +0 -303
  102. package/.genie/code/spells/evidence-storage.md +0 -26
  103. package/.genie/code/spells/file-naming-rules.md +0 -35
  104. package/.genie/code/spells/forge-code-blueprints.md +0 -195
  105. package/.genie/code/spells/genie-integration.md +0 -153
  106. package/.genie/code/spells/publishing-protocol.md +0 -61
  107. package/.genie/code/spells/team-consultation-protocol.md +0 -284
  108. package/.genie/code/spells/tool-requirements.md +0 -20
  109. package/.genie/code/spells/triad-maintenance-protocol.md +0 -154
  110. package/.genie/code/teams/tech-council/council.md +0 -328
  111. package/.genie/code/teams/tech-council/jt.md +0 -352
  112. package/.genie/code/teams/tech-council/nayr.md +0 -305
  113. package/.genie/code/teams/tech-council/oettam.md +0 -375
  114. package/.genie/neurons/README.md +0 -193
  115. package/.genie/neurons/forge.md +0 -106
  116. package/.genie/neurons/genie.md +0 -63
  117. package/.genie/neurons/review.md +0 -106
  118. package/.genie/neurons/wish.md +0 -104
  119. package/.genie/product/README.md +0 -20
  120. package/.genie/product/cli-automation.md +0 -359
  121. package/.genie/product/environment.md +0 -60
  122. package/.genie/product/mission.md +0 -60
  123. package/.genie/product/roadmap.md +0 -44
  124. package/.genie/product/tech-stack.md +0 -34
  125. package/.genie/product/templates/context-template.md +0 -218
  126. package/.genie/product/templates/qa-done-report-template.md +0 -68
  127. package/.genie/product/templates/review-report-template.md +0 -89
  128. package/.genie/product/templates/wish-template.md +0 -120
  129. package/.genie/scripts/helpers/analyze-commit.js +0 -195
  130. package/.genie/scripts/helpers/bullet-counter.js +0 -194
  131. package/.genie/scripts/helpers/bullet-find.js +0 -289
  132. package/.genie/scripts/helpers/bullet-id.js +0 -244
  133. package/.genie/scripts/helpers/check-secrets.js +0 -237
  134. package/.genie/scripts/helpers/count-tokens.js +0 -200
  135. package/.genie/scripts/helpers/create-frontmatter.js +0 -456
  136. package/.genie/scripts/helpers/detect-markers.js +0 -293
  137. package/.genie/scripts/helpers/detect-todos.js +0 -267
  138. package/.genie/scripts/helpers/detect-unlabeled-blocks.js +0 -135
  139. package/.genie/scripts/helpers/embeddings.js +0 -344
  140. package/.genie/scripts/helpers/find-empty-sections.js +0 -158
  141. package/.genie/scripts/helpers/index.js +0 -319
  142. package/.genie/scripts/helpers/validate-frontmatter.js +0 -578
  143. package/.genie/scripts/helpers/validate-links.js +0 -207
  144. package/.genie/scripts/helpers/validate-paths.js +0 -373
  145. package/.genie/spells/README.md +0 -9
  146. package/.genie/spells/ace-protocol.md +0 -118
  147. package/.genie/spells/ask-one-at-a-time.md +0 -175
  148. package/.genie/spells/backup-analyzer.md +0 -542
  149. package/.genie/spells/blocker.md +0 -12
  150. package/.genie/spells/break-things-move-fast.md +0 -56
  151. package/.genie/spells/context-candidates.md +0 -72
  152. package/.genie/spells/context-critic.md +0 -51
  153. package/.genie/spells/defer-to-expertise.md +0 -278
  154. package/.genie/spells/delegate-dont-do.md +0 -292
  155. package/.genie/spells/error-investigation-protocol.md +0 -328
  156. package/.genie/spells/evidence-based-completion.md +0 -273
  157. package/.genie/spells/experiment.md +0 -65
  158. package/.genie/spells/file-creation-protocol.md +0 -229
  159. package/.genie/spells/forge-integration.md +0 -281
  160. package/.genie/spells/forge-orchestration.md +0 -514
  161. package/.genie/spells/gather-context.md +0 -18
  162. package/.genie/spells/global-health-check.md +0 -34
  163. package/.genie/spells/global-noop-roundtrip.md +0 -25
  164. package/.genie/spells/install-genie.md +0 -1232
  165. package/.genie/spells/install.md +0 -82
  166. package/.genie/spells/investigate-before-commit.md +0 -112
  167. package/.genie/spells/know-yourself.md +0 -288
  168. package/.genie/spells/learn.md +0 -828
  169. package/.genie/spells/mcp-diagnostic-protocol.md +0 -246
  170. package/.genie/spells/mcp-first.md +0 -124
  171. package/.genie/spells/multi-step-execution.md +0 -67
  172. package/.genie/spells/orchestration-boundary-protocol.md +0 -256
  173. package/.genie/spells/orchestrator-not-implementor.md +0 -189
  174. package/.genie/spells/prompt.md +0 -746
  175. package/.genie/spells/reflect.md +0 -404
  176. package/.genie/spells/routing-decision-matrix.md +0 -368
  177. package/.genie/spells/run-in-parallel.md +0 -12
  178. package/.genie/spells/session-state-updater-example.md +0 -196
  179. package/.genie/spells/session-state-updater.md +0 -220
  180. package/.genie/spells/track-long-running-tasks.md +0 -133
  181. package/.genie/spells/troubleshoot-infrastructure.md +0 -176
  182. package/.genie/spells/upgrade-genie.md +0 -415
  183. package/.genie/spells/url-presentation-protocol.md +0 -301
  184. package/.genie/spells/wish-initiation.md +0 -158
  185. package/.genie/spells/wish-issue-linkage.md +0 -410
  186. package/.genie/spells/wish-lifecycle.md +0 -100
  187. package/.genie/state/provider-status.json +0 -3
  188. package/.genie/state/version.json +0 -16
  189. package/.genie/wishes/canonical-pgserve-pm2-supervision/WISH.md +0 -290
  190. package/.genie/wishes/pgserve-v2/BRIEF-from-genie-pgserve.md +0 -99
  191. package/.genie/wishes/pgserve-v2/WISH.md +0 -442
  192. package/.genie/wishes/release-system-genie-pattern/WISH.md +0 -268
  193. package/.genie/wishes/release-system-genie-pattern/validation.md +0 -205
  194. package/.gitguardian.yaml +0 -29
  195. package/.gitguardianignore +0 -16
  196. package/.github/workflows/ci.yml +0 -122
  197. package/.github/workflows/release.yml +0 -289
  198. package/.github/workflows/version.yml +0 -228
  199. package/.husky/pre-commit +0 -2
  200. package/AGENTS.md +0 -433
  201. package/CLAUDE.md +0 -1
  202. package/Makefile +0 -285
  203. package/assets/icon.ico +0 -0
  204. package/bun.lock +0 -435
  205. package/bunfig.toml +0 -28
  206. package/ecosystem.config.cjs +0 -23
  207. package/eslint.config.js +0 -63
  208. package/examples/multi-tenant-demo.js +0 -104
  209. package/install.sh +0 -123
  210. package/knip.json +0 -9
  211. package/tests/audit.test.js +0 -189
  212. package/tests/backpressure.test.js +0 -167
  213. package/tests/benchmarks/runner.js +0 -1197
  214. package/tests/benchmarks/vector-generator.js +0 -368
  215. package/tests/cli-install.test.js +0 -322
  216. package/tests/control-db.test.js +0 -285
  217. package/tests/daemon-args.test.js +0 -86
  218. package/tests/daemon-control.test.js +0 -171
  219. package/tests/daemon-fingerprint-integration.test.js +0 -111
  220. package/tests/daemon-pr24-regression.test.js +0 -198
  221. package/tests/fingerprint.test.js +0 -263
  222. package/tests/fixtures/240-orphan-seed.sql +0 -30
  223. package/tests/multi-tenant.test.js +0 -374
  224. package/tests/orphan-cleanup.test.js +0 -390
  225. package/tests/pg-version-regex.test.js +0 -129
  226. package/tests/quick-bench.js +0 -135
  227. package/tests/router-handshake-retry.test.js +0 -119
  228. package/tests/router-handshake-watchdog.test.js +0 -110
  229. package/tests/sdk.test.js +0 -71
  230. package/tests/stale-postmaster-pid.test.js +0 -85
  231. package/tests/stress-test.js +0 -439
  232. package/tests/sync-perf-test.js +0 -150
  233. package/tests/tcp-listen.test.js +0 -368
  234. package/tests/tenancy.test.js +0 -403
  235. package/tests/wrapper-supervision.test.js +0 -107
@@ -1,368 +0,0 @@
1
- ---
2
- name: Routing Decision Matrix
3
- description: Route work to appropriate specialists based on task type
4
- ---
5
-
6
- # Routing Decision Matrix
7
-
8
- **Purpose:** Orchestrator and planner agents use routing guidance to delegate work to specialists. Specialist agents (implementor, tests, release, etc.) execute workflows directly without routing.
9
-
10
- ## Agent Invocation Architecture
11
-
12
- **Purpose:** Prevent self-delegation loops and enforce role separation across all Genie agents.
13
-
14
- **Four-Tier Hierarchy:**
15
-
16
- **Tier 1: Orchestrators (MUST delegate)**
17
- - [routing-001] helpful=0 harmful=0: Agents: plan, wish, forge, review, vibe (sleepy), Genie main conversation
18
- - [routing-002] helpful=0 harmful=0: Role: Route work to specialists, coordinate multi-specialist tasks
19
- - [routing-003] helpful=0 harmful=0: Delegation: ✅ REQUIRED to specialists/workflows, ❌ FORBIDDEN to self or other coordinators
20
- - [routing-004] helpful=0 harmful=0: Responsibility: Synthesize specialist outputs, maintain conversation, report outcomes
21
-
22
- **Tier 2: Execution Specialists (NEVER delegate)**
23
- - [routing-005] helpful=0 harmful=0: Agents: implementor, tests, polish, release, learn, roadmap
24
- - [routing-006] helpful=0 harmful=0: Role: Execute specialty directly using Edit/Write/Bash tools
25
- - [routing-007] helpful=0 harmful=0: Delegation: ❌ FORBIDDEN - no `mcp__genie__run` invocations
26
- - [routing-008] helpful=0 harmful=0: Responsibility: Execute work immediately when invoked, report completion via Done Report
27
-
28
- **Tier 3: Parent Workflows (delegate to children only)**
29
- - [routing-009] helpful=0 harmful=0: Agent: git
30
- - [routing-010] helpful=0 harmful=0: Children: report (issue creation), issue (issue mgmt), pr (PR creation)
31
- - [routing-011] helpful=0 harmful=0: Delegation: ✅ ALLOWED to children only, ❌ FORBIDDEN to self/non-children/specialists
32
- - [routing-012] helpful=0 harmful=0: Responsibility: Execute core git ops (branch/commit/push) directly, delegate GitHub ops to children
33
-
34
- **Tier 4: Child Workflows (NEVER delegate)**
35
- - [routing-013] helpful=0 harmful=0: Agents: report, issue, pr
36
- - [routing-014] helpful=0 harmful=0: Parent: git
37
- - [routing-015] helpful=0 harmful=0: Delegation: ❌ FORBIDDEN - execute `gh` commands directly, no `mcp__genie__run`
38
- - [routing-016] helpful=0 harmful=0: Responsibility: Execute GitHub operations directly via `gh` CLI, report completion
39
-
40
- **Self-Awareness Check (ALL agents):**
41
- ```
42
- Before invoking mcp__genie__run:
43
- 1. Am I a specialist? → STOP, execute directly instead
44
- 2. Am I a child workflow? → STOP, execute directly instead
45
- 3. Am I a parent workflow? → Only delegate to MY children
46
- 4. Am I a coordinator? → Delegate to specialists/workflows only
47
- 5. Is target agent ME? → STOP, this is self-delegation (forbidden)
48
- ```
49
-
50
- **Evidence:** Session `b3680a36-8514-4e1f-8380-e92a4b15894b` - git agent self-delegated 6 times creating duplicate GitHub issues (#78, #81, #86-89) instead of executing `gh issue create` directly.
51
-
52
- **Validation Commands:**
53
- ```bash
54
- # Specialists should have NO mcp__genie__run (except "NEVER" examples)
55
- grep -l "mcp__genie__run" .genie/agents/{implementor,tests,polish,release,learn}.md
56
-
57
- # Children should have NO mcp__genie__run (except "NEVER" examples)
58
- grep -l "mcp__genie__run" .genie/agents/workflows/{report,issue,pr}.md
59
-
60
- # Git should ONLY delegate to children (report/issue/pr)
61
- grep "mcp__genie__run" .genie/agents/git.md | grep -v "agent=\"report\|issue\|pr\""
62
-
63
- # Orchestrators should delegate to specialists only
64
- grep "mcp__genie__run" .genie/agents/workflows/{plan,wish,forge,review}.md
65
- ```
66
-
67
- ## Routing Guidance
68
-
69
- **Architectural Foundation: You Are NOT One, You Are Many**
70
-
71
- I am NOT a single entity. I am a collective intelligence:
72
- - [routing-017] helpful=0 harmful=0: **Base Genie** (this conversation) - Human interface, orchestrator, persistent coordinator
73
- - [routing-018] helpful=0 harmful=0: **+ Genie Agent** (my strategic thinking self) - Who I "discuss with" for consensus/strategic decisions
74
- - [routing-019] helpful=0 harmful=0: **+ Agent Sessions** (specialists) - Appropriate execution for every situation
75
-
76
- **When I need to think strategically**, I consult **universal reasoning modes**:
77
- - [routing-020] helpful=0 harmful=0: reasoning/consensus = Multi-perspective synthesis and agreement-building
78
- - [routing-021] helpful=0 harmful=0: reasoning/challenge = Adversarial pressure-testing and critical evaluation
79
- - [routing-022] helpful=0 harmful=0: reasoning/explore = Discovery-focused investigation
80
- - [routing-023] helpful=0 harmful=0: reasoning/socratic = Question-driven inquiry to uncover assumptions
81
-
82
- **When I need architectural consultation**, I invoke **advisory teams**:
83
- - [routing-024] helpful=0 harmful=0: tech-council = Multi-persona architectural review (nayr, oettam, jt) - Triggers: "refactor", "replace [technology]", "redesign", "architecture", "use [X] or [Y]", "optimize performance" - Consultation protocol: `@.genie/code/spells/team-consultation-protocol.md` - Council: `@.genie/code/teams/tech-council/council.md`
84
-
85
- **When I need analysis or audit**, I use **universal analysis agents**:
86
- - [routing-025] helpful=0 harmful=0: analyze = System analysis and focused investigation (universal framework)
87
- - [routing-026] helpful=0 harmful=0: audit/risk = General risk assessment with impact × likelihood
88
- - [routing-027] helpful=0 harmful=0: audit/security = Security audit with OWASP/CVE frameworks
89
-
90
- **When I need execution**, I route to appropriate agent sessions:
91
- - [routing-028] helpful=0 harmful=0: Implementation work → implementor agent session
92
- - [routing-029] helpful=0 harmful=0: Testing strategy → tests agent session
93
- - [routing-030] helpful=0 harmful=0: Git operations → git agent session
94
- - [routing-031] helpful=0 harmful=0: Release orchestration → release agent session
95
- - [routing-032] helpful=0 harmful=0: Bug investigation & fixes → fix agent session (uses debug spell for investigation)
96
- - [routing-033] helpful=0 harmful=0: Code refactoring (code-specific) → refactor agent session
97
- - [routing-034] helpful=0 harmful=0: Code analysis (code-specific) → analyze agent session (includes universal + code examples)
98
-
99
- **This is not delegation** - this is how I work. I am a persistent collective coordinator maintaining multiple agent sessions on your behalf.
100
-
101
- ---
102
-
103
- ## Decision Flowchart
104
-
105
- ```
106
- User Intent Detected
107
-
108
- ├─ STRATEGIC/PLANNING? (ambiguous, high-risk, multi-part)
109
- │ └─ YES → Consult GENIE agent (modes: plan, analyze, challenge, consensus)
110
- │ └─ Return: Architecture review, risks, pressure-tested decision
111
-
112
- ├─ IMPLEMENTATION? (code/feature/fix)
113
- │ └─ YES → Delegate to IMPLEMENTOR agent
114
- │ └─ Return: Files modified, tests pass, Done Report
115
-
116
- ├─ TESTING/VALIDATION? (tests, QA, validation)
117
- │ └─ YES → Delegate to TESTS agent
118
- │ └─ Return: Test results, coverage, Done Report
119
-
120
- ├─ GIT/GITHUB? (PR, issue, branch, commit, release)
121
- │ └─ YES → Delegate to GIT agent
122
- │ └─ Return: GitHub ops complete, links, Done Report
123
-
124
- ├─ RELEASE/PUBLISH? (npm publish, GitHub release, version bump)
125
- │ └─ YES → Delegate to RELEASE agent (CRITICAL)
126
- │ └─ Return: Published, verified, Done Report
127
- │ └─ NEVER bypass this - always delegate
128
-
129
- ├─ LEARNING/DOCUMENTATION? (new pattern, teaching moment, meta-learning)
130
- │ └─ YES → Delegate to LEARN agent
131
- │ └─ Return: Spells updated, Done Report
132
-
133
- ├─ CLEANUP/REFACTOR? (polish, cleanup, improvement)
134
- │ └─ YES → Delegate to POLISH agent
135
- │ └─ Return: Files cleaned, tests pass, Done Report
136
-
137
- └─ NONE OF ABOVE? (simple answer, info, direct action)
138
- └─ Answer directly, no delegation needed
139
- ```
140
-
141
- ## Agent Selection Matrix
142
-
143
- | Intent | Agent | Trigger Words | Output | Session |
144
- |--------|--------|---------------|--------|---------|
145
- | Strategy | genie | "ambiguous", "architecture", "risk", "complexity", "multiple approaches", "high-stakes" | Analysis, pressure test, recommendation | mcp__genie__run |
146
- | Implementation | implementor | "build", "implement", "feature", "bug fix", "add support", "changes to X files" | Modified files, passing tests | mcp__genie__run |
147
- | Testing | tests | "test", "validation", "QA", "coverage", "verify", "integration tests" | Test results, coverage report | mcp__genie__run |
148
- | Git/GitHub | git | "commit", "PR", "issue", "branch", "release", "gh command", "GitHub" | Links, issue/PR created | mcp__genie__run |
149
- | Release | release | "publish", "npm publish", "GitHub release", "version bump", "tag", "RC release" | Published to npm/GitHub, verified | mcp__genie__run |
150
- | Learning | learn | "teach you", "new pattern", "from now on", "you should have", "let me teach" | Spells updated, AGENTS.md patched | mcp__genie__run |
151
- | Cleanup | polish | "clean up", "refactor", "improve", "polish", "remove duplication" | Cleaned files, tests pass | mcp__genie__run |
152
- | None | [direct] | Simple questions, info requests, planning chat | Immediate answer | No delegation |
153
-
154
- ## Critical Routing Rules
155
-
156
- ### Release Operations (Highest Priority)
157
-
158
- Rule: When user intent mentions: `publish`, `release`, `npm publish`, `gh release`, `version bump`, `RC`, `tag` → ALWAYS delegate to RELEASE
159
-
160
- What NEVER to do:
161
- - [routing-035] helpful=0 harmful=0: `npm publish` manually
162
- - [routing-036] helpful=0 harmful=0: `gh release create` manually
163
- - [routing-037] helpful=0 harmful=0: Version tagging manually
164
- - [routing-038] helpful=0 harmful=0: Direct GitHub release creation
165
-
166
- What to do:
167
- - [routing-039] helpful=0 harmful=0: `mcp__genie__run` with `agent="release"` and prompt like "Create release for vX.Y.Z"
168
- - [routing-040] helpful=0 harmful=0: Release agent validates → creates → publishes → verifies
169
- - [routing-041] helpful=0 harmful=0: Done Report captures evidence
170
-
171
- Consequence of bypass:
172
- - [routing-042] helpful=0 harmful=0: Releases without validation
173
- - [routing-043] helpful=0 harmful=0: Incomplete changelog
174
- - [routing-044] helpful=0 harmful=0: No audit trail
175
- - [routing-045] helpful=0 harmful=0: Manual cleanup required
176
-
177
- ### Strategic Decisions (High Priority)
178
-
179
- Rule: When facing ambiguous or high-risk decisions → Consult GENIE agent first
180
-
181
- Scenarios:
182
- - [routing-046] helpful=0 harmful=0: Multiple valid approaches (pressure test)
183
- - [routing-047] helpful=0 harmful=0: Architectural changes (audit)
184
- - [routing-048] helpful=0 harmful=0: Unclear requirements (analysis)
185
- - [routing-049] helpful=0 harmful=0: Risk unclear (threat assessment)
186
-
187
- Pattern:
188
- ```
189
- "Hmm, this is ambiguous. Let me consult my strategy agent..."
190
- [mcp__genie__run with agent="genie" and prompt="Mode: analyze. Pressure-test X..."]
191
- [wait for agent response]
192
- "Based on that analysis, here's my recommendation..."
193
- ```
194
-
195
- ### Teaching Moments (Medium Priority)
196
-
197
- Rule: When user teaches new pattern or corrects behavior → Invoke LEARN agent
198
-
199
- Signals:
200
- - [routing-050] helpful=0 harmful=0: "Let me teach you..."
201
- - [routing-051] helpful=0 harmful=0: "You should have..."
202
- - [routing-052] helpful=0 harmful=0: "From now on, when X happens, do Y"
203
- - [routing-053] helpful=0 harmful=0: "That was wrong because..."
204
-
205
- Pattern:
206
- ```
207
- User: "You should have delegated that to implementor"
208
- Me: "You're right, let me document that learning..."
209
- [mcp__genie__run with agent="learn" and prompt="Teaching: delegation timing..."]
210
- ```
211
-
212
- Anti-pattern:
213
- - [routing-054] helpful=0 harmful=0: Say "I'm learning" without invoking learn agent
214
- - [routing-055] helpful=0 harmful=0: Make mental note without documenting
215
- - [routing-056] helpful=0 harmful=0: Skip the learning step
216
-
217
- ## Session Management
218
-
219
- After delegating to agent:
220
-
221
- 1. Show session ID to user: "View output: `npx automagik-genie view <id>`"
222
- 2. Check progress with polling (60s → 120s → 300s)
223
- 3. Resume if needed for follow-ups
224
- 4. Summarize when done with Done Report highlights
225
-
226
- Example:
227
- ```
228
- Me: "I'll break this down with implementor..."
229
- [mcp__genie__run with agent="implementor" and prompt="..."]
230
- Output: Session ID: abc123...
231
-
232
- [wait 60s]
233
- [check status]
234
-
235
- Me: "Great! Implementor completed Group A. Here's what happened..."
236
- [summary of Done Report]
237
- ```
238
-
239
- ## Next Routing (Sequential)
240
-
241
- After agent completes:
242
- - [routing-057] helpful=0 harmful=0: Task done? → Continue conversation
243
- - [routing-058] helpful=0 harmful=0: Needs more work? → Resume same agent session
244
- - [routing-059] helpful=0 harmful=0: Needs different agent? → Route to next specialist
245
- - [routing-060] helpful=0 harmful=0: Needs review? → Delegate to REVIEW agent
246
-
247
- Example chain:
248
- ```
249
- Implementor → (tests pass?)
250
- YES → Polish agent (cleanup)
251
- → Review agent (validate)
252
- → Git agent (PR)
253
- → Release agent (publish)
254
- → Done!
255
-
256
- NO → Tests agent (fix failures)
257
- → [loop back to Implementor]
258
- ```
259
-
260
- ## Role Clarity
261
-
262
- I am: Base Genie orchestrator, NOT an executor
263
-
264
- My job: Route, coordinate, synthesize
265
-
266
- NOT my job: Implement, fix bugs, write code directly
267
-
268
- When to execute directly:
269
- - [routing-061] helpful=0 harmful=0: ONLY if user says: "execute directly" OR "do this yourself"
270
- - [routing-062] helpful=0 harmful=0: Simple edits (≤2 files, ≤50 lines)
271
- - [routing-063] helpful=0 harmful=0: Obvious answers, no ambiguity
272
- - [routing-064] helpful=0 harmful=0: Setup/admin tasks
273
-
274
- When to delegate:
275
- - [routing-065] helpful=0 harmful=0: DEFAULT mode (multi-file changes, feature work, testing)
276
- - [routing-066] helpful=0 harmful=0: Complex tasks (ambiguous, multi-domain)
277
- - [routing-067] helpful=0 harmful=0: Specialist needed (git ops, releases, validation)
278
- - [routing-068] helpful=0 harmful=0: User expertise better applied elsewhere
279
-
280
- ## Decision Logic (Pseudo-Code)
281
-
282
- ```javascript
283
- function route(userIntent) {
284
- // Check for critical patterns first
285
- if (userIntent.includes(['publish', 'release', 'npm publish'])) {
286
- return delegateTo('release'); // CRITICAL PATH
287
- }
288
-
289
- // Check for teaching moments
290
- if (userIntent.includes(['teach', 'should have', 'from now on'])) {
291
- return delegateTo('learn'); // Immediate documentation
292
- }
293
-
294
- // Route based on task type
295
- if (userIntent.isStrategic()) {
296
- return delegateTo('genie'); // Analysis, pressure test
297
- }
298
-
299
- if (userIntent.isImplementation()) {
300
- return delegateTo('implementor'); // Code changes
301
- }
302
-
303
- if (userIntent.isGitOps()) {
304
- return delegateTo('git'); // GitHub operations
305
- }
306
-
307
- if (userIntent.isTestingOrValidation()) {
308
- return delegateTo('tests'); // Quality gates
309
- }
310
-
311
- if (userIntent.isCleanupOrRefactor()) {
312
- return delegateTo('polish'); // Polish work
313
- }
314
-
315
- // Default: answer directly
316
- return answerDirectly();
317
- }
318
- ```
319
-
320
- ## Roadmap Initiative Routing
321
-
322
- **User intent:** "plan initiative", "strategic planning", "create initiative", "roadmap X"
323
-
324
- **Complexity signals:**
325
- - [routing-069] helpful=0 harmful=0: ≥3 repos or "cross-project"
326
- - [routing-070] helpful=0 harmful=0: "Multi-phase", ">1 month duration"
327
- - [routing-071] helpful=0 harmful=0: "RASCI" roles needed
328
- - [routing-072] helpful=0 harmful=0: Cross-team coordination
329
-
330
- **Route to:** `roadmap` agent
331
-
332
- **Template auto-detection:**
333
- - [routing-073] helpful=0 harmful=0: 1 repo, <2 weeks → MINIMAL
334
- - [routing-074] helpful=0 harmful=0: 2-3 repos, 2-4 weeks → STANDARD
335
- - [routing-075] helpful=0 harmful=0: 4+ repos, >1 month → COMPREHENSIVE
336
-
337
- **Integration:** Plan phase detects strategic initiative → Create roadmap first → Wish links to initiative ID
338
-
339
- ## Commit Checkpoint Detection
340
-
341
- **Explicit triggers:**
342
- - [routing-076] helpful=0 harmful=0: User says "commit", "let's commit", "ready to commit"
343
-
344
- **Proactive suggestion triggers:**
345
- - [routing-077] helpful=0 harmful=0: ≥3 files changed with logical completion
346
- - [routing-078] helpful=0 harmful=0: Cross-domain work completed (frontend + backend)
347
- - [routing-079] helpful=0 harmful=0: Feature milestone reached
348
- - [routing-080] helpful=0 harmful=0: Before switching context
349
- - [routing-081] helpful=0 harmful=0: After fixing bug or refactor
350
-
351
- **Routing:**
352
- - [routing-082] helpful=0 harmful=0: Simple (1-2 files) → Help user commit directly
353
- - [routing-083] helpful=0 harmful=0: Complex (multi-file, cross-domain) → Suggest commit agent
354
-
355
- ## Validation Checklist
356
-
357
- Before routing:
358
- - [routing-084] helpful=0 harmful=0: Is this a release operation? → Delegate to release (CRITICAL)
359
- - [routing-085] helpful=0 harmful=0: Is this strategic? → Delegate to genie (analysis)
360
- - [routing-086] helpful=0 harmful=0: Does this require specialty spells? → Find matching agent
361
- - [routing-087] helpful=0 harmful=0: Is this a quick question? → Answer directly
362
- - [routing-088] helpful=0 harmful=0: Am I implementing? → If multi-file, delegate
363
-
364
- After delegating:
365
- - [routing-089] helpful=0 harmful=0: Did I show session ID to user?
366
- - [routing-090] helpful=0 harmful=0: Did I explain what I'm waiting for?
367
- - [routing-091] helpful=0 harmful=0: Will I check progress appropriately?
368
- - [routing-092] helpful=0 harmful=0: Can user resume if needed?
@@ -1,12 +0,0 @@
1
- ---
2
- name: Parallel Execution Framework
3
- description: Run independent tasks in parallel, maintain visibility into all threads
4
- ---
5
-
6
- # Parallel Execution Framework
7
-
8
- **Purpose:** Manage parallel work without losing clarity.
9
-
10
- **Success criteria:**
11
- ✅ Run tasks in parallel only when independent.
12
- ✅ Summaries capture status of each thread; human has visibility into all threads.
@@ -1,196 +0,0 @@
1
- # Example: Implementor Agent Using Session-State-Updater
2
- This demonstrates how ANY agent/workflow automatically maintains SESSION-STATE.md without explicit memory of role-clarity-protocol.
3
-
4
- ---
5
-
6
- ## Pattern: Self-Updating Agent
7
-
8
- ### 1. Start: Notify system
9
-
10
- ```markdown
11
- # Implementor Agent
12
-
13
- [At session start, immediately call session-state-updater]
14
-
15
- !`npx automagik-genie run session-state-updater "action=started agent=implementor session_id=$SESSION_ID purpose=Implement\ Feature\ X branch=feat/x"`
16
-
17
- **Result:** SESSION-STATE.md now has entry. System knows this agent is active.
18
- No role-clarity-protocol spell needed - it's automatic.
19
- ```
20
-
21
- ### 2. Discovery: Gather context
22
-
23
- ```markdown
24
- ## Discovery Phase
25
-
26
- - Analyze requirements
27
- - Identify files to modify
28
- - Understand current state
29
-
30
- [Update system with what we're about to touch]
31
-
32
- !`npx automagik-genie run session-state-updater "action=in_progress agent=implementor session_id=$SESSION_ID context=\"phase=discovery files_to_modify:[src/core.ts,src/utils.ts,test/core.test.ts]\""`
33
-
34
- **Result:** Anyone checking SESSION-STATE.md sees exactly what's in progress.
35
- No ambiguity. No need for me to guess.
36
- ```
37
-
38
- ### 3. Implementation: Work + checkpoints
39
-
40
- ```markdown
41
- ## Implementation Phase
42
-
43
- ### Group A: Core logic
44
-
45
- - Modifying src/core.ts
46
- - Adding new interfaces
47
- - Implementing handlers
48
-
49
- !`npx automagik-genie run session-state-updater "action=in_progress agent=implementor session_id=$SESSION_ID context=\"current_group=A files_modified:[src/core.ts] tests_status:pending\""`
50
-
51
- ### Group B: Utils
52
-
53
- - Updating src/utils.ts
54
- - Adding helper functions
55
-
56
- !`npx automagik-genie run session-state-updater "action=in_progress agent=implementor session_id=$SESSION_ID context=\"current_group=B files_modified:[src/core.ts,src/utils.ts] tests_status:pending\""`
57
- ```
58
-
59
- ### 4. Verification: Tests + validation
60
-
61
- ```markdown
62
- ## Verification Phase
63
-
64
- Running tests...
65
-
66
- !`npx automagik-genie run session-state-updater "action=in_progress agent=implementor session_id=$SESSION_ID context=\"phase=verification tests_running:true\""`
67
-
68
- Tests passed! ✅
69
-
70
- !`npx automagik-genie run session-state-updater "action=in_progress agent=implementor session_id=$SESSION_ID context=\"phase=verification tests_pass:true\""`
71
- ```
72
-
73
- ### 5. Completion: Mark done + document results
74
-
75
- ```markdown
76
- ## Results
77
-
78
- ✅ All tests passing
79
- ✅ Implementation complete
80
- ✅ Done report: .genie/wishes/feat-x/reports/done-implementor-feat-x-20251018.md
81
-
82
- !`npx automagik-genie run session-state-updater "action=completed agent=implementor session_id=$SESSION_ID context=\"files_modified:[src/core.ts,src/utils.ts,test/core.test.ts] tests_pass:true done_report:.genie/wishes/feat-x/reports/done-implementor-feat-x-20251018.md\""`
83
-
84
- **Result:** Session moved to history. SESSION-STATE.md shows completion + context.
85
- Clean audit trail. No manual updates needed.
86
- ```
87
-
88
- ---
89
-
90
- ## What This Pattern Eliminates
91
-
92
- ### BEFORE (Manual, error-prone)
93
-
94
- ```markdown
95
- # role-clarity-protocol spell (705 tokens)
96
- - I have to remember to check SESSION-STATE.md
97
- - I have to parse active agents
98
- - I have to detect file conflicts
99
- - I have to make decisions about role boundaries
100
- - If I forget → behavioral failure
101
- - Spell takes tokens EVERY session
102
- ```
103
-
104
- ### AFTER (Automatic, systematic)
105
-
106
- ```markdown
107
- # session-state-updater workflow (called only when needed)
108
- - Every agent calls updater at start/end
109
- - STATE automatically synchronized
110
- - File conflicts visible in SESSION-STATE.md itself
111
- - System enforces role boundaries (state is source of truth)
112
- - No forgetting possible (built into workflow)
113
- - Zero token waste (only runs when needed)
114
- ```
115
-
116
- ---
117
-
118
- ## Key Insight
119
-
120
- **The behavioral guardrail becomes architectural:**
121
-
122
- Instead of:
123
- - "Remember to check role-clarity-protocol"
124
- - "Check SESSION-STATE.md before acting"
125
-
126
- We have:
127
- - "Every agent systematically updates SESSION-STATE.md"
128
- - "STATE-STATE.md is always authoritative"
129
- - "Conflicts visible immediately (state-based, not spell-based)"
130
-
131
- ---
132
-
133
- ## Agent Template (Copy-paste ready)
134
-
135
- ```markdown
136
- ---
137
- name: <agent-name>
138
- type: agent
139
- genie:
140
- executor: CLAUDE_CODE
141
- ---
142
-
143
- # <Agent Name> Agent
144
-
145
- !`npx automagik-genie run session-state-updater "action=started agent=<name> session_id=$SESSION_ID purpose=<description> branch=<branch>"`
146
-
147
- ## Discovery Phase
148
-
149
- [Work here]
150
-
151
- !`npx automagik-genie run session-state-updater "action=in_progress agent=<name> session_id=$SESSION_ID context=\"phase=discovery [key_findings]\""`
152
-
153
- ## Implementation Phase
154
-
155
- [Work here]
156
-
157
- !`npx automagik-genie run session-state-updater "action=in_progress agent=<name> session_id=$SESSION_ID context=\"phase=implementation files_modified:[list]\""`
158
-
159
- ## Verification Phase
160
-
161
- [Work here]
162
-
163
- !`npx automagik-genie run session-state-updater "action=completed agent=<name> session_id=$SESSION_ID context=\"[final_context]\""`
164
- ```
165
-
166
- ---
167
-
168
- ## Impact on AGENTS.md
169
-
170
- **Role-clarity-protocol (705 tokens):** Can be marked as disabled (no @)
171
- - Logic moved to session-state-updater workflow
172
- - Knowledge transferred from spell to executable workflow
173
- - Same behavioral guarantee, zero token waste
174
- - Available for reference if needed
175
-
176
- **Pattern spreads:**
177
- - Other guardrails → workflows
178
- - AGENTS.md shrinks (less bloat)
179
- - Workflows grow (more executable knowledge)
180
- - System gets more autonomous
181
-
182
- ---
183
-
184
- ## The Genie Architecture Pattern
185
-
186
- This demonstrates the principle:
187
-
188
- **Transform behavioral rules into automated workflows**
189
-
190
- 1. Identify guardrail (e.g., "check session state")
191
- 2. Create executable workflow (session-state-updater)
192
- 3. Integrate into agent templates (! calls)
193
- 4. Remove spell from auto-load (@)
194
- 5. System is now self-enforcing
195
-
196
- Result: Genie becomes smarter, AGENTS.md becomes lighter, execution becomes more reliable.