{"success":true,"filters":{"category":"grading","primitive":null,"search":null},"summary":{"contracts":4,"categories":1,"requiredFields":26,"relationships":12,"evidenceOutputs":16,"failClosedRules":12,"apiSurfaces":11,"sourceModules":15},"contracts":[{"id":"primitive-contract-rubric-contract","primitive":"rubric_contract","name":"Rubric Contract","category":"grading","purpose":"Defines the versioned scoring standard that turns subjective AI workflow performance into comparable readiness evidence.","owns":["Rubric dimensions","Scoring configuration","Failure modes","Standards alignment","Version changelog"],"requiredFields":["id","name","version","status","visibility","dimensions","scoringConfig"],"relationships":["Scores scenarios, assessments, missions, workflow submissions, and capstones","Links to skill atom assessment configuration","Feeds universal grading and credential pass criteria"],"evidenceProduced":["Dimension scores","Failure mode detections","Pass/fail readiness signal","Rubric version audit trail"],"sourceModules":["src/lib/db/schema.ts:rubricContracts","src/lib/platform/rubrics.ts","src/lib/platform/grading-governance.ts","src/lib/ai/grading.ts"],"apiSurfaces":["/api/grading/universal","/api/grading-governance","/api/grading-coverage","/api/platform/manifest"],"failClosedRules":["Grading cannot persist without rubric contract identity or scoring fallback metadata.","Model output must validate before being accepted as rubric evidence.","Rubric changes require version history so old credentials remain explainable."]},{"id":"primitive-contract-assessment","primitive":"assessment","name":"Assessment","category":"grading","purpose":"Measures baseline or exit readiness using role scenarios, rubric contracts, tool practice, and policy safety gates.","owns":["Assessment timing","Scenario set","Pass criteria","Blocking gates","Remediation routing"],"requiredFields":["id","role","type","scenarioIds","rubricContractIds","passingCriteria"],"relationships":["Starts personalized learning plans","Closes learning paths with exit evidence","Feeds readiness scores, benchmarks, manager reports, and credentials"],"evidenceProduced":["Baseline readiness score","Exit readiness score","Dimension movement","Remediation plan"],"sourceModules":["src/lib/platform/exit-assessments.ts","src/lib/platform/readiness-score-model.ts","src/lib/readiness/service.ts","src/app/api/readiness/assessment-options/route.ts"],"apiSurfaces":["/api/readiness/assessment-options","/api/exit-assessments","/api/readiness/score-model"],"failClosedRules":["Exit assessment cannot issue credentials when blocking safety gates fail.","Baseline results must not overwrite historical exit evidence.","Assessment evidence must keep rubric contract version metadata."]},{"id":"primitive-contract-attempt","primitive":"attempt","name":"Attempt","category":"grading","purpose":"Captures a learner submission, workflow step, simulation turn, or mission action before it becomes a scored result.","owns":["Submitted response","Attempt number","Scenario or step reference","Session context","Timestamp"],"requiredFields":["id","userId","scenarioId","response","createdAt"],"relationships":["Belongs to a user, scenario, mission, workflow session, or assessment","Receives one or more grading results","Can become proof artifact input after validation"],"evidenceProduced":["Raw learner response reference","Workflow step history","Simulation transcript checkpoint","Retake and improvement trail"],"sourceModules":["src/lib/db/schema.ts:gradingResults","src/lib/db/schema.ts:workflowStepAttempts","src/lib/db/schema.ts:toolMissionStepAttempts","src/app/api/grading/universal/route.ts"],"apiSurfaces":["/api/grading/universal","/api/workflow-portfolio","/api/tool-missions"],"failClosedRules":["Attempts require identity before being persisted as readiness evidence.","Oversized or prompt-injection-like submissions must be rejected or flagged before grading.","Attempt data is never exported without proof metadata and tenant filtering."]},{"id":"primitive-contract-result","primitive":"result","name":"Result","category":"grading","purpose":"Stores the evaluated outcome of an attempt, including scores, feedback, failure modes, evidence, and skill atom performance.","owns":["Scores","Feedback","Suggestions","Dimension scores","Failure mode detections","Evidence collected"],"requiredFields":["id","userId","scenarioId","response","scores","percentage","rubricContractId","createdAt"],"relationships":["Belongs to one attempt or scenario response","References rubric contract and version","Feeds readiness score, proof artifacts, credentials, and manager reports"],"evidenceProduced":["Universal grading result","Skill atom result","Readiness score contribution","Manager coaching signal"],"sourceModules":["src/lib/db/schema.ts:gradingResults","src/lib/platform/grading-coverage.ts","src/lib/platform/proof-artifacts.ts","src/lib/platform/manager-coaching-reports.ts"],"apiSurfaces":["/api/grading/universal","/api/grading-coverage","/api/proof-artifacts","/api/manager-coaching-reports"],"failClosedRules":["Result payloads must pass schema validation before persistence.","Failed safety gates cannot be hidden by high aggregate score.","Result exports expose proof references, not private raw responses by default."]}]}