Skip to content

Plugin lifecycle hooks for workspace preparation and quality providers #149

Description

@shiny-code-bot

Intent

Make Codex Lab plugin hooks sufficient for optional domain integrations like Odoo devkit workspace preparation plus JetBrains/PyCharm quality inspection, without baking Odoo or JetBrains logic into the coding harness.

Current Status

State: Waiting; repository-specific workspace and quality-provider consumers are proven, while the broader generic lifecycle remains unfinished.

The Odoo contract/consumer proof remains complete. #561/PR #562 established deterministic Codex Lab JetBrains routing, #566 closed after semantic Rust inspection coverage, and #310 completed the changed-file validation-provider runtime. These prove useful consumers without requiring provider-specific authority in generic core.

Next action when promoted: split the smallest generic detect/prepare and typed artifact-handoff slice, then treat normalized quality execution and cleanup/lease lifecycle as independent follow-ups.

Blocked by: no design or implementation dependency.

Waiting for: post-release provider sequencing.

Last verified: August 10, 2026.

Required Hooks And Contracts

  • Workspace lifecycle hooks: after worktree/materialization/session start, plus workspace detect/prepare phases.
  • Quality lifecycle hooks: quality prepare/run/closeout with normalized clean/findings/inconclusive/skipped results.
  • Structured artifact handoff: per-session plugin artifact directory and typed descriptor outputs usable by later hooks/plugins.
  • Cleanup lifecycle: best-effort cleanup hook after stop/failure/timeout for provider leases and temporary resources.
  • Hook inputs should expose cwd, repo root, worktree root, main worktree when known, branch/head, and project markers.
  • Capability discovery for providers such as workspace.prepare.odoo-devkit and quality.ideInspection.jetbrains.
  • Exec-harness coverage for descriptor handoff, blocking results, and cleanup behavior.

Acceptance Criteria

  • An Odoo plugin can detect workspace.toml, run odoo-devkit workspace sync for the active worktree, and emit a descriptor without Codex Lab core understanding Odoo.
  • A JetBrains inspection plugin can consume that descriptor during quality closeout and block/report findings without Codex Lab core understanding JetBrains or PyCharm.
  • Plugins can pass artifacts across lifecycle phases using a documented contract rather than ad hoc files.
  • Cleanup hooks run sufficiently for provider leases/temp resources.
  • Existing prompt/tool/stop hooks continue to work.

Out Of Scope

  • Implementing Odoo-specific workspace generation in Codex Lab core.
  • Implementing JetBrains inspection execution in Codex Lab core.
  • Making Launchplane depend on local IDE state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issueplan:waitingDurable plan parked pending a decision, event, or non-issue condition; not for PR QA

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions