Skip to content

feat(inkless): add INKLESS_OWNERSHIP manifest as single source of truth - #693

Merged
EelisK merged 1 commit into
mainfrom
jeqo/ownership
Jul 9, 2026
Merged

feat(inkless): add INKLESS_OWNERSHIP manifest as single source of truth#693
EelisK merged 1 commit into
mainfrom
jeqo/ownership

Conversation

@jeqo

@jeqo jeqo commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Replace inkless-sync/config/protected-patterns.txt with a repo-root INKLESS_OWNERSHIP manifest in CODEOWNERS syntax. The owner column encodes the fork boundary: * @apache/kafka default, @aiven/inkless for owned (net-new, inkless-only) paths, and dual-owner @aiven/inkless @apache/kafka for interleaved upstream files carrying inkless edits.

The sync tooling derives its auto-resolve set from the OWNED lines via a shared owned_patterns() helper in lib/common.sh; INTERLEAVED entries are excluded so they fall into manual conflict review. This closes coverage gaps the flat patterns file missed (core/src/main/scala/io/aiven/inkless, services/inkless, kafka/server diskless files) and gives AGENTS.md an accurate layout pointer that warns diskless Scala is interleaved into upstream broker classes, not confined to io/aiven/inkless.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 introduces a repo-root INKLESS_OWNERSHIP manifest (CODEOWNERS-like syntax) as the single source of truth for defining Inkless-owned vs interleaved (upstream) paths, and updates inkless-sync tooling/docs to derive merge auto-resolve patterns from it.

Changes:

  • Add INKLESS_OWNERSHIP manifest describing OWNED vs INTERLEAVED paths and default upstream ownership.
  • Update inkless-sync to derive protected (auto-resolve “ours”) globs from OWNED entries via a shared owned_patterns() helper.
  • Remove the old inkless-sync/config/protected-patterns.txt configuration and update docs/agent guidance accordingly.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
inkless-sync/README.md Updates sync documentation to reference INKLESS_OWNERSHIP as the source of protected patterns.
inkless-sync/main-sync.sh Switches protected-pattern sourcing to INKLESS_OWNERSHIP via owned_patterns().
inkless-sync/lib/common.sh Adds owned_patterns() helper used by sync tooling to extract OWNED globs.
inkless-sync/config/protected-patterns.txt Removes the legacy protected-patterns configuration file.
INKLESS_OWNERSHIP Adds the new ownership manifest defining OWNED and INTERLEAVED paths.
build.gradle Excludes INKLESS_OWNERSHIP from RAT checks alongside other Inkless-specific files.
AGENTS.md Updates agent guidance to point to INKLESS_OWNERSHIP and clarify interleaved Scala locations.

Comment thread inkless-sync/lib/common.sh Outdated
Comment thread inkless-sync/main-sync.sh Outdated
Comment thread inkless-sync/main-sync.sh Outdated
Comment thread inkless-sync/README.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 6 out of 7 changed files in this pull request and generated 1 comment.

Comment thread INKLESS_OWNERSHIP
Replace inkless-sync/config/protected-patterns.txt with a repo-root
INKLESS_OWNERSHIP manifest in CODEOWNERS syntax. The owner column encodes the
fork boundary: `* @apache/kafka` default, `@aiven/inkless` for owned (net-new,
inkless-only) paths, and dual-owner `@aiven/inkless @apache/kafka` for
interleaved upstream files carrying inkless edits.

The sync tooling derives its auto-resolve set from the OWNED lines via a shared
owned_patterns() helper in lib/common.sh; INTERLEAVED entries are excluded so
they fall into manual conflict review. This closes coverage gaps the flat
patterns file missed (core/src/main/scala/io/aiven/inkless, services/inkless,
kafka/server diskless files) and gives AGENTS.md an accurate layout pointer that
warns diskless Scala is interleaved into upstream broker classes, not confined
to io/aiven/inkless.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 6 out of 7 changed files in this pull request and generated 1 comment.

Comment thread inkless-sync/main-sync.sh
@jeqo
jeqo requested a review from EelisK July 9, 2026 14:03
@jeqo
jeqo marked this pull request as ready for review July 9, 2026 14:03
@EelisK
EelisK merged commit 3756826 into main Jul 9, 2026
11 checks passed
@EelisK
EelisK deleted the jeqo/ownership branch July 9, 2026 14:24
jeqo added a commit that referenced this pull request Jul 20, 2026
…th (#693)

Replace inkless-sync/config/protected-patterns.txt with a repo-root
INKLESS_OWNERSHIP manifest in CODEOWNERS syntax. The owner column encodes the
fork boundary: `* @apache/kafka` default, `@aiven/inkless` for owned (net-new,
inkless-only) paths, and dual-owner `@aiven/inkless @apache/kafka` for
interleaved upstream files carrying inkless edits.

The sync tooling derives its auto-resolve set from the OWNED lines via a shared
owned_patterns() helper in lib/common.sh; INTERLEAVED entries are excluded so
they fall into manual conflict review. This closes coverage gaps the flat
patterns file missed (core/src/main/scala/io/aiven/inkless, services/inkless,
kafka/server diskless files) and gives AGENTS.md an accurate layout pointer that
warns diskless Scala is interleaved into upstream broker classes, not confined
to io/aiven/inkless.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
jeqo added a commit that referenced this pull request Jul 20, 2026
…th (#693)

Replace inkless-sync/config/protected-patterns.txt with a repo-root
INKLESS_OWNERSHIP manifest in CODEOWNERS syntax. The owner column encodes the
fork boundary: `* @apache/kafka` default, `@aiven/inkless` for owned (net-new,
inkless-only) paths, and dual-owner `@aiven/inkless @apache/kafka` for
interleaved upstream files carrying inkless edits.

The sync tooling derives its auto-resolve set from the OWNED lines via a shared
owned_patterns() helper in lib/common.sh; INTERLEAVED entries are excluded so
they fall into manual conflict review. This closes coverage gaps the flat
patterns file missed (core/src/main/scala/io/aiven/inkless, services/inkless,
kafka/server diskless files) and gives AGENTS.md an accurate layout pointer that
warns diskless Scala is interleaved into upstream broker classes, not confined
to io/aiven/inkless.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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