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.
- package/CHANGELOG.md +45 -1
- package/README.md +1 -1
- package/adapters/_shared/codex-assets.cjs +23 -341
- package/adapters/_shared/runtime-assets.cjs +24 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +11 -4
- package/adapters/claude.js +28 -5
- package/adapters/kimi.js +15 -138
- package/adapters/opencode.js +14 -47
- package/adapters/tests/claude.test.cjs +22 -8
- package/adapters/tests/codex.test.cjs +19 -6
- package/adapters/tests/kimi.test.cjs +11 -11
- package/adapters/tests/opencode.test.cjs +11 -7
- package/agents/code-reviewer.md +24 -85
- package/agents/debugger.md +30 -132
- package/agents/review-code.md +24 -104
- package/agents/review-comments.md +20 -83
- package/agents/review-coordinator.md +40 -137
- package/agents/review-design.md +21 -118
- package/agents/review-errors.md +22 -70
- package/agents/review-spec.md +36 -0
- package/agents/review-tests.md +20 -76
- package/agents/tdd-runner.md +26 -84
- package/commands/learn.md +5 -36
- package/commands/ultra-change.md +5 -43
- package/commands/ultra-deliver.md +4 -46
- package/commands/ultra-dev.md +4 -48
- package/commands/ultra-doctor.md +4 -30
- package/commands/ultra-init.md +5 -47
- package/commands/ultra-plan.md +5 -48
- package/commands/ultra-research.md +5 -54
- package/commands/ultra-status.md +5 -44
- package/commands/ultra-test.md +5 -45
- package/commands/ultra-think.md +5 -40
- package/docs/PLAN.zh-CN.md +3 -3
- package/docs/ROADMAP.md +1 -1
- package/docs/SKILL-AUTHORING.md +75 -0
- package/package.json +3 -2
- package/skills/cc-collab/SKILL.md +16 -18
- package/skills/code-review-expert/SKILL.md +39 -114
- package/skills/code-review-expert/references/correctness-reliability.md +30 -0
- package/skills/code-review-expert/references/design-boundaries.md +26 -0
- package/skills/code-review-expert/references/removal-plan.md +17 -45
- package/skills/codex-collab/SKILL.md +23 -28
- package/skills/codex-collab/evals/evals.json +18 -23
- package/skills/integration-rules/SKILL.md +28 -67
- package/skills/learn/SKILL.md +46 -106
- package/skills/security-rules/SKILL.md +34 -56
- package/skills/testing-rules/SKILL.md +28 -52
- package/skills/ultra-change/SKILL.md +57 -114
- package/skills/ultra-deliver/SKILL.md +49 -87
- package/skills/ultra-dev/SKILL.md +42 -105
- package/skills/ultra-doctor/SKILL.md +39 -72
- package/skills/ultra-init/SKILL.md +59 -140
- package/skills/ultra-plan/SKILL.md +48 -88
- package/skills/ultra-research/SKILL.md +59 -152
- package/skills/ultra-research/references/architecture.md +38 -0
- package/skills/ultra-research/references/problem-product.md +39 -0
- package/skills/ultra-research/references/quality-delivery.md +34 -0
- package/skills/ultra-research/references/synthesis.md +38 -0
- package/skills/ultra-research/references/users-scope.md +40 -0
- package/skills/ultra-review/SKILL.md +54 -98
- package/skills/ultra-review/references/unified-schema.md +76 -101
- package/skills/ultra-review/scripts/review_wait.py +242 -77
- package/skills/ultra-status/SKILL.md +29 -51
- package/skills/ultra-test/SKILL.md +37 -72
- package/skills/ultra-think/SKILL.md +43 -102
- package/skills/ultra-verify/SKILL.md +44 -84
- package/skills/ultra-verify/evals/evals.json +24 -27
- package/spec/schemas/command-manifest.schema.json +7 -25
- package/spec/schemas/skill-manifest.schema.json +9 -79
- package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
- package/skills/code-review-expert/references/integration-checklist.md +0 -46
- package/skills/code-review-expert/references/security-checklist.md +0 -100
- package/skills/code-review-expert/references/solid-checklist.md +0 -65
- package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
- package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
- package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
- package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
- package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
- package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
- package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
- package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
- package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
- package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
- package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
- package/skills/ultra-research/steps/step-40-deployment.md +0 -123
- package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
- package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
- 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:
|
|
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
|
-
#
|
|
6
|
+
# Review one current diff
|
|
15
7
|
|
|
16
|
-
|
|
8
|
+
Keep two verdict axes independent:
|
|
17
9
|
|
|
18
|
-
1. `spec_fidelity`:
|
|
19
|
-
|
|
20
|
-
|
|
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.
|
|
24
|
-
|
|
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
|
-
##
|
|
17
|
+
## Scope and context
|
|
28
18
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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>/`
|
|
50
|
-
|
|
26
|
+
5. Create `.ultra/reviews/<session-id>/` with the reviewed HEAD, range, change id,
|
|
27
|
+
selected workers, and a pending verdict.
|
|
51
28
|
|
|
52
|
-
|
|
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
|
-
|
|
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
|
-
|
|
36
|
+
## Select engineering specialists
|
|
59
37
|
|
|
60
|
-
|
|
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
|
-
`
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
46
|
+
Record why any engineering specialist is skipped. The independent specification
|
|
47
|
+
worker is required for every change-linked review.
|
|
73
48
|
|
|
74
|
-
|
|
75
|
-
message when the current host supports it. Each bounded worker must:
|
|
49
|
+
## Execute bounded workers
|
|
76
50
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
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
|
|
63
|
+
python3 scripts/review_wait.py <session-path> agents spec-fidelity review-code review-tests
|
|
92
64
|
```
|
|
93
65
|
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
#
|
|
1
|
+
# Review artifact contract
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
##
|
|
6
|
+
## Specialist artifact
|
|
6
7
|
|
|
7
8
|
```json
|
|
8
9
|
{
|
|
9
|
-
"$schema": "ultra-review-findings-
|
|
10
|
-
"agent": "
|
|
11
|
-
"
|
|
12
|
-
"
|
|
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
|
-
"
|
|
15
|
-
"
|
|
16
|
+
"head": "<full-git-head>",
|
|
17
|
+
"range": "<diff-range>",
|
|
18
|
+
"files_analyzed": ["src/example.ts"],
|
|
16
19
|
"diff_only": true
|
|
17
20
|
},
|
|
18
|
-
"
|
|
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": "
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"category": "
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
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
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
63
|
+
## Coordinator summary
|
|
104
64
|
|
|
105
|
-
|
|
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
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
-
|
|
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
|
-
|
|
124
|
-
|
|
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.
|