Skip to content

feat: add pipeline kanban backend + data health dashboard + screening UX - #357

Merged
paruff merged 15 commits into
mainfrom
feat/pipeline-kanban-backend
Aug 20, 2026
Merged

paruff merged 15 commits into
mainfrom
feat/pipeline-kanban-backend

Conversation

@paruff

@paruff paruff commented Aug 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements Phases 2 and 3 of the product audit.

Phase 2: Pipeline Kanban Backend (PR #357 original)

  • 4 REST endpoints: advance, kill, hold, reactivate
  • Kanban card action dropdown with fetch handlers
  • 15 E2E tests for endpoints and UI

Phase 3: Data Health & Screening UX

Data Health:

  • Refresh All Sources button with live polling (2s interval)
  • Circuit breaker in DataSourceHealth (skips sources with 3+ errors)
  • Retry decorator with exponential backoff
  • Health JSON endpoint for polling
  • 4 E2E tests

Screening UX:

  • AJAX filter bar on screener page (price, yield, PTR, beds)
  • Preview Impact button (shows pass/fail without saving)
  • Auto-version on save (ScreeningCriteriaVersion snapshots)
  • Version history display (last 5 versions)
  • 3 E2E tests

Test Results

All 22 E2E tests pass. All pre-commit hooks clean.

Adds four REST endpoints: advance, kill, hold, reactivate.
Wires action dropdown on kanban cards with fetch handlers.
Resolves URL conflict between pipeline_advance_stage and pipeline_advance.
Restores e2e conftest with browser/page fixtures.
Adds 15 e2e tests covering all endpoints and UI interactions.
Comment thread core/views/__init__.py
advance_stage(prop)
return JsonResponse({"status": "ok", "stage": prop.stage})
except ValueError as exc:
return JsonResponse({"error": str(exc)}, status=400)
@paruff paruff changed the title feat(pipeline): add kanban action endpoints and card dropdown UI feat: add pipeline kanban backend + data health dashboard + screening UX Aug 20, 2026
paruff added 2 commits August 20, 2026 19:46
- Add docstring to health_json explaining global data scope
- Update screening_preview to use actual screen_property logic
- Remove unused timeout parameter from retry_with_backoff
- Remove duplicate server-side filter bar from screener template
The pipeline_advance_stage URL was moved from /advance/ to /advance-stage/
to resolve a conflict with the new pipeline_advance endpoint. This test
was asserting the old hardcoded URL path.
@paruff
paruff merged commit fdc1e48 into main Aug 20, 2026
20 checks passed
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