Skip to content

fix(builder): match Codex 0.144.6 requirements schema; marketplace source parity (0.3.10) - #21

Merged
rldyourmnd merged 1 commit into
mainfrom
fix/builder-0.3.10-requirements-precision
Jul 19, 2026
Merged

fix(builder): match Codex 0.144.6 requirements schema; marketplace source parity (0.3.10)#21
rldyourmnd merged 1 commit into
mainfrom
fix/builder-0.3.10-requirements-precision

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Correctness pass verified directly against the openai/codex rust-v0.144.6 source (ConfigRequirementsToml, RawMarketplaceManifestPluginSourceObject, MARKETPLACE_MANIFEST_RELATIVE_PATHS).

Fixed — fail-closed defects in the requirements checker

These rejected valid managed files:

  • Managed key allowlist used network; the serde rename is experimental_network. Also now accepts the feature_requirements alias for features.
  • Non-built-in allowed_permission_profiles entries were hard-rejected; they may be defined in a lower config layer a single-file static check cannot see. Now only built-in (:-prefixed) names are checked.
  • Managed mcp_servers/features were validated with config.toml shapes; McpServerRequirement ({identity|command|url}) and the feature→bool map differ, so config-shape validation is no longer applied.
  • Permission-profile resolution now mirrors Codex exactly: default_permissions requires allowed_permission_profiles; the effective default must map to true; the implicit :workspace default requires both :workspace and :read-only allowed.

Added

  • Marketplace checker discovers .claude-plugin/marketplace.json (third recognized manifest) alongside marketplace.json/api_marketplace.json.
  • Marketplace generator gains --source-type (local/url/git-subdir/npm) with matching fields, so create/check are symmetric across all four sources.

Builder plugin → 0.3.5, module → 0.3.10. 49 builder tests + contract validation pass in the private harness slice.

https://claude.ai/code/session_01Y29c9sJRhChvxDcUjab5Xo

…urce parity (0.3.10)

Correct fail-closed defects in the requirements checker that rejected valid
managed files, verified against ConfigRequirementsToml in openai/codex
rust-v0.144.6:
- The managed key allowlist uses `experimental_network` (serde rename) not
  `network`, and accepts the `feature_requirements` alias for `features`.
- Non-built-in `allowed_permission_profiles` entries are no longer rejected;
  they may be defined in a lower config layer a single-file check cannot see.
- Managed `mcp_servers`/`features` values are no longer validated with
  config.toml shapes (McpServerRequirement and the feature map differ).
- Permission-profile resolution mirrors Codex exactly: default_permissions
  requires allowed_permission_profiles, the effective default must map to true,
  and the implicit :workspace default requires both :workspace and :read-only.

Also: the marketplace checker discovers `.claude-plugin/marketplace.json`, and
the marketplace generator gains `--source-type` (local/url/git-subdir/npm) so it
scaffolds every source the checker accepts. Builder plugin -> 0.3.5, module -> 0.3.10.

Claude-Session: https://claude.ai/code/session_01Y29c9sJRhChvxDcUjab5Xo
@rldyourmnd
rldyourmnd merged commit 0c77726 into main Jul 19, 2026
8 checks passed
@rldyourmnd
rldyourmnd deleted the fix/builder-0.3.10-requirements-precision branch July 19, 2026 07:18
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