fix(builder): match Codex 0.144.6 requirements schema; marketplace source parity (0.3.10) - #21
Merged
Conversation
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Correctness pass verified directly against the
openai/codexrust-v0.144.6source (ConfigRequirementsToml,RawMarketplaceManifestPluginSourceObject,MARKETPLACE_MANIFEST_RELATIVE_PATHS).Fixed — fail-closed defects in the
requirementscheckerThese rejected valid managed files:
network; the serde rename isexperimental_network. Also now accepts thefeature_requirementsalias forfeatures.allowed_permission_profilesentries 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.mcp_servers/featureswere validated with config.toml shapes;McpServerRequirement({identity|command|url}) and the feature→bool map differ, so config-shape validation is no longer applied.default_permissionsrequiresallowed_permission_profiles; the effective default must map totrue; the implicit:workspacedefault requires both:workspaceand:read-onlyallowed.Added
.claude-plugin/marketplace.json(third recognized manifest) alongsidemarketplace.json/api_marketplace.json.--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