Skip to content

Fix fixture matrix empty-root planning - #838

Merged
chubes4 merged 2 commits into
mainfrom
fix/833-empty-root-planning
Aug 4, 2026
Merged

Fix fixture matrix empty-root planning#838
chubes4 merged 2 commits into
mainfrom
fix/833-empty-root-planning

Conversation

@chubes4

@chubes4 chubes4 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • restore planning_empty for missing, non-directory, and top-level symlink fixture roots before discovery
  • preserve derived fixture coverage validation for real executable roots
  • align invalid-root direct-bench assertions with Fix fixture matrix derived coverage #834's authoritative requires a complete eligible fixture inventory execution error
  • follow up the premature merge of Fix fixture matrix derived coverage #834, which omitted this isolated compatibility fix

Evidence

  • composer install --no-interaction --prefer-dist hydrated the PHP dependencies.
  • node --test tools/fixture-matrix.test.mjs: 255 passed, 0 failed.
  • node --test --test-name-pattern="fixture selection fails closed|top-level symlink fixture roots|missing and top-level symlink roots" tools/fixture-matrix.test.mjs: 3 passed, 0 failed.
  • PHP lane-equivalent manifest selection: 37 standalone-PHP tests passed.
  • node --check lib/fixture-matrix/fixtures.mjs && node --check lib/fixture-matrix/result.mjs && node --check tools/run-fixture-matrix.mjs && node --check bench/static-site-fixture-matrix.bench.mjs && node --check tools/fixture-matrix.test.mjs
  • git diff --check origin/main...HEAD
  • The aggregate npm test runner has an unrelated timing-sensitive failure in the existing runner-progress test at tools/fixture-matrix.test.mjs:5134 when it executes its Node suite alongside the manifest; the same full file passes standalone as above.
  • No fixture matrix execution was run.

Compatibility

  • Existing invalid-root dry-run behavior is restored rather than throwing before the planner can report exclusions.
  • The wrapper CLI continues to report its established planning-empty handoff message. Direct bench execution consistently reports the eligible-inventory contract.
  • Real fixture roots retain malformed-metadata, duplicate-ID, and omission validation from Fix fixture matrix derived coverage #834.
  • The change is limited to fixture discovery and focused test-contract coverage.

Refs #833
Follow-up to #834

AI Assistance

OpenAI GPT-5.6 Sol via OpenCode rebased/cherry-picked the isolated fix, aligned the stale assertions, hydrated dependencies, ran focused/full Node and PHP-equivalent validation, and drafted this PR update. Chris Huber reviewed and owns every line.

chubes4 added 2 commits August 4, 2026 12:19
AI assistance: OpenAI GPT-5.6 Sol via OpenCode restored invalid-root planning semantics and added focused regression coverage. Chris Huber reviewed and owns this change.
AI assistance: OpenAI GPT-5.6 Sol via OpenCode aligned fixture-matrix assertions with the current execution contract and ran focused verification. Chris Huber reviewed and owns this change.
@chubes4
chubes4 merged commit b4ae5f8 into main Aug 4, 2026
6 checks passed
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