Skip to content

feat(api): scorecard extraction and persistence - #37

Closed
mariuspruvot wants to merge 1 commit into
stagingfrom
feat/scoring-backend
Closed

feat(api): scorecard extraction and persistence#37
mariuspruvot wants to merge 1 commit into
stagingfrom
feat/scoring-backend

Conversation

@mariuspruvot

Copy link
Copy Markdown
Owner

Summary

  • New container/scorecard.py: extracts helprs-scorecard JSON from last assistant message
  • Add scorecard (JSONB) and xp_earned (int) columns to container_sessions
  • New GET /sessions/{id}/scorecard endpoint
  • Scorecard auto-persisted after session completion in _event_stream
  • Alembic migration: a2b3c4d5e6f8

Test plan

  • 9 unit tests for scorecard extraction (edge cases, validation)
  • ruff check + format clean
  • Integration test with running DB
  • make migrate applies cleanly

Add helprs-scorecard JSON block extraction from Claude session output.
New scorecard.py module parses the fenced code block, validates structure
(3 dimensions, 0-10 range). Scorecard is persisted to container_sessions
table after mark_completed. New GET /sessions/{id}/scorecard endpoint.
@helprs-prod

helprs-prod Bot commented Apr 21, 2026

Copy link
Copy Markdown

helPRs session created for this PR.

Skill: challenge-me | Open session

@mariuspruvot
mariuspruvot deleted the feat/scoring-backend branch July 30, 2026 16:16
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