Status: planned
Target version: v0.21.1
Owner: core package and adapter-vite package
Make renderer output, metrics, hydration hints, and errors precise enough for build reports, SSG verification, streaming, and future edge runtime entrypoints.
packages/core/src/render-dsd.tspackages/core/src/render-stream.tspackages/core/src/render-nested.tspackages/core/src/errors.tspackages/core/src/types.tspackages/adapter-vite/src/www/dist/dsd-report.jsonwhen produced by build
The current renderer already has useful evidence output, but v0.21.x needs stronger guarantees:
- errors must be typed and actionable;
- recoverable DSD issues must not look the same as hard build failures;
- render metrics must be stable enough for budget gates;
- hydration hints must be traceable to island admission;
- streaming and non-streaming render paths must report compatible information.
Stabilize:
RenderOutputRenderMetricsHydrationHintDsdRenderCollector- render error classes and codes
- build report schema consumed by
dsd:check-report
- Inventory every renderer error shape currently emitted.
- Define a minimal error taxonomy:
- invalid component contract;
- invalid DSD output;
- unsafe template or attribute issue;
- island admission issue;
- adapter resolution issue;
- streaming interruption.
- Give every error a stable code, severity, package owner, and suggested remediation.
- Make
renderDSD()andrenderDSDStream()report compatible metadata where possible. - Decide which report fields are public and which are adapter-internal.
- Add tests that snapshot representative error output without overfitting entire JSON files.
- Update
dsd:check-reportthresholds so known errors are intentional, documented, and finite.
- Error codes are stable public contracts once documented.
- Error messages may improve, but code and severity must not churn.
- Reports must be deterministic across repeated builds.
- Streaming must not erase component-level error context.
- Metrics should be useful for budgets, not just debugging.
renderDSD()andrenderDSDStream()have a documented output contract.dsd:check-reportfails on real regressions instead of accepting unlimited known errors.- Build reports explain route, component, severity, and next action.
- At least one test covers a streaming error path.
- At least one test covers an island admission error path.
git status --short --branch
deno task fmt:check
deno task lint
deno task typecheck
deno test packages/core packages/adapter-vite
deno task build
deno task dsd:check-report
git status --short --branchProceed to SOP-004 when renderer evidence is trustworthy enough to use as a standards conformance signal.