Skip to content

Web: admin solution review (Sprint 11 PR 11.18) - #138

Merged
tomqwu merged 1 commit into
mainfrom
sprint-11-18-solution-review
May 18, 2026
Merged

tomqwu merged 1 commit into
mainfrom
sprint-11-18-solution-review

Conversation

@tomqwu

@tomqwu tomqwu commented May 18, 2026

Copy link
Copy Markdown
Owner

Summary

/a/solution/{id} — org-scoped (404 unknown/other-org). Header KPIs (health/assignments/violations/soft-score) + published badge. Alpine segmented Assignments (event-grouped, assignee chips) / Stats (fairness + workload). Reuses get_solution/get_solution_assignments/get_solution_stats. Linked from 11.17 solver result.

Scope note: #118 lists assignments+stats+conflicts — conflicts segment trimmed (the conflicts API is org-wide, not solution-scoped; per-solution conflicts needs backend work out of scope).

Test plan

  • 5 web tests: renders w/ assignment chip + stats, 404 unknown, 404 other-org, admin-gated, auth-gated
  • black --check api tests / ruff check api tests clean
  • pytest tests/web tests/contract tests/unit/test_openapi_schema.py — 108 pass
  • E2E on live server: solve → review Solution Replace datetime.utcnow() with timezone-aware api.timeutils.utcnow() helper #1 screenshotted brand-correct (dark mode; KPI grid + segments + empty-assignments)

Closes #118

🤖 Generated with Claude Code

/a/solution/{id} — org-scoped (404 unknown / other-org). Header card:
health / assignments / hard-violations / soft-score KPIs + published
badge + created date. Alpine segmented toggle: Assignments
(event-grouped, assignee chips, "Unfilled" when none) and Stats
(fairness stdev + workload max/min/median, distinct, total). Reuses
api.routers.solutions get_solution / get_solution_assignments /
get_solution_stats. Linked from the 11.17 solver result.

Scope note: issue #118 lists assignments+stats+conflicts — Conflicts
segment trimmed: the conflicts API (api/routers/conflicts) is
org-wide, not solution-scoped, so a per-solution conflicts tab needs
backend work out of this PR's scope. Assignments+Stats are the core
review surface.

5 web tests (renders w/ assignment chip + stats, 404 unknown, 404
other-org, admin-gated, auth-gated). 108 web/contract/openapi pass.
Verified e2e on the live server: solved → reviewed Solution #1
(brand-correct, dark mode; KPI grid + segments + empty-assignments
state all render).

Closes #118

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tomqwu
tomqwu merged commit d3c8d9b into main May 18, 2026
4 checks passed
@tomqwu
tomqwu deleted the sprint-11-18-solution-review branch May 18, 2026 01:41
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.

11.18 — Solution Review

1 participant