Part of #19
Decision output
Specify the permanent checks that distinguish a valid repository marketplace from a merely discoverable legacy marketplace file.
The contract must cover:
- canonical
.agents/plugins/marketplace.json schema, required policy fields, Finance category, and source containment;
- source-root loadability:
.codex-plugin/plugin.json, declared canonical skills, .mcp.json, and assets all resolve inside the selected root;
- equality of marketplace, manifest, and generated OpenAI artifact identity/version where selected;
- preservation of strict generated-host artifact isolation and existing archive-security limits;
- an actual Codex marketplace add/install smoke from an isolated clean checkout without mutating user-global state;
- deterministic CI-safe coverage versus explicitly local/manual proof.
Acceptance
The resolution names exact checks, commands, fixtures, cleanup boundaries, and observable failures. Record it in a resolution comment, close the ticket, and append only a gist plus link to #19 Decisions so far.
Non-goals
Do not implement checks or perform production/user installation.
Part of #19
Decision output
Specify the permanent checks that distinguish a valid repository marketplace from a merely discoverable legacy marketplace file.
The contract must cover:
.agents/plugins/marketplace.jsonschema, required policy fields,Financecategory, and source containment;.codex-plugin/plugin.json, declared canonical skills,.mcp.json, and assets all resolve inside the selected root;Acceptance
The resolution names exact checks, commands, fixtures, cleanup boundaries, and observable failures. Record it in a resolution comment, close the ticket, and append only a gist plus link to #19 Decisions so far.
Non-goals
Do not implement checks or perform production/user installation.