Submit Decision Task
talonic_submit_decision_taskSubmit the final decision for a claimed task, validating the outcome against the required contract and resuming the run.
Instructions
Submit the decision for a claimed decision task; the platform verifies it transactionally and resumes the run.
USE WHEN: the decision is final. outcome must satisfy output_contract from the claim (plain JSON Schema, or the verdict_matrix / record_set envelope), evidence lists the package locators relied on (verbatim; [] only if the app allows unevidenced decisions), rationale is a short summary. Rejections are HTTP 422 with the reason and change nothing; the task stays claimed under your epoch, so fix and resubmit before the lease ends. NOT FOR: giving the task back undecided (talonic_release_decision_task) or declaring it undecidable (talonic_fail_decision_task). Stale epoch is HTTP 409. ARGS: task_id, execution_epoch, outcome, evidence, rationale, optional confidence and service_version. AUTH: a tlnc_ key needs a per-app 'decide' grant; an OAuth connector session needs the apps:decide scope (consented at connect) and a live workspace role of senior_member or above. A 403 (decide_grant_required, insufficient_scope, insufficient_tier) names what is missing — tell the user, do not retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| outcome | Yes | The decision, shaped by output_contract from the claim: for a plain JSON Schema contract the object that schema validates; for a verdict_matrix contract { subjects: [{ subject_key, rule_outcomes, auto?, detail? }] }; for a record_set contract its fields-and-rows envelope. | |
| task_id | Yes | Decision task UUID. | |
| evidence | Yes | Provenance locators the decision relied on, each copied verbatim from the input package (or a db:/ref: locator the app holds a read grant on). Required; [] is accepted only when the app allows unevidenced decisions. | |
| rationale | Yes | Short decision rationale (a summary, never private chain-of-thought), up to 4,000 characters. | |
| confidence | No | Optional confidence from 0 to 1. | |
| execution_epoch | Yes | Execution epoch returned by the successful claim. Stale epochs are rejected with 409. | |
| service_version | No | Optional build identifier of the deciding service; recorded as decided_by.label. |