Skip to content

Give TDAD Layers 2 and 3 a dispatch path — 50 scenarios are written and never executed #583

Description

@russmiles

The 2026-08-25 AI literacy assessment places the Testing operational axis at L3. The single thing holding it there is that 50 of the 132 TDAD scenarios have no execution path.

The gap

81  tier: structural   → run in CI on every PR (tdad-tests-fast.yml)
10  tier: trigger      → no CI path
40  tier: behavioural  → no CI path
 1  tier: finding      → not a test tier

tdad-tests-fast.yml is explicit and honest about why, in its own header:

Layers 2 (trigger) and Layer 3 (behavioural) are NOT run here — they require ANTHROPIC_API_KEY and per-run cost ($0.03 per Layer 2 trigger run; $0.05–$0.20 per Layer 3 behavioural run). A separate workflow can be added if the project decides to gate Layer 2/3 nightly or behind a label.

That separate workflow was never added. The corpus has kept growing.

What it costs to close

Per full Layer 2+3 run, at the header's own figures:

cost
One full run (10 trigger + 40 behavioural) $2.30 – $8.30
Weekly schedule $9.89 – $35.69 / month
Nightly schedule $69.00 – $249.00 / month

Weekly is the obvious starting point: it costs less per month than a single Layer 3 scenario costs to write, and it converts 50 scenarios from documentation into tests.

Why this matters beyond the axis score

This is the third instance of one defect class in the repository, and the assessment names it as the single pattern explaining most of the operational shortfall:

  1. 10 agent-enforced constraints — declared in HARNESS.md, and grep -rn 'harness-enforcer' .github/workflows/ returns nothing. They cannot fail a build.
  2. 50 TDAD scenarios — written, tiered, and never executed.
  3. The GC job's step masking — six consecutive failing runs where a failure at one step recorded every later step skipped.

All three are declared verification with no dispatch path. A scenario that never runs and a constraint that never fires are the same artefact: something that looks like assurance and provides none. That is also, almost exactly, the subject of the one rule this repository currently has in force — HDR-2026-08-25-four-mechanisms-report-the-reassuring-answer-when-they-cannot-determine-the-real-one.

Options

  1. Weekly scheduled workflow — cheapest, catches drift within a week, does not gate PRs. Recommended starting point.
  2. Behind a label (tdad-full) — runs on demand for PRs that touch agent or skill behaviour. Complements rather than replaces a schedule.
  3. Pre-release gate — runs before a version tag. Strongest signal, slowest feedback.
  4. Nightly — 7× the weekly cost for feedback most projects of this cadence would not use.

Options 1 and 2 together are probably the right shape: a weekly floor, plus on-demand for PRs that actually change behaviour.

Acceptance

  • A workflow exists that executes Layer 2 and Layer 3 scenarios
  • Its cadence is declared in HARNESS.md alongside the existing TDAD constraints
  • A failing Layer 2/3 scenario produces a visible, attributable failure — not a skipped step behind an earlier failure, which would reproduce defect (3) in the mechanism built to fix (2)
  • The assessment's Testing axis can be re-placed against evidence of actual execution

Open question this does not answer

The assessment asked whether Layers 2/3 are currently run manually on any cadence — if they are, the axis may already be L4 and this issue is about automating what exists rather than starting it. Worth answering when scoping.

Raised from the 2026-08-25 AI literacy assessment (in progress).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions