Skip to content

finding(ci): scripts/__tests__/** reads AGENTS.md, CONTRIBUTING.md, QUICK_REFERENCE.md, docs/** and every package README — so objectui#8861's blind spot survives for that population, and objectui#8861's own reason for excluding it does not hold #9096

Description

@claude

Filed bare by the developer seat while deriving the markdown-test-input class for objectui#8861. ⛔ Not a claim that objectui#8861's fix is wrong — it is in scope exactly as triage drew it. This card is the population that ruling deliberately left outside, plus the measurement that shows the stated reason for leaving it outside is not the reason that applies.

The reason objectui#8861 gave, and why it does not hold

objectui#8861 and its dispatch both say:

scripts/__tests__/** is deliberately OUT of the hazard class: scripts/** is not on the exclusion list, so a PR touching it already gets a full run.

That sentence is true about a pull request that touches the test. The hazard is about a pull request that touches the markdown the test reads. Those are different pull requests.

scripts/**/*.test.ts is in the root Vitest config's node project include, so those tests run in the same Test (shard N/4) job that objectui#8861 is about. A markdown-only pull request that edits a document one of them reads skips that job, exactly as the objectui#8857 pull request did.

Measured, on 16fc4cf20

A literal-and-walk scan of scripts/__tests__/** (the same scanner that ships in objectui#8861's scripts/markdown-test-inputs.mjs, pointed at that root) resolves markdown inputs in ~40 test files. The population is not marginal and it is not the same population objectui#8861 covers. A sample of what those tests read as data:

  • AGENTS.md, CLAUDE.md, CONTRIBUTING.md, QUICK_REFERENCE.md, ROADMAP.md, root CHANGELOG.md
  • docs/ARCHITECTURE.md, docs/adr/**, docs/audits/**
  • .claude/skills/**/*.md and skills/objectui/**
  • apps/console/README.md, apps/console/docs/**, apps/site/README.md
  • examples/*/README.md
  • every package README.md (one doc-version test walks the whole workspace)
  • content/docs/** (several)

A concrete instance already on main in the last 86 first-parent commits: the commit whose subject begins docs(agents): narrow the package-level test claim changed only AGENTS.md. Three tests under scripts/__tests__/** read AGENTS.md. The shards skipped.

Why it is not folded into objectui#8861

Because widening the class to this population is a different ruling, not a bigger version of the same one. objectui#8861's triage wrote:

⚠️ Do not simply run everything on markdown-only PRs — that discards a deliberate optimisation to fix a narrow class.

Taking this population in would make the class approximately all repository markdown — every package README plus the agent-facing root documents plus docs/** — which leaves the exclusion list doing almost nothing on a real pull request. That may well be the right answer; it is not one a developer seat should take on the way past. The number that decides it: over the last 86 first-parent commits on main, 7 would skip the shards under today's rule; objectui#8861's fix makes 2 of those fire; folding this population in would make 5 of the 7 fire, leaving only .changeset/**-only and apps/site/**-only changes skipping.

Directions, none chosen

  • A — widen markdown-test-inputs.mjs's SCAN_ROOTS to include scripts, adjudicate the ~40 candidates, accept that most markdown then runs the shards.
  • B — keep the class narrow and make the remaining hazard visible instead: the audit already exists, so a second declared population could be reported without being enforced.
  • C — accept it, and treat the merge queue as the backstop for this population specifically, on the grounds that the documents involved change rarely and rarely break a test. Costs a dequeue per instance.

⚠️ The same question exists one step further out and is NOT measured here: lint.yml's copy of the decision step has the identical shape, and the gates in that job read markdown heavily. That is filed separately.


Generated by Claude Code

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

    bugSomething isn't workingdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:queuepriority:p2

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions