Skip to content

Fix bmo show cycle issues - #17

Merged
erewok merged 5 commits into
mainfrom
fix-bmo-show-cycle-issues
Oct 2, 2026
Merged

erewok merged 5 commits into
mainfrom
fix-bmo-show-cycle-issues

Conversation

@erewok

@erewok erewok commented Oct 2, 2026

Copy link
Copy Markdown
Owner

We aren't clearly declaring what the dependencies are when we show cycles: it was easier to find a cycle by simply recording all the nodes seen along the way and then printing them as a list. However, this is confusing: what are the edges?

This PR attempts to improve the situation by including more information about these cycles and how to repair them.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Overlapping-cycle output still omits dependency edges, and the repair hint does not reliably resolve duplicated or multiple cycles.

Review effort: Balanced
Findings: 3 Medium severity · 1 Low severity

Open (4)
What changed in this PR

Improves cycle diagnostics and relation displays across the CLI and web UI.

Changes:

  • Adds SCC-based cycle grouping and remediation hints.
  • Normalizes relation views and dependency graph output.
  • Adds version flags, bumps to 0.9.0, and expands tests.
File Description
Cargo.toml Bumps package version.
Cargo.lock Updates locked package version.
docs/​commands.md Documents version flags and graph output.
src/​cli/​issue/​graph.rs Normalizes and groups blocking relations.
src/​cli/​mod.rs Adds top-level version flags.
src/​model/​relation.rs Adds endpoint-relative relation views.
src/​output/​human.rs Corrects relation rendering direction.
src/​planner/​topo.rs Adds detailed cycle detection and messages.
src/​web/​handlers.rs Supplies normalized relations to templates.
src/​web/​templates/​issue.html Links to the opposite relation endpoint.
tests/​cli.rs Tests version flag behavior.
tests/​cycle_detection.rs Tests cycle diagnostics end-to-end.
tests/​graph.rs Tests graph relation semantics.
tests/​show_relations.rs Tests CLI relation rendering.
tests/​web.rs Tests web relation rendering.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/cli/issue/graph.rs
Comment thread src/planner/topo.rs Outdated
Comment thread src/planner/topo.rs Outdated
Comment thread docs/commands.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

The new relation tests can mutate an externally configured database because they inherit BMO_DB.

Review effort: Balanced
Findings: 1 High severity

Open (1)
Resolved since last review (4)

Comment thread tests/show_relations.rs Outdated
@erewok
erewok merged commit c1d6e42 into main Oct 2, 2026
4 checks passed
@erewok
erewok deleted the fix-bmo-show-cycle-issues branch October 2, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants