---
name: direct-cuebook-viewpoint-visual
description: "Produce release-grade Cuebook Frame visual directions after a fast preview is selected: retain one chosen direction by default, or build three structurally different directions only when the creator explicitly requested alternatives. Preserve source-linked reasoning, divide labor with the Frame title and body, export one 2488 x 1056 publication master per chosen Frame, and return VisualDirectionSetV1. Do not use this release-grade workflow for an ordinary first preview; do not reclassify intent, research missing facts, change the creator's thesis, duplicate the body, invent chart data or a future path, or render settlement backend fields."
license: Proprietary. Cuebook internal; see the repository README for terms.
compatibility: Node.js 18+. cuebook_template uses Playwright plus local Chromium/Chrome for deterministic HTML capture and DOM audit. finished_bitmap needs only local finished PNGs and image inspection; original HTML and font files are optional. No network access at render time.
---

# Compose Cuebook Viewpoint Layout

Act as the layout and typography director between market semantics and final rendering. This is primarily a composition Skill: decide what appears first, how much space each idea receives, and how the same hierarchy survives at Feed size. Semantic grammar classifies the argument; it does not dictate the page layout.

## Core Responsibility

Turn approved content blocks into a readable, source-bound visual argument:

`creator judgment -> observed evidence or event -> mechanism -> implication, horizon, or condition`

Own information hierarchy, reading order, grid, alignment, type scale, density, whitespace, and placement of curves, numbers, news, and causal relationships. The static renderer owns the final pixels and must preserve the approved layout.

## Fast Preview Boundary

Do not hand-author HTML for a raw first preview. The public creation entrypoint uses stable `verdict`, `proof`, and `system` templates and renders one publication image. Enter this Skill after selection to perform the release audit without creating derivative assets, or when the creator explicitly requested three advanced visual alternatives.

## Workflow

1. Read the creator view and any `VisualArgumentV1`, `ViewpointDataBundleV1`, thesis, `ProfileV1`, `ContentHistoryLedgerV1`, or settlement artifact. Preserve the creator's judgment, direction, horizon, conditions, source boundary, established visual voice, and recent palette history. Require and freeze the supplied `visual_plan.intent` and `visual_plan.execution_route`; reject an unknown route, mismatched tool coverage, or renderer mismatch instead of reclassifying it here. Treat `evidence_objects` as the only eligible source for news-cluster, distribution, quantile-fan, reconciled composition/flow, ordered-category, and payoff geometry.
2. Reduce the public argument to two to four connected beats:
   - **viewpoint**: what the creator believes; this owns the visual thesis;
   - **observation**: what happened or which value was reported; this requires evidence;
   - **mechanism**: the supported or explicitly hypothetical financial channel;
   - **implication/timing**: what changes, what to watch, and when the view is observed or settled.
   The image may enter from any beat, but viewpoint, inference, and observed fact must remain semantically distinct. Read the paired Frame title/body before composing and remove any beat they already communicate better. If the route cannot be written plainly, return upstream instead of designing around ambiguity or correcting the creator by default.
3. Declare the upstream lineage namespaces before layout: `input_refs` for source artifacts or meaning inputs, `fact_refs` for approved fact IDs, and `data_requirement_refs` for visual requirements from the expression plan or data bundle. Build a source-linked binding for every fact, metric, curve, level, event, quote, qualitative relationship, and creator judgment that may appear. Every binding's `source_refs` must resolve inside those declarations and must carry the upstream-compatible `request_class`, `material_to_claim`, and `selected_for_display` fields. A qualitative relationship must remain textual or categorical; a decorative fake curve or magnitude is invalid.
4. Always read `references/finance-visual-argument-system-v1.md`, `references/logic-progression-v1.md`, `references/typography-benchmark-profiles-v1.json`, and `references/market-native-art-direction-v1.md`. Read the three-direction diversity systems (`viewpoint-expression-system-v1.md`, `cuebook-static-design-kernel-v1.md`, and `canvas-craft-v1.md`) only for explicit alternatives. Freeze one intent lock and one connected logic progression for all retained directions.
5. When the creator selected a fast preview, retain and recompose only that direction with release-grade typography and bindings. When the creator explicitly requested unresolved alternatives, create **three complete HTML previews using the same meaning, bindings, and logic progression** through three independent design logics and three palette strategies:
   - one product-native editorial baseline that proves clarity and Cuebook fit;
   - one benchmark-informed direction that transfers a verified real-world composition principle without copying its brand surface;
   - one content-native custom direction whose motif could not belong to another thesis.
   Assign `creator_native`, `thesis_native`, and `contrast_variant` exactly once across the set. These palette strategies do not have to align with the three design logics in a fixed order.
   Before layout, write one `expression_recipe` per retained direction. A selected preview consumes only its chosen candidate job. An explicit alternative set consumes exactly one `fast_read`, one `proof`, and one `system` job. For each recipe record the locked market relationship, compatible argument and composition archetypes, evidence shapes, grammars, proof bindings, and data requirements.
   Across the set, include claim-first plus at least one evidence-, reasoning-, strategy-, timeline-, comparison-, or freeform route.
   When three or more selected material news events exist, the system candidate must use `news_synthesis`. Other system candidates follow the thesis: mechanism, scenario, measured flow, strategy, or cycle.
   When a complete `market_series` binding is material to the claim, make the observed curve visible in all three selectable directions while changing its composition and hierarchy, not its data. When the series is supporting rather than material, make at least one direction curve-led and prefer it as the default selected route for a bounded trade unless another evidence form proves the central judgment more directly.
6. For explicit alternatives, make the three composition archetypes and spatial skeletons visibly different. For a selected single direction, preserve the chosen structure and focus only on release fitness. A quantitative proof-led composition gives its evidence field roughly 55-72% of usable area; a giant number is an annotation when comparison, structure, series, distribution, or payoff is the proof.
7. Freeze `renderer_mode`. `cuebook_template` reuses a validated host-approved Noi font cache or stages original Noi files once into the selected release artifact's `fonts/` directory; production requires licensed non-Trial files and an opaque `license_ref`. `finished_bitmap` is the canonical mode for external/already-finished pixels: original HTML and Noi files are optional, and the artifact records `embedded-pixels-v1` with verification `not_asserted` instead of guessing a typeface from pixels.
8. Complete the static craft, hierarchy, color, and reverse-deletion passes in the kernel, then score each direction with `references/cuebook-visual-critique-v1.md`. Revise any direction that fails data integrity, logic continuity, hierarchy, color logic, anti-default discipline, or the three-second comprehension gate.
9. Run a reverse-deletion pass before finalizing geometry and responsive behavior. Temporarily remove each visible group; restore it only when its absence changes the claim, uniquely proves the claim, or changes the catalyst, horizon, next observable, or explicit invalidation. Restore a risk boundary only when the user selected it for display. Prefer four to six visible role groups, one evidence modality, and no decorative connector whose relation is already obvious. Reserve the bottom-right brand safe zone and remove handwritten `Cuebook`, `C`, badges, pills, or substitute logos. If every direction scores below 7.5, generate new directions before brand lock.
10. In `cuebook_template`, **run final brand lock as the last HTML mutation.** Stamp `assets/cuebook-wordmark.svg`, run the launch HTML linter, capture the 2488 × 1056 publication master, and run the DOM render audit plus a scaled 622 × 264 legibility inspection of that same composition. After stamping, only validation and capture are allowed. In `finished_bitmap`, do not reconstruct or demand HTML: inspect the final publication PNG, prepare `frame-finished-bitmap-audit-request-v1`, and run `scripts/audit_finished_bitmap.mjs`. A pass binds legibility, collision, imagery-policy review, mutable-price state, exact dimensions, encoded-byte hash, and canonical pixel hash to the final pixels.
11. **Budget phone attention.** In `cuebook_template`, mark every reader-essential prose block with a stable lowercase `data-essential-copy-group` name; the phone audit requires 2–3 distinct groups and at least 18 px effective type inside them. In `finished_bitmap`, the image reviewer applies the same count and legibility rule directly to the pixels. Axis labels, direct data labels, and minimal provenance may remain outside this count; do not use that exception to hide a fourth argument paragraph.
12. **Keep one publication master.** Do not create compact, web, thumbnail, or OG files. `scripts/build_frame_visual_manifest.mjs` emits only the `publication` role. The assembly carries that PNG's encoded-byte hash, the manifest carries its canonical RGBA pixel hash and authoritative alt text, and the Skill never downloads uploaded media again. Feed and detail surfaces scale the same master; any future CDN transformation stays outside the authoring and MCP contracts.

```bash
node scripts/stage_noi_font_assets.mjs /secure/noi ./fonts \
  --license-mode production --license-ref LICENSE_REF
node scripts/validate_visual_direction_set.mjs visual-direction-set-v1.json \
  --require-expression-recipes --require-finance-route
node scripts/stamp_cuebook_wordmark.mjs direction-a.html --background dark
node scripts/lint_launch_viewpoint_html.mjs direction-a.html
node scripts/capture_html_viewpoint.cjs direction-a.html ./direction-a-preview
NODE_PATH=/path/to/playwright/node_modules node scripts/audit_rendered_viewpoint.cjs direction-a.html ./direction-a-preview
node scripts/capture_html_viewpoints_batch.cjs capture-manifest.json
node scripts/audit_finished_bitmap.mjs finished-bitmap-audit-request.json \
  --asset-root ./selected --out ./selected/raster-audit.json
```

## Autonomous Candidate Mode

Use this mode only when the creator explicitly requested three alternatives. All three directions are user-facing finished choices and remain `previewed` until selection. A normal selected-preview freeze keeps one direction in `selected` state and skips sibling generation.

- Read `references/launch-visual-copy-v1.md`. Limit total visible image copy to 120 characters and prefer 55-95. Use one claim, one proof, and one condition only when it changes the trade.
- Treat the image as the third and final public Frame component. It must add visual reasoning, observed trend/evidence, or timing information that the title and body do not already express; otherwise redesign it.
- Produce three structurally distinct passed directions on the publication canvas and verify each at phone display scale. Failed or clipped directions are regenerated internally and never exposed.
- Pair conviction-first, evidence-first, and catalyst/reasoning-first copy with compatible spatial skeletons; do not paste the same text into unrelated layouts.
- Pair the three candidate families with the exact locked reader jobs: fast judgment, strongest proof, and full system. Record the market relationship, trading argument archetype, composition archetype, exact evidence shapes, primary grammar, optional support grammars, proof bindings, and data requirements in `expression_recipe`.
- Compose phone-first. Sketch how the single 2488 × 1056 master reads when scaled to 622 × 264 before finalizing its 1244 × 528 authoring canvas. Use one principal alignment axis, attach every label to its mark, and give proof geometry more area than headline typography in a proof candidate.
- Keep current data resolution, source repair, and legal/product scope calibration upstream. The public image receives only supported display bindings.
- Treat a creator-named news event, requested number, comparison metric, or price anchor as material when the expression plan says so. Mark its binding `material_to_claim: true` and `selected_for_display: true` when it is selected for the image. Every direction must keep that binding visible in the master and at phone display scale; a generic qualitative substitute is only a degraded internal preview and cannot enter a selectable set.
- Treat a material observed series the same way. Render its real geometry once, connect one visible logic step to the event, level, divergence, or change it proves, and keep any unsupported mechanism as text rather than encoding it in the curve.
- Keep disclosures, source notes, settlement prose, and repeated context outside the bitmap. Do not use a footer band unless its catalyst or deadline is part of the visual argument.
- For bounded views, make the observation cutoff and future horizon visually distinct. Show an accepted deadline or settlement level only when it is part of the argument. Never draw a projected future price path.
- Do not hand-break a claim. Mark visible groups with launch roles, use balanced natural wrapping, and rewrite any orphan line before rendering.
- Declare exactly one visual entry group, assign levels 1-4 to every visible non-brand group, and keep claim at level 1 or 2. The hierarchy must survive grayscale.
- Use one to three semantic color roles, then map those roles to registered palette tokens. Across three siblings, use three distinct presets: creator-native, thesis-native, and contrast variant. Keep role meaning stable while allowing actual hues to adapt to the creator and content.
- Pass up to six recent preset IDs. Do not repeat one unless it is the creator's explicit signature and appears only in the creator-native direction.
- Run the reverse-deletion pass across all three siblings. A repeated fact, restated implication, unexplained acronym, or purely decorative mark is removed even when the copy budget still has room.
- Keep the 218 x 93 bottom-right brand safe zone free of argument text, labels, points, and curve endpoints before final brand lock.
- Do not wait for user art direction. Infer Design Read and dials, render, inspect, repair, and return the three completed previews in one run.

## Five Form Questions

- **Role**: conviction, evidence, explanation, comparison, strategy, or tracking?
- **Distance**: verify the 2488 × 1056 master at a 622 × 264 display size; do not generate a second raster.
- **Temperature**: urgent, skeptical, calm, analytical, or contrarian?
- **Capacity**: what can be removed while the claim, reason, and implication remain intact?
- **Motif**: what visual relationship belongs to this exact thesis and would fail for another topic?

Write one sentence for `form_from_content`. If it could describe an unrelated stock, the concept is generic.

## Typography And Benchmark Transfer

- Use `cuebook-noi-v1` for every launch direction. Noi carries Latin, numbers, tickers, and punctuation; the declared CJK stack carries glyphs absent from Noi without changing the requested weight.
- Use only 400, 500, 600, and 700. Keep letter spacing at zero, disable font synthesis, and use tabular lining numerals for market values and dates.
- Trial font files are evaluation-only and remain outside the repository, installed Skill, MCP package, and release artifact. Production requires an artifact-local font manifest with hashes and a non-Trial source.
- Select `market-native-modular-v1` only for a decisive judgment with one dominant observed evidence object. Compose `judgment -> measured proof -> evidence object -> horizon or condition`.
- Transfer hierarchy, neutral restraint, purposeful signal color, and modular evidence placement. Never transfer Robinhood logos, Capsule Sans, Nib, proprietary neon, product chrome, illustrations, exact module proportions, or calls to trade.

## Public Visual Contract

- The first glance must reveal the judgment, not the taxonomy name.
- The image is paired with one Frame title and one body. It must not reproduce the complete title/body argument or introduce a second public post.
- Use one dominant idea and at most two supporting relationships.
- Make the claim clearly distinct from annotations, but let proof geometry dominate a proof-led candidate. Use 64-120px for the declared hero role; the hero may be a chart, comparison, threshold, or term structure rather than a headline.
- Use size, weight, occupied area, position, and whitespace for hierarchy. Color supports the order and never creates it alone.
- Use Cuebook Noi typography, layered neutral surfaces, quiet separators, optical alignment, and restrained semantic hues. Benchmark references may influence composition but cannot replace Cuebook's font, palette registry, finance grammar, or wordmark.
- Use creator-adaptive color through registered presets. Calm research, urgent calls, technical setups, personal stories, and macro conflict should not share one default visual voice.
- Use public language. Hide workflow state, evidence counts, database field names, and settlement machinery.
- Show settlement text outside the image unless its level or deadline is itself the argument.
- Do not print a mutable current/entry price before publication unless a real backend quote/entry lock ref is bound. Prefer `BTC · 30D LONG` or equivalent asset/horizon/direction wording; do not confuse a changing quote with a frozen target or settlement level.
- When horizon, observation window, or settlement timing matters, make it legible as a separate marker from the solid observed series.
- Bind every displayed market fact or number. Factual and derived bindings must resolve to a declared fact or data-requirement ref; creator opinions resolve to a declared input ref and use `request_class: creator_judgment`.
- Observed and reported material uses solid geometry. Conditional or future paths use dashed geometry.
- Do not use generic card grids, equal boxes, decorative sparklines, gradients, stock dashboard chrome, or tiny legends.
- Select charts from the market relationship. Deviation, revision, term structure, event reaction, trigger state, distribution, relative value, and causal transmission are different analytical questions and must not collapse into the same poster skeleton.
- Cuebook branding is the canonical bottom-right wordmark only, never a header bar, textual label, `C` badge, or pill.
- Full OHLC, volume, or indicator analysis routes to `$render-cuebook-thesis-chart` and can be embedded as the evidence hero.

## Layout Contract

Each direction must record a `layout_system` with hierarchy, grid, alignment, density, type scale, `craft_system`, data role, and phone-scale legibility rule. It registers exactly one 2488 × 1056 publication preview. `cuebook_template` registers HTML capture plus DOM render audit; `finished_bitmap` registers one `frame-raster-audit-v1` and sets `html_ref`/`render_audit_ref` to null. A different palette with the same layout system is one direction, not two.

Every `binding_ref` is a display promise. A selected material binding must appear in `binding_refs` and in a visible logic step for every retained release direction. The launch linter and rendered audit must confirm it remains visible when the master is displayed at phone size.

- Claim is the visual entry point unless the evidence itself is the hook.
- One element owns the largest area: headline, key number, observed curve, comparison, or causal relationship.
- In `chart_stage`, `comparison_axis`, `instrument_strip`, `threshold_field`, and `distribution_field`, the evidence owns the largest area. The claim is a compact entry and the mechanism is attached to the evidence rather than parked in a footer.
- Use one evidence modality per direction by default: key numbers, curve, causal path, comparison, or timeline. Add a second only when it answers a different question.
- Supporting text explains the hero and does not compete with it.
- News is a placed catalyst or source fragment, not a generic card dropped into empty space.
- When news is the material catalyst, use the bound compact headline, publisher, and event time as one visual group. Keep the clickable URL in the candidate evidence anchor outside the bitmap.
- Curves and key numbers participate in the sentence; they do not decorate the footer.
- For a bounded view, end the solid observed curve at the decision cutoff. Show the cutoff as a vertical line and the deadline as a separate time marker or blank future region. A conditional threshold may be dashed; a future price path may not be drawn.
- In a curve-led direction, compose the visual as one readable argument: judgment at entry, two to four short reasoning beats, observed curve as evidence hero, and one condition, next observable, or explicit invalidation. Do not make the reader choose between a detached chart and a detached paragraph.
- At a 622 × 264 display size, the fixed master must preserve an effective text floor of 11px and all essential logic beats. Repair the master composition rather than generating a separate reflowed bitmap.

## Final Brand Lock

- Use the exact paths in `assets/cuebook-wordmark.svg`; never redraw, type, approximate, or replace them.
- At the 1244 x 528 authoring canvas, place the mark at `right: 41px; bottom: 34px; width: 136px; height: 26px`. The 2x publication capture produces a 272 x 52 mark and the host scales it with the rest of the master.
- Use the original `#F2F3F4` on a dark local background and `#101411` on a light local background. Color adaptation is the only permitted visual change.
- Keep it unframed: no background plate, capsule, border, shadow, animation, or adjoining copy.
- The SVG carries `data-cuebook-wordmark="v1"` and `data-role="brand"`, but contains no visible brand text and consumes no launch copy budget.
- Run `scripts/stamp_cuebook_wordmark.mjs` once per final HTML. The stamp is idempotent and the launch linter rejects missing, displaced, or textual substitutes.

## Taste Contract

- Declare the Design Read and both static dials before authoring HTML.
- In redesign-preserve mode, list the existing creator or Cuebook traits that remain.
- At `design_variance >= 7`, at least one direction must use meaningful asymmetry, comparison, or freeform structure.
- At `visual_density <= 3`, dense layouts are invalid; at `visual_density >= 8`, quiet layouts are invalid.
- Every previewed or selected direction must pass all eleven pre-flight checks plus the objective publication and phone-scale audits of the same pixels.
- Score `anti_default` independently from originality. A strange visual can still be generic in concept.

## Degrees Of Freedom

- **High freedom**: concept, hierarchy, typography, spatial composition, visual metaphor, and use of negative space.
- **Medium freedom**: Cuebook tokens, canvas sizes, semantic color, solid/dashed state, and binding markup.
- **Low freedom**: source fidelity, market values, dates, thresholds, creator ownership, and settlement semantics.

## Hard Gates

- Do not choose from text-only style labels. Direction selection requires real previews.
- Do not reclassify a valid `visual_plan.intent`, change its three candidate jobs, widen its evidence shapes, or replace its registered Skill/renderer route. Return upstream when the route is internally inconsistent.
- When three alternatives were requested, do not reuse one DOM skeleton across them.
- Do not draw a curve when no sourced ordered series exists.
- Do not draw a fan without sourced quantiles, a box plot without a declared sample, a part-to-whole form without one denominator, a waterfall without additive components, or a weighted flow without measured flows. Route prose scenarios to a scenario tree and qualitative influence to a causal chain.
- Do not synthesize a structured evidence object inside this Skill. Its `EOBJ_*` ref, shape, source refs, method metadata, and reconciliation must already pass `$assemble-cuebook-viewpoint-data` and appear in `render_payload.evidence_object_refs`.
- Do not pass a material-series direction whose curve can be removed without changing the proof, confirmation, or market-path meaning.
- Do not satisfy a binding with hidden markup, metadata, an empty node, or unrelated decoration. Put `data-binding-ref` on or inside the non-brand launch role or logic step that visibly expresses the fact. Text labels and SVG geometry count; CSS-only data geometry declares `data-binding-display="geometry"`. Decoration carries no binding.
- Do not encode magnitude with area or length when the input is only qualitative.
- Do not let a style reference override Cuebook's content, brand, or finance-specific readability.
- Do not invent a one-off palette inside a render. Add it to the preset registry with fit metadata and tests first.
- Do not publish a preview with overflow, clipped text, unresolved placeholders, external assets, or a three-second score below 7.
- Do not let a rule, axis, connector, marker, curve, or bar press into sibling copy. Keep at least 8 authored pixels of clear space around text; labels intentionally placed inside their own geometry are allowed only when contrast and padding pass at full and phone display scales. Text crossing a rendered border, bracket, or axis stroke fails the rendered audit.
- Do not restate a value that the evidence geometry already labels as a display-scale number in another group; the hero slot carries the judgment or the derived transform result. `data-value-restate-ok` covers only a claim value whose geometry proves composition, not the same scalar.
- Do not draw a background track or remainder bar without a reconciled denominator binding.
- Do not let equal spacing hide a materially unequal tenor or time gap; declare `axis_integrity` (time_scaled, ordinal_gap_marked, uniform_true) for maturity, term-structure, and revision grammars.
- Do not release launch HTML without `data-font-profile="cuebook-noi-v1"`, production license mode, a staged font manifest, and a render audit showing at least one loaded Cuebook Noi face.
- Do not package Trial fonts, silently fall back from Cuebook Noi, load remote fonts, or use Robinhood brand fonts or brand surface elements.
- Do not accept the raster when fewer than 0.6% of pixels differ materially from the canvas corner color; an empty template or logo-only image is not a viewpoint.
- Do not pass a preview that relies on an AI-default layout pattern without a content-specific reason.
- Do not pass a proof candidate whose headline has more visual weight than the comparison, series, distribution, term structure, or threshold that actually earns the claim.

## Resources

- `references/visual-direction-set-v1.schema.json`: direction-set contract.
- `references/cuebook-static-design-kernel-v1.md`: single execution order fused from Taste-Skill, Huashu-Design, Jakub Krehel's skills, and Emil Kowalski's skills.
- `references/logic-progression-v1.md`: source-linked argument graph and per-direction route contract.
- `references/creator-adaptive-palette-system-v1.md`: creator/content palette inference, three candidate strategies, anti-repetition, and accessibility rules.
- `references/creator-palette-presets-v1.json`: canonical palette registry for frontend and renderer use.
- `references/typography-benchmark-profiles-v1.json`: Noi font profile, licensing boundary, and transferable benchmark principles.
- `references/market-native-art-direction-v1.md`: optional market-native direction and Robinhood brand-distance gate.
- `references/composition-primitives-v1.md`: open composition vocabulary and routing guidance.
- `references/canvas-craft-v1.md`: occupation, scale-drama, surface-depth, and set-diversity contract for the 2.36:1 canvas.
- `references/editorial-craft-benchmarks-v1.md`: chart-honesty, text-discipline, and one-message rules distilled from verified FT/Datawrapper/Economist sources, with the poster exception clause.
- `references/viewpoint-expression-system-v1.md`: communication-job, evidence-shape, combination, and data-gate contract.
- `references/finance-visual-argument-system-v1.md`: market-relationship, trading-archetype, chart, and compact-composition routing contract.
- `references/viewpoint-expression-registry-v1.json`: machine-readable candidate jobs and compatible visual grammars.
- `references/cuebook-visual-critique-v1.md`: finance-specific visual review rubric.
- `assets/cuebook-viewpoint-canvas.html`: tokenized, slot-free HTML canvas.
- `assets/cuebook-wordmark.svg`: canonical Cuebook vector wordmark supplied by the product team.
- `scripts/validate_visual_direction_set.mjs`: structural and source-binding validator.
- `scripts/capture_html_viewpoint.cjs`: deterministic 2488 × 1056 publication capture.
- `references/launch-visual-copy-v1.md`: launch copy, role, deletion, and line-breaking contract.
- `scripts/lint_launch_viewpoint_html.mjs`: deterministic visible-copy and role linter.
- `scripts/stamp_cuebook_wordmark.mjs`: idempotent final brand-lock stamp for light or dark local backgrounds.
- `scripts/capture_html_viewpoints_batch.cjs`: production batch capture with bounded concurrency.
- `scripts/audit_rendered_viewpoint.cjs`: objective publication and scaled-phone geometry, typography, contrast, safe-zone, logic-node, and visible source-binding audit of one composition.
- `scripts/build_frame_visual_manifest.mjs`: builds the `frame-visual-manifest-v1` publication handshake binding the master pixel hash, audit verdict, display bindings, font profile, and alt text.
- `scripts/audit_finished_bitmap.mjs`: validates the final 2488 × 1056 PNG dimensions and hashes, and binds a human/model image review without requiring HTML or claiming font verification.
- `references/finished-bitmap-release-v1.md`: two-mode release contract and raster audit request/report example.
- `scripts/stage_noi_font_assets.mjs`: stage original evaluation or production font files and write the hashed artifact-local font manifest.
- `scripts/select_creator_palette.mjs`: deterministic palette-profile and three-candidate selector.
