Skip to content

feat(media-buy): add actionable budget floor details - #8710

Merged
bokelley merged 1 commit into
mainfrom
bokelley/adcp-issue-8685
Nov 3, 2026
Merged

bokelley merged 1 commit into
mainfrom
bokelley/adcp-issue-8685

Conversation

@bokelley

@bokelley bokelley commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

A bid-only update can fail because its retained budget is below the effective
bid, while the primary validation issue correctly points at the submitted bid.
Add optional basis, budget_field, constraint, and related_field details
to BUDGET_TOO_LOW so buyers can distinguish daily/lifetime floors and locate
the constrained budget without applying its minimum to the bid.

The existing issue-pointer contract and hard-cap guarantees stay intact.
Unlocatable budgets remain diagnostic and require state reconciliation before
an authorized change. Update the canonical recovery guidance, regenerate the
compliance catalog, and cover the documented bid-only example with a negative
validation control. Includes a minor protocol changeset.

Records the proposed 4.0 follow-up for minimum discovery and averaged-budget
execution, with the established early-2027 target after 3.3. Those execution
changes remain outside the 3.3 wire surface. Addresses the error-recovery slice
of #8685; the broader RFC remains open.

Validation:

  • Six focused budget-error tests, including actual documentation examples.
  • Documentation JSON schema validation and additive-minor compatibility check.
  • Canonical error-code checks and generated compliance snippet freshness.
  • Independent protocol, buyer-workflow, code/test, and security reviews; all
    findings addressed and re-reviewed.
  • Repository pre-commit checks: root units, all 824 server unit files,
    dynamic-import/format/state-change guards, and TypeScript checks passed.
  • Local advisory storyboard matrix left to the authoritative CI gate;
    package.json changes only the budget-test wiring.

Open workspace in Conductor

@bokelley
bokelley marked this pull request as ready for review November 3, 2026 02:10

@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.

Ladon verdict: Escalate to human review

Escalate — gated schema paths require human/CODEOWNERS approval.

This PR modifies two files under static/schemas/source/**, which fall under the repo's deterministic hard approval gate (gated_paths: true). The current review_decision is REVIEW_REQUIRED, not APPROVED, so decision table row 2 fires: the gate is not satisfied and the outcome cannot be approve.

Reviewer findings are clean — no Critical/High/Medium. The change adds four optional fields (budget_field, basis, constraint, related_field) to error-details/budget-too-low.json on an open schema (additionalProperties: true, per DR-0009/DR-0036), correctly carried as a minor changeset. Schema↔docs coherence holds, error-code.json and the generated compliance snippet match, and versioning.mdx/roadmap.mdx align with DR-0007. No spec drift, no oneOf regression, no released-artifact mutation. This is a non-breaking (Normative) change, so the breaking-class hard gate is not implicated — but the path-based gated-paths gate still stands.

Escalation reason: touches gated schema source files (static/schemas/source/enums/error-code.json, static/schemas/source/error-details/budget-too-low.json) and review_decision is REVIEW_REQUIRED. Human/CODEOWNERS review is required before merge. Once review_decision becomes APPROVED, this clean diff falls through to approve.

Why human review

  • Gated paths touched with review_decision=REVIEW_REQUIRED: static/schemas/source/enums/error-code.json and static/schemas/source/error-details/budget-too-low.json require human/CODEOWNERS approval before merge.
  • This PR touches a path under a hard, non-overridable approval gate (static/schemas/source/enums/error-code.json (modified) matches static/schemas/source/**; static/schemas/source/error-details/budget-too-low.json (modified) matches static/schemas/source/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Nov 3, 2026
@bokelley
bokelley enabled auto-merge (squash) November 3, 2026 10:35
@bokelley
bokelley merged commit f8aa674 into main Nov 3, 2026
74 checks passed
@bokelley
bokelley deleted the bokelley/adcp-issue-8685 branch November 3, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ladon/needs-human-review Ladon has escalated this PR for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant