Preserve extension names in module preflight
This commit is contained in:
@@ -777,14 +777,18 @@ which save-layer table is used by the copy plan and saved-state write smokes.
|
||||
Add `-RequireSelectorChainWritePlanComposition` when the selected base/object
|
||||
must have a saved-state stream that lets the selector-chain smoke compose a
|
||||
concrete read-only `metadata.write.plan`. The same strict mode also requires
|
||||
the write-preflight smoke to discover an extension form by public
|
||||
`extension/ref/form/member` names, compose an allowed plan, and prove that the
|
||||
repository and support gates use the same resolved `extension:<GUID>` layer.
|
||||
It then submits the same public selector with a deliberately different GUID
|
||||
and requires a read-only `blocked / extension_selector_conflict` result, so a
|
||||
legacy permissive repository profile cannot authorize a mismatched layer.
|
||||
Run that check directly with
|
||||
`scripts/smoke_1c_write_preflight.py --require-name-first-extension-form`.
|
||||
the write-preflight smoke to discover both an extension form and an extension
|
||||
module by public names (`extension/ref/form/member` and
|
||||
`extension/ref/form/module/stream_ordinal`), compose allowed plans, and prove
|
||||
that the repository and support gates use the same resolved
|
||||
`extension:<GUID>` layer. Module search restores the public extension name from
|
||||
`ConfigCASSave`; it never returns the storage GUID as the caller-facing
|
||||
selector. The smoke then submits each public selector with a deliberately
|
||||
different GUID and requires a read-only
|
||||
`blocked / extension_selector_conflict` result, so a legacy permissive
|
||||
repository profile cannot authorize a mismatched layer. Run both checks
|
||||
directly with
|
||||
`scripts/smoke_1c_write_preflight.py --require-name-first-extension-form --require-name-first-extension-module`.
|
||||
|
||||
To exercise the MCP proxy itself, switch transport and URL:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user