Skip to content

fix(remix_cli): enforce registry ownership across installs - #333

Open
leoafarias wants to merge 3 commits into
mainfrom
conductor/remix-registry-ownership
Open

leoafarias wants to merge 3 commits into
mainfrom
conductor/remix-registry-ownership

Conversation

@leoafarias

@leoafarias leoafarias commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Separate installs could accept another registry's existing same-target recipe and replace it with --overwrite, although a combined request rejected the collision. Reserve authored and generated targets in committed remix.ownership.json and check the complete request before dependency processes or source writes. Owners retain identity across pin changes and namespace aliases; disjoint additive registries and local edits remain supported.

Unknown legacy targets now fail predictably. After verifying provenance, consumers can explicitly name existing items and dependencies with --adopt, preview with --adopt --diff/--dry-run, and record ownership without replacing authored edits. Adoption cannot replace a known owner. Document the migration and the requirement to use the upgraded CLI consistently; publishing this behavior requires a new CLI release. Project/catalog schemas and runtime versions are unchanged.

Validation on Flutter 3.44.0 / Dart 3.12.0:

  • 30 ownership regressions pass; nine assertions fail against the unchanged installer before this fix.
  • 27 consumer-harness tests, targeted analysis, formatting, and melos run ci:checks pass.
  • A real scratch consumer generates and exercises an official button plus a disjoint add-on adapter, preserving customized source, dependency declarations, and generated adapters. Registry transport uses checkout fixtures; dependency resolution, generation, analysis, and Flutter tests use the real SDK. This check now runs in the Vanilla consumer CI job.
  • Complete CLI suite: 250 passed, including the real SDK install test and all 30 ownership cases (dart test --concurrency 2 --timeout 2m).
  • Final scratch-consumer rerun passed with edited recipe/tokens and a customized package constraint.
  • Consumer mirror staging now carries existing owner records and explicitly attests legacy repository fixtures in temporary copies before per-item comparisons; its local integration check passes for all four repository consumers.

CI on final head 238555ca73911e8a3c10b765ea4067f8889e498a: 5 checks passed, 7 running, 3 queued; no failures observed. Full CI is pending.

Scope is registry installer ownership only. No slider, icon, runtime, version-floor, or #317–#320 changes; no merge or publication.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T02:13:49.660673Z 238555c New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

This branch has not been deployed

No deployments
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