Skip to content

Always-renders polish backlog from the #395 inventory (styling, CLI errors, lint-shaped gaps) #413

Description

@abalter

What

The #395 inventory's residue: failures that are already visible-or-loud but inconsistent, plus lint-shaped gaps. None violates always-renders on its own; together they make the error surface uneven. One backlog issue so they don't scatter:

Styling / render consistency

  • assemble.js:118-123 missing-child note renders as a bare unstyled paragraph that reads like content — give it the error-block styling.
  • parse-error / tag-error / .enscribe-error marker classes have no CSS rules (unlike ref-error/cite-error) — same error styling family.
  • Deferred placement markers in a master (<toc>/<endnotes> in master scope) are dropped with a warning (assemble.js:139-141) — a small visible placeholder would be honest.

CLI ergonomics

  • emit() write failures surface as raw ENOENT stacks (cli.js:570-576) — map to a clean CliError.
  • --live build: a missing non-website master child throws mid-copy (build-live.js:222) where the nav-item path warns+skips — pick one policy.
  • copyShellAssets require.resolve failure (unbuilt engine bundle) is a raw throw (build-live.js:57-64) — name the fix ("run the package build").
  • Known --theme in the BROWSER bundle: getThemeCss is a Node fs read (index.js:275-281) — themes are sub-1KB; build-inline them.

Lint-shaped gaps (accepted-but-inert authoring)

  • <library> with no src and no inline content: vfile-only note (library-load.js:186-189).
  • Data-store <fig> carrying BOTH src= and a base64 body: src silently wins (asset-load.js:220-222) — one collision-style flag.
  • Dataset→table hand-off with no format on either side (asset-load.js:343-345) — name the miss.
  • ris / endnote-xml format words accepted by the gate but unwired in FORMAT_FORCETYPE (library-load.js:76-78) — falls to auto-detect, which does not detect them.
  • CLI URL <table src> gap (browser preloads it, CLI sync path cannot) — small preload-collection fix flagged in the audit.
  • DSL live-link CDN <script src> has no onerror hint (index.js:442-444) — offline reader sees un-activated source (visible degrade), a one-line hint would name it.
  • Empty authored <bibliography> (zero resolved cites) is suppressed (bibliography.js:234-239) — same placement-marker-semantics question as the notes issue; settle there, execute here.

Source: #395 universality audit inventory (posted on #395). Each line cites its inventory row; verify against current code before fixing (verify-first).

Metadata

Metadata

Assignees

No one assigned

    Labels

    auditAudit findingdecision-neededOpen design question awaiting Ariel's call — answerable in one linedisplay

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions