Skip to content

fix(storyboards): advance hardcoded 2026-04-01 past dates to 2027-06-01#3285

Draft
bokelley wants to merge 1 commit intomainfrom
claude/issue-2653-storyboard-past-start-time
Draft

fix(storyboards): advance hardcoded 2026-04-01 past dates to 2027-06-01#3285
bokelley wants to merge 1 commit intomainfrom
claude/issue-2653-storyboard-past-start-time

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Closes #2653

The governance_denied and governance_denied_recovery storyboards (and 18 more) contain hardcoded start_time: "2026-04-01T00:00:00Z" which is now in the past. Conformant seller agents that correctly enforce INVALID_REQUEST for past start times were rejecting requests before the scenario could reach its intended assertion (e.g., GOVERNANCE_DENIED), causing false failures against correct implementations.

20 files updated — all start_time, flight.start, and campaign start_date fields using 2026-04-01 or 2026-04-07 bumped to 2027-06-01T00:00:00Z.

Left unchanged:

  • test-vectors/plan-hash/*.json — dates are embedded in jcs_bytes canonical serializations; changing them would break the hash assertions
  • sales-social/index.yaml event_time: "2026-04-05T14:30:00Z" — this is a historical conversion event timestamp; past values are semantically correct for event logging

Non-breaking justification: Test fixture data change only; no schema, protocol, or API surface altered.

Follow-up needed: A $generate:future_date:N substitution form in the storyboard runner would eliminate this class of rot permanently. The only current substitution forms are $generate:uuid_v4 and $context.<name>. Filed as a note in the changeset description.

Pre-PR review:

  • ad-tech-protocol-expert: approved — bug confirmed, fix correctly scoped; 64-occurrence corpus audit identified test-vector files as hash-locked and out of scope; $generate:future_date follow-on recommended
  • code-reviewer: approved — fix matches governance-spend-authority/denied.yaml precedent (2027-01-01); idempotency key nit noted (stable string keys instead of $generate:uuid_v4) — out of scope for this PR

Triage-managed PR. This bot does not currently iterate on review comments or PR conversation threads (only on the source issue). To unblock:

  • Push fixup commits directly: gh pr checkout <num> → fix → push.
  • Or re-trigger: comment /triage execute on the source issue.

See #3121 for context.

Session: https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}


Generated by Claude Code

Conformant sellers that enforce INVALID_REQUEST for past start_time were
correctly rejecting storyboard create_media_buy requests before the test
scenario could reach the intended assertion (e.g. GOVERNANCE_DENIED).
This made every affected storyboard fail against correct implementations.

No dynamic date DSL exists in the runner yet ($generate:uuid_v4 is the
only substitution form). Bumping to 2027-06-01 restores correctness
across 20 files. Test-vector JCS hashes and the sales-social event_time
(a historical conversion event, semantically past) are left unchanged.

Closes #2653

https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}
@bokelley bokelley added the claude-triaged Issue has been triaged by the Claude Code triage routine. Remove to re-triage. label Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude-triaged Issue has been triaged by the Claude Code triage routine. Remove to re-triage.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Storyboard governance_denied uses hardcoded past date for start_time

2 participants