Skip to content

v0.20.0 - First-party UI/UX closed loop (vNext)

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Aug 00:51
· 1 commit to main since this release

v0.20.0 - First-party UI/UX closed loop (vNext)

Released 2026-08-15.

Major: implements the complete vNext capability matrix resolved by Wayfinder
map #23 — interactive requirement shaping, tool-neutral design decisions,
dual-track implementation review, evidence gates, recirculation, and
cross-run learning — delivered as slices S1-S6 in one unified release
(PR #42). Spec authority: docs/specs/ui-ux-vnext/.

Tiered run profiles (process weight scales with consequence)

  • Every run is graded P1 point-fix / P2 standard / P3 full by
    declaration-touch surface, recorded in a mandatory run-profile block at
    the top of plan.md; promotion is automatic, demotion is user-only.
  • P1 covers single-finding repairs (including line-level R2 backfills)
    without opening a shaping session; P3 carries the full gate matrix.

Rule registry and governance

  • skills/design-playbook/references/rules.md: unified first-party
    registry (13 entries — CRAFT-01..08 migrated with zero ID breakage,
    A11Y-01/RESP-01 first-party, I18N/PERF/SEC placeholders), G8-validated at
    product level and (per tier) at run level.
  • craft-guard detector tables migrate atomically to the seven-column
    three-state format; the historical N/A contradiction is fixed by splitting
    applicability from result. Historical run artifacts are never rewritten.
  • rules-governance.jsonl: append-only governance log; promotion to
    machine-enforced and exemptions are user-only decisions.
  • Learning candidates derive purely from run history
    (3 distinct runs, 2 task contexts, 0 unexplained false positives).

Interactive requirement shaping

  • Stateful S0-S6 session model with batched confirmation points
    (question caps, forced-to-assume after two unproductive batches);
    assumed fields age into mandatory questions after two acknowledged runs.
  • Session artifacts are append-only under <run>/shaping/ with an
    alive→archived→discardable lifecycle; the contract stays the sole
    persistent decision authority (zero-breaking v1 extension).

Dual-track review and evidence

  • Product track (per-AC supported/unsupported/unverifiable), interaction
    track (seven dimensions with a strict fact/judgment split — judgment
    findings are advisory and never block without user escalation), and a
    cross-cutting applicability matrix (accessibility + responsive in the
    first version; placeholders never skip silently).
  • Six-block point-back report with coverage statements (G11) and
    five-state×page sampling matrices (required at P3).
  • Manifest entries carry optional method-semantics keys; human-subject
    evidence without population/ethics is quarantined and cannot support a
    pass.

Recirculation machine-checked

  • Repair-round counting with two-round stop → escalated-stop narration
    (verdict values unchanged).
  • G12 tier-boundary gate reuses the G7 contract diff; tier violations
    escalate the run instead of being waivable.
  • R1-R5 routing, DD supersedes re-entry, and baseline-drift re-review
    narrate through run-status with minimal invalidated-evidence sets.

Design decisions (tool-neutral)

  • decision-report deepens into versioned DD entry blocks behind the
    unchanged Fill-facing header; exploration is tiered record/compare/explore
    (R/C/E); providers are replaceable data-contract adapters whose assets
    are reference-only.

Breaking

  • Severity legacy values high (blocking)|high|med|low are no longer
    legal (two-stage migration completed; ADR-0028). Write the axis values
    directly; re-checking pre-vNext run artifacts will correctly fail.

Verification

  • Independent dual-track review (product + interaction + cross-cutting):
    verdict Pass, zero blocking findings; four advisory findings fixed in-PR.
  • Full local matrix green (validate, doctor, run seam, 16 root suites,
    MCP stdio groups, doc links); CI Validate plugin pass; dogfood P3
    fixture passes the full chain under --strict.