Skip to content

Give installed Companion runtimes explicit ownership - #31

Merged
Pelotrio merged 1 commit into
codex/companion-disposalfrom
codex/companion-runtime-ownership
Sep 11, 2026
Merged

Give installed Companion runtimes explicit ownership#31
Pelotrio merged 1 commit into
codex/companion-disposalfrom
codex/companion-runtime-ownership

Conversation

@Pelotrio

@Pelotrio Pelotrio commented Sep 11, 2026

Copy link
Copy Markdown
Member

Installing or retiring a Companion runtime previously updated separate service/index fields and repeated consumer-close ordering. Installation also performed debugger/UI follow-up before the loader considered index ownership transferred, so a late failure could dispose an already-published index.

RuntimeBinding now groups the installed inventory metadata, decompiler and reference search, detaches compiler/insight bindings before closing its native index, and distinguishes prepared candidates from accepted ownership. The JDT static index accessor is only a lookup hook. Fallible follow-up is queued before publication and runs afterward on the existing project worker, outside the lifecycle lock. Stateless parsing moves to JavaAst, separate from the editor AST cache.

The application-lived compiler and code-insight services keep their identity, which existing local editors rely on. Project admission and navigation invalidation retain their existing guards; their scope/identity migration is in #32. No protocol changes, additional executor, or second index.

Validation: :check :localBundle -PtotaldebugUseMavenLocal=true --offline --warning-mode fail passed. Regressions cover accepted/rejected ownership, idempotent close, failed preparation, and the actual application installation path with a failing debugger follow-up. No live Minecraft validation or installation.

Stack: based on #29 (codex/companion-disposal), following #28 and #27. This is the runtime-ownership slice of the architecture plan. The separate uncommitted selector/MCP follow-up is excluded.

Review notes: the runtime follow-up (breakpoint restore, UI refresh, parser prewarm) moved from the loader's callback onto the project worker because the ready handler runs under the lifecycle lock and no debugger wait may run there; install timing changes accordingly. The plan's NavigationService.runtimeGeneration → binding identity item is deferred to #32, which lands it together with per-view runtime identity.

@Pelotrio
Pelotrio added this pull request to stack #30 September 11, 2026 14:17
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 11, 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-09-11T14:20:51.996570Z 2dc1b3a PR opened
ℹ️ 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.

@Pelotrio
Pelotrio merged commit cdc0677 into 1.21.1 Sep 11, 2026
2 checks passed
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