Skip to content

feat: Rollup surfacing: priority + stuck (attempts)#34

Merged
mabry1985 merged 1 commit into
mainfrom
feat/bd-2h6
Jul 3, 2026
Merged

feat: Rollup surfacing: priority + stuck (attempts)#34
mabry1985 merged 1 commit into
mainfrom
feat/bd-2h6

Conversation

@mabry1985

Copy link
Copy Markdown
Contributor

Let me check the rest of the file and understand the formatting issue.

Let me check the current state of the file more carefully and look for formatting issues.

Now I'll apply the ruff format fix to __init__.py:

Now let me verify the test file is comprehensive. Let me re-read the rollup tests:

Let me verify the full file is now clean:

All formatting and linting checks pass. Let me verify the final state of _rollup_one to confirm the implementation is correct:

The implementation and tests are complete. Here's a summary of what was done:

Fix applied:

  • Ran ruff format __init__.py to fix the formatting issue flagged by the gate. The only change was wrapping the stuck.sort() key argument across multiple lines (ruff's line-length rule).

Verification:

  • ruff format --check . → all 8 files already formatted
  • ruff check . → all checks passed

Implementation already in place (from the previous rejected attempt):

  • _rollup_one returns priority on every blocked and critical_path entry
  • blocked sorted P0-first, then by id
  • New stuck list: non-terminal features with len(attempts) >= 2, sorted attempts-desc then priority
  • Terminal (done/cancelled) features excluded from all three lists
  • Rollup stays bounded (no full feature dump)

Tests cover all acceptance criteria:

  • test_rollup_priority_and_stuck — priority present, P0-first sort, stuck threshold (1 attempt → not stuck, 2 → stuck), terminal exclusion, empty board

@protoquinn

protoquinn Bot commented Jul 3, 2026

Copy link
Copy Markdown

👀 Quinn is reviewing — verdict (PASS / WARN / FAIL) + findings to follow.

@protoquinn protoquinn Bot 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.

QA Audit — PR #34 | feat: Rollup surfacing: priority + stuck (attempts)

VERDICT: WARN (pending CI — test in_progress; re-reviewing on terminal green)


CI Status

  • test: in_progress

Diff Review

  • _rollup_one now carries priority on every blocked and critical_path entry; P0-first sort with id tiebreaker (__init__.py:225-226)
  • New stuck list surfaces non-terminal features with >= 2 attempts, sorted attempts-desc then priority-asc (__init__.py:228-233)
  • Terminal (done/cancelled) features now excluded from all three lists via _TERMINAL_LANES check — previously blocked had no exclusion and critical missed cancelled (__init__.py:215-217)
  • Comprehensive new test test_rollup_priority_and_stuck covers P0-first sort, stuck threshold, terminal exclusion, and empty board (tests/test_portfolio.py:236-291)

Observations

  • No findings. Implementation is clean, well-documented, and the test coverage is thorough across all acceptance criteria.
  • Backward-compatible: new fields (priority, stuck) are additive; existing consumers that ignore unknown keys are unaffected.

— Quinn, QA Engineer

@protoquinn

protoquinn Bot commented Jul 3, 2026

Copy link
Copy Markdown

Submitted COMMENT review on #34.

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.

1 participant