Skip to content

test: Health v2 Integration — e2e v2 pipeline + CLI --filter paused - #74

Merged
belarusian merged 1 commit into
mainfrom
build17/health-v2-integration
Aug 20, 2026
Merged

test: Health v2 Integration — e2e v2 pipeline + CLI --filter paused#74
belarusian merged 1 commit into
mainfrom
build17/health-v2-integration

Conversation

@belarusian

Copy link
Copy Markdown
Owner

Cycle 17 (Health v2: Integration). Ties the three v2 links together as one composed path: discover -> assess -> classify_health_v2(read_gitstate(...)) -> render_portfolio(healths, git_states).

Test-only cycle; no fleet/ source change (the capability is already merged in Cycles 14-16).

What's added

  • tests/test_integration_v2.py (new):
    • test_integration_v2_pipeline_stranded_paused_dead — an in-tree fixture root of real git repos carrying the Build-Order canary shapes (alloc-pipeline -> stranded: unmerged build42 branch + 2 unpushed commits; deepseek-deharness -> paused: clean main; gamma -> dead: no git repo). Asserts the composed pipeline yields the three v2 classes and the exact 7-column table (Git column: unmerged:build42/model-persistence-rebalance,unpushed:2 / - / -).
    • test_integration_v2_filter_stranded — mirrors the CLI --filter stranded logic; selecting the v2 stranded class yields exactly alloc-pipeline.
    • test_integration_live_root_self_consistent — a live-root smoke test over ~/AI that asserts the pipeline runs and every reported class is one of the four valid classes. It does not hard-assert stranded/paused (the live canary repos use master with no main, so read_gitstate yields EMPTY_STATE and the pinned classes are not reproducible live). Skips when ~/AI is absent.
  • tests/test_cli.py: test_cli_status_filter_paused (the previously-untested paused branch of the v2 filter) + pins the v1/v2 Health-column divergence (a v2-filtered row still displays its v1 class).

Gate

  • pytest: 146 passed (was 142, +4)
  • ruff check fleet/ + tests/: clean
  • mypy fleet/ --ignore-missing-imports: clean (8 files)

Closes #72
Closes #73

- tests/test_integration_v2.py (new): in-tree fixture root of real git repos
  (alloc-pipeline -> stranded, deepseek-deharness -> paused, gamma -> dead)
  asserting the composed discover -> assess -> classify_health_v2(read_gitstate(...))
  -> render_portfolio pipeline, the Git column, and the filter-to-stranded logic;
  plus a live-root self-consistency smoke test that skips when ~/AI is absent.
- tests/test_cli.py: test_cli_status_filter_paused (the paused branch of the
  v2 filter) + pin the v1/v2 Health-column divergence.
- tickets: TICKET-064..067 (064/067 in scope; 065/066 deferred design decisions).

Test-only cycle; no fleet/ source change.
@belarusian
belarusian merged commit 65b9bb3 into main Aug 20, 2026
2 checks passed
@belarusian
belarusian deleted the build17/health-v2-integration branch August 20, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant