feat(inkless): add INKLESS_OWNERSHIP manifest as single source of truth - #693
Merged
Conversation
Contributor
There was a problem hiding this comment.
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_OWNERSHIPmanifest describing OWNED vs INTERLEAVED paths and default upstream ownership. - Update
inkless-syncto derive protected (auto-resolve “ours”) globs from OWNED entries via a sharedowned_patterns()helper. - Remove the old
inkless-sync/config/protected-patterns.txtconfiguration 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. |
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
marked this pull request as ready for review
July 9, 2026 14:03
EelisK
approved these changes
Jul 9, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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/kafkadefault,@aiven/inklessfor owned (net-new, inkless-only) paths, and dual-owner@aiven/inkless @apache/kafkafor 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.