Skip to content

Skip a scenario whose seed credentials are missing, rather than failing it - #54

Merged
leggetter merged 1 commit into
mainfrom
skip-without-seed-credentials
Aug 24, 2026
Merged

Skip a scenario whose seed credentials are missing, rather than failing it#54
leggetter merged 1 commit into
mainfrom
skip-without-seed-credentials

Conversation

@leggetter

Copy link
Copy Markdown
Collaborator

local/ files leave an unset ${VAR} as written, so an agent is handed the literal ${SEED_ACME_SQS_ACCESS_KEY}. That reads as an obvious placeholder — and an agent that notices is right to stop rather than configure delivery that will silently fail.

Measured on 24 August: exactly that scored 0/1, while three agents that didn't notice scored 6/6.

This is the 13 August mistake in a new form

A missing OUTPOST_API_KEY then became six agent failures against named vendors, and the fix was to skip rather than score. The same reasoning applies to a credential the scenario supplies itself: a missing row is recoverable, a wrong row is not.

unmetRequirements now also reports any SEED_* placeholder a scenario's workspace asks for and the environment cannot fill.

SKIP claude-code-sonnet-5 x benchmark-outpost-004-queue-destination
     (requires SEED_ACME_SQS_ACCESS_KEY, SEED_ACME_SQS_SECRET_KEY; not configured)

Verified both directions: without the two variables outpost-004 skips all six cells naming both; outpost-005, which uses none, still plans its six.

Why the weekly cron does not need pausing

CI has neither secret, and the workflow didn't pass them through even if it did. Before this change, Monday's run would have handed agents placeholders and published the failures. Now it skips the scenario cleanly.

The workflow passes both through, so outpost-004 starts running in CI as soon as SEED_ACME_SQS_ACCESS_KEY and SEED_ACME_SQS_SECRET_KEY are added as repository secrets. They are synthetic — any AKIA-shaped value works — and deliberately not committed, because a key realistic enough to convince an agent is realistic enough to trip push protection.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Nt2Zgjw7STjrnFXYKRRVAA

…ng it

`local/` files leave an unset `${VAR}` as written, so an agent is handed the
literal `${SEED_ACME_SQS_ACCESS_KEY}`. That reads as an obvious placeholder,
and an agent that notices is right to stop rather than configure delivery
that will silently fail. Measured on 24 August: exactly that scored 0/1
while three agents that did not notice scored 6/6.

Scoring it is the 13 August mistake again. A missing OUTPOST_API_KEY then
became six agent failures against named vendors, and the fix was to skip
rather than score. The same reasoning applies to a credential the scenario
supplies itself: a missing row is recoverable, a wrong row is not.

`unmetRequirements` now also reports any `SEED_*` placeholder a scenario's
workspace asks for and the environment cannot fill. Verified: without the
two variables, outpost-004 skips all six cells naming both; outpost-005,
which uses none, still plans its six.

The workflow passes the two secrets through so the scenario runs once they
exist. Until then CI skips it, which is why the weekly cron does not need
pausing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nt2Zgjw7STjrnFXYKRRVAA
@leggetter
leggetter merged commit bbd390c into main Aug 24, 2026
2 checks passed
@leggetter
leggetter deleted the skip-without-seed-credentials branch August 24, 2026 20:19
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.

1 participant