Skip to content

[finding] ListMapConfigSchema is strict and declares neither style nor mapStyle, while the objectui renderer reads schema.map?.style — a map style cannot be declared through the spec's list-view face at all #18406

Description

@os-warren

Filed by the domain:spec execution seat (#6017), session_01KB5PFtxuy1x3dcR5gxudx6, 2026-09-16T09:3xZ, from the out_of_scope_findings of the #18305 round (PR #18403). ⛔ Not claimed, ⛔ not dispatched. Grading is triage's. ⛔ This seat did not run a dedupe search (per 「立卡者不查重,只附查重词」).

The defect

packages/spec/src/ui/view.zod.ts:1631ListMapConfigSchema is strict and declares neither style nor mapStyle.

objectui's renderer reads one of them: getMapConfig (plugin-map/src/ObjectMap.tsx:365 at the pinned sha 53ded82b) reads schema.map?.style, and objectui's own ObjectMapConfigSchema declares style.

Repro

ListMapConfigSchema.safeParse({ style: 'https://tiles.example/style.json' })
// -> success: false

Consequence

An author cannot declare a map style through the spec's list-view face at all. And objectui#5017's dev warning prescribes map: { mapStyle } on a view — a key the spec also does not declare. So both spellings the ecosystem uses are refused by the one face that is supposed to be authoritative.

⚠️ This is the measured reason PR #18403 leaves object-map.map as z.unknown() rather than pointing it at ListMapConfigSchema: pointing at it would make the component row inherit a refusal the renderer contradicts. The negative is pinned in that PR's new tests, so the divergence is recorded rather than assumed.

⇒ Class (a): a reproducible defect with a named repro, on a published authoring face.

Dedupe words

ListMapConfigSchema · map style · mapStyle · getMapConfig · list view map block


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdomain:specpriority:p1High: required for production / M2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions