Repository navigation
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a machine-readable repository registry (.squad/repo-registry.json) that maps file paths to modules/owners/criticality, plus generator + query utilities and CI tests to keep the registry in sync with its sources.
Changes:
- Added
scripts/generate-repo-registry.mjsto generate.squad/repo-registry.jsonfrom.squad/routing.md,templates.ts, andpackage.jsonworkspaces. - Added
scripts/registry-utils.mjswith query helpers for resolving file → module/owner/criticality/package. - Added Vitest coverage: unit tests for utilities + a sync/freshness guard test; added
npm run registryscript and changelog entry.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/generate-repo-registry.mjs |
Implements registry generation by parsing ownership table, template manifest, and workspaces. |
scripts/registry-utils.mjs |
Provides consumer-facing query helpers over the generated registry. |
test/registry-sync.test.ts |
CI freshness guard that regenerates and diffs registry output. |
test/registry-utils.test.ts |
Unit tests for registry query utilities. |
.squad/repo-registry.json |
Committed generated registry output. |
.squad/routing.md |
Adds parsing constraints / pointer to generated registry. |
package.json |
Adds npm run registry script. |
CHANGELOG.md |
Documents the new repo registry feature. |
|
@copilot Please review this PR. Focus on: Is the routing.md parser robust? Are the utility functions correct? Is the generated JSON schema complete? Any edge cases in resolveFileToModule()? |
🏗️ Architecture Review: Repo Registry (PR #737)STATUS: ✅ APPROVE SummaryPR #737 implements a robust, machine-readable repository registry that correctly captures module ownership, criticality tiers, and file mappings. The design is sound, extensible, and ready to support downstream consumers (#670, #733). Strengths
Notes
RecommendationReady to merge. Meets all architectural criteria for module registry. Ready for #670 and #733 to import and consume. |
Test Coverage Review - PR #737 (Registry Sync)Test Execution Summary
Timestamp Normalization - SOLID
Edge Cases CoveredUnknown paths:
Module resolution robustness:
Malformed routing.md:
Package discovery:
Freshness Test is Robust
Query API Coverage
Minor Observations (Not blockers)
VERDICT: APPROVERationale:
Ready to merge. Test suite is production-ready and provides strong guardrails for registry freshness and drift detection. |
CI/Process Review — PR #737 (Repo Registry)Status: ✅ APPROVEAll process and CI requirements met. Branch is clean and ready to merge. Verification Checklist✅ Commit Structure
✅ CHANGELOG Entry
✅ Package.json Updates
|
Reviewed and addressed. Here's what was found and fixed in commit routing.md parser — Robust. It guards against malformed rows with a clear error, stops at the next utility functions — Two correctness issues fixed:
generated JSON schema — Complete and well-structured. All required fields (
Additional fixes applied from automated review:
|
4426cc8 to
bc87f79
Compare
d9cf324 to
5658765
Compare
…733 (#748) Implements the registry query layer PRD (docs/proposals/registry-query-layer.md). Shared foundation that both #670 (layout manifest) and #733 (impact analysis) consume. - scripts/registry-query.mjs: 5 exported functions (loadRegistry, resolveFile, analyzeFiles, computeRiskTier, getInvolvedOwners) - test/registry-query.test.ts: 33 test cases covering all acceptance criteria - Includes PR #737 dependency files (registry-utils.mjs, repo-registry.json) Depends on: PR #737 (repo registry data) Feeds into: #670, #733 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Archive: 71 decisions (>30d), 10 (7-30d) - Merge: 13 inbox decisions into canonical log - Summarize: Flight, EECOM, FIDO histories (kept recent entries) - Log: Bug-fix-pipeline session recorded - Deduplicate: 73 unique decisions - decisions.md: 385.8 KB -> 103.7 KB Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
a5bb47b to
539a2de
Compare
Reset .squad/ files to match origin/dev — these changes were not part of the PR content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
parsePackages()to sort directory entries (determinism)resolveModuleToPackage()to handle package-qualified paths (packages/squad-sdk/src/,packages/squad-cli/src/)resolveFileToModule()to derive package from stripped file-path prefix (returns correctsquad-sdkvssquad-clifor SDK files)--out <path>flag to generator script (enables test isolation).squad/repo-registry.jsonwith all fixes applied