Score Due Theses (bulk auto-grader)
score_due_thesesFind every thesis past its horizon with no outcome yet, and grade each via score_thesis_outcome. Operates on the caller's OWN theses — omit customer_id. Targeting another user's customer_id is reserved for Valuein's internal scoring service and is rejected for every plan, including Institutional. Returns a summary + per-thesis results. Idempotent — a re-call only re-grades anything not already graded.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Soft cap on theses scored per call. Defaults to 100. The frontend cron walks users serially so a low cap per user keeps each MCP request bounded. | |
| as_of | No | Snapshot date for the 'current' fundamentals window. Defaults to today UTC. | |
| customer_id | No | Stripe customer_id of the target user. Defaults to the caller's own — leave it unset. Supplying a DIFFERENT customer_id is restricted to Valuein's internal scoring service and is rejected on every plan, Institutional included. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| due | Yes | Subset that were past their horizon AND ungraded. | |
| _meta | Yes | Provenance envelope — data lineage for every MCP response | |
| errors | Yes | Per-thesis errors caught + logged. | |
| scored | Yes | Successfully scored + persisted. | |
| results | Yes | ||
| scanned | Yes | Total active theses inspected. | |
| skipped | Yes | Skipped because already graded or not yet due. | |
| target_customer_id | Yes |