Skip to content

feat(inkless:sync): add upstream sync tooling and documentation#498

Draft
jeqo wants to merge 6 commits intomainfrom
feature/sync-tooling
Draft

feat(inkless:sync): add upstream sync tooling and documentation#498
jeqo wants to merge 6 commits intomainfrom
feature/sync-tooling

Conversation

@jeqo
Copy link
Contributor

@jeqo jeqo commented Feb 5, 2026

Summary

Add comprehensive sync tooling for maintaining inkless branches in sync with upstream Apache Kafka.

AI-Assisted Sync

Start with SYNC-PROMPT.md - a simple entry point that guides you to the right workflow.

Scripts Added

Script Purpose
main-sync.sh Sync main branch with Apache Kafka trunk
release-sync.sh Sync release branches with upstream patch releases
sync-status.sh Check how far behind branches are from upstream
branch-consistency.sh Check if inkless commits from main are in release branches
create-release-branch.sh Create new inkless release branches from main
cherry-pick-to-release.sh Cherry-pick inkless commits to release branches

Documentation Added

Entry Point

File Purpose
SYNC-PROMPT.md Simple entry point - guides agent to the right workflow

Main Sync

File Purpose
MAIN-SYNC-PROMPT.md Detailed AI prompt for main branch syncs
MAIN-SYNC-SESSION-TEMPLATE.md Session template for main syncs
MAIN-SYNC-ACTION-PLAN.md Action plan and file-by-file playbook

Release Sync

File Purpose
RELEASE-SYNC-GUIDE.md Detailed release branch sync workflow
RELEASE-SYNC-PROMPT.md Detailed AI prompt for release syncs
RELEASE-SYNC-SESSION-TEMPLATE.md Session template for release syncs
RELEASE-SYNC-ACTION-PLAN.md Action plan and conflict resolution playbook

Shared

File Purpose
README.md Overview and quick start guide
CONFLICT-RESOLUTION-STRATEGY.md Conflict categories and resolution patterns

Build/CI Changes

  • Exclude inkless-sync/ directory from RAT license check
  • Enable Inkless CI workflow on inkless-4.* release branches (push and PRs)

Test plan

  • Scripts tested during actual sync sessions
  • Documentation validated through sync process
  • Branch consistency check tested against inkless-4.0
  • CI workflow triggers verified

🤖 Generated with Claude Code

@jeqo jeqo force-pushed the feature/sync-tooling branch 2 times, most recently from 0bbe1c1 to 4feb56d Compare February 6, 2026 17:37
@jeqo jeqo requested a review from Copilot February 6, 2026 18:48

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@jeqo jeqo force-pushed the feature/sync-tooling branch from 3c298ce to 0da6651 Compare February 6, 2026 22:16
@jeqo jeqo requested a review from Copilot February 6, 2026 22:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 1 comment.


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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 6 comments.


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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

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


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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 3 comments.


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

jeqo and others added 2 commits February 7, 2026 11:52
Update CI workflow to run on inkless-4.* release branches in addition to
the main inkless branch.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add inkless-sync directory to RAT license exclusions since it contains
tooling scripts and documentation that don't require Apache license headers.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 1 comment.


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

jeqo and others added 4 commits February 7, 2026 12:07
Add main-sync.sh script for syncing the inkless main branch with upstream
Apache Kafka trunk.

Features:
- Phase-based workflow (prepare, merge, review, resolve, finalize)
- Automatic conflict detection and protected file handling
- Worktree isolation via --worktree flag
- Dry-run mode for previewing sync operations (truly non-mutating)
- Clean worktree check before branching/merging
- Session state management for resume capability
- Shared utility functions in lib/common.sh

Documentation:
- MAIN-SYNC-ACTION-PLAN.md: Step-by-step sync procedure
- MAIN-SYNC-PROMPT.md: AI assistant prompt for sync guidance
- MAIN-SYNC-SESSION-TEMPLATE.md: Session documentation template
- CONFLICT-RESOLUTION-STRATEGY.md: Conflict resolution guidelines

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add release-sync.sh script for syncing inkless release branches (e.g.,
inkless-4.0, inkless-4.1) with upstream Apache Kafka release tags.

Features:
- Tag discovery with --list-tags option
- Sync to specific tag (--to-tag) or branch HEAD (--to-head)
- Dry-run mode for conflict preview (uses detached HEAD, non-mutating)
- Custom working branch support (--branch)
- Non-interactive mode with --yes flag for automation
- Clean worktree check before operations
- Automatic version file updates (gradle.properties only)
- Release candidate filtering with --include-rc

Documentation:
- RELEASE-SYNC-GUIDE.md: Comprehensive release sync documentation
- RELEASE-SYNC-ACTION-PLAN.md: Step-by-step procedure
- RELEASE-SYNC-PROMPT.md: AI assistant prompt
- RELEASE-SYNC-SESSION-TEMPLATE.md: Session template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add utility scripts for managing inkless branches:

- branch-consistency.sh: Check if commits from main exist on release branches
  - Supports --all to check all release branches
  - Shows missing commits with --missing flag
  - Verbose mode for detailed output

- cherry-pick-to-release.sh: Cherry-pick commits to release branches
  - Supports single commit, range, or list of commits
  - Automatic branch checkout and handling
  - Clean worktree check before starting
  - Error handling for failed cherry-picks

- create-release-branch.sh: Create new inkless release branches
  - Validates main is at correct version level
  - Finds appropriate branch point in history
  - Clean worktree check before branching
  - Dry-run mode for preview

- sync-status.sh: Report sync status for inkless branches
  - Shows commits behind upstream
  - Supports --all for all branches
  - Verbose mode for commit details
  - Handles non-tag base versions (--to-head syncs)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add inkless-sync directory README with overview of all sync tooling and
update main inkless documentation.

- inkless-sync/README.md: Directory overview and script index
- inkless-sync/SYNC-PROMPT.md: General sync prompt for AI assistants
- docs/inkless/README.md: Add sync tooling section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated no new comments.


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

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