Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You are assisting the user in reviewing a change.

- **Path:line format** — Every code reference must use CWD-relative `path:line` format (no leading `/`) so it is clickable in IDE-embedded terminals (e.g., `src/auth/middleware.ts:42`).
- **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
- **Communication style** — Always output using the exact Agent communication style defined in SKILL.md and the loaded config.
- **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.

## INITIALIZATION

Expand All @@ -22,6 +22,7 @@ Load and read full config from `{project-root}/_bmad/bmm/config.yaml` and resolv
- `implementation_artifacts`
- `planning_artifacts`
- `communication_language`
- `document_output_language`

## FIRST STEP

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,6 @@ I built a review trail for this {change_type} (no author-produced trail was foun
{generated trail}
```

Set review mode to `full-trail`. The generated trail is the Suggested Review Order for subsequent steps.
The generated trail serves as the Suggested Review Order for subsequent steps. Set `review_mode` to `full-trail` — a trail now exists, so all downstream steps should treat it as one.

If git is unavailable or the diff cannot be retrieved, return to step-01 with: "Could not generate trail — git unavailable."
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Set `review_mode` — pick the first match:

1. **`full-trail`** — ENRICH found a spec with a `## Suggested Review Order` section. Intent source: spec's Intent section.
2. **`spec-only`** — ENRICH found a spec but it has no Suggested Review Order. Intent source: spec's Intent section.
3. **`bare-commit`** — no spec found. Intent source: commit message. If the commit message is terse (under 10 words), scan the diff for the primary change pattern and draft a one-sentence intent. Confirm with the user before proceeding.
3. **`bare-commit`** — no spec found. Intent source: commit message. If the commit message is terse (under 10 words), scan the diff for the primary change pattern and draft a one-sentence intent. Flag it as `[inferred]` in the output so the user can correct it.

## PRODUCE ORIENTATION

Expand All @@ -63,24 +63,26 @@ Set `review_mode` — pick the first match:

### Surface Area Stats

Best-effort stats from `git diff --stat`. Try these baselines in order:
Best-effort stats derived from the diff. Try these baselines in order:

1. `baseline_commit` from the spec's frontmatter.
2. Branch merge-base against `main` (or the default branch).
3. `HEAD~1..HEAD` (latest commit only — tell the user).
4. If git is unavailable or all of the above fail, skip stats and note: "Could not compute stats."

Use `git diff --stat` and `git diff --numstat` for file-level counts, and scan the full diff content for the richer metrics.

Display as:

```
N files changed · M modules touched · ~L lines of logic · B boundary crossings · P new public interfaces
```

- **Files changed**: from `git diff --stat`.
- **Modules touched**: distinct top-level directories with changes.
- **Lines of logic**: added/modified lines excluding blanks, imports, formatting. `~` because approximate.
- **Files changed**: count from `git diff --stat`.
- **Modules touched**: distinct top-level directories with changes (from `--stat` file paths).
- **Lines of logic**: added/modified lines excluding blanks, imports, formatting. Scan diff content; `~` because approximate.
- **Boundary crossings**: changes spanning more than one top-level module. `0` if single module.
- **New public interfaces**: new exports, endpoints, public methods. `0` if none.
- **New public interfaces**: new exports, endpoints, public methods found in the diff. `0` if none.

Omit any metric you cannot compute rather than guessing.

Expand All @@ -96,7 +98,7 @@ Omit any metric you cannot compute rather than guessing.

## FALLBACK TRAIL GENERATION

If review mode is not `full-trail`, read fully and follow `./generate-trail.md` to build one from the diff. Then return here and continue to NEXT.
If review mode is not `full-trail`, read fully and follow `./generate-trail.md` to build one from the diff. Then return here and continue to NEXT. If trail generation fails (e.g., git unavailable), the original review mode is preserved — step-02 handles this with its non-trail path.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

step-01-orientation.md:101 + generate-trail.md’s “return to step-01” instruction can accidentally create a loop where trail generation keeps being retried when review_mode remains non-full-trail (e.g., git unavailable). Consider clarifying how to proceed to step-02 after a failed attempt without re-invoking ./generate-trail.md.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.


## NEXT

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ Display: `Orientation → [Walkthrough] → Detail Pass → Testing`

### Identify Concerns

**With Suggested Review Order** (`full-trail` mode):
**With Suggested Review Order** (`full-trail` mode — the normal path, including when step-01 generated a trail):

1. Read the Suggested Review Order stops from the spec (or from conversation context if generated by step-01 fallback).
2. Resolve each stop to a file in the current repo. Output in `path:line` format per the standing rule.
3. Read the diff to understand what each stop actually does.
4. Group stops by concern. Stops that share a design intent belong together even if they're in different files. A stop may appear under multiple concerns if it serves multiple purposes.

**Without Suggested Review Order** (`spec-only` or `bare-commit` mode):
**Without Suggested Review Order** (fallback when trail generation failed, e.g., git unavailable):
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

step-02-walkthrough.md:21 frames this branch as the fallback when trail generation failed due to git being unavailable, but the very next instruction still says to “get the diff” using step-01’s baseline rules (which are git-centric). Consider explicitly allowing this path to operate on an already-provided diff (e.g., PR diff in conversation) when git commands can’t run.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.


1. Get the diff against the appropriate baseline (same rules as step 1).
2. Identify concerns by reading the diff for cohesive design intents:
Expand Down
Loading