# MoonVis product contract

Class: domain pack
Visible surface: versioned design-token and asset application
Maturity: executable local pack
Last reviewed: 2026-07-31

## Outcome

MoonVis gives MoonSuite one inspectable visual identity, asset lineage and
product-adaptation guide.

## Ownership

MoonVis owns source marks, exported variants, visual tokens, guidance,
provenance and the visual inspection application. It does not own MoonDesk UI
behavior, Rabbita components, Lepusa runtime behavior or product-specific
workflows.

## Capability status

| Capability | Status |
| --- | --- |
| MoonSuite marks and asset variants | available |
| Visual handbook and implementation guidance | available |
| Deterministic MoonBit token/asset resolver | available |
| Content-addressed asset provenance | available |
| Exact MoonFlow v2 pack capability | available locally |
| Durable invoke/reconcile and short-lived health evidence | available locally |
| Rabbita bundle inspection application | supported locally |
| React/Vite visual-reference application | legacy reference |
| Product UI implementation | excluded |

## Adoption contract

Products request
`moonvis/visual.asset-bundle.resolve@0.1.0` with the exact
`moonvis/visual-asset-bundle-request@1.0.0` schema. The result is
`moonvis/visual-asset-bundle-manifest@1.0.0`, containing canonical token and
asset versions, product/channel adaptation, contrast expectations, provenance,
digests, drift, and explicit limitations.

The operation has `workspace-mutation` authority because it materializes a
content-addressed manifest. Its `digital-artifact` claim applies to that
manifest only. It does not compose a product UI, run a model, accept a design,
or authorize publication.

Products remain responsible for accessibility against final pixels,
interaction, domain presentation, and named acceptance. Generated
design-bundle code is reference material, not suite architecture.

MoonVis should appear in the capability canvas only when a workflow consumes a
real asset/token operation. It is not an agent or domain execution node.

## Verification

```sh
moon check
moon test visual_system suite_adapter adapter_runtime
moon run cmd/moonvis_adapter -- declaration
cd ui/rabbita-moonvis && npm run build
```

Visible changes additionally require desktop/mobile inspection, contrast and
overflow review, and asset-provenance checks.

## Release gates and next milestones

- Prove adoption in at least two product repositories without copying token
  values into domain logic.
- Add runtime composited-pixel contrast and visual-regression evidence.
- Confirm public redistribution rights for reviewed mark assets.
- Align every active product without erasing its domain-specific adaptation.
