Skip to content

feat(sync): prepare repository source links - #997

Draft
ctawiah wants to merge 1 commit into
ctawiah/sync-descriptor-detach-3bbffrom
ctawiah/sync-link-preparation-3bbf
Draft

ctawiah wants to merge 1 commit into
ctawiah/sync-descriptor-detach-3bbffrom
ctawiah/sync-link-preparation-3bbf

Conversation

@ctawiah

@ctawiah ctawiah commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Context

Link needs a write-free preparation step before command prompts and targeted sync use it.

What changes

  • Add explicit source link inputs.
  • Validate the descriptor target, source path, adapter, mapping, and projection.
  • Render the descriptor without writing it.
  • Publish only through an explicit Write call.
  • Add a no-write-before-confirmation unit test.
Prepare -> review -> Write

Design notes

  • The new API is additive.
  • Existing Phase 1 link behavior remains unchanged until final cleanup.

Review focus

  • Can preparation write any file?
  • Does preparation validate the exact compiled resource?

Verification

  • make build
  • go test ./...
  • Repository lint
  • Relevant race tests

Related changes

  1. ctawiah/sync-projection-core-3bbf: projection and problem core
  2. ctawiah/sync-reference-core-3bbf: reference registry and Markdown
  3. ctawiah/sync-structured-adapters-3bbf: structured adapters
  4. ctawiah/sync-provider-profiles-3bbf: provider profiles
  5. ctawiah/sync-python-adapter-3bbf: Python adapter
  6. ctawiah/sync-typescript-adapters-3bbf: TypeScript and JavaScript adapters
  7. ctawiah/sync-descriptor-storage-3bbf: descriptor storage
  8. ctawiah/sync-source-publication-3bbf: source compilation and publication
  9. ctawiah/sync-source-planner-3bbf: planner integration
  10. ctawiah/sync-descriptor-detach-3bbf: descriptor detach
  11. This PR: link preparation
  12. ctawiah/sync-link-command-3bbf: link commands
  13. ctawiah/sync-reference-cleanup-3bbf: Phase 1 cleanup

Context

Link needs a write-free preparation step before command prompts and targeted sync use it.

What changes

  • Add explicit source link inputs.
  • Validate the descriptor target, source path, adapter, mapping, and projection.
  • Render the descriptor without writing it.
  • Publish only through an explicit Write call.
  • Add a no-write-before-confirmation unit test.
Prepare -> review -> Write

Design notes

  • The new API is additive.
  • The descriptor contains the complete source binding.

Review focus

  • Can preparation write any file?
  • Does preparation validate the exact compiled resource?

Verification

  • make build
  • go test ./...
  • Repository lint
  • Relevant race tests

Related changes

  1. ctawiah/sync-projection-core-3bbf: projection and problem core
  2. ctawiah/sync-reference-core-3bbf: reference registry and Markdown
  3. ctawiah/sync-structured-adapters-3bbf: structured adapters
  4. ctawiah/sync-provider-profiles-3bbf: provider profiles
  5. ctawiah/sync-python-adapter-3bbf: Python adapter
  6. ctawiah/sync-typescript-adapters-3bbf: TypeScript and JavaScript adapters
  7. ctawiah/sync-descriptor-storage-3bbf: descriptor storage
  8. ctawiah/sync-source-publication-3bbf: source compilation and publication
  9. ctawiah/sync-source-planner-3bbf: planner integration
  10. ctawiah/sync-descriptor-detach-3bbf: descriptor detach
  11. This PR: link preparation
  12. ctawiah/sync-link-command-3bbf: link commands
Open in Web Open in Cursor 

@ctawiah
ctawiah added this pull request to stack #1000 October 30, 2026 20:15
@ctawiah
ctawiah force-pushed the ctawiah/sync-link-preparation-3bbf branch from 78b0f58 to 9230dea Compare October 31, 2026 00:06
@ctawiah
ctawiah force-pushed the ctawiah/sync-link-preparation-3bbf branch from 9230dea to cdcb879 Compare November 2, 2026 02:26
@ctawiah
ctawiah force-pushed the ctawiah/sync-link-preparation-3bbf branch from cdcb879 to ee718fe Compare November 2, 2026 02:50
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