Skip to content

feat(sync): skip a file for the repos its except names - #127

Merged
zgeoff merged 3 commits into
mainfrom
geo-1008-sync-except
Oct 16, 2026
Merged

zgeoff merged 3 commits into
mainfrom
geo-1008-sync-except

Conversation

@zgeoff

@zgeoff zgeoff commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Contributes to GEO-1008

Description

A manifest file's except now names the repos that never receive it, and the sync removes the marked SKILL.md blocks that link it. The Go, NixOS and frontend testing references skip zgeoff/atc.

  • The exclusion lives in the manifest, not in a caller input, so atc's stub needs no change and gets it on the next tag bump. A new input would fail on @sync-v1.
  • check-sync-manifest.sh fails on a link to an excepted file outside its block. A dead link cannot ship.
  • The sync never deletes a file, so the atc PR removes the old copies.

Testing

  • bun run typecheck passes (pre-push)
  • bun run test passes (bun test scripts/: 46 pass)
  • bun run lint passes
  • New tests added for new functionality

Dry run of the copy step against this manifest:

  • zgeoff/atc: references hold claude-code-mods, database, http, observability. grep 'go.md\|nixos.md\|frontend.md' SKILL.md finds nothing. Every remaining link resolves.
  • zgeoff/vers: all 7 references arrive. SKILL.md is identical to the source.

Local Codex review: one finding (a per-repo gap in the link check), fixed in 26d7ab5, and the re-check found nothing.

A manifest file's except lists the repos that never receive it, and the
workflow removes the Markdown blocks that link it from those repos'
copies. The Go, NixOS and frontend testing references skip zgeoff/atc.
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: zgeoff/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 2910c5b2-5795-4685-a218-c9b8af83c95f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: zgeoff/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 479adaad-a089-4be7-972e-1105a7fc97d6
📥 Commits

Reviewing files that changed from the base of the PR and between f31fc6d and 26d7ab5.

📒 Files selected for processing: 10
  • .github/workflows/repo-sync.yml
  • scripts/check-sync-manifest.sh
  • scripts/check-sync-manifest.test.ts
  • scripts/remove-excluded-blocks.sh
  • scripts/remove-excluded-blocks.test.ts
  • scripts/select-sync-files.sh
  • scripts/select-sync-files.test.ts
  • sync/README.md
  • sync/manifest.json
  • sync/skills/testing/SKILL.md

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

📝 Walkthrough

The sync manifest now supports repository-specific file exclusions. The workflow skips excluded files and removes matching marked blocks from copied Markdown files. Manifest checks validate exclusion entries and links, and the testing skill and sync documentation describe the updated rules.

Changes: Repository-specific sync exclusions

Layer / File(s) Summary
Select and copy files
scripts/select-sync-files.sh, scripts/select-sync-files.test.ts, .github/workflows/repo-sync.yml
The selector emits copy or skip rows based on the caller repository. The workflow uses those rows to copy files and record excluded targets.
Filter dependent blocks and validate manifests
scripts/remove-excluded-blocks.sh, scripts/remove-excluded-blocks.test.ts, scripts/check-sync-manifest.sh, scripts/check-sync-manifest.test.ts, .github/workflows/repo-sync.yml
The filter removes matching marked blocks and reports malformed markers. Manifest checks validate except values and detect links to excluded files outside matching blocks.
Configure exclusions and update guidance
sync/manifest.json, sync/skills/testing/SKILL.md, sync/README.md
The manifest excludes three testing references for zgeoff/atc. The testing skill and README describe the exclusion rules and reorganize reference guidance.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 26d7a

The repository-specific exclusions and their link checks are consistent for the configured testing skill. No merge-blocking issue was established.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly states the main change: files are skipped for repositories listed in their except values.
Description check Passed The description accurately explains manifest exclusions, block removal, validation, affected references, and test results.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

A union of every excepted file could remove a block that one repo keeps,
and hide the dead link that repo gets.
@zgeoff

zgeoff commented Oct 16, 2026

Copy link
Copy Markdown
Owner Author

Local Codex review (codex review --base main) found one issue: the excepted-link check stripped the union of every excepted file, so a block that one excepted repo keeps could hide that repo's dead link. Fixed in 26d7ab5: the check runs once for each excepted repo, with only that repo's excepted files, and a new test covers two references that except different repos.

A Markdown file that a repo's except skips never reaches that repo, so its
links cannot dangle there.
@zgeoff
zgeoff merged commit 17c636f into main Oct 16, 2026
3 checks passed
@zgeoff
zgeoff deleted the geo-1008-sync-except branch October 16, 2026 09:15
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