Skip to content

Rectify: Test Filter Manifest Missing Workspace for SKILL.md Changes — PART A ONLY#3378

Merged
Trecek merged 2 commits into
developfrom
test-filter-manifest-missing-workspace-for-skill-md-changes/3332
May 31, 2026
Merged

Rectify: Test Filter Manifest Missing Workspace for SKILL.md Changes — PART A ONLY#3378
Trecek merged 2 commits into
developfrom
test-filter-manifest-missing-workspace-for-skill-md-changes/3332

Conversation

@Trecek
Copy link
Copy Markdown
Collaborator

@Trecek Trecek commented May 31, 2026

Summary

The test filter manifest maps non-Python file patterns to test directories, but the directory lists are never validated for completeness. The manifest correctly matches SKILL.md files to some test directories, but silently omits workspace/ (11 sensitive tests) and planner/ (6 contract tests). The root architectural weakness is that test_manifest_completeness.py validates only the pattern-to-file axis (every file has a pattern, every pattern has a file) but not the pattern-to-test-directory axis (every pattern lists all test directories that consume the matched files). This makes the manifest a manually-curated, unvalidated routing table where drift is invisible.

The architectural fix introduces a reverse-dependency declaration mechanism: a SOURCE_DEPENDENCIES registry in a new test module maps test directories to manifest patterns they consume, and parametrized tests cross-reference these declarations against the manifest's directory lists — catching any missing directory at test collection time.

Part B will cover broader manifest audit tooling and automated dependency discovery.

Requirements

Conflict Resolution Decisions

The following files had merge conflicts that were automatically resolved.

Changed Files

New (★):

  • tests/infra/test_manifest_directory_completeness.py

Modified (●):

  • .autoskillit/test-filter-manifest.yaml
  • tests/_test_filter.py
  • tests/infra/CLAUDE.md
  • tests/infra/test_manifest_completeness.py
  • tests/test_test_filter_tiered_always_run.py

Closes #3332

Implementation Plan

Plan file: /home/talon/projects/autoskillit-runs/remediation-20260530-185817-415989/.autoskillit/temp/rectify/rectify_test_filter_manifest_directory_completeness_2026-05-30_190500.md

🤖 Generated with Claude Code via AutoSkillIt

Token Usage Summary

Step Model count uncached output cache_read peak_ctx turns cache_write time
rectify* opus[1m] 1 3.2k 22.9k 1.2M 95.8k 292 140.3k 24m 51s
dry_walkthrough* opus 1 5.2k 12.5k 1.7M 77.2k 233 61.0k 7m 21s
implement* sonnet 1 2.9k 13.3k 1.5M 61.1k 81 45.7k 5m 44s
audit_impl* sonnet 1 62 8.1k 201.8k 37.7k 36 30.7k 3m 16s
prepare_pr* sonnet 1 169.5k 5.7k 331.1k 27.6k 31 40.6k 2m 6s
compose_pr* sonnet 1 60.6k 1.8k 217.8k 27.6k 19 15.6k 46s
review_pr* sonnet 1 140 33.7k 787.3k 77.0k 57 61.8k 7m 26s
resolve_review* opus 1 42 5.8k 776.6k 60.1k 34 44.3k 3m 23s
Total 241.7k 103.8k 6.8M 95.8k 440.0k 54m 56s

* Step used a non-Anthropic provider; caching behavior may differ.

Token Efficiency

Step LoC Changed cache_read/LoC cache_write/LoC output/LoC
rectify 0
dry_walkthrough 0
implement 160 9566.7 285.3 83.3
audit_impl 0
prepare_pr 0
compose_pr 0
review_pr 0
resolve_review 16 48537.6 2771.4 362.4
Total 176 38605.7 2499.9 589.5

Model Usage Breakdown

Model steps uncached output cache_read cache_write time
opus[1m] 1 3.2k 22.9k 1.2M 140.3k 24m 51s
opus 2 5.2k 18.3k 2.5M 105.4k 10m 44s
sonnet 5 233.2k 62.5k 3.1M 194.3k 19m 20s

Trecek and others added 2 commits May 30, 2026 19:58
… gaps

Introduces reverse-dependency declaration infrastructure (SOURCE_DEPENDENCIES
registry + parametrized tests) to enforce that each manifest pattern's directory
list covers all test directories that consume those source files.

Fixes 5 confirmed manifest gaps: workspace/ missing from both SKILL.md patterns,
planner/ missing from skills_extended and agents patterns, contracts/ missing from
assets pattern, hooks/ missing from registry.sha256 pattern.

Adds test_manifest_entry_path_exists to catch typos/stale directory references.
Registers test_manifest_directory_completeness.py as an unconditional infra file
(count 6 → 7) so it always runs in conservative filter mode.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…aming consistency

Sibling file test_manifest_completeness.py uses underscore-prefixed private
constants for all module-level registries. Align naming convention.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Trecek Trecek force-pushed the test-filter-manifest-missing-workspace-for-skill-md-changes/3332 branch from 5a9ab25 to 9cec5d6 Compare May 31, 2026 02:58
@Trecek Trecek added this pull request to the merge queue May 31, 2026
Merged via the queue into develop with commit ad262e5 May 31, 2026
3 checks passed
@Trecek Trecek deleted the test-filter-manifest-missing-workspace-for-skill-md-changes/3332 branch May 31, 2026 03:11
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