Skip to content

docs: drop unimplemented risk_level claim from impact docs#592

Merged
coseto6125 merged 1 commit into
mainfrom
chore/drop-risk-level-doc-claims
Jun 22, 2026
Merged

docs: drop unimplemented risk_level claim from impact docs#592
coseto6125 merged 1 commit into
mainfrom
chore/drop-risk-level-doc-claims

Conversation

@coseto6125

Copy link
Copy Markdown
Owner

Why

ecp impact is documented (help text, doc-comments, skill docs, a ## Risk Levels table) as returning a risk_level of LOW / HIGH / CRITICAL. It does not. Verified by reading both emit paths:

  • impact_by_name{ status, target, direction, impact, ... }
  • impact_with_baseline{ status, baseline, changed_paths, changed_symbols, impact_by_symbol }

Neither emits a risk_level field, and ecp find RiskLevelfound: false. The only real classification in impact.rs is CoverageClass (Orphan/Uncovered/Partial/Covered), gated behind --test-coverage, and it grades test coverage, not risk.

This is a doc-vs-code drift: the docs promise a label the binary never produces — exactly the "doc-comment inference ≠ verification" trap.

What

Replace every risk_level / "risk level" claim with the truthful contract — impact returns the raw caller/callee blast radius; the consumer judges risk from caller breadth, remembering caller counts are a lower bound (resolver suppresses ambiguous bare calls → low count warrants a grep cross-check).

7 sites:

  • crates/ecp-cli/src/cli.rs--help summary
  • crates/ecp-cli/src/commands/impact.rs — doc-comment
  • docs/skills/ecp/_shared/cli/impact.md — intro line + dropped ## Risk Levels table, replaced with "## Reading the blast radius"
  • docs/skills/ecp/_shared/cli/processes.md — "caller-tree with risk levels"
  • docs/skills/ecp/SKILL.md — command table
  • docs/skills/ecp-onboard/_shared/cli/impact.md
  • skill_sample/claude/SKILL.md — "HIGH/CRITICAL risk_level → stop+confirm" guidance reworded to caller-breadth

Not touched (deliberately)

Risk classification does exist — in ecp dev pr-analyze (Risk enum Low/Medium/High, classify_risk(impact_size) thresholds 5/30, emits ecp:risk-* labels). That doc-comment (pr_analyze.rs:228) is accurate and is left as-is. docs/specs/ + docs/superpowers/ historical design notes also left as-is (they record intent, not a user-facing CLI contract).

Verification

cargo build -p egent-code-plexus --bin ecp passes (only doc-comment + help-string text changed).

`ecp impact` (both `<name>` and `--baseline` modes) emits only the
caller / callee set with file:line and counts — it never assigns a
`risk_level` and no such field exists in the JSON payload
(`impact_with_baseline` / `impact_by_name`). The help text, doc-comments,
skill docs, and a "## Risk Levels" table all claimed a LOW/HIGH/CRITICAL
label that the code does not produce.

Replace the claims with the truthful contract: impact returns the raw
blast radius; judge risk from caller breadth directly (caller counts are
a lower bound — the resolver suppresses ambiguous bare calls, so a low
count warrants a grep cross-check).

Risk *classification* does exist, but in `ecp dev pr-analyze`
(`Risk` enum, `classify_risk` by impact-set size) — left untouched; its
doc-comment is accurate.
@coseto6125 coseto6125 enabled auto-merge (squash) June 22, 2026 20:21
@coseto6125 coseto6125 added the merge-queue Opt-in to Mergify merge queue label Jun 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor
ecp impact cache (0 symbols) — internal, used by ecp dev pr-analyze

[]

@github-actions github-actions Bot added the ecp:risk-low ecp signal label Jun 22, 2026
@coseto6125 coseto6125 merged commit d0faf99 into main Jun 22, 2026
18 checks passed
@coseto6125 coseto6125 deleted the chore/drop-risk-level-doc-claims branch June 22, 2026 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ecp:risk-low ecp signal merge-queue Opt-in to Mergify merge queue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant