2.2 KiB
Delivery contract (current implementation)
task.jsonatomically stores task revision, original instructions, output kind, template and checked terms. Secrets are not stored here. Server startup restores these sessions; interrupted pending work becomes failed, never silently resumes side effects. Browser refresh requests the prior session ID. This restores requirements, not full model conversation or events.- PPT tools default to
purpose: debug. Debug files cannot satisfy delivery or use the final download endpoint.purpose: finalrequires a pending PPT task. Each artifact snapshots its task revision/run ID. - Formal PPT generation checks package/render validity, template selection, required term presence and remaining substantive template text. Rejection records
acceptance.jsonand produces no accepted result. Final artifacts are bound to the producing run/revision and SHA-256. - Only
run.completedwith accepted delivery data adds a PPT download link. A model statement saying “complete” is not an acceptance receipt. - Approval refusal/expiry prevents further approval requests in the same run. A new user run is required to retry.
Known limits — do not represent these as solved
Formal generation additionally invokes an independent, tool-free model review with the original user requirements, final text and every rendered slide. This checks topic, completeness, stale product imagery/text and readability; unavailable vision, timeout, malformed answers or rejection fail closed. The generating model's self-assessment is not used. This reviewer uses the configured model and may still make mistakes; it does not independently research or certify business facts. Source text checks are conservative and can reject legitimate reuse. Full conversation persistence is not implemented. Existing pre-contract artifacts are not retroactively accepted. Old sessions without a task file need migration.
Verification
pnpm test, pnpm typecheck, pnpm lint, pnpm build; node --test scripts/ppt-acceptance.test.mjs; pnpm exec tsx scripts/verify-ppt.mts; pnpm exec tsx scripts/verify-ppt.mts --template.
The real-file template check produces a debug copy, rejects its final-download access, and confirms a one-object replacement fails formal acceptance.