Skip to content

Phase 2#160

Merged
touchthesun merged 3 commits into
mainfrom
phase-2
Apr 5, 2026
Merged

Phase 2#160
touchthesun merged 3 commits into
mainfrom
phase-2

Conversation

@touchthesun

Copy link
Copy Markdown
Contributor

Phase 2 PR Summary

Scope Closed

This PR closes the Phase 2 branch scope for matching quality, API-first composite behavior, integration hardening, and demo-readiness reliability checks.

Primary areas completed:

  • API-first facility-combination matching behavior (with graceful fallback).
  • Match response contract enhancements (match_summary, coverage_gaps, summary text).
  • CLI/API output consistency improvements (ranking, explain ergonomics, schema cleanup).
  • Integration hardening and regression coverage updates.
  • End-to-end pipeline verification on accepted COVID-era target set.
  • Phase 2 feature freeze activation (rehearsal bugfix mode only).

Key Deliverables

1) Matching Result Enhancements (2.3)

  • Composite matching controls are exposed in request contract.
  • Match responses include structured summary metadata for machine and human consumption.
  • CLI supports composite controls and improved explanation behavior.
  • Single-facility payloads are compacted to remove redundant facility aggregate fields.
  • Composite aggregate fields remain available where meaningful (multi-facility mode).

2) API/CLI Contract and Documentation Alignment

  • API docs updated for request/response fields and ranking semantics.
  • CLI docs updated for explanation behavior and output expectations.
  • Match explanation docs updated for verbose behavior.

3) Hardening + Test Stability

  • Nested matching integration tests aligned with current solution return contract.
  • Synthetic dataset regeneration integrated for end-to-end test reliability.
  • Async fixture modernization completed for current pytest behavior.
  • Storage integration path modernized for isolated local backend use in tests.

4) Step 2 Regression Verification (Completed)

Validated across:

  • API contract tests (single, composite, nested paths).
  • Nested integration tests.
  • CLI single/composite via live API path.
  • CLI nested path (expected local fallback for local nested BOM file resolution).

Evidence artifacts include:

  • tmp/step2-cli-single-api.json
  • tmp/step2-cli-composite-api.json
  • tmp/step2-cli-composite-applied-api.json
  • tmp/step2-cli-nested-api.json

5) Step 3 Pipeline Verification (Completed for accepted scope)

Repo URL -> manifest generation -> match flow executed for accepted COVID-era set:

  • covid-gliax-faceshield -> pass
  • covid-respiraworks-ventilator -> pass
  • covid-ventmon-inline-monitor -> pass

Result: 3/3 pass.

Evidence artifacts:

  • tmp/step3/step3-pipeline-report.json
  • tmp/step3/step3-failure-notes.md

Notable Behavioral Outcomes

  • Composite mode now reports whether it was requested and actually applied.
  • Composite-not-applied outcomes are explicit and non-fatal (with warnings).
  • CLI/API schema mismatch observed previously against stale server instances is resolved when running updated containerized API.
  • Remote storage reachability is confirmed; earlier connection errors were traced to proxy-path behavior in prior runtime context.

Risk / Residual Notes

  • Nested CLI matching from local files intentionally uses fallback path for BOM file resolution; this is expected behavior.
  • Feature freeze is now active for Phase 2: only bugfix/stability/rehearsal polish should be merged under this phase.

Suggested PR Description Snippet

Phase 2 closes with matching result quality and reliability complete for demo readiness. The branch introduces API-first composite matching controls and structured result summaries, aligns CLI/API behavior, hardens nested/integration test paths, and validates full URL->manifest->match pipeline execution on the accepted COVID-era target set (3/3 passing). Phase 2 is now in feature-freeze with bugfix-only rehearsal mode.

@touchthesun touchthesun merged commit c9afed2 into main Apr 5, 2026
2 of 3 checks passed
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 5.00000% with 342 lines in your changes missing coverage. Please review.
✅ Project coverage is 20.11%. Comparing base (668d697) to head (11d1489).
⚠️ Report is 12 commits behind head on main.

Files with missing lines Patch % Lines
src/core/services/matching_service.py 3.57% 135 Missing ⚠️
src/core/api/routes/match.py 3.59% 134 Missing ⚠️
src/core/generation/layers/llm.py 0.00% 28 Missing ⚠️
src/cli/match.py 0.00% 13 Missing ⚠️
src/core/generation/utils/file_categorization.py 0.00% 12 Missing ⚠️
src/core/storage/providers/local.py 0.00% 10 Missing ⚠️
src/core/storage/smart_discovery.py 0.00% 5 Missing ⚠️
src/core/generation/dataset_generation.py 0.00% 2 Missing ⚠️
src/core/models/okw.py 0.00% 2 Missing ⚠️
src/core/services/okh_service.py 0.00% 1 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #160      +/-   ##
==========================================
- Coverage   20.33%   20.11%   -0.22%     
==========================================
  Files         202      205       +3     
  Lines       31896    32845     +949     
==========================================
+ Hits         6485     6608     +123     
- Misses      25411    26237     +826     
Flag Coverage Δ
unittests 20.11% <5.00%> (-0.22%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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