Marketplace Readiness
Compatibility Declaration
A future marketplace package will likely need a compatibility declaration. That declaration does not exist in runtime today.
Current MyronCMS compatibility documents are AI-readable planning resources for site types and running installs. They help clients understand context. They do not install extensions, review packages, or accept extension-contributed snapshot sections.
Current Compatibility Documents
Current resources:
| Mode | Runtime entrypoint | AI access |
|---|---|---|
| Default site-type compatibility | GET /api/v1/system/compatibility/default | MCP resource mcp://myroncms/system/compatibility/default?siteType=BIZ |
| Configured install compatibility | GET /api/v1/administration/compatibility/configured | MCP resource mcp://myroncms/system/compatibility/configured |
Default compatibility is reference material for a site type. Configured compatibility describes live install state and should be treated as sensitive context.
Future Declaration Proposal
A future marketplace declaration could include:
| Field | Proposed purpose | Current runtime support |
|---|---|---|
myroncmsVersionRange | Supported MyronCMS version range. | None. |
extensionApiVersion | Expected extension substrate version. | None beyond source-level contracts. |
requiredScopes | Declared extension scope needs. | Current manifest supports base scopes. |
actions | Summary of contributed action domains and exposure posture. | Current action metadata reports loaded actions after registration. |
storage | Declared {vendor}_* tables and migration posture. | Current migration runner enforces table prefix for SQL list migrations. |
adminRoutes | Declared isolated admin surfaces. | Current manifest supports route entries. |
micElementTypes | Declared MIC resolver types. | Current bootstrap can register them. |
mailTransports | Declared outbound transports. | Current bootstrap can register them. |
aiAccess | MCP/API/local-authoring/parity-gap treatment. | Current docs contract requires explicit AI access wording. |
knownGaps | Intended compatibility gaps or unsupported surfaces. | Documentation only. |
These proposed fields should not be added to manifest.json unless a later runtime contract updates ExtensionManifest.php.
Human Path
For current work, read compatibility documents to understand the site type or running install before planning an extension.
For future marketplace planning, draft a compatibility declaration as a separate document and label it proposed. Use current manifest and action metadata only for fields the runtime actually supports.
AI Path
An MCP client can read current compatibility resources through resources/list and resources/read.
An AI coding agent can draft a proposed compatibility declaration in local docs. It should not treat that declaration as runtime-enforced.
Installed AI clients cannot publish marketplace compatibility declarations, mutate compatibility documents, or add extension snapshot sections.
Scopes
| Entry point | Scope posture |
|---|---|
| Default compatibility API/resource | Public/reference posture in current docs. |
| Configured compatibility API/resource | Treat as administration.read live install context. |
| Future marketplace declaration | No current runtime scope model. |
Artifacts
Current artifacts:
CompatibilityDocumentService.php- default compatibility API action
- configured compatibility API action
- MCP compatibility resources
- extension manifest and action metadata after runtime load
Future artifacts:
- marketplace compatibility declaration document,
- review record,
- package envelope reference,
- compatibility verification result.
Safety Boundary
Compatibility documents are read surfaces for planning. They do not grant authority, mutate install state, install packages, or expand extension support.
Do not claim extension snapshot contribution as current. Current docs classify extension snapshot contribution as prohibited-current unless a later contract changes the snapshot service.
Verification
Current verification:
resources/list includes default and configured compatibility resources
resources/read returns JSON for compatibility URIs
GET /api/v1/system/compatibility/default accepts a siteType input
GET /api/v1/administration/compatibility/configured requires administration.read
Future declaration verification is documentary:
- Declaration fields are labeled proposed.
- Current manifest and action fields are separated from proposed fields.
- No snapshot contribution is claimed.
- No package install support is implied.
Failure Modes
| Failure | Likely cause | Safe response |
|---|---|---|
Future declaration is treated as manifest.json input | Proposed fields were confused with current parser support. | Keep declaration separate or contract parser changes. |
| AI plans against default compatibility for a live install | Wrong compatibility mode was read. | Read configured compatibility before live work. |
| Docs claim extension snapshot contribution | Current prohibited surface was ignored. | Reword as prohibited-current or evaluate a new surface. |
| Configured compatibility is exposed too broadly | Live install context was treated as public. | Require administration.read posture in docs and runtime review. |