[dashboard-language] Reactive core

Daily Dashboard Language Renderer · pull request · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

published Aug 28, 2026, 11:15 AM · updated Aug 28, 2026, 1:03 PM

Caution

Protected files were modified in this change.
This pull request is in request_review mode and requires explicit human scrutiny before merge.

Protected files: README.md, package-lock.json, package.json

Milestone

Reactive core

Specification coverage

  • Target architecture slice: tiny reactive core inspired by VanJS
  • Verified behavior for state, derived values, effects, disposal, and keyed list reconciliation
  • Requirement identifiers covered by tests in this increment:
    • DLS-CONF-004

What shipped

  • Added pages/dashboard/src/reactive.js with deterministic reactive state, derived values, effect reruns, and disposal.
  • Added pages/dashboard/src/dom.js with a small hyperscript-style DOM builder, attribute/dataset handling, and keyed list reconciliation supporting updates, removals, and reordering.
  • Added unit tests for state updates, derived recomputation, effect disposal, DOM creation, and keyed list behavior.
  • Added a browser e2e spec covering stable keyed rendering in the browser harness.
  • Updated pages/dashboard/PLAN.md and pages/dashboard/README.md for the shipped slice.

Quality gates

  • npm install
  • npm run typecheck
  • npm run lint
  • npm test
  • npm run test:e2e ⚠️ blocked by infrastructure

Blockers

  • Playwright browser launch is blocked in this runner because the Chromium executable is not installed (browserType.launch: Executable doesn't exist). The e2e tests are present, but browser execution could not be completed in this environment.

Next milestone

Document model and validation

Generated by 🧩 Daily Dashboard Language Renderer · pi · gpt54 · 26.8 AIC · ⌖ 12.3 AIC · ⊞ 5.2K ·