Skip to content

feat: Detect & Fill test_paths at Setup#450

Draft
sahil-noon wants to merge 4 commits into
mainfrom
260626-5qf5-detect-fill-test-paths
Draft

feat: Detect & Fill test_paths at Setup#450
sahil-noon wants to merge 4 commits into
mainfrom
260626-5qf5-detect-fill-test-paths

Conversation

@sahil-noon

Copy link
Copy Markdown
Collaborator

Meta

Change ID Type Confidence Plan Review
5qf5 feat 4.8/5.0 8/8 tasks, 0/21 acceptance ✓ 2 cycles
Impact +/− Net
raw +615 / −13 +602
true +176 / −8 +168
└ impl +176 / −8 +168
└ tests +0 / −0 +0

excludes fab/, docs/ · generated by fab-kit v2.7.1

Pipeline: intake ✓ → apply ✓ → review ✓ → hydrate ✓ → ship → review-pr

Summary

The /git-pr impact breakdown's test/impl split silently does nothing unless a project has manually set test_paths. Since the key ships commented-out with no default and setup never fills it, almost all fab-kit projects get a collapsed single-line breakdown — the richer impl/tests taxonomy is invisible. This change makes setup detect the right anchored pattern from on-disk marker files (Go/Python/JS-TS/Java-Kotlin/.NET) and fill test_paths automatically, with a 2.7.1-to-2.8.0 migration that backfills existing repos and refreshes the scaffold comment block.

Changes

  • Scaffold (src/kit/scaffold/fab/project/config.yaml): persistent annotated example comment block above the active key, with {TEST_PATHS} placeholder for create-mode substitution
  • fab-setup skill (src/kit/skills/fab-setup.md): non-interactive detection sub-step in create-mode — applies language→pattern table, fills test_paths, surfaces a visible note; unrecognized stacks leave it empty
  • Migration (src/kit/migrations/2.7.1-to-2.8.0.md): backfill detection + comment refresh for existing repos; idempotent (skips non-empty test_paths, sentinel-guarded comment block); src/kit/VERSION bumped 2.7.1 → 2.8.0
  • Doc mirrors: docs/specs/skills/SPEC-fab-setup.md, docs/memory/distribution/setup.md, docs/memory/distribution/migrations.md, docs/memory/_shared/configuration.md

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes the /git-pr impact breakdown’s impl/tests split work out-of-the-box by having setup infer test_paths from on-disk ecosystem markers and by adding a backfill migration for existing repos. It also updates the scaffold and documentation so the test_paths knob remains discoverable even after auto-filling.

Changes:

  • Add non-interactive test_paths detection to /fab-setup config create mode (marker→pattern table; union for multi-marker repos; visible note in output).
  • Update the config scaffold to include a persistent, annotated test_paths example comment block plus a {TEST_PATHS} placeholder for substitution.
  • Add a 2.7.1-to-2.8.0 migration and bump src/kit/VERSION to 2.8.0, with doc/spec/memory mirrors updated accordingly.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/kit/VERSION Bumps kit version to 2.8.0 to align with the new migration.
src/kit/skills/fab-setup.md Documents create-mode detection + {TEST_PATHS} substitution and output note behavior.
src/kit/scaffold/fab/project/config.yaml Adds standing test_paths examples and {TEST_PATHS} placeholder in the scaffold template.
src/kit/migrations/2.7.1-to-2.8.0.md Introduces a migration to refresh the comment block and backfill test_paths when empty/absent.
fab/changes/260626-5qf5-detect-fill-test-paths/plan.md Captures requirements/tasks/acceptance for this feature change.
fab/changes/260626-5qf5-detect-fill-test-paths/intake.md Records rationale and design decisions for anchored detection and migration behavior.
fab/changes/260626-5qf5-detect-fill-test-paths/.status.yaml Tracks change metadata/progress for this fab change folder.
fab/changes/260626-5qf5-detect-fill-test-paths/.history.jsonl Records stage transitions/events for this fab change folder.
docs/specs/skills/SPEC-fab-setup.md SPEC mirror updates for the new detection + {TEST_PATHS} placeholder behavior.
docs/memory/distribution/setup.md Memory updates describing create-mode auto-detect/fill of test_paths.
docs/memory/distribution/migrations.md Memory updates cataloging the new 2.7.1-to-2.8.0 migration.
docs/memory/distribution/index.md Index description updates reflecting the new setup/migration behavior.
docs/memory/_shared/configuration.md Updates shared config docs to reflect setup-time test_paths detection and backfill migration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/memory/_shared/configuration.md Outdated
Comment thread docs/specs/skills/SPEC-fab-setup.md Outdated
Comment on lines +38 to +41
│ │ │ the marker→ecosystem table: go.mod→**/*_test.go,
│ │ │ pyproject.toml/pytest.ini→**/test_*.py+**/*_test.py,
│ │ │ jest/vitest→**/*.spec|test.ts|js, pom.xml/build.gradle→
│ │ │ **/src/test/**, *.csproj→**/*Tests.cs+**/*Test.cs;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — replaced the ambiguous **/*.spec|test.ts|js with the four concrete patterns **/*.spec.ts+**/*.test.ts+**/*.spec.js+**/*.test.js, matching the canonical fab-setup.md marker table. (94065da)

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.

3 participants