Skip to content

[SYMPP-ECB1] Prove stock Codex marketplace lifecycle continuity#512

Open
Pimpmuckl wants to merge 9 commits into
mainfrom
test/stock-marketplace-lifecycle
Open

[SYMPP-ECB1] Prove stock Codex marketplace lifecycle continuity#512
Pimpmuckl wants to merge 9 commits into
mainfrom
test/stock-marketplace-lifecycle

Conversation

@Pimpmuckl

Copy link
Copy Markdown
Owner

Context

Stock Codex clones omit advisory revision metadata, so the installed MCP launcher rejected valid installs. This proves install and upgrade continuity without touching live cache or runtime state.

TL;DR

Prove stock Codex install and upgrade continuity with a marker-free launcher fallback.

Summary

  • Add a disposable Windows lifecycle harness using real Codex marketplace commands.
  • Preserve verified artifact startup when advisory marketplace revision metadata is absent.
  • Assert MCP initialize, dashboard health, backend identity continuity, and cleanup.

Alternatives

  • Rejected copying plugin payloads because that would not exercise the stock marketplace lifecycle.
  • Rejected private marker synthesis because stock Codex does not own or emit that metadata.

Test Plan

  • make -C elixir all
  • make -C elixir ci-full when release/full validation is required
  • mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
  • pwsh -File plugins/symphony-plus-plus-mcp/tests/launcher/run-launcher-tests.ps1
  • Stock Codex 0.143.0 lifecycle: two initializes, dashboard 200, same PID/start ticks, cleanup complete

Pimpmuckl and others added 9 commits July 16, 2026 18:22
Summary:
- add a disposable stock Codex install and upgrade lifecycle regression
- let marker-free marketplace installs use the verified launcher path
- run the lifecycle on Windows CI with Codex 0.143.0

Rationale:
- stock Codex clones do not emit the advisory marketplace revision file
- the launcher must preserve initialize, dashboard, and singleton continuity

Tests:
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- pwsh -File plugins/symphony-plus-plus-mcp/tests/launcher/run-launcher-tests.ps1
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- rely on the disposable Symphony++ home for database isolation
- give the lifecycle launcher its supported startup-lock budget

Rationale:
- a custom database disables the installed artifact runtime unnecessarily
- the lock must cover the configured backend and frontend startup waits

Tests:
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- bypass the broken prepare preflight without a source checkout override
- require stock marketplace lifecycle runs to remain artifact-backed

Rationale:
- installed launchers must never compile from a mutable marketplace clone
- the lifecycle should fail if verified artifact selection regresses

Tests:
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- pwsh -File plugins/symphony-plus-plus-mcp/tests/launcher/run-launcher-tests.ps1
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- wait for the isolated artifact backend to exit before deleting test state

Rationale:
- hosted Windows can retain beam.smp.dll briefly after a forced stop
- cleanup must finish without weakening the owned-path safety boundary

Tests:
- stock Codex 0.143.0 marketplace lifecycle
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- terminate the verified isolated backend process tree before cleanup

Rationale:
- the hosted runner leaves a backend descendant holding beam.smp.dll
- tree termination releases artifact files before owned-state deletion

Tests:
- stock Codex 0.143.0 marketplace lifecycle
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- terminate the verified backend tree before closing launcher clients

Rationale:
- last-client shutdown can orphan the artifact runtime child on Windows
- early tree cleanup releases beam.smp.dll before disposable-state deletion

Tests:
- stock Codex 0.143.0 marketplace lifecycle
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
Summary:
- terminate executables rooted in the verified disposable lifecycle tree

Rationale:
- the hosted runtime can orphan bundled Beam after wrapper shutdown
- executable-path ownership keeps cleanup isolated from host processes

Tests:
- stock Codex 0.143.0 marketplace lifecycle
- mix test test/symphony_elixir/symphony_plus_plus/plugin_stock_marketplace_lifecycle_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.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.

1 participant