Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a small service that turns messy text (receipts, emails, or job posts) into validated structured JSON using a model's structured-output/tool-calling feature. Define the schema, reject or repair invalid output, and ship an eval harness of at least 15 labeled inputs that reports field-level accuracy.
Output validated against an explicit schema; invalid responses repaired or rejected, never passed through.
≥15 labeled cases; field-level accuracy reported and repeatable.
Few-shot examples and a clear task; not one brittle mega-prompt.
Handles empty/garbage input and a model timeout without crashing.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Structured extraction service with an eval harness ## Goal Build a small service that turns messy text (receipts, emails, or job posts) into validated structured JSON using a model's structured-output/tool-calling feature. Define the schema, reject or repair invalid output, and ship an eval harness of at least 15 labeled inputs that reports field-level accuracy. ## Acceptance criteria - [ ] Schema & validation: Output validated against an explicit schema; invalid responses repaired or rejected, never passed through. - [ ] Eval harness: ≥15 labeled cases; field-level accuracy reported and repeatable. - [ ] Prompt design: Few-shot examples and a clear task; not one brittle mega-prompt. - [ ] Robustness: Handles empty/garbage input and a model timeout without crashing. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.