ultra-builder-pro-cli 0.10.0 → 0.11.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 (92) hide show
  1. package/CHANGELOG.md +45 -1
  2. package/README.md +1 -1
  3. package/adapters/_shared/codex-assets.cjs +23 -341
  4. package/adapters/_shared/runtime-assets.cjs +24 -0
  5. package/adapters/_shared/tests/runtime-assets.test.cjs +11 -4
  6. package/adapters/claude.js +28 -5
  7. package/adapters/kimi.js +15 -138
  8. package/adapters/opencode.js +14 -47
  9. package/adapters/tests/claude.test.cjs +22 -8
  10. package/adapters/tests/codex.test.cjs +19 -6
  11. package/adapters/tests/kimi.test.cjs +11 -11
  12. package/adapters/tests/opencode.test.cjs +11 -7
  13. package/agents/code-reviewer.md +24 -85
  14. package/agents/debugger.md +30 -132
  15. package/agents/review-code.md +24 -104
  16. package/agents/review-comments.md +20 -83
  17. package/agents/review-coordinator.md +40 -137
  18. package/agents/review-design.md +21 -118
  19. package/agents/review-errors.md +22 -70
  20. package/agents/review-spec.md +36 -0
  21. package/agents/review-tests.md +20 -76
  22. package/agents/tdd-runner.md +26 -84
  23. package/commands/learn.md +5 -36
  24. package/commands/ultra-change.md +5 -43
  25. package/commands/ultra-deliver.md +4 -46
  26. package/commands/ultra-dev.md +4 -48
  27. package/commands/ultra-doctor.md +4 -30
  28. package/commands/ultra-init.md +5 -47
  29. package/commands/ultra-plan.md +5 -48
  30. package/commands/ultra-research.md +5 -54
  31. package/commands/ultra-status.md +5 -44
  32. package/commands/ultra-test.md +5 -45
  33. package/commands/ultra-think.md +5 -40
  34. package/docs/PLAN.zh-CN.md +3 -3
  35. package/docs/ROADMAP.md +1 -1
  36. package/docs/SKILL-AUTHORING.md +75 -0
  37. package/package.json +3 -2
  38. package/skills/cc-collab/SKILL.md +16 -18
  39. package/skills/code-review-expert/SKILL.md +39 -114
  40. package/skills/code-review-expert/references/correctness-reliability.md +30 -0
  41. package/skills/code-review-expert/references/design-boundaries.md +26 -0
  42. package/skills/code-review-expert/references/removal-plan.md +17 -45
  43. package/skills/codex-collab/SKILL.md +23 -28
  44. package/skills/codex-collab/evals/evals.json +18 -23
  45. package/skills/integration-rules/SKILL.md +28 -67
  46. package/skills/learn/SKILL.md +46 -106
  47. package/skills/security-rules/SKILL.md +34 -56
  48. package/skills/testing-rules/SKILL.md +28 -52
  49. package/skills/ultra-change/SKILL.md +57 -114
  50. package/skills/ultra-deliver/SKILL.md +49 -87
  51. package/skills/ultra-dev/SKILL.md +42 -105
  52. package/skills/ultra-doctor/SKILL.md +39 -72
  53. package/skills/ultra-init/SKILL.md +59 -140
  54. package/skills/ultra-plan/SKILL.md +48 -88
  55. package/skills/ultra-research/SKILL.md +59 -152
  56. package/skills/ultra-research/references/architecture.md +38 -0
  57. package/skills/ultra-research/references/problem-product.md +39 -0
  58. package/skills/ultra-research/references/quality-delivery.md +34 -0
  59. package/skills/ultra-research/references/synthesis.md +38 -0
  60. package/skills/ultra-research/references/users-scope.md +40 -0
  61. package/skills/ultra-review/SKILL.md +54 -98
  62. package/skills/ultra-review/references/unified-schema.md +76 -101
  63. package/skills/ultra-review/scripts/review_wait.py +242 -77
  64. package/skills/ultra-status/SKILL.md +29 -51
  65. package/skills/ultra-test/SKILL.md +37 -72
  66. package/skills/ultra-think/SKILL.md +43 -102
  67. package/skills/ultra-verify/SKILL.md +44 -84
  68. package/skills/ultra-verify/evals/evals.json +24 -27
  69. package/spec/schemas/command-manifest.schema.json +7 -25
  70. package/spec/schemas/skill-manifest.schema.json +9 -79
  71. package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
  72. package/skills/code-review-expert/references/integration-checklist.md +0 -46
  73. package/skills/code-review-expert/references/security-checklist.md +0 -100
  74. package/skills/code-review-expert/references/solid-checklist.md +0 -65
  75. package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
  76. package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
  77. package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
  78. package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
  79. package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
  80. package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
  81. package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
  82. package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
  83. package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
  84. package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
  85. package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
  86. package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
  87. package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
  88. package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
  89. package/skills/ultra-research/steps/step-40-deployment.md +0 -123
  90. package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
  91. package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
  92. package/skills/ultra-review/scripts/review_verdict_update.py +0 -99
@@ -0,0 +1,39 @@
1
+ # Problem and product research
2
+
3
+ Read this reference when the problem, value, market context, or product direction is
4
+ uncertain.
5
+
6
+ ## Establish the problem
7
+
8
+ - Identify the affected actor, current behavior, observable cost, and desired outcome.
9
+ - Distinguish user evidence from stakeholder belief and solution preference.
10
+ - Find current alternatives, including manual work or doing nothing.
11
+ - State what evidence would disprove the problem framing.
12
+
13
+ Use repository artifacts, support data, interviews, analytics, or primary external
14
+ sources that actually exist. Do not invent quotes, demand, or market size.
15
+
16
+ ## Decide how much market work is needed
17
+
18
+ Market sizing and competitive research are optional. Use them only when they affect a
19
+ funding, positioning, pricing, or build-versus-buy decision.
20
+
21
+ When needed:
22
+
23
+ 1. define the market boundary and time period;
24
+ 2. show the calculation inputs and sources;
25
+ 3. separate direct, adjacent, and substitute alternatives;
26
+ 4. explain how the evidence changes the product decision.
27
+
28
+ Do not present unsourced top-down totals or call a category competitor-free.
29
+
30
+ ## Record the result
31
+
32
+ Update the discovery specification with:
33
+
34
+ - problem and affected actors;
35
+ - observed evidence and source quality;
36
+ - desired outcome and non-goals;
37
+ - material alternatives and tradeoffs;
38
+ - assumptions, validation method, and blocking questions;
39
+ - the accepted product decision and why it follows from the evidence.
@@ -0,0 +1,34 @@
1
+ # Quality and delivery research
2
+
3
+ Read this reference when acceptance depends on operational risk, security, migration,
4
+ deployment, recovery, or release constraints.
5
+
6
+ ## Risk-driven quality
7
+
8
+ Identify failures that would materially affect users, data, authorization, money,
9
+ availability, or recoverability. For each relevant risk, record:
10
+
11
+ - trigger and affected boundary;
12
+ - expected behavior and observable signal;
13
+ - prevention, detection, and recovery;
14
+ - verification method and owner.
15
+
16
+ Apply security, performance, accessibility, and resilience checks according to the
17
+ actual product surface. Do not impose generic categories or coverage percentages when
18
+ they do not define acceptance.
19
+
20
+ ## Delivery path
21
+
22
+ Capture the environments, configuration authority, migration order, compatibility
23
+ window, health and readiness checks, observability, rollout, rollback, and operator
24
+ actions needed for this product.
25
+
26
+ Prefer existing repository and platform workflows. Add a new service, dependency, or
27
+ deployment mechanism only when the accepted architecture requires it.
28
+
29
+ ## Record the result
30
+
31
+ Update the architecture and product specifications with testable quality scenarios,
32
+ delivery constraints, failure behavior, recovery evidence, and release acceptance.
33
+ Keep exact volatile commands in the repository's runbook when they are operational
34
+ procedure rather than durable architecture.
@@ -0,0 +1,38 @@
1
+ # Baseline synthesis and validation
2
+
3
+ Read this reference after the selected research lanes are complete.
4
+
5
+ ## Traceability check
6
+
7
+ Verify that each accepted outcome has:
8
+
9
+ 1. supporting problem, user, or constraint evidence;
10
+ 2. an explicit decision and scope boundary;
11
+ 3. testable acceptance behavior;
12
+ 4. a compatible architecture or delivery path;
13
+ 5. a named unresolved blocker when any link is missing.
14
+
15
+ Check the reverse direction as well: every proposed component, dependency, and quality
16
+ requirement must support an accepted outcome or constraint.
17
+
18
+ ## Consistency check
19
+
20
+ - Use one term for each actor, boundary, and authoritative data source.
21
+ - Remove duplicate narratives and stale alternatives.
22
+ - Keep source links next to the claims they support.
23
+ - Separate durable decisions from volatile external facts.
24
+ - Preserve explicit non-goals and rejected alternatives only when they prevent a
25
+ likely future mistake.
26
+
27
+ ## Handoff
28
+
29
+ Report:
30
+
31
+ - validated scope and decisive evidence;
32
+ - specification files changed;
33
+ - accepted decisions and material uncertainty;
34
+ - blockers, or an explicit statement that none remain;
35
+ - one next action.
36
+
37
+ Do not create a parallel summary document solely for model consumption. The planning
38
+ workflow should read the smallest authoritative baseline sections it needs.
@@ -0,0 +1,40 @@
1
+ # Users, behavior, and scope
2
+
3
+ Read this reference when actors, workflows, acceptance, boundaries, or success signals
4
+ are unclear.
5
+
6
+ ## Actors and scenarios
7
+
8
+ Model only actors supported by evidence. Prefer roles and jobs over fictional persona
9
+ biographies. For each material scenario, capture:
10
+
11
+ - trigger and preconditions;
12
+ - actor goal;
13
+ - main flow and system response;
14
+ - important failure or recovery path;
15
+ - observable completion signal.
16
+
17
+ ## Acceptance and scope
18
+
19
+ Turn scenarios into testable behavior. Each requirement should name the observable
20
+ outcome, relevant constraints, and how success can be verified.
21
+
22
+ Define:
23
+
24
+ - included behavior required for the accepted outcome;
25
+ - explicit non-goals;
26
+ - dependencies and assumptions;
27
+ - deferred work only when a real sequencing decision exists.
28
+
29
+ Avoid arbitrary release buckets or a fixed number of stories. Scope follows the
30
+ validated outcome and delivery constraint.
31
+
32
+ ## Success signals
33
+
34
+ Choose metrics only when they will guide a decision. Define the event, population,
35
+ window, source, owner, and interpretation. Do not invent target values; record a
36
+ baseline, a user-approved target, or the experiment needed to establish one.
37
+
38
+ Update the product specification with actors, scenarios, acceptance, scope, non-goals,
39
+ and decision-relevant success signals. Keep business facts in their source system and
40
+ link them rather than copying volatile datasets into the specification.
@@ -1,125 +1,81 @@
1
1
  ---
2
2
  name: ultra-review
3
- description: "Run two independent review axes over one current diff, using bounded specialist workers and file-based evidence without context pollution."
4
- user-invocable: true
5
- runtime: all
6
- mcp_tools_required:
7
- - change.list
8
- - change.get
9
- - change.context
10
- - change.breadcrumb
11
- - task.list
3
+ description: Run independent specification-fidelity and engineering reviews over one current diff using bounded workers and file-based evidence. Use when implementation needs a read-only review gate before task completion or delivery.
12
4
  ---
13
5
 
14
- # /ultra-review - Ultra Review System
6
+ # Review one current diff
15
7
 
16
- Review one explicit diff at the current HEAD. The top-level gates are independent:
8
+ Keep two verdict axes independent:
17
9
 
18
- 1. `spec_fidelity`: does the implementation satisfy intent, acceptance, delta,
19
- documentation impact, and public seam?
20
- 2. `engineering_standards`: is the implementation correct, safe, maintainable,
21
- tested, observable, and recoverable?
10
+ 1. `spec_fidelity`: intent, acceptance, delta, documentation impact, and public seam;
11
+ 2. `engineering_standards`: correctness, safety, maintainability, testing,
12
+ observability, and recovery.
22
13
 
23
- One axis cannot compensate for the other. The coordinator may deduplicate the same
24
- root cause but must preserve each source finding's severity, confidence, file/line,
25
- and axis; it may not silently downgrade or rerank findings.
14
+ One axis cannot compensate for the other. Preserve each finding's source, severity,
15
+ file and line, and axis during coordination.
26
16
 
27
- ## Usage
17
+ ## Scope and context
28
18
 
29
- ```text
30
- /ultra-review # applicable specialists
31
- /ultra-review all # all five specialists; delivery gate
32
- /ultra-review quick # review-code only
33
- /ultra-review security # review-code + review-errors
34
- /ultra-review tests # review-tests only
35
- /ultra-review recheck # unresolved P0/P1 scope
36
- /ultra-review delta # files changed since last review
37
- /ultra-review --range <range> | --pr <number>
38
- ```
39
-
40
- ## Phase 1: Scope and Context
41
-
42
- 1. Resolve one diff range and `DIFF_FILES`. Include staged and unstaged changes for
43
- default working-tree review.
44
- 2. Bind to the single matching change through `change.list`/`task.list`; require an
45
- explicit id if ambiguous.
46
- 3. Compile `change.context` with `role=review`, `gate=review`, spec/delta/test refs,
47
- current diff paths, and the public-seam execution contract.
19
+ 1. Resolve one explicit diff range and file set. Include staged and unstaged changes
20
+ for a default working-tree review.
21
+ 2. Bind the single matching change through `change.list` and `task.list`; require an id
22
+ when ambiguous.
23
+ 3. Compile `change.context` for the review role and gate with only the intent, delta,
24
+ acceptance, tests, diff paths, and public-seam contract needed for this review.
48
25
  4. Stop on stale HEAD, blocked readiness, empty scope, or missing acceptance evidence.
49
- 5. Create `.ultra/reviews/<session-id>/` and an index entry with reviewed HEAD,
50
- change id, mode, range, and `verdict=pending`.
26
+ 5. Create `.ultra/reviews/<session-id>/` with the reviewed HEAD, range, change id,
27
+ selected workers, and a pending verdict.
51
28
 
52
- The spec-fidelity axis reads only the bounded intent/delta/baseline/acceptance packet;
53
- the engineering axis reads the bounded diff and test evidence. Do not load unrelated
54
- project history or external provider payloads.
29
+ ## Run the independent fidelity axis
55
30
 
56
- ## Phase 2: Specialist Selection
31
+ Always dispatch `review-spec` with only the accepted intent, delta, acceptance criteria,
32
+ public-seam context, current HEAD, and diff scope. Do not give it engineering findings
33
+ or an implementation rationale that is not part of the accepted contract. It writes
34
+ `spec-fidelity.json` with `axis: spec_fidelity`.
57
35
 
58
- Five engineering specialists feed the two-axis result:
36
+ ## Select engineering specialists
59
37
 
60
- | Worker | Scope |
61
- |---|---|
62
- | `review-code` | correctness, security, live-path reachability |
63
- | `review-tests` | meaningful coverage, mocks, red/green evidence |
64
- | `review-errors` | swallowed failures, recovery, observability |
65
- | `review-design` | types, boundaries, complexity, coupling |
66
- | `review-comments` | stale or misleading comments/docs |
38
+ Use the smallest set that covers the diff. The delivery gate runs all five:
67
39
 
68
- `all` always runs all five. Other modes may skip a worker only when its scope is
69
- provably absent, and the skip reason is written to the session. Spec fidelity is never
70
- skipped for a change-linked review.
40
+ - `review-code`: correctness, security, and live-path reachability;
41
+ - `review-tests`: behavioral coverage and feedback-loop evidence;
42
+ - `review-errors`: hidden failures, recovery, and observability;
43
+ - `review-design`: types, boundaries, complexity, and coupling;
44
+ - `review-comments`: stale or misleading comments and documentation.
71
45
 
72
- ## Phase 3: Background Execution (Zero Context Pollution)
46
+ Record why any engineering specialist is skipped. The independent specification
47
+ worker is required for every change-linked review.
73
48
 
74
- Launch selected workers in background mode using multiple Task tool calls in a single
75
- message when the current host supports it. Each bounded worker must:
49
+ ## Execute bounded workers
76
50
 
77
- 1. read its installed worker instructions;
78
- 2. inspect only `DIFF_FILES`, `DIFF_RANGE`, and supplied role context;
79
- 3. write `{SESSION_PATH}/{worker}.json` following
80
- `$CLAUDE_PLUGIN_ROOT/skills/ultra-review/references/unified-schema.md`;
81
- 4. return at most 12 findings with confidence >= 75, ordered by its own severity;
82
- 5. output only a one-line file acknowledgement after the artifact exists.
51
+ Use the current host's native bounded-worker mechanism. Dispatch `review-spec` and the
52
+ selected engineering workers independently. Each worker must inspect only the supplied
53
+ diff and role context. Resolve `references/unified-schema.md` from this
54
+ Skill directory and pass that absolute path as `SCHEMA_PATH`; never make a worker infer
55
+ the plugin installation root. Each worker writes `<session>/<worker>.json` following
56
+ that contract, limits output to actionable findings, and returns only a short file
57
+ acknowledgement to the parent context.
83
58
 
84
- Do not copy worker transcripts into the parent context. Findings flow through files.
85
-
86
- ## Phase 4: Wait & Coordinate (File-Based)
87
-
88
- Validate worker files:
59
+ Resolve bundled paths relative to this skill directory. Validate the exact expected
60
+ artifacts before coordination:
89
61
 
90
62
  ```bash
91
- python3 "$CLAUDE_PLUGIN_ROOT/skills/ultra-review/scripts/review_wait.py" {SESSION_PATH} agents {AGENT_COUNT}
63
+ python3 scripts/review_wait.py <session-path> agents spec-fidelity review-code review-tests
92
64
  ```
93
65
 
94
- Then run the installed `review-coordinator` over valid artifacts plus the independent
95
- spec-fidelity assessment. It writes `SUMMARY.json` and `SUMMARY.md`. Validate:
96
-
97
- ```bash
98
- python3 "$CLAUDE_PLUGIN_ROOT/skills/ultra-review/scripts/review_wait.py" {SESSION_PATH} summary
99
- ```
100
-
101
- Partial worker completion is explicit. Zero valid worker files blocks the engineering
102
- axis. A coordinator may merge duplicate root causes but must retain source ids and the
103
- highest original severity/confidence without reinterpreting priorities.
104
-
105
- ## Phase 5: Report to User
106
-
107
- `SUMMARY.json` must contain:
66
+ Pass only the engineering worker stems actually selected. Missing or invalid required
67
+ artifacts make the corresponding axis incomplete; a partial set is never a pass.
108
68
 
109
- - session/change id, reviewed HEAD/range, workers run/skipped;
110
- - `axes.spec_fidelity` and `axes.engineering_standards`, each with its own verdict and
111
- evidence refs;
112
- - unchanged source findings with axis/source provenance;
113
- - overall verdict: `REQUEST_CHANGES` when either axis has P0/P1 or fails;
114
- - incomplete/partial status and exact rerun command.
69
+ Run `review-coordinator` only after validation. It may merge duplicate root causes but
70
+ must retain source identifiers and the highest original severity.
71
+ Validate its summary with the same waiter.
115
72
 
116
- Report the two axis verdicts first, then P0/P1 findings and the report path. Fixes are a
117
- separate implementation action; review itself is read-only except for review artifacts.
118
- After fixes, use `recheck` or `delta` rather than rerunning unrelated scope.
73
+ ## Report and handoff
119
74
 
120
- ## Convergence handoff
75
+ Report both axis verdicts first, followed by blocking findings and artifact paths.
76
+ Review is read-only except for review artifacts; fixes are a separate implementation
77
+ action. Recheck only unresolved or changed scope after fixes.
121
78
 
122
- At the final HEAD, recompile `change.context` with `role=review` and a next action of
123
- `Converge and deliver the verified change`. The delivery workflow must submit two
124
- separate `review` evidence rows: one with `axis=spec_fidelity`, one with
125
- `axis=engineering_standards`. A single aggregate “review passed” row is invalid.
79
+ At the final HEAD, compile review context with one convergence action. Delivery must
80
+ submit separate review evidence rows for `spec_fidelity` and
81
+ `engineering_standards`; a single aggregate pass is invalid.
@@ -1,127 +1,102 @@
1
- # Ultra Review - Unified JSON Schema v1
1
+ # Review artifact contract
2
2
 
3
- All review agents MUST output findings in this exact format. No deviations.
3
+ Use this contract for every specialist artifact. Write JSON to the assigned file and
4
+ return only a one-line acknowledgement to the parent.
4
5
 
5
- ## Schema
6
+ ## Specialist artifact
6
7
 
7
8
  ```json
8
9
  {
9
- "$schema": "ultra-review-findings-v1",
10
- "agent": "<agent-name>",
11
- "session": "<timestamp>-<branch>",
12
- "timestamp": "<ISO 8601>",
10
+ "$schema": "ultra-review-findings-v2",
11
+ "agent": "review-code",
12
+ "axis": "engineering_standards",
13
+ "session": "<session-id>",
14
+ "timestamp": "<ISO-8601>",
13
15
  "scope": {
14
- "files_analyzed": ["src/foo.ts", "src/bar.ts"],
15
- "total_lines_analyzed": 342,
16
+ "head": "<full-git-head>",
17
+ "range": "<diff-range>",
18
+ "files_analyzed": ["src/example.ts"],
16
19
  "diff_only": true
17
20
  },
18
- "summary": {
19
- "total_findings": 5,
20
- "by_severity": { "P0": 1, "P1": 2, "P2": 1, "P3": 1 },
21
- "verdict": "REQUEST_CHANGES"
22
- },
21
+ "status": "complete",
23
22
  "findings": [
24
23
  {
25
- "id": "<agent-name>-001",
26
- "severity": "P0",
27
- "confidence": 95,
28
- "category": "security",
29
- "subcategory": "injection",
30
- "title": "SQL injection via string concatenation",
31
- "file": "src/api/handler.ts",
32
- "line": 45,
24
+ "id": "review-code-001",
25
+ "axis": "engineering_standards",
26
+ "severity": "P1",
27
+ "category": "correctness",
28
+ "title": "Retry path commits the same payment twice",
29
+ "file": "src/payments/retry.ts",
30
+ "line": 42,
33
31
  "line_end": 47,
34
- "code_snippet": "const query = `SELECT * FROM users WHERE id = ${userId}`",
35
- "description": "User-controlled input directly interpolated into SQL query string.",
36
- "suggestion": "Use parameterized query: db.query('SELECT * FROM users WHERE id = $1', [userId])",
37
- "claude_md_rule": "security.forbidden_patterns.sql_string_concat"
32
+ "trigger": "The provider times out after committing the first request.",
33
+ "impact": "A retry can create a duplicate charge.",
34
+ "evidence": "retryPayment calls charge() again without an idempotency key.",
35
+ "suggestion": "Persist and reuse one idempotency key for the operation."
38
36
  }
39
37
  ],
40
- "positive_observations": [
41
- "Clean separation between domain and infrastructure layers"
42
- ],
43
- "metadata": {
44
- "duration_ms": 15000,
45
- "model": "claude-opus-4-6",
46
- "turns_used": 12
47
- }
38
+ "positive_observations": [],
39
+ "limitations": []
48
40
  }
49
41
  ```
50
42
 
51
- ## Field Definitions
52
-
53
- ### Top-Level
43
+ Use `axis: "spec_fidelity"` for the independent acceptance review and
44
+ `axis: "engineering_standards"` for engineering specialists.
54
45
 
55
- | Field | Type | Required | Description |
56
- |-------|------|----------|-------------|
57
- | `$schema` | string | YES | Always `"ultra-review-findings-v1"` |
58
- | `agent` | string | YES | Agent name: `review-code`, `review-tests`, `review-errors`, `review-comments`, `review-design` |
59
- | `session` | string | YES | Session ID provided in the task prompt |
60
- | `timestamp` | string | YES | ISO 8601 timestamp when review completed |
61
- | `scope` | object | YES | What was analyzed |
62
- | `summary` | object | YES | Aggregate counts |
63
- | `findings` | array | YES | Individual findings (can be empty) |
64
- | `positive_observations` | array | YES | Good patterns found (can be empty) |
65
- | `metadata` | object | YES | Execution metadata |
46
+ ## Required finding fields
66
47
 
67
- ### Finding Object
48
+ Every finding needs a stable id, axis, severity, category, concise title, repository-
49
+ relative file, tight line range, triggering condition, observable impact, source
50
+ evidence, and smallest complete remediation.
68
51
 
69
- | Field | Type | Required | Description |
70
- |-------|------|----------|-------------|
71
- | `id` | string | YES | Unique ID: `<agent-name>-<NNN>` (zero-padded 3 digits) |
72
- | `severity` | enum | YES | `P0` (critical), `P1` (high), `P2` (medium), `P3` (low) |
73
- | `confidence` | int | YES | 0-100. Only include findings with confidence >= 75 |
74
- | `category` | enum | YES | See Category Enum below |
75
- | `subcategory` | string | NO | Free-text refinement of category |
76
- | `title` | string | YES | One-line summary (max 80 chars) |
77
- | `file` | string | YES | Relative file path from repo root |
78
- | `line` | int | YES | Start line number |
79
- | `line_end` | int | NO | End line number (if multi-line) |
80
- | `code_snippet` | string | YES | Relevant code (max 5 lines) |
81
- | `description` | string | YES | Detailed explanation |
82
- | `suggestion` | string | YES | Concrete fix or recommendation |
83
- | `claude_md_rule` | string | NO | Reference to CLAUDE.md rule if applicable |
52
+ Severity is impact-based:
84
53
 
85
- ### Category Enum
54
+ - P0: exploitable critical security issue, destructive data loss, or deterministic
55
+ critical outage;
56
+ - P1: material correctness, authorization, reliability, or delivery failure;
57
+ - P2: bounded defect or maintainability risk with a concrete cost;
58
+ - P3: optional improvement that does not block the accepted outcome.
86
59
 
87
- | Value | Used By |
88
- |-------|---------|
89
- | `security` | review-code, review-errors |
90
- | `error-handling` | review-errors, review-code |
91
- | `code-quality` | review-code, review-design |
92
- | `test-quality` | review-tests |
93
- | `type-design` | review-design |
94
- | `comments` | review-comments |
95
- | `simplification` | review-design |
96
- | `performance` | review-code, review-design |
97
- | `architecture` | review-code, review-design |
98
- | `integration` | review-code |
99
- | `scope-drift` | review-code |
100
- | `spec-compliance` | review-code |
101
- | `forbidden-pattern` | review-code, review-tests, review-comments |
60
+ Do not report a concern without a plausible execution path. Do not encode a style
61
+ preference as a defect. Preserve the source specialist's severity during coordination.
102
62
 
103
- ### Verdict Rules
63
+ ## Coordinator summary
104
64
 
105
- | Condition | Verdict |
106
- |-----------|---------|
107
- | Any P0 finding | `REQUEST_CHANGES` |
108
- | P1 count > 3 | `REQUEST_CHANGES` |
109
- | P1 count > 0 | `COMMENT` |
110
- | No P0 or P1 | `APPROVE` |
65
+ `SUMMARY.json` contains:
111
66
 
112
- ### Severity Mapping
113
-
114
- | Level | Name | Criteria | Action |
115
- |-------|------|----------|--------|
116
- | **P0** | Critical | Security vulnerability, data loss, correctness bug, empty catch block | Must block merge |
117
- | **P1** | High | Logic error, SOLID violation, performance regression, mock violation, catch returning null | Should fix before merge |
118
- | **P2** | Medium | Code smell, maintainability, deep nesting, optional chaining hiding errors | Fix or create follow-up |
119
- | **P3** | Low | Style, naming, minor suggestion, informational type quality notes | Optional |
67
+ ```json
68
+ {
69
+ "$schema": "ultra-review-summary-v2",
70
+ "session": "<session-id>",
71
+ "head": "<full-git-head>",
72
+ "status": "complete",
73
+ "verdict": "REQUEST_CHANGES",
74
+ "axes": {
75
+ "spec_fidelity": {
76
+ "verdict": "PASS",
77
+ "evidence_refs": ["spec-fidelity.json"]
78
+ },
79
+ "engineering_standards": {
80
+ "verdict": "FAIL",
81
+ "evidence_refs": ["review-code.json", "review-tests.json"]
82
+ }
83
+ },
84
+ "workers": {
85
+ "completed": ["review-code", "review-tests"],
86
+ "failed": [],
87
+ "skipped": []
88
+ },
89
+ "findings": [],
90
+ "positive_observations": [],
91
+ "limitations": []
92
+ }
93
+ ```
120
94
 
121
- ## Output Rules
95
+ The overall verdict is `APPROVE` only when both axes pass, artifacts are complete and
96
+ current, and no P0 or P1 finding remains. Use `REQUEST_CHANGES` for a failed axis or
97
+ blocking finding, and `INCOMPLETE` when required evidence or workers are missing.
98
+ Each axis verdict is `PASS`, `FAIL`, or `INCOMPLETE`; the overall verdict is `APPROVE`,
99
+ `REQUEST_CHANGES`, or `INCOMPLETE`.
122
100
 
123
- 1. Write the JSON to the file path provided in the task prompt
124
- 2. JSON MUST be valid - use `JSON.stringify` equivalent formatting
125
- 3. Only report findings with confidence >= 75
126
- 4. Do NOT output the JSON to the conversation - write it to the file only
127
- 5. After writing the file, output a one-line summary: `"Wrote N findings (P0:X P1:X P2:X P3:X) to <filepath>"`
101
+ Validate JSON before acknowledgement. Never paste full JSON or worker transcripts into
102
+ the parent conversation.