ultra-builder-pro-cli 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/.ultra-template/delivery-report.json +9 -0
  2. package/.ultra-template/docs/research/README.md +53 -0
  3. package/.ultra-template/specs/architecture.md +250 -0
  4. package/.ultra-template/specs/discovery.md +248 -0
  5. package/.ultra-template/specs/product.md +223 -0
  6. package/.ultra-template/tasks/contexts/TEMPLATE.md +57 -0
  7. package/.ultra-template/tasks/tasks.json +33 -0
  8. package/.ultra-template/test-report.json +8 -0
  9. package/CHANGELOG.md +194 -0
  10. package/LICENSE +21 -0
  11. package/README.md +187 -0
  12. package/adapters/_shared/codex-assets.cjs +1128 -0
  13. package/adapters/_shared/codex-ultra-tools-entry.cjs +11 -0
  14. package/adapters/_shared/file-ops.cjs +115 -0
  15. package/adapters/_shared/frontmatter.cjs +52 -0
  16. package/adapters/_shared/handbook.cjs +144 -0
  17. package/adapters/_shared/md-to-toml.cjs +54 -0
  18. package/adapters/_shared/path-rewrite.cjs +79 -0
  19. package/adapters/_shared/rtk-detect.cjs +86 -0
  20. package/adapters/_shared/runtime-assets.cjs +70 -0
  21. package/adapters/_shared/settings-merge.cjs +76 -0
  22. package/adapters/_shared/tests/file-ops.test.cjs +54 -0
  23. package/adapters/_shared/tests/frontmatter.test.cjs +47 -0
  24. package/adapters/_shared/tests/handbook.test.cjs +86 -0
  25. package/adapters/_shared/tests/md-to-toml.test.cjs +48 -0
  26. package/adapters/_shared/tests/path-rewrite.test.cjs +60 -0
  27. package/adapters/_shared/tests/resolve-target.test.cjs +85 -0
  28. package/adapters/_shared/tests/rtk-detect.test.cjs +116 -0
  29. package/adapters/_shared/tests/runtime-assets.test.cjs +107 -0
  30. package/adapters/_shared/tests/settings-merge.test.cjs +85 -0
  31. package/adapters/_shared/tests/validate.test.cjs +30 -0
  32. package/adapters/_shared/validate.cjs +24 -0
  33. package/adapters/claude.js +182 -0
  34. package/adapters/codex.js +385 -0
  35. package/adapters/gemini.js +204 -0
  36. package/adapters/opencode.js +506 -0
  37. package/adapters/tests/claude.test.cjs +117 -0
  38. package/adapters/tests/codex-hook.test.cjs +90 -0
  39. package/adapters/tests/codex.test.cjs +356 -0
  40. package/adapters/tests/gemini.test.cjs +112 -0
  41. package/adapters/tests/opencode.test.cjs +246 -0
  42. package/agents/code-reviewer.md +102 -0
  43. package/agents/debugger.md +127 -0
  44. package/agents/review-code.md +125 -0
  45. package/agents/review-comments.md +98 -0
  46. package/agents/review-coordinator.md +146 -0
  47. package/agents/review-design.md +133 -0
  48. package/agents/review-errors.md +87 -0
  49. package/agents/review-tests.md +93 -0
  50. package/agents/tdd-runner.md +92 -0
  51. package/bin/handbook.js +54 -0
  52. package/bin/install.js +254 -0
  53. package/bin/orchestrator.js +214 -0
  54. package/commands/learn.md +41 -0
  55. package/commands/ultra-deliver.md +45 -0
  56. package/commands/ultra-dev.md +50 -0
  57. package/commands/ultra-init.md +51 -0
  58. package/commands/ultra-plan.md +49 -0
  59. package/commands/ultra-research.md +59 -0
  60. package/commands/ultra-status.md +46 -0
  61. package/commands/ultra-test.md +48 -0
  62. package/commands/ultra-think.md +45 -0
  63. package/docs/AGENT-CONTEXT.md +143 -0
  64. package/docs/ARCHITECTURE.md +197 -0
  65. package/docs/COMMIT-HASH-BACKFILL.md +101 -0
  66. package/docs/LEGACY-HERMES.md +1175 -0
  67. package/docs/PLAN.zh-CN.md +1683 -0
  68. package/docs/ROADMAP.md +102 -0
  69. package/docs/RUNTIME-COMPAT-MATRIX.md +98 -0
  70. package/docs/STATE-DB-ACCESS-POLICY.md +109 -0
  71. package/docs/USER-HANDBOOK-CONTRACT.md +61 -0
  72. package/hooks/README.md +24 -0
  73. package/hooks/active_task_context.py +44 -0
  74. package/hooks/adapters/codex.py +302 -0
  75. package/hooks/health_check.py +61 -0
  76. package/hooks/pre_stop_check.py +56 -0
  77. package/hooks/subagent_tracker.py +116 -0
  78. package/hooks/workflow_checkpoint.py +56 -0
  79. package/hooks/workflow_context.py +63 -0
  80. package/hooks/workflow_resume.py +50 -0
  81. package/mcp-server/lib/init-project.cjs +162 -0
  82. package/mcp-server/lib/llm-client.cjs +157 -0
  83. package/mcp-server/lib/llm-client.test.cjs +156 -0
  84. package/mcp-server/lib/plan-store.cjs +96 -0
  85. package/mcp-server/lib/plan-store.test.cjs +132 -0
  86. package/mcp-server/lib/prd-parser.cjs +110 -0
  87. package/mcp-server/lib/prd-parser.test.cjs +171 -0
  88. package/mcp-server/lib/pricing.cjs +53 -0
  89. package/mcp-server/lib/projector.cjs +158 -0
  90. package/mcp-server/lib/state-db.cjs +113 -0
  91. package/mcp-server/lib/state-db.test.cjs +116 -0
  92. package/mcp-server/lib/state-ops.cjs +725 -0
  93. package/mcp-server/lib/task-expander.cjs +123 -0
  94. package/mcp-server/lib/task-expander.test.cjs +253 -0
  95. package/mcp-server/lib/telemetry.cjs +72 -0
  96. package/mcp-server/lib/topo.cjs +131 -0
  97. package/mcp-server/lib/topo.test.cjs +158 -0
  98. package/mcp-server/server.cjs +482 -0
  99. package/mcp-server/tests/circuit-breaker.test.cjs +125 -0
  100. package/mcp-server/tests/commit-hash-flow.test.cjs +117 -0
  101. package/mcp-server/tests/concurrency-update.test.cjs +96 -0
  102. package/mcp-server/tests/concurrency.test.cjs +112 -0
  103. package/mcp-server/tests/db-ops.test.cjs +117 -0
  104. package/mcp-server/tests/init-project.test.cjs +141 -0
  105. package/mcp-server/tests/migrate.test.cjs +144 -0
  106. package/mcp-server/tests/projector.test.cjs +130 -0
  107. package/mcp-server/tests/server-contract.test.cjs +750 -0
  108. package/mcp-server/tests/staleness.test.cjs +190 -0
  109. package/mcp-server/tests/state-ops.test.cjs +286 -0
  110. package/mcp-server/tests/tagged-tasks.test.cjs +163 -0
  111. package/mcp-server/tests/telemetry.test.cjs +205 -0
  112. package/orchestrator/auto-merge.cjs +109 -0
  113. package/orchestrator/code-graph-watcher.cjs +121 -0
  114. package/orchestrator/daemon.cjs +112 -0
  115. package/orchestrator/dispatch-rules.cjs +93 -0
  116. package/orchestrator/parallel-orchestrator.cjs +195 -0
  117. package/orchestrator/planner/expand-prompt.cjs +62 -0
  118. package/orchestrator/planner/expand-prompt.test.cjs +52 -0
  119. package/orchestrator/planner/plan-builder.cjs +116 -0
  120. package/orchestrator/planner/plan-builder.test.cjs +165 -0
  121. package/orchestrator/planner/prd-prompt.cjs +44 -0
  122. package/orchestrator/planner/prd-prompt.test.cjs +30 -0
  123. package/orchestrator/recovery.cjs +70 -0
  124. package/orchestrator/session-runner.cjs +224 -0
  125. package/orchestrator/skill-miner.cjs +133 -0
  126. package/orchestrator/tests/auto-merge.test.cjs +216 -0
  127. package/orchestrator/tests/code-graph-watcher.test.cjs +183 -0
  128. package/orchestrator/tests/daemon.test.cjs +260 -0
  129. package/orchestrator/tests/dispatch-rules.test.cjs +122 -0
  130. package/orchestrator/tests/parallel-orchestrator.test.cjs +233 -0
  131. package/orchestrator/tests/phase-8b-gate.test.cjs +183 -0
  132. package/orchestrator/tests/recovery.test.cjs +190 -0
  133. package/orchestrator/tests/session-runner.test.cjs +314 -0
  134. package/orchestrator/tests/skill-miner.test.cjs +147 -0
  135. package/orchestrator/tests/worktree-manager.test.cjs +148 -0
  136. package/orchestrator/worktree-manager.cjs +131 -0
  137. package/output-styles/coding-vibes.md +67 -0
  138. package/output-styles/structural-thinking.md +61 -0
  139. package/package.json +109 -0
  140. package/settings.json +8 -0
  141. package/skills/cc-collab/SKILL.md +41 -0
  142. package/skills/code-review-expert/SKILL.md +118 -0
  143. package/skills/code-review-expert/references/code-quality-checklist.md +112 -0
  144. package/skills/code-review-expert/references/integration-checklist.md +46 -0
  145. package/skills/code-review-expert/references/removal-plan.md +52 -0
  146. package/skills/code-review-expert/references/security-checklist.md +100 -0
  147. package/skills/code-review-expert/references/solid-checklist.md +65 -0
  148. package/skills/codex-collab/SKILL.md +52 -0
  149. package/skills/codex-collab/evals/evals.json +40 -0
  150. package/skills/gemini-collab/SKILL.md +51 -0
  151. package/skills/gemini-collab/evals/evals.json +42 -0
  152. package/skills/integration-rules/SKILL.md +71 -0
  153. package/skills/learn/SKILL.md +117 -0
  154. package/skills/security-rules/SKILL.md +60 -0
  155. package/skills/testing-rules/SKILL.md +56 -0
  156. package/skills/ultra-deliver/SKILL.md +171 -0
  157. package/skills/ultra-dev/SKILL.md +324 -0
  158. package/skills/ultra-init/SKILL.md +148 -0
  159. package/skills/ultra-plan/SKILL.md +314 -0
  160. package/skills/ultra-research/SKILL.md +156 -0
  161. package/skills/ultra-research/steps/step-00-problem-validation.md +154 -0
  162. package/skills/ultra-research/steps/step-01-opportunity-discovery.md +172 -0
  163. package/skills/ultra-research/steps/step-02-market-assessment.md +195 -0
  164. package/skills/ultra-research/steps/step-03-competitive-landscape.md +197 -0
  165. package/skills/ultra-research/steps/step-04-product-strategy.md +196 -0
  166. package/skills/ultra-research/steps/step-05-assumptions-validation.md +234 -0
  167. package/skills/ultra-research/steps/step-10-user-personas.md +169 -0
  168. package/skills/ultra-research/steps/step-11-user-scenarios.md +181 -0
  169. package/skills/ultra-research/steps/step-20-user-stories.md +156 -0
  170. package/skills/ultra-research/steps/step-21-features-scope.md +157 -0
  171. package/skills/ultra-research/steps/step-22-success-metrics.md +195 -0
  172. package/skills/ultra-research/steps/step-30-architecture-context.md +154 -0
  173. package/skills/ultra-research/steps/step-31-solution-strategy.md +172 -0
  174. package/skills/ultra-research/steps/step-32-building-blocks.md +188 -0
  175. package/skills/ultra-research/steps/step-40-deployment.md +123 -0
  176. package/skills/ultra-research/steps/step-41-quality-risks.md +135 -0
  177. package/skills/ultra-research/steps/step-99-synthesis.md +188 -0
  178. package/skills/ultra-review/SKILL.md +437 -0
  179. package/skills/ultra-review/references/unified-schema.md +127 -0
  180. package/skills/ultra-review/scripts/review_verdict_update.py +99 -0
  181. package/skills/ultra-review/scripts/review_wait.py +120 -0
  182. package/skills/ultra-status/SKILL.md +162 -0
  183. package/skills/ultra-test/SKILL.md +195 -0
  184. package/skills/ultra-think/SKILL.md +109 -0
  185. package/skills/ultra-verify/SKILL.md +111 -0
  186. package/skills/ultra-verify/evals/evals.json +51 -0
  187. package/skills/ultra-verify/references/confidence-system.md +38 -0
  188. package/skills/ultra-verify/references/cross-verify-modes.md +73 -0
  189. package/skills/ultra-verify/scripts/verify_wait.py +131 -0
  190. package/spec/cli-protocol.md +118 -0
  191. package/spec/mcp-tools.yaml +658 -0
  192. package/spec/schemas/command-manifest.schema.json +47 -0
  193. package/spec/schemas/context-file.v4.5.schema.json +54 -0
  194. package/spec/schemas/mcp-tools.schema.json +136 -0
  195. package/spec/schemas/skill-manifest.schema.json +94 -0
  196. package/spec/schemas/state-db.sql +154 -0
  197. package/spec/schemas/tasks.v4.5.schema.json +66 -0
  198. package/ultra-tools/cli.cjs +121 -0
  199. package/ultra-tools/commands/db.cjs +175 -0
  200. package/ultra-tools/commands/legacy-memory.cjs +159 -0
  201. package/ultra-tools/commands/migrate.cjs +354 -0
  202. package/ultra-tools/commands/session.cjs +180 -0
  203. package/ultra-tools/commands/status.cjs +158 -0
  204. package/ultra-tools/commands/task.cjs +95 -0
  205. package/ultra-tools/legacy-memory.test.cjs +80 -0
  206. package/ultra-tools/status-command.test.cjs +132 -0
@@ -0,0 +1,1175 @@
1
+ # Ultra Builder Pro — Legacy Hermes Documentation
2
+
3
+ > **Archived**: This is the pre-v0.3 "Hermes 6.6.0" documentation. It describes
4
+ > the Claude-Code-only version of the agent engineering system before the
5
+ > CLI distribution / multi-runtime / MCP / SQLite redesign (Phase 0-8B).
6
+ >
7
+ > For the current CLI-focused documentation, see [`README.md`](../README.md)
8
+ > and [`docs/ROADMAP.md`](./ROADMAP.md). For the authoritative project plan,
9
+ > see [`docs/PLAN.zh-CN.md`](./PLAN.zh-CN.md).
10
+ >
11
+ > This file is kept for context on the pre-CLI design; commands / skills /
12
+ > agents / hooks referenced here still live under `commands/` `skills/`
13
+ > `agents/` `hooks/` but are now installed via the multi-runtime adapters
14
+ > rather than copied directly into `.claude/`.
15
+
16
+ ---
17
+
18
+ # Ultra Builder Pro 6.6.0 (legacy)
19
+
20
+ <div align="center">
21
+
22
+ **Production-Grade AI-Powered Development System for Claude Code**
23
+
24
+ ---
25
+
26
+ [![Version](https://img.shields.io/badge/version-6.6.0-blue)](README.md#version-history)
27
+ [![Status](https://img.shields.io/badge/status-production--ready-green)](README.md)
28
+ [![Commands](https://img.shields.io/badge/commands-9-purple)](commands/)
29
+ [![Skills](https://img.shields.io/badge/skills-17-orange)](skills/)
30
+ [![Agents](https://img.shields.io/badge/agents-11-red)](agents/)
31
+ [![Hooks](https://img.shields.io/badge/hooks-15-yellow)](hooks/)
32
+ [![Tests](https://img.shields.io/badge/tests-84-brightgreen)](hooks/tests/)
33
+
34
+ </div>
35
+
36
+ ---
37
+
38
+ ## Quick Start
39
+
40
+ ```bash
41
+ # Clone the repository
42
+ git clone https://github.com/rocky2431/ultra-builder-pro.git
43
+ cd ultra-builder-pro
44
+
45
+ # Copy to Claude Code config directory
46
+ cp -r ./* ~/.claude/
47
+
48
+ # Start Claude Code
49
+ claude
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Core Philosophy
55
+
56
+ ### Priority Stack (CLAUDE.md)
57
+
58
+ | Priority | Rule |
59
+ |----------|------|
60
+ | 1 | **Role + Safety**: Deployable code, KISS/YAGNI, think in English, respond in Chinese |
61
+ | 2 | **Context Blocks**: Honor XML blocks exactly as written |
62
+ | 3 | **Evidence-First**: External facts require verification (Context7/Exa MCP) |
63
+ | 4 | **Honesty & Challenge**: Challenge user assumptions, name logical gaps |
64
+ | 5 | **Architecture**: Critical state must be persistable/recoverable/observable |
65
+ | 6 | **Code Quality**: No TODO/FIXME/placeholder, modular, avoid deep nesting |
66
+ | 7 | **Testing**: No mocking core logic, external deps allow test doubles |
67
+ | 8 | **Action Bias**: Default to progress, high-risk must brake and ask |
68
+
69
+ ### Production Absolutism
70
+
71
+ > "There is no test code. There is no demo. There is no MVP.
72
+ > Every line is production code. Every test is production verification."
73
+
74
+ ```
75
+ Code Quality = Real Implementation x Real Tests x Real Dependencies
76
+ If ANY component is fake/mocked/simulated -> Quality = 0
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Workflow
82
+
83
+ ```
84
+ /ultra-init -> /ultra-research -> /ultra-plan -> /ultra-dev -> /ultra-test -> /ultra-deliver
85
+ | | | | | |
86
+ Project 17-Step Task TDD Cycle Quality Release
87
+ Setup Step-File Arch Breakdown RED>GREEN Audit & Deploy
88
+ (JIT load) |
89
+ Steps 00-05: Product Discovery /ultra-review
90
+ Steps 10-11: User & Scenario (Quality Gate)
91
+ Steps 20-22: Feature Definition
92
+ Steps 30-32: Architecture
93
+ Steps 40-41: Quality & Deploy
94
+ Step 99: Synthesis → Distillate
95
+ ```
96
+
97
+ ---
98
+
99
+ ## Commands (9)
100
+
101
+ | Command | Purpose | Key Features |
102
+ |---------|---------|--------------|
103
+ | `/ultra-init` | Initialize project | Auto-detect type/stack, copy templates, git setup |
104
+ | `/ultra-research` | Interactive discovery | 17 step-files (JIT loaded, ~200 lines each), mandatory web search + structured output templates, research distillate for /ultra-plan |
105
+ | `/ultra-plan` | Task planning | Scope Mode (EXPAND/SELECTIVE/HOLD/REDUCE), dependency analysis, complexity assessment |
106
+ | `/ultra-dev` | TDD development | RED>GREEN>REFACTOR, Ultra Review gate, auto git flow |
107
+ | `/ultra-test` | Quality audit | Anti-Pattern, Coverage gaps, E2E, Performance, Security |
108
+ | `/ultra-deliver` | Release preparation | CHANGELOG, build, version bump, tag, push |
109
+ | `/ultra-status` | Progress monitoring | Real-time stats, risk analysis, recommendations |
110
+ | `/ultra-think` | Deep analysis | Structured reasoning, multi-dimension comparison |
111
+ | `/learn` | Pattern extraction | Extract reusable patterns from session, save to skills/learned/ |
112
+
113
+ ---
114
+
115
+ ## Skills (17 + Learned Patterns)
116
+
117
+ | Skill | Purpose | User-Invocable |
118
+ |-------|---------|----------------|
119
+ | `ultra-review` | Parallel code review with 6 agents + coordinator | Yes |
120
+ | `ultra-verify` | Three-way AI verification (Claude + Gemini + Codex) | Yes |
121
+ | `gemini-collab` | Gemini CLI as independent sub-agent for review, analysis, opinions | Yes |
122
+ | `codex-collab` | OpenAI Codex CLI as independent sub-agent for review, analysis | Yes |
123
+ | `recall` | Cross-session memory search, save summaries, tags | Yes |
124
+ | `agent-browser` | Browser automation CLI for AI agents | Yes |
125
+ | `find-skills` | Discover and install agent skills | Yes |
126
+ | `use-railway` | Railway infrastructure operations (deploy, provision, manage) | Yes |
127
+ | `vercel-react-best-practices` | React/Next.js performance optimization guidelines | Yes |
128
+ | `vercel-react-native-skills` | React Native/Expo best practices for mobile apps | Yes |
129
+ | `vercel-composition-patterns` | React composition patterns that scale | Yes |
130
+ | `web-design-guidelines` | Web Interface Guidelines compliance review | Yes |
131
+ | `ai-collab-base` | Shared collaboration protocol, modes, prompt templates | No (consumed by collab skills) |
132
+ | `code-review-expert` | Structured review checklists (SOLID, security, perf, integration) | No (agent-only) |
133
+ | `testing-rules` | TDD discipline, mock detection rules | No (agent-only) |
134
+ | `security-rules` | Input validation, injection prevention rules | No (agent-only) |
135
+ | `integration-rules` | Vertical slice, walking skeleton, contract-first, orphan detection | No (agent-only) |
136
+ | `learned/` | Extracted patterns from `/learn` | Yes |
137
+
138
+ ---
139
+
140
+ ## Agents (11)
141
+
142
+ All agents have **project-scoped persistent memory** (`memory: project`) that accumulates patterns per project, preventing cross-project pollution.
143
+
144
+ ### Interactive Agents (5)
145
+
146
+ | Agent | Purpose | Trigger | Model | Memory |
147
+ |-------|---------|---------|-------|--------|
148
+ | `smart-contract-specialist` | Solidity, gas optimization, secure patterns | .sol files | opus | project |
149
+ | `smart-contract-auditor` | Contract security audit, vulnerability detection | .sol files | opus | project |
150
+ | `code-reviewer` | Code review with Fix-First mode (report or auto-fix) | After code changes, pre-commit | opus | project |
151
+ | `tdd-runner` | Test execution, failure analysis, coverage | "run tests", test suite | opus | project |
152
+ | `debugger` | Root cause analysis, minimal fix implementation | Errors, test failures | opus | project |
153
+
154
+ ### Review Pipeline Agents (7) - Ultra Review System
155
+
156
+ Used exclusively by `/ultra-review`. Each agent writes JSON findings to `.ultra/reviews/<session>/` (project-level).
157
+
158
+ | Agent | Purpose | Output |
159
+ |-------|---------|--------|
160
+ | `review-code` | Scope drift detection + CLAUDE.md compliance, code quality, architecture, integration | `review-code.json` |
161
+ | `review-tests` | Test quality, mock violations, coverage gaps | `review-tests.json` |
162
+ | `review-errors` | Silent failures, empty catches, swallowed errors | `review-errors.json` |
163
+ | `review-design` | Type design, encapsulation, complexity analysis | `review-design.json` |
164
+ | `review-comments` | Stale, misleading, or low-value comments | `review-comments.json` |
165
+ | `review-coordinator` | Aggregate, deduplicate, generate SUMMARY | `SUMMARY.md` + `SUMMARY.json` |
166
+
167
+ **Verdict Logic**: P0 > 0 = REQUEST_CHANGES | P1 > 3 = REQUEST_CHANGES | P1 > 0 = COMMENT | else APPROVE
168
+
169
+ ---
170
+
171
+ ## Ultra Review System
172
+
173
+ ### Overview
174
+
175
+ `/ultra-review` orchestrates parallel code review using 6 specialized agents + 1 coordinator. All findings are written to JSON files to prevent context window pollution.
176
+
177
+ ### Usage Modes
178
+
179
+ ```
180
+ /ultra-review # Full review (smart skip based on diff content)
181
+ /ultra-review all # Force ALL 6 agents, no auto-skip (pre-merge gate)
182
+ /ultra-review quick # Quick review (review-code only)
183
+ /ultra-review security # Security focus (review-code + review-errors)
184
+ /ultra-review tests # Test quality focus (review-tests only)
185
+ /ultra-review recheck # Re-check P0/P1 files from last session
186
+ /ultra-review delta # Review only changes since last review
187
+ ```
188
+
189
+ ### Scope Options
190
+
191
+ ```
192
+ /ultra-review --pr 123 # Review PR #123 diff
193
+ /ultra-review --range main..HEAD # Review specific commit range
194
+ /ultra-review security --pr 42 # Security review scoped to PR #42
195
+ ```
196
+
197
+ ### Session Management
198
+
199
+ - Sessions tracked in `.ultra/reviews/index.json` (project-level) with branch-scoped iteration chains
200
+ - Naming: `<YYYYMMDD-HHmmss>-<branch>-iter<N>>`
201
+ - Auto-cleanup: 7 days for APPROVE/COMMENT, 30 days for REQUEST_CHANGES, max 5 per branch
202
+
203
+ ### Integration with ultra-dev
204
+
205
+ Step 4.5 of `/ultra-dev` runs `/ultra-review all` (forced full coverage) as a mandatory quality gate before commit. The `pre_stop_check.py` hook blocks session stop if source files are changed but not reviewed (circuit breaker allows stop after 2 blocks).
206
+
207
+ ---
208
+
209
+ ## Ultra Verify — Three-Way AI Cross-Verification
210
+
211
+ ### Overview
212
+
213
+ `/ultra-verify` orchestrates Claude + Gemini + Codex for independent three-way analysis. Each AI works independently, then Claude synthesizes with a confidence score based on consensus.
214
+
215
+ ### Prerequisites
216
+
217
+ - Gemini CLI: `npm install -g @google/gemini-cli` + authenticated
218
+ - Codex CLI: `npm install -g @openai/codex` + `codex login`
219
+
220
+ ### Usage
221
+
222
+ ```
223
+ /ultra-verify decision <question> # Architecture/design decision
224
+ /ultra-verify diagnose <symptoms> # Bug diagnosis — three sets of hypotheses
225
+ /ultra-verify audit <scope> # Code audit — findings ranked by consensus
226
+ /ultra-verify estimate <task> # Effort estimation
227
+ ```
228
+
229
+ ### How It Works
230
+
231
+ 1. **Claude answers first** (writes to file before reading external AI output — prevents contamination)
232
+ 2. **Gemini + Codex run in parallel** (background tasks, 5 min timeout)
233
+ 3. **Claude reads all three outputs** via Read tool
234
+ 4. **Confidence scoring**: Consensus (3/3) > Majority (2/3) > No Consensus
235
+ 5. **Synthesis** written to `.ultra/collab/<session-id>/synthesis.md`
236
+
237
+ ### Degraded Operation
238
+
239
+ - **One AI fails**: Two-way comparison, confidence capped at Majority
240
+ - **Two AIs fail**: Claude-only with explicit warning
241
+ - Never blocks the workflow on external AI failures
242
+
243
+ ### Architecture: Shared Base + Thin Skills
244
+
245
+ ```
246
+ ai-collab-base/ # Canonical shared files (non-user-invocable)
247
+ ├── references/ # collab-protocol.md, collaboration-modes.md, prompt-templates.md
248
+ └── sync.sh # Copies canonical files to consumer skills
249
+
250
+ gemini-collab/ # Thin skill: Gemini-specific CLI reference + shared files
251
+ codex-collab/ # Thin skill: Codex-specific CLI reference + shared files
252
+ ultra-verify/ # Orchestration: parallel execution + confidence scoring
253
+ ```
254
+
255
+ ---
256
+
257
+ ## Cross-Session Memory
258
+
259
+ ### Overview
260
+
261
+ AI-powered cross-session memory with hybrid search. Auto-captures session events, generates structured AI summaries via Haiku, and supports semantic + keyword retrieval. Designed as a safe alternative to claude-mem — no bulk context injection.
262
+
263
+ ### Architecture
264
+
265
+ ```
266
+ UserPromptSubmit ──> user_prompt_capture.py ──> initial_request (sessions table)
267
+ PostToolUse ──> observation_capture.py ──> observations table (max 20/session)
268
+
269
+ Stop hook (auto) /recall skill (forked context)
270
+ | |
271
+ v v
272
+ session_journal.py ──> SQLite FTS5 <── memory_db.py CLI
273
+ | (memory.db) |
274
+ | Schema v2: v
275
+ | - sessions (+ content_session_id, initial_request)
276
+ | - session_summaries (structured JSON)
277
+ | - observations (file changes, test failures)
278
+ | - summaries_fts (FTS5 over summaries)
279
+ |
280
+ |-- daemon (10s) ──> Haiku ──> structured JSON summary ──> SQLite + Chroma
281
+ | {request, completed, learned, next_steps}
282
+ v
283
+ sessions.jsonl (backup) .ultra/memory/chroma/ (vector embeddings)
284
+
285
+ PreCompact ──> compact-snapshot.md ──> SessionStart(compact) ──> post_compact_inject.py
286
+ (save) (disk persistence) (auto-trigger) (~800 tokens recovery)
287
+ ```
288
+
289
+ ### How It Works
290
+
291
+ 1. **Initial request capture** (UserPromptSubmit hook): Captures first user prompt per session
292
+ 2. **Observation capture** (PostToolUse hook): Records file changes (Edit/Write) and test failures (Bash) — max 20 per session, deduped by content hash
293
+ 3. **Auto-capture** (Stop hook): Every response records branch, cwd, modified files
294
+ 4. **AI Summary** (async daemon): Double-fork daemon waits 10s after session stop, extracts transcript (head+tail sampling: 4K+11K chars), generates structured JSON summary via Haiku (three-tier fallback: claude CLI → Anthropic SDK → git commits)
295
+ 5. **Vector Embedding**: After AI summary, auto-upserts to Chroma (local ONNX, no API key)
296
+ 6. **Merge window**: Multiple stops within 30 minutes merge into one session record
297
+ 7. **Real session identity**: `content_session_id` from hook protocol for accurate session tracking
298
+ 8. **SessionStart injection**: Injects ONE line (~50 tokens) about the last session + up to 3 branch-relevant structured summaries — no context explosion
299
+ 9. **Post-compact recovery**: `SessionStart(compact)` triggers `post_compact_inject.py` — injects ~800 tokens of git state, active tasks, workflow progress, and session memory for continuity after auto-compact
300
+ 10. **Hybrid search**: `/recall` runs in forked context, combines FTS5 keyword + Chroma semantic via RRF
301
+
302
+ ### Usage
303
+
304
+ ```
305
+ /recall # Recent 5 sessions
306
+ /recall auth bug # Hybrid search (FTS5 + semantic RRF)
307
+ /recall --semantic "login flow" # Pure semantic vector search
308
+ /recall --keyword session_journal # Pure FTS5 keyword search
309
+ /recall --recent 10 # Recent 10 sessions
310
+ /recall --date 2026-02-16 # Sessions on specific date
311
+ /recall --save "Fixed auth bug" # Save summary for latest session
312
+ /recall --tags "auth,bugfix" # Add tags to latest session
313
+ /recall --stats # Database statistics
314
+ /recall --cleanup 90 # Delete sessions older than 90 days
315
+ ```
316
+
317
+ ### Storage
318
+
319
+ - **Database**: `.ultra/memory/memory.db` (project-level, SQLite FTS5)
320
+ - **Vectors**: `.ultra/memory/chroma/` (project-level, Chroma + ONNX embeddings)
321
+ - **Backup**: `.ultra/memory/sessions.jsonl` (append-only JSONL)
322
+ - **Retention**: 90 days default
323
+ - **Dependencies**: chromadb (ONNX embeddings), anthropic SDK (optional, for AI summary fallback)
324
+
325
+ ---
326
+
327
+ ## TDD Workflow
328
+
329
+ Mandatory for all new code:
330
+
331
+ ```
332
+ 1. RED -> Write failing test first (define expected behavior)
333
+ 2. GREEN -> Write minimal code to pass test
334
+ 3. REFACTOR -> Improve code (keep tests passing)
335
+ 4. COVERAGE -> Verify 80%+ coverage
336
+ 5. COMMIT -> Atomic commit (test + implementation together)
337
+ ```
338
+
339
+ ### What NOT to Mock (Core Logic)
340
+
341
+ - Domain/service/state machine logic
342
+ - Funds/permission related paths
343
+ - Repository interface contracts
344
+
345
+ ### What CAN be Mocked (External)
346
+
347
+ - Third-party APIs (OpenAI, Supabase, etc.)
348
+ - External services
349
+ - Must explain rationale for each mock
350
+
351
+ ---
352
+
353
+ ## Hooks System (15 Hooks)
354
+
355
+ Automated enforcement via Python hooks in `hooks/`. **Hooks are deterministic — unlike CLAUDE.md rules which are advisory, hooks guarantee the action happens.**
356
+
357
+ **Protocol compliance**: 100% — all hooks follow official Claude Code hook protocol (stdin JSON, stdout JSON, exit codes 0/2).
358
+
359
+ ### PreToolUse Hooks (Guard before execution)
360
+
361
+ | Hook | Trigger | Detection | Timeout |
362
+ |------|---------|-----------|---------|
363
+ | `block_dangerous_commands.py` | Bash | rm -rf, fork bombs, chmod 777, force push main | 5s |
364
+ | `mid_workflow_recall.py` | Write/Edit | Inject past test failures + edit history + learned lessons from memory.db for the file being edited (rate-limited) | 3s |
365
+
366
+ ### PostToolUse Hooks (Quality gate after execution)
367
+
368
+ | Hook | Trigger | Detection | Timeout |
369
+ |------|---------|-----------|---------|
370
+ | `post_edit_guard.py` | Edit/Write | Code quality (TODO/FIXME), mocks, security, TDD pairing, **blast radius** (show dependents), **silent catch detection** (block except:pass), **test reminder** | 5s |
371
+ | `observation_capture.py` | Edit/Write/Bash | Capture file changes, test failures, and significant commands (git/build/deploy) as session observations | 3s |
372
+
373
+ ### User Input Hooks
374
+
375
+ | Hook | Trigger | Function | Timeout |
376
+ |------|---------|----------|---------|
377
+ | `user_prompt_capture.py` | UserPromptSubmit | Capture initial user request per session for structured summaries | 3s |
378
+
379
+ ### Session & Lifecycle Hooks
380
+
381
+ | Hook | Trigger | Function | Timeout |
382
+ |------|---------|----------|---------|
383
+ | `health_check.py` | SessionStart | **System Health**: verify agents exist, hooks syntax, DB health, settings refs, CLAUDE.md | 5s |
384
+ | `session_context.py` | SessionStart | Load git branch, commits, modified files + last session one-liner + branch memory from DB | 10s |
385
+ | `session_journal.py` | Stop | Auto-capture session + spawn AI summary daemon (Haiku, non-blocking) → SQLite + Chroma | 5s |
386
+ | `pre_stop_check.py` | Stop | Source file change detection + workflow state check + **completion compliance checklist** (Taskmaster-inspired excuse detection) | 5s |
387
+ | `subagent_tracker.py` | SubagentStart/Stop | Log agent lifecycle to `.ultra/debug/subagent-log.jsonl` (project-level) | 5s |
388
+ | `pre_compact_context.py` | PreCompact | Preserve task state and git context to `.ultra/compact-snapshot.md` + branch memory | 10s |
389
+ | `post_compact_inject.py` | SessionStart(compact) | Post-compact context recovery: parse snapshot, inject git state/tasks/workflow/memory | 10s |
390
+
391
+ ### Notification & Cleanup Hooks
392
+
393
+ | Hook | Trigger | Function | Timeout |
394
+ |------|---------|----------|---------|
395
+ | macOS notification | Notification(permission_prompt\|idle_prompt) | Desktop alert with sound when Claude needs user input | 5s |
396
+ | Counter cleanup | SessionEnd | Remove stale stop-count temp files (>60min old) | 5s |
397
+
398
+ ### Shared Utilities & Tools
399
+
400
+ | File | Purpose |
401
+ |------|---------|
402
+ | `hook_utils.py` | Shared functions: `get_snapshot_path()`, `get_workflow_state()`, `parse_hook_input()` |
403
+ | `memory_db.py` | SQLite FTS5 + Chroma vector engine + CLI tool — foundation for all memory hooks |
404
+ | `system_doctor.py` | Deep audit: cross-references, DB quality, Chroma consistency, silent catch scan. Run: `python3 hooks/system_doctor.py` |
405
+ | `tests/` | **84 pytest tests** covering block_dangerous, observation_capture, memory_db, pre_stop_check, mid_workflow_recall |
406
+
407
+ ### Change Discipline (Hook-Enforced)
408
+
409
+ | Discipline | Enforcement | How |
410
+ |------------|-------------|-----|
411
+ | **Blast Radius** | `post_edit_guard.py` stderr | When editing shared module, shows all files that import it |
412
+ | **Fail Loud** | `post_edit_guard.py` block | Detects `except:pass` patterns, blocks commit |
413
+ | **Verify After Change** | `post_edit_guard.py` stderr | Shows corresponding test file path when it exists |
414
+ | **System Health** | `health_check.py` SessionStart | Catches missing agents, broken hooks, DB issues at session start |
415
+
416
+ ---
417
+
418
+ ## Quality Standards
419
+
420
+ ### Pre-Delivery Quality Gates
421
+
422
+ | Gate | Requirement |
423
+ |------|-------------|
424
+ | Anti-Pattern | No tautology, empty tests, core logic mocks |
425
+ | Coverage Gaps | No HIGH priority untested functions |
426
+ | E2E | All critical flows pass |
427
+ | Performance | Core Web Vitals pass (frontend) |
428
+ | Security | No critical/high vulnerabilities |
429
+ | Ultra Review | MANDATORY `/ultra-review` with APPROVE or COMMENT verdict |
430
+
431
+ ### Code Limits
432
+
433
+ | Metric | Limit |
434
+ |--------|-------|
435
+ | Function lines | <= 50 |
436
+ | File lines | 200-400 typical, 800 max |
437
+ | Nesting depth | <= 4 |
438
+ | Cyclomatic complexity | <= 10 |
439
+
440
+ ---
441
+
442
+ ## Project Structure
443
+
444
+ ```
445
+ ~/.claude/
446
+ |-- CLAUDE.md # Main configuration (Priority Stack)
447
+ |-- README.md # This file
448
+ |-- settings.json # Claude Code settings + hooks config
449
+ |
450
+ |-- hooks/ # Automated enforcement (13 hooks, all with timeout)
451
+ | |-- block_dangerous_commands.py # PreToolUse: dangerous bash commands (5s)
452
+ | |-- post_edit_guard.py # PostToolUse: quality + mock + security unified (5s)
453
+ | |-- observation_capture.py # PostToolUse: session observations (Edit/Write/Bash) (5s)
454
+ | |-- user_prompt_capture.py # UserPromptSubmit: initial request capture (5s)
455
+ | |-- session_context.py # SessionStart: load dev context + last session (10s)
456
+ | |-- session_journal.py # Stop: auto-capture + AI summary daemon → SQLite + Chroma (5s)
457
+ | |-- pre_stop_check.py # Stop: source change detection → suggest code-reviewer (5s)
458
+ | |-- subagent_tracker.py # SubagentStart/Stop: lifecycle logging (5s)
459
+ | |-- pre_compact_context.py # PreCompact: preserve context + freshness marker (10s)
460
+ | |-- post_compact_inject.py # SessionStart(compact): post-compact context recovery (10s)
461
+ | |-- hook_utils.py # Shared: snapshot path, workflow state, input parsing
462
+ | |-- memory_db.py # Shared: SQLite FTS5 + Chroma vector engine + CLI tool
463
+ |
464
+ |-- commands/ # /ultra-* commands (9)
465
+ | |-- ultra-init.md
466
+ | |-- ultra-research.md
467
+ | |-- ultra-plan.md
468
+ | |-- ultra-dev.md
469
+ | |-- ultra-test.md
470
+ | |-- ultra-deliver.md
471
+ | |-- ultra-status.md
472
+ | |-- ultra-think.md
473
+ | |-- learn.md
474
+ |
475
+ |-- skills/ # Domain skills (19 + learned)
476
+ | |-- ultra-research/ # Step-file research architecture (v6.8.0)
477
+ | | |-- SKILL.md # Orchestrator with step routing
478
+ | | |-- steps/ # 17 step files (step-00 to step-99)
479
+ | | |-- templates/ # Output templates (reserved)
480
+ | |-- ultra-review/ # Parallel review orchestration
481
+ | | |-- scripts/ # review_wait.py, review_verdict_update.py
482
+ | |-- ultra-verify/ # Three-way AI verification (Claude+Gemini+Codex)
483
+ | | |-- references/ # cross-verify-modes, confidence-system, orchestration-flow
484
+ | | |-- evals/ # skill-creator eval tests
485
+ | |-- ai-collab-base/ # Shared collab protocol (non-user-invocable)
486
+ | | |-- references/ # collab-protocol, collaboration-modes, prompt-templates
487
+ | | |-- sync.sh # Sync canonical files to consumer skills
488
+ | |-- gemini-collab/ # Gemini CLI as independent sub-agent
489
+ | | |-- references/ # gemini-cli-reference, gemini-prompts, shared files
490
+ | | |-- evals/ # skill-creator eval tests
491
+ | |-- codex-collab/ # OpenAI Codex CLI as independent sub-agent
492
+ | | |-- references/ # codex-cli-reference, codex-prompts, shared files
493
+ | | |-- evals/ # skill-creator eval tests
494
+ | |-- recall/ # Cross-session memory search
495
+ | |-- code-review-expert/ # Structured review checklists (agent-only)
496
+ | |-- integration-rules/ # System integration rules (agent-only)
497
+ | |-- testing-rules/ # TDD rules (agent-only)
498
+ | |-- security-rules/ # Security rules (agent-only)
499
+ | |-- agent-browser/ # Browser automation CLI
500
+ | |-- find-skills/ # Skill discovery and installation
501
+ | |-- use-railway/ # Railway infrastructure operations
502
+ | |-- vercel-react-best-practices/ # React/Next.js optimization
503
+ | |-- vercel-react-native-skills/ # React Native/Expo best practices
504
+ | |-- vercel-composition-patterns/ # React composition patterns
505
+ | |-- web-design-guidelines/ # Web Interface Guidelines
506
+ | |-- learned/ # Extracted patterns
507
+ |
508
+ |-- agents/ # Custom agents (12)
509
+ | |-- smart-contract-specialist.md # Interactive
510
+ | |-- smart-contract-auditor.md # Interactive
511
+ | |-- code-reviewer.md # Interactive
512
+ | |-- tdd-runner.md # Interactive
513
+ | |-- debugger.md # Interactive
514
+ | |-- review-code.md # Pipeline (ultra-review)
515
+ | |-- review-tests.md # Pipeline (ultra-review)
516
+ | |-- review-errors.md # Pipeline (ultra-review)
517
+ | |-- review-design.md # Pipeline (ultra-review, merged types+simplify)
518
+ | |-- review-comments.md # Pipeline (ultra-review)
519
+ | |-- review-coordinator.md # Pipeline (ultra-review)
520
+ |
521
+ |-- .ultra/ # Project-level output (in each project, gitignored)
522
+ | |-- memory/ # Cross-session memory (auto-managed)
523
+ | | |-- memory.db # SQLite FTS5 session database
524
+ | | |-- chroma/ # Chroma vector embeddings (ONNX)
525
+ | | |-- sessions.jsonl # Append-only backup
526
+ | |-- reviews/ # Ultra Review output (auto-managed)
527
+ | | |-- index.json # Session index (branch-scoped)
528
+ | | |-- <session-id>/ # Per-session findings
529
+ | | |-- review-*.json
530
+ | | |-- SUMMARY.json
531
+ | | |-- SUMMARY.md
532
+ | |-- collab/ # AI collaboration sessions (auto-managed)
533
+ | | |-- <session-id>/ # Per-session output
534
+ | | |-- claude-analysis.md
535
+ | | |-- gemini-output.md
536
+ | | |-- codex-output.md
537
+ | | |-- synthesis.md
538
+ | | |-- metadata.json
539
+ | | |-- error.log
540
+ | |-- compact-snapshot.md # Context recovery after compaction
541
+ | |-- debug/ # Agent lifecycle logs
542
+ | |-- subagent-log.jsonl
543
+ |
544
+ |-- .ultra-template/ # Project initialization templates
545
+ |-- specs/ # discovery.md, product.md, architecture.md
546
+ |-- tasks/
547
+ |-- docs/
548
+ ```
549
+
550
+ ---
551
+
552
+ ## Operational Config
553
+
554
+ > These are operational settings, not principles. CLAUDE.md contains the principles.
555
+
556
+ ### Git Workflow
557
+
558
+ - Follow project branch naming conventions
559
+ - Conventional Commits format
560
+ - Include Co-author for AI commits:
561
+ ```
562
+ Co-Authored-By: Claude <noreply@anthropic.com>
563
+ ```
564
+
565
+ ### Project Structure
566
+
567
+ ```
568
+ New Ultra projects use:
569
+ .ultra/
570
+ |-- tasks/ # Task tracking
571
+ |-- specs/ # Specifications (discovery.md, product.md, architecture.md)
572
+ |-- docs/ # Project documentation
573
+ |-- memory/ # Cross-session memory DB + Chroma + JSONL (auto-generated)
574
+ |-- reviews/ # Ultra Review output (auto-generated)
575
+ |-- compact-snapshot.md # Context recovery (auto-generated)
576
+ |-- debug/ # Agent lifecycle logs (auto-generated)
577
+ ```
578
+
579
+ ### Learned Patterns
580
+
581
+ Patterns extracted via `/learn` are stored in `skills/learned/`:
582
+
583
+ | Confidence | File Suffix | Description |
584
+ |------------|-------------|-------------|
585
+ | Speculation | `_unverified` | Freshly extracted, needs verification |
586
+ | Inference | No suffix | Human review passed |
587
+ | Fact | No suffix + marked | Multiple successful uses |
588
+
589
+ Priority: Fact > Inference > Speculation
590
+
591
+ ### Workflow Tools
592
+
593
+ Multi-step tasks use the Task system:
594
+ - `TaskCreate`: Create new task
595
+ - `TaskList`: View all tasks
596
+ - `TaskGet`: Get task details
597
+ - `TaskUpdate`: Update task status
598
+
599
+ ---
600
+
601
+ ## Version History
602
+
603
+ ### v6.8.0 (2026-03-31) - Research Step-File Architecture
604
+
605
+ **Core change**: Replaced monolithic `ultra-research.md` (491 lines) with **step-file architecture** inspired by [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) (42.9k stars).
606
+
607
+ **What changed**:
608
+ - `skills/ultra-research/SKILL.md` — orchestrator with step routing and project type detection
609
+ - `skills/ultra-research/steps/step-{00-99}.md` — 17 self-contained step files (3122 lines total, ~200 lines/step)
610
+ - Each step has: MANDATORY RULES, SEARCH STRATEGY (pre-written queries), OUTPUT TEMPLATE (field-level structure), SUCCESS METRICS, FAILURE MODES
611
+ - `step-99-synthesis.md` — generates `research-distillate.md` (token-efficient summary for /ultra-plan)
612
+ - `commands/ultra-research.md` — slimmed to 60-line router pointing to SKILL.md
613
+
614
+ **Why**: Previous single-file approach had ~16 lines of instruction per step. LLM attention was diluted across 5 Rounds. Now each step gets focused, dense instructions → **~11x instruction density increase**.
615
+
616
+ **Key improvements**: Mandatory web search with pre-written queries per step | Structured output templates with field-level specs | Write-immediately discipline (no context loss) | [C] Continue user gates | Research distillate for /ultra-plan consumption | Field-level spec validation in /ultra-plan
617
+
618
+ **Updated files** (8): `commands/ultra-research.md`, `commands/ultra-init.md`, `commands/ultra-plan.md`, `.ultra-template/specs/discovery.md`, `.ultra-template/specs/product.md`, `.ultra-template/specs/architecture.md`, `settings.json`, `README.md`
619
+
620
+ **New files** (18): `skills/ultra-research/SKILL.md` + 17 step files in `skills/ultra-research/steps/`
621
+
622
+ ### v6.5.0 (2026-03-20) - Product Velocity Fusion
623
+
624
+ **Fast product iteration + engineering discipline**, inspired by [garrytan/gstack](https://github.com/garrytan/gstack) context engineering patterns:
625
+
626
+ **Product Thinking Layer**:
627
+ - `/ultra-research` Round 0.0: **Problem Validation with 6 Forcing Questions** — Demand Reality, Status Quo, Desperate Specificity, Narrowest Wedge, Observation & Surprise, Future-Fit. Smart routing by product stage (pre-product/has users/paying/engineering)
628
+ - `/ultra-plan` Step 0: **Scope Mode Selection** — EXPAND (think bigger), SELECTIVE (cherry-pick expansions), HOLD (make bulletproof), REDUCE (cut to minimum). Commitment rule: no silent drift
629
+
630
+ **Review Acceleration**:
631
+ - `review-code` agent Step 0: **Scope Drift Detection** — compares stated intent (tasks/branch/commits) vs actual diff, detects scope creep (P1) and missing requirements (P0)
632
+ - `code-reviewer` agent: **Fix-First dual mode** — `report` (findings only) and `fix` (AUTO-FIX mechanical issues, ASK judgment calls). Now has Write/Edit tools
633
+ - Unified schema: new `scope-drift` and `spec-compliance` categories
634
+
635
+ **CLAUDE.md Enhancements**:
636
+ - `<ask_user_format>`: standardized AskUserQuestion format (re-ground context, simplify, recommend, options, dual-scale effort)
637
+ - **Completeness Principle**: KISS decides WHAT to build; Completeness decides HOW THOROUGH. No half-finished features
638
+ - `<red_flags>` + `<verification>`: new Completeness row and "Scope correct" verification
639
+ - `<work_style>`: proactive stage detection (suggest skills based on user's current phase)
640
+
641
+ **Stop Hook Simplification**:
642
+ - `pre_stop_check.py`: 474 → 154 lines. Three-layer → two-layer check
643
+ - Removed: review artifact scanning, security file detection, incomplete work patterns, /ultra-review routing
644
+ - Kept: circuit breaker + source file change detection → unified code-reviewer suggestion
645
+ - Design: complex audits are user's responsibility via `/ultra-review`
646
+
647
+ **Enhanced Files** (8): `CLAUDE.md`, `agents/review-code.md`, `agents/code-reviewer.md`, `commands/ultra-research.md`, `commands/ultra-plan.md`, `hooks/pre_stop_check.py`, `skills/ultra-review/references/unified-schema.md`, `README.md`
648
+
649
+ ### v6.3.0 (2026-03-09) - Memory System v2
650
+
651
+ **Structured summaries, real session identity, security hardening**, verified by 3 rounds of ultra-verify (Claude + Gemini + Codex):
652
+
653
+ **Schema v2 Migration**:
654
+ - New `session_summaries` table: structured JSON fields (`request`, `completed`, `learned`, `next_steps`)
655
+ - New `observations` table: file changes (Edit/Write) + test failures (Bash), max 20/session, deduped by content hash
656
+ - New `summaries_fts` FTS5 index over structured summaries for fast text search
657
+ - `sessions` table: added `content_session_id`, `initial_request` columns
658
+
659
+ **Real Session Identity**:
660
+ - `content_session_id` from hook protocol replaces merge-window-based ID (fixed stop_count=4306 bug)
661
+ - `stop_hook_active=true` re-triggers skip DB write entirely
662
+
663
+ **AI Summary Upgrade**:
664
+ - Model: Haiku (cost-effective, structured output) with `max_tokens=1000`
665
+ - Output: structured JSON `{request, completed, learned, next_steps}` — pipe-separated bullets per field
666
+ - Stored in `session_summaries` table (structured) + `sessions.summary` (legacy compat)
667
+
668
+ **New Hooks (2)**:
669
+ - `user_prompt_capture.py` (UserPromptSubmit): captures initial user request per session
670
+ - `observation_capture.py` (PostToolUse): captures file changes and test failures as session observations
671
+
672
+ **Proactive Recall Upgrade**:
673
+ - SessionStart: last session one-liner + up to 3 branch-relevant structured summaries
674
+ - PreCompact: `LEFT JOIN session_summaries` for structured summary preference
675
+
676
+ **Security Hardening**:
677
+ - Path validation, SQL allowlist, daemon error logging, dead code removal
678
+
679
+ **Enhanced Files** (8):
680
+ - `hooks/session_journal.py`, `hooks/memory_db.py`, `hooks/session_context.py`, `hooks/pre_compact_context.py`
681
+ - `hooks/user_prompt_capture.py` (New), `hooks/observation_capture.py` (New)
682
+ - `CLAUDE.md`, `README.md`
683
+
684
+ ### v6.2.0 (2026-03-08) - Multi-AI Collaboration Refactor
685
+
686
+ **Shared base architecture + three-way AI verification**, verified by 3 rounds of ultra-verify audit (Claude + Gemini + Codex):
687
+
688
+ - New `ai-collab-base` skill: shared collaboration protocol, modes, prompt templates (non-user-invocable)
689
+ - `sync.sh` keeps canonical files in sync across 3 consumer skills
690
+ - Eliminates ~90% structural duplication between gemini-collab and codex-collab
691
+ - New `ultra-verify` skill: three-way AI cross-verification (Claude + Gemini + Codex)
692
+ - 4 modes: `decision`, `diagnose`, `audit`, `estimate`
693
+ - Confidence scoring: Consensus (3/3), Majority (2/3), No Consensus
694
+ - Degraded operation: one AI fails → two-way, two fail → Claude-only with warning
695
+ - Rewritten `gemini-collab`: thin skill pointing to shared base + Gemini-specific CLI reference
696
+ - Rewritten `codex-collab`: thin skill pointing to shared base + Codex-specific CLI reference
697
+ - CLI bug fixes verified against actual `--help` output:
698
+ - `--commit-title` → `--title` (codex review)
699
+ - `--full-auto` + `--sandbox read-only` conflict resolved
700
+ - `$(cat $FILE)` shell injection → stdin pipe pattern
701
+ - `2>/dev/null` → `error.log` (all files, not just orchestration)
702
+ - `-o`/`--output-format` correctly documented for Gemini CLI
703
+ - Hardcoded model names removed (use `-m <model>`)
704
+ - skill-creator compatible `evals/evals.json` for all 3 user-invocable skills
705
+ - Files: `skills/ai-collab-base/`, `skills/ultra-verify/`, `skills/gemini-collab/`, `skills/codex-collab/`
706
+
707
+ ### v6.1.0 (2026-03-08) - Product Discovery Round 0
708
+
709
+ **Product Discovery & Strategy phase** — fills the gap between vague ideas and technical specification. Inspired by [phuryn/pm-skills](https://github.com/phuryn/pm-skills) frameworks:
710
+
711
+ - New Round 0 in `/ultra-research` with 5 sub-steps:
712
+ - **Opportunity Discovery**: OST framework (Teresa Torres), Opportunity Score prioritization (Dan Olsen)
713
+ - **Market Assessment**: TAM/SAM/SOM dual estimation (top-down + bottom-up), WebSearch for real data
714
+ - **Competitive Landscape**: Comparison matrix + Porter's Five Forces brief
715
+ - **Product Strategy**: Condensed Strategy Canvas (Vision/Segments/Value Prop/Trade-offs/Defensibility)
716
+ - **Assumptions & Validation Plan**: Risk categorization (Value/Usability/Feasibility/Viability/GTM) + experiment design (Pretotyping, Alberto Savoia)
717
+ - New `discovery.md` spec template in `.ultra-template/specs/`
718
+ - Updated `/ultra-init` and `/ultra-plan` to reference `discovery.md`
719
+ - Round 0 is **optional** — auto-skipped for Feature Only mode or when market research already exists
720
+ - New project type options: "Full Project" (R0-4), "Product Only" (R0-2)
721
+
722
+ ### v6.0.0 (2026-03-07) - Consolidation Release
723
+
724
+ **System consolidation, cleanup, and Multi-AI collaboration**:
725
+
726
+ - New `gemini-collab` skill: Gemini CLI as sub-agent for review, project analysis, second opinions
727
+ - New `codex-collab` skill: OpenAI Codex CLI as sub-agent with built-in `codex review` integration
728
+ - Removed codex skill and all references (CLAUDE.md, README.md, skills/codex/)
729
+ - Stop hook hardening: removed main branch bypass, fixed git status path truncation
730
+ - Comprehensive hook audit: 20 fixes, model unification, 2 new hooks (Notification, SessionEnd)
731
+ - Ultra-think rewrite: adversarial reasoning framework
732
+ - All 12 agents unified to opus model
733
+ - Session summary model upgraded to opus
734
+ - Post-compact context injection via SessionStart(compact) hook
735
+ - Permission cleanup: removed obsolete tools, added missing tools
736
+
737
+ ### v5.9.2 (2026-03-05) - Hook Audit & Model Unification
738
+
739
+ **Comprehensive hook audit against official docs + community best practices + model unification**:
740
+
741
+ **Model Unification**:
742
+ - All 12 agents unified to `opus` model (fixed `code-reviewer`/`debugger` inherit, `tdd-runner` haiku)
743
+ - AI summary daemon upgraded from Sonnet to Opus (session_journal.py)
744
+
745
+ **Hook Audit (20 fixes across 3 tiers)**:
746
+ - **Protocol compliance**: 100% — all hooks follow official Claude Code hook protocol
747
+ - **Security**: fail-closed patterns, DAEMON_ENV_WHITELIST, env sanitization
748
+ - **Performance**: all GIT_TIMEOUT values < hook timeout (session_context.py 10→3s safety fix)
749
+ - **Shared utilities**: `hook_utils.py` eliminates ~130 lines of duplication across hooks
750
+
751
+ **New Hooks (2)**:
752
+ - `Notification`: macOS desktop alert with sound when Claude needs user input (permission_prompt/idle_prompt)
753
+ - `SessionEnd`: Automatic cleanup of stale stop-count temp files (>60min old)
754
+
755
+ **Protocol Fixes**:
756
+ - `pre_stop_check.py`: Added `stop_hook_active` fast path (Layer 0a) per official docs — prevents infinite Stop hook loops
757
+ - `session_journal.py`: Fixed stale docstring (Sonnet → Opus), added `stop_hook_active` re-trigger guard
758
+
759
+ **Enhanced Files** (10):
760
+ - All 10 hook `.py` files audited and updated
761
+ - `settings.json`: +Notification hook, +SessionEnd hook
762
+ - `README.md`: Updated hook count, model references, hooks system section
763
+
764
+ ### v5.9.1 (2026-03-04) - Hook Hardening + Post-Compact Recovery
765
+
766
+ **Stop Hook Hardening + Post-Compact Context Recovery + Permission Cleanup**:
767
+
768
+ **Post-Compact Context Recovery (New)**:
769
+ - `post_compact_inject.py`: New `SessionStart(compact)` hook — injects ~800 tokens of recovery context after auto-compact
770
+ - Parses `compact-snapshot.md` to extract git state, active tasks, workflow progress, session memory
771
+ - Freshness check: marker file (written by PreCompact) → mtime fallback → stale hint
772
+ - `pre_compact_context.py`: Added marker file write (`/tmp/.claude_compact_ts`) for post-compact freshness detection
773
+
774
+ **Stop Hook Hardening**:
775
+ - `pre_stop_check.py`: Three-layer → four-layer check, added `last_assistant_message` parsing for incomplete work detection (TODO/FIXME/WIP patterns)
776
+ - Added `stop_hook_active` loop guard (prevents Stop hook re-trigger from its own block message)
777
+ - Added security-sensitive file detection (auth/payment/token/credential/session path matching)
778
+ - Restored code-reviewer suggestion in block messages (lost in prior refactor)
779
+ - `session_journal.py`: Added `stop_hook_active` check, skips AI summary daemon spawn on re-trigger
780
+
781
+ **Permission Cleanup**:
782
+ - Removed `AskUserQuestion` from allow list (fixed UI not displaying — allow caused auto-skip)
783
+ - Added 8 missing tools: Agent, TaskOutput, TaskStop, TeamCreate, TeamDelete, SendMessage, EnterWorktree
784
+ - Removed 4 obsolete entries: Task, SlashCommand, BashOutput, KillShell
785
+
786
+ **Enhanced Files** (5):
787
+ - `hooks/post_compact_inject.py` (New), `hooks/pre_compact_context.py`, `hooks/pre_stop_check.py`, `hooks/session_journal.py`, `settings.json`
788
+
789
+ ### v5.9.0 (2026-03-02) - Process Discipline Fusion
790
+
791
+ **Superpowers Process Discipline Fusion** — absorbed key process principles from the Superpowers project, closing 3 process gaps:
792
+
793
+ **Design Approval Gate (P0)**:
794
+ - `ultra-dev.md`: Added Step 0.5 — displays task breakdown overview on first run, requires user confirmation before implementation
795
+ - Prevents "Wrong Approach" (#1 remaining friction): user must review plan before writing code
796
+ - Auto-skipped on resume (already approved)
797
+
798
+ **Spec Compliance Check (P1)**:
799
+ - `ultra-dev.md`: Added Quality Gate #7 — verifies each acceptance criterion is implemented and tested
800
+ - `review-code.md`: Added Step 7 — infers task ID from branch name, reads task context, validates spec compliance
801
+ - Added `spec-compliance` category (P0: missing, P1: partially implemented, P2: edge cases uncovered)
802
+
803
+ **3-Fix Circuit Breaker (P1)**:
804
+ - `ultra-review SKILL.md`: Added per-file fix counter in Fix Flow
805
+ - Same file fails 3 consecutive fixes → circuit break, request user decision (skip/manual/abort)
806
+ - 3+ files circuit-broken globally → suggest architecture discussion, tag `ARCHITECTURAL_CONCERN`
807
+
808
+ **Systematic Debugging Methodology (P2)**:
809
+ - `debugger.md`: 5-step simple flow → 4-phase structured methodology
810
+ - Phase 1 (Root Cause Investigation) enforced, IRON LAW: no fix proposals before investigation complete
811
+ - 3-Fix Rule: 3 consecutive fix failures → stop, report architectural issue
812
+ - Red Flags table: detect common shortcut thinking and force return to Phase 1
813
+
814
+ **Enhanced Files** (4 core + 2 meta):
815
+ - `commands/ultra-dev.md`, `agents/review-code.md`, `skills/ultra-review/SKILL.md`, `agents/debugger.md`
816
+ - `CLAUDE.md`, `README.md`, `settings.json`
817
+
818
+ ### v5.8.1 (2026-02-28) - System-Level Optimization
819
+
820
+ **Context Protection + Pipeline Reliability + Workflow Resilience** — targeting 65% → 80%+ completion rate based on 285-session usage analysis:
821
+
822
+ **Context Window Protection**:
823
+ - `ultra-dev.md`: Review iteration cap (MAX_REVIEW_ITERATIONS = 2), unresolved findings → UNRESOLVED.md
824
+ - `ultra-review SKILL.md`: CRITICAL PROHIBITION — never call TaskOutput for review agents; findings cap 15/agent
825
+ - `post_edit_guard.py`: Hook output compression (~70%), WARN/HIGH patterns deferred to review-code agent
826
+ - Agent maxTurns reduction: review-errors/types/simplify 20→15, review-comments 20→12
827
+
828
+ **Pipeline Reliability**:
829
+ - `ultra-dev.md`: Pre-review `/compact` checkpoint (Step 4.4); workflow state checkpoint at steps 3.3/4/4.5/6
830
+ - `review_wait.py`: Structured JSON output with partial success (≥1 agent = success)
831
+ - `ultra-review SKILL.md`: Incremental per-file fix-test flow; Step 0 context reset before fix phase
832
+
833
+ **Workflow Resilience**:
834
+ - `ultra-dev.md`: Step 0 resume check reads `.ultra/workflow-state.json`, skips completed steps
835
+ - `pre_compact_context.py`: Active Workflow section + RESUME line in compact hint
836
+
837
+ **CLAUDE.md Optimization**: ~365 → ~280 lines (~25% reduction, zero information loss)
838
+
839
+ **Enhanced Files** (9):
840
+ - `commands/ultra-dev.md`, `skills/ultra-review/SKILL.md`, `hooks/post_edit_guard.py`
841
+ - `skills/ultra-review/scripts/review_wait.py`, `hooks/pre_compact_context.py`
842
+ - `agents/review-errors.md`, `agents/review-design.md`, `agents/review-comments.md`
843
+
844
+ ### v5.8.0 (2026-02-20) - AI Summarization + Vector Search
845
+
846
+ **AI-Powered Memory Upgrade** — transcript-based summaries, semantic vector search, hybrid retrieval, and forked recall context:
847
+
848
+ **Enhanced Files**:
849
+ - `hooks/session_journal.py`: +AI summarization via double-fork daemon (non-blocking, 10s delay)
850
+ - Transcript parsing: extracts user/assistant text from JSONL, dedupes streaming chunks
851
+ - Three-tier fallback: `claude -p --model opus` → Anthropic SDK → git commit messages
852
+ - Daemon clears `CLAUDE*` env vars to avoid inheriting parent session config
853
+ - Auto-upserts Chroma embedding after AI summary generation
854
+ - CLI: `--ai-summarize <session_id> <transcript_path>` for manual re-summarize
855
+ - `hooks/memory_db.py`: +Chroma vector search engine (PersistentClient + local ONNX ONNXMiniLM_L6_V2)
856
+ - `upsert_embedding()`: doc = summary + branch + top 5 files (~256 tokens)
857
+ - `semantic_search()`: pure vector search via Chroma
858
+ - `hybrid_search()`: RRF (k=60) fusion of FTS5 keyword + Chroma semantic
859
+ - `reindex_chroma()`: backfill existing sessions into Chroma
860
+ - CLI commands: `semantic`, `hybrid`, `reindex-chroma`
861
+ - `skills/recall/SKILL.md`: +`context: fork` (search results don't pollute main conversation)
862
+ - Default search: hybrid (FTS5 + semantic RRF)
863
+ - New modes: `--semantic` (pure vector), `--keyword` (pure FTS5)
864
+ - Progressive retrieval strategy: search → expand query → synthesize
865
+
866
+ **Dependencies**: chromadb 1.5.0 (local ONNX embeddings, no API key required)
867
+
868
+ **Design Principle**: Same as v5.7.0 — auto-capture, on-demand retrieval, no bulk injection. AI summarization runs async after session stop, never blocking the hot path.
869
+
870
+ ### v5.7.0 (2026-02-16) - Cross-Session Memory
871
+
872
+ **Cross-Session Memory System** — lightweight auto-capture + on-demand retrieval, designed as safe alternative to claude-mem:
873
+
874
+ **New Files**:
875
+ - `hooks/memory_db.py`: SQLite FTS5 storage engine + CLI tool (dual-use library)
876
+ - `hooks/session_journal.py`: Stop hook auto-captures branch/files/commits per session
877
+ - `skills/recall/SKILL.md`: `/recall` skill for on-demand memory search, summaries, tags
878
+
879
+ **Enhanced Files**:
880
+ - `hooks/session_context.py`: +last session one-liner injection at SessionStart (~50 tokens)
881
+ - `CLAUDE.md`: +`<session_memory>` block with proactive recall trigger rules
882
+ - `settings.json`: +session_journal.py in Stop hooks
883
+
884
+ **Design Principles**:
885
+ - Auto-capture at Stop, on-demand retrieval via `/recall` — no bulk SessionStart injection
886
+ - Zero external dependencies (Python stdlib + SQLite FTS5)
887
+ - 30-minute merge window: multiple stops within same session merge into one record
888
+ - Auto-summary from git commit messages (no AI needed), manual override via `/recall --save`
889
+ - 90-day retention policy with `/recall --cleanup`
890
+
891
+ **Learned from claude-mem failure**: claude-mem injected ~25k tokens at SessionStart causing context explosion. Our approach: inject 1 line (~50 tokens), search on-demand.
892
+
893
+ **Ultra Review Improvements**:
894
+ - Background execution: all review agents run with `run_in_background: true` (~535 tokens vs ~7000+)
895
+ - File-based waiting: `review_wait.py` polls for completion instead of TaskOutput reads
896
+ - Verdict update: `review_verdict_update.py` auto-updates SUMMARY.json + index.json after P0 fixes
897
+ - Pre-stop fix: skip code-change fallback on main/master (merged code already reviewed), remove instructional language from block messages to prevent AI re-trigger
898
+ - Scripts moved from `hooks/` to `skills/ultra-review/scripts/` (proper ownership)
899
+
900
+ ### v5.6.1 (2026-02-14) - Project Isolation
901
+
902
+ **Project-Level Artifact Isolation** — all per-project output moved from global `~/.claude/` to project-level `.ultra/`:
903
+
904
+ | Artifact | Old (global) | New (project-level) |
905
+ |----------|-------------|---------------------|
906
+ | Review output | `~/.claude/reviews/` | `.ultra/reviews/` |
907
+ | Review index | `~/.claude/reviews/index.json` | `.ultra/reviews/index.json` |
908
+ | Compact snapshot | `~/.claude/compact-snapshot.md` | `.ultra/compact-snapshot.md` |
909
+ | Subagent logs | `~/.claude/debug/subagent-log.jsonl` | `.ultra/debug/subagent-log.jsonl` |
910
+ | Agent memory | `~/.claude/agent-memory/` (global) | `projects/<hash>/agent-memory/` (project) |
911
+
912
+ **Why**: Global storage caused cross-project pollution — pre_stop_check false positives from other projects' reviews, compact-snapshot restoring wrong project context, agent memory carrying irrelevant architecture knowledge.
913
+
914
+ **Changes**:
915
+ - 3 hooks updated with `git rev-parse --show-toplevel` detection + safe fallback for non-git environments
916
+ - All 12 agents switched from `memory: user` to `memory: project`
917
+ - `.gitignore` updated to exclude `.ultra/reviews/`, `.ultra/compact-snapshot.md`, `.ultra/debug/`
918
+
919
+ **Audit Fixes**:
920
+ - `pre_compact_context.py`: Added `mkdir -p` before writing snapshot (prevents silent failure when `.ultra/` doesn't exist)
921
+ - `settings.json`: Co-Authored-By removed hardcoded model version (aligned with CLAUDE.md)
922
+ - `settings.json`: Version comments updated to 5.6.1, removed redundant `mcp__pencil` permission
923
+
924
+ ### v5.6.0 (2026-02-14) - System Integration Dimension
925
+
926
+ **System Integration Dimension** — macro-level integration guarantees complementing existing micro-level component quality:
927
+
928
+ **New CLAUDE.md Rules**:
929
+ - `<integration>` block: Vertical Slice, Walking Skeleton, Contract-First, Integration Proof, Orphan Detection
930
+ - `<testing>`: Cross-boundary contract/E2E test layer
931
+ - `<forbidden_patterns>`: Horizontal-only tasks, unwired components, missing contract tests
932
+ - `<red_flags>`: "I'll wire it up later", "It works in isolation", etc.
933
+ - `<verification>`: "Feature complete" requires E2E test, "Component works" requires entry point trace
934
+
935
+ **New Skill: `integration-rules`** (agent-only):
936
+ - Vertical slice principle with good/bad examples
937
+ - Walking skeleton requirements
938
+ - Contract-first development workflow
939
+ - Integration test requirements per boundary type
940
+ - Orphan detection checklist
941
+ - Injected into `review-code` and `code-reviewer` agents
942
+
943
+ **New Reference: `integration-checklist.md`**:
944
+ - Entry point tracing, contract validation, vertical slice assessment
945
+ - Integration test coverage matrix, data flow continuity checks
946
+ - Added to `code-review-expert` as Step 5.5
947
+
948
+ **Enhanced Agents**:
949
+ - `review-code`: +integration-rules skill, +step 6 integration review, +4 severity rows (orphan P1, missing integration test P1, horizontal-only P2, missing contract P2)
950
+ - `code-reviewer`: +integration-rules skill, +integration checks in Additional Checks
951
+ - `review-tests`: +boundary-crossing detection, +2 severity rows
952
+
953
+ **Enhanced Workflows**:
954
+ - `ultra-plan`: Walking skeleton as Task #1 (P0), contract definition tasks, integration checkpoints every 3-4 tasks, vertical slice validation
955
+ - `ultra-dev`: Integration test dimension in RED phase, integration quality gates, pre-commit orphan/integration checklist
956
+
957
+ **Schema**: `integration` category added to unified-schema-v1 Category Enum
958
+
959
+ **Zero additional cost**: Integration checks folded into existing review-code agent via skill injection — no new review agent needed.
960
+
961
+ ### v5.5.1 (2026-02-14) - Codex v6.0 + Review Enhancements
962
+
963
+ - Codex v6.0 integration
964
+ - `/ultra-review all` mode (force all 6 agents, no auto-skip)
965
+ - `pre_stop_check.py` marker-based escape hatch (block once, allow on second attempt)
966
+
967
+ ### v5.5.0 (2026-02-14) - Ultra Review System
968
+
969
+ **Ultra Review System** — native parallel code review pipeline:
970
+
971
+ **New Review Pipeline (7 agents)**:
972
+ - `review-code`: CLAUDE.md compliance, code quality, architecture
973
+ - `review-tests`: Test quality, mock violations, coverage gaps
974
+ - `review-errors`: Silent failures, empty catches, swallowed errors
975
+ - `review-design`: Type design, encapsulation, complexity analysis (merged types+simplify)
976
+ - `review-comments`: Stale, misleading, or low-value comments
977
+ - `review-coordinator`: Aggregate findings, deduplicate, generate SUMMARY
978
+
979
+ **New Skill: `/ultra-review`**:
980
+ - Modes: full, all, quick, security, tests, recheck, delta, custom
981
+ - Scope options: `--pr NUMBER`, `--range RANGE`
982
+ - Session tracking with branch-scoped index.json and iteration chains
983
+ - Lifecycle management: auto-cleanup by age (7d/30d) and per-branch cap (5)
984
+ - Verdict logic: P0 > 0 or P1 > 3 = REQUEST_CHANGES, P1 > 0 = COMMENT, else APPROVE
985
+ - Fix flow: auto-fix P0/P1, re-test, recheck cycle
986
+
987
+ **New Skill: `code-review-expert`** (agent-only):
988
+ - Structured review checklists: SOLID, security, performance, boundary conditions
989
+ - Injected into code-reviewer agent via frontmatter
990
+
991
+ **Enhanced: `pre_stop_check.py`**:
992
+ - Three-layer check: review artifacts (index.json branch-scoped) + incomplete session grace period + code change marker fallback
993
+ - Recency guard: only considers sessions < 2 hours old
994
+ - Incomplete session < 15min: warn only (agents may still be running)
995
+ - Incomplete session >= 15min: marker-based block (block once, allow on second attempt)
996
+ - P0/P1 block: marker-based escape hatch (block once, allow on second attempt)
997
+ - REQUEST_CHANGES without P0: also blocks with marker escape
998
+
999
+ **Enhanced: `/ultra-dev` Step 4.5**:
1000
+ - `/ultra-review all` invocation (forced full coverage)
1001
+ - 3-phase flow: Run review > Act on verdict > Verification gate
1002
+
1003
+ **CLAUDE.md Updates**:
1004
+ - `agent_system`: Listed all 12 agents (5 interactive + 7 pipeline)
1005
+ - Added ultra-review and code-review-expert to skills
1006
+ - Added review pipeline to auto-trigger table
1007
+
1008
+ ### v5.4.1 (2026-02-08) - Hooks Hardening
1009
+
1010
+ **Hooks Refactoring**:
1011
+ - Merged 3 PostToolUse hooks (`code_quality.py`, `mock_detector.py`, `security_scan.py`) into unified `post_edit_guard.py`
1012
+ - Removed `branch_protection.py`, simplified `pre_stop_check.py`
1013
+ - 9 hooks -> 6 hooks (less overhead per tool call)
1014
+
1015
+ **Reliability Fix**:
1016
+ - Added `timeout` to all hooks (5s default, 10s for SessionStart/PreCompact)
1017
+ - Prevents UI freeze when hook scripts stall
1018
+ - Fixed non-dict JSON input handling in `subagent_tracker.py`
1019
+
1020
+ ### v5.4.0 (2026-02-07) - Agent & Memory Edition
1021
+
1022
+ **New Agents (3)**:
1023
+ - `code-reviewer`: Code review specialist with security-rules skill injection
1024
+ - `tdd-runner`: Test execution specialist (Haiku model, project memory) with testing-rules injection
1025
+ - `debugger`: Root cause analysis specialist with Edit capability
1026
+
1027
+ **Agent Memory**: All agents now have persistent memory (`memory: project` since v5.6.1)
1028
+ - Accumulates patterns, common issues, and architectural decisions per project
1029
+ - Each agent loads its MEMORY.md at startup
1030
+
1031
+ **New Skills (2, agent-only)**:
1032
+ - `testing-rules`: TDD discipline, forbidden mock patterns, coverage requirements
1033
+ - `security-rules`: Input validation, injection prevention, security review checklist
1034
+
1035
+ **New Hooks (3)**:
1036
+ - `subagent_tracker.py`: SubagentStart/Stop lifecycle logging to JSONL
1037
+ - `pre_compact_context.py`: PreCompact context preservation (tasks + git state)
1038
+
1039
+ **Agent Teams**: Enabled experimental `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS`
1040
+
1041
+ **CLAUDE.md Updates**:
1042
+ - `agent_system`: Added task-type auto-triggers, updated agent/skill/hook counts
1043
+ - `work_style`: Added Parallel Delegation, Pre-delegation, Context Isolation protocols
1044
+
1045
+ ### v5.3.0 (2026-02-01) - Lean Architecture Edition
1046
+
1047
+ **Philosophy**: Apply Anthropic's "Start simple, add complexity only when simpler solutions fall short."
1048
+
1049
+ **Removed (redundant - Claude handles natively)**:
1050
+ - Agents: build-error-resolver, doc-updater, e2e-runner, frontend-developer, refactor-cleaner
1051
+ - Skills: gemini, promptup, skill-creator
1052
+ - Hooks: user_prompt_agent.py (routing), agent_reminder.py (routing)
1053
+
1054
+ **Improved**:
1055
+ - All hooks: standardized error handling (catch -> stderr log -> safe pass-through)
1056
+ - pre_stop_check: added git timeout, marker cleanup, error logging
1057
+ - Reduced per-request token overhead (no more routing hook noise)
1058
+
1059
+ **Architecture**: CLAUDE.md + Commands + Quality Hooks (three-layer, no bloat)
1060
+
1061
+ ### v5.2.2 (2026-01-29) - Codex Purification Edition
1062
+
1063
+ **CLAUDE.md Refactoring**:
1064
+ - Removed operational config (moved to README)
1065
+ - Removed specific library names
1066
+ - Removed specific agent/skill names
1067
+ - Result: 322 -> 272 lines (-15%)
1068
+ - CLAUDE.md is now pure principles only
1069
+
1070
+ ### v5.2.1 (2026-01-29) - Hooks Optimization Edition
1071
+
1072
+ **New Hooks (3 new)**:
1073
+ - `block_dangerous_commands.py`: PreToolUse - Block rm -rf, fork bombs, chmod 777, force push main
1074
+ - `session_context.py`: SessionStart - Load git context at session start
1075
+
1076
+ **Enhanced Detection (aligned with CLAUDE.md 100%)**:
1077
+ - `mock_detector.py`: Add it.skip/test.skip detection, allow UI handler mocks
1078
+ - `code_quality.py`: Add hardcoded URL/port, static state, local file detection
1079
+ - `security_scan.py`: Add catch(e){return null}, catch(e){console.log(e)}, generic Error detection
1080
+
1081
+ **Improved Prompts**:
1082
+ - Layer-specific solutions (Functional Core vs Imperative Shell)
1083
+ - CLAUDE.md line references for each rule
1084
+ - Smart false positive reduction (skip config files, comments)
1085
+
1086
+ **Hook Output Fixes**:
1087
+ - Fix field names: `tool` -> `tool_name`, `tool_result` -> `tool_response`
1088
+ - Fix Stop hook format (no additionalContext support)
1089
+ - Add `decision: block` for CRITICAL issues
1090
+
1091
+ ### v5.2.0 (2026-01-28) - Hooks Enforcement Edition
1092
+
1093
+ **New Hooks System (6 Python hooks)**:
1094
+ - `mock_detector.py`: BLOCK jest.fn(), InMemoryRepository patterns
1095
+ - `code_quality.py`: BLOCK TODO/FIXME/NotImplementedError
1096
+ - `security_scan.py`: BLOCK hardcoded secrets, SQL injection, empty catch
1097
+ - `agent_reminder.py`: Suggest agents based on file type/path
1098
+ - `user_prompt_agent.py`: Suggest agents based on user intent
1099
+ - `pre_stop_check.py`: Remind to review before session end
1100
+
1101
+ **Enforcement Features**:
1102
+ - Auto-BLOCK on CLAUDE.md rule violations
1103
+ - Auto-trigger agents based on context
1104
+ - Smart contract files -> BOTH specialist + auditor (MANDATORY)
1105
+ - Auth/payment paths -> code-reviewer (MANDATORY)
1106
+
1107
+ **Architecture Changes**:
1108
+ - Hooks enforce rules (not just suggest)
1109
+ - settings.json hook configuration
1110
+ - CLAUDE.md agent_system block updated
1111
+
1112
+ ### v5.0.0 (2026-01-26) - Agent System Edition
1113
+
1114
+ **New Agent System (10 custom agents)**:
1115
+ - `architect`: System architecture expert
1116
+ - `planner`: Implementation planning expert
1117
+ - `tdd-guide`: TDD workflow expert
1118
+ - `build-error-resolver`: Build error fix specialist
1119
+ - `e2e-runner`: E2E testing expert
1120
+ - `frontend-developer`: React/Web3 UI development
1121
+ - `refactor-cleaner`: Dead code cleanup
1122
+ - `doc-updater`: Documentation maintenance
1123
+ - `smart-contract-specialist`: Solidity development
1124
+ - `smart-contract-auditor`: Contract security audit
1125
+
1126
+ **New Features**:
1127
+ - `/learn` command for pattern extraction
1128
+ - `skills/learned/` directory for extracted patterns
1129
+ - Confidence levels: Speculation -> Inference -> Fact
1130
+
1131
+ ### v4.5.1 (2026-01-07) - PromptUp Edition
1132
+
1133
+ **PromptUp Skill** (renamed from `senior-prompt-engineer`):
1134
+ - Replaced hardcoded templates with 6 evidence-based principles
1135
+ - Added boundary detection (when NOT to use prompt engineering)
1136
+ - Mapped to Claude Code capabilities (Context7/Exa MCP, CLAUDE.md, skills)
1137
+
1138
+ ### v4.5.0 (2026-01-07) - Agent Architecture Edition
1139
+
1140
+ **Skills Refactoring**:
1141
+ - Removed `backend`, `frontend`, `smart-contract` domain skills
1142
+ - Added `promptup` skill for prompt engineering
1143
+
1144
+ **New Agent System (4 agents)**:
1145
+ - `backend-architect`, `frontend-developer`
1146
+ - `smart-contract-specialist`, `smart-contract-auditor`
1147
+
1148
+ ### v4.4.0 (2026-01-01) - Streamlined Edition
1149
+
1150
+ **Core Changes**:
1151
+ - Unified Priority Stack in CLAUDE.md
1152
+ - Codex and Gemini skill integration
1153
+ - Anti-Pattern Detection in `/ultra-test`
1154
+
1155
+ ---
1156
+
1157
+ ## MCP Services
1158
+
1159
+ Ultra Builder Pro integrates with these MCP services:
1160
+
1161
+ | Service | Purpose |
1162
+ |---------|---------|
1163
+ | Context7 | Official documentation lookup |
1164
+ | Exa | Code examples and community practices |
1165
+ | Chrome | E2E testing and web automation |
1166
+
1167
+ ---
1168
+
1169
+ ## License
1170
+
1171
+ MIT
1172
+
1173
+ ---
1174
+
1175
+ *Ultra Builder Pro: No mock. No demo. No MVP. Production-grade only.*