Skip to content

fix(schema): require check_id on budget-committing report_plan_outcome outcomes (3.2 hardening) - #5985

Open
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:fix/report-plan-outcome-check-id-binding
Open

fix(schema): require check_id on budget-committing report_plan_outcome outcomes (3.2 hardening)#5985
garvitkaushik-123 wants to merge 1 commit into
adcontextprotocol:mainfrom
garvitkaushik-123:fix/report-plan-outcome-check-id-binding

Conversation

@garvitkaushik-123

@garvitkaushik-123 garvitkaushik-123 commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Reframed per @bokelley's review. This is a narrow validation-drift fix targeted at 3.2 — it does not close #5827, and does not claim to.

report-plan-outcome-request.json documents check_id as "Required for completed and failed outcomes" (both in the field description and the task reference), but never listed it in any required[]. A conformant validator therefore accepted a budget-committing self-report (outcome: "completed" / "failed") carrying no reference to the authorizing check_governance decision.

Adds an if/then conditional: when outcome is completed or failed, check_id is required. delivery outcomes (not budget-committing) are unaffected. No prose change — the schema is brought in line with its own documented contract.

Scope / release line

Test plan

If the WG would rather fold this into the 3.2 bound-token work wholesale, happy to close this in favor of that.

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Argus is not auto-reviewing this PR because it modifies protected paths that require human review (static/schemas/source/governance/report-plan-outcome-request.json). A human reviewer should review and merge this PR; Argus will resume on subsequent PRs once these changes land on main.

@bokelley bokelley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not eligible for 3.1.x and does not close #5827. check_id is a correlator, not cryptographic binding between the verified authorization and committed budget; the accepted direction is the bound-token work in 3.2. Please also rebase away the unrelated #5984 commit. If the WG still wants this as a separate validation improvement, reframe it as partial hardening for 3.2 with the correct release scope rather than a patch that claims to resolve the P0.

…e outcomes

report-plan-outcome-request.json documents check_id as "Required for
'completed' and 'failed' outcomes" (schema description + task reference) but
never listed it in any required[], so a validator accepted a budget-committing
self-report with no reference to the authorizing check_governance decision.

Adds an if/then conditional requiring check_id when outcome is completed or
failed; delivery outcomes are unaffected. Aligns the schema with its own
documented contract — no prose change.

Scope: partial validation hardening targeted at 3.2. This does NOT close adcontextprotocol#5827
— check_id is a correlator, not a cryptographic binding between the verified
authorization and committed budget; the bound-token work that closes the P0 is
deferred to the 3.2 governance design. Refs adcontextprotocol#5827.
@garvitkaushik-123
garvitkaushik-123 force-pushed the fix/report-plan-outcome-check-id-binding branch from 35237e1 to 0028c89 Compare July 24, 2026 04:30
@garvitkaushik-123 garvitkaushik-123 changed the title fix(schema): require check_id on budget-committing report_plan_outcome outcomes fix(schema): require check_id on budget-committing report_plan_outcome outcomes (3.2 hardening) Jul 24, 2026

@aao-secretariat aao-secretariat Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Argus is not auto-reviewing this PR because it modifies protected paths that require human review (static/schemas/source/governance/report-plan-outcome-request.json). A human reviewer should review and merge this PR; Argus will resume on subsequent PRs once these changes land on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

report_plan_outcome commits budget from buyer self-report with no token binding

2 participants