LiveHD TODO

Single hub for all pending work. One bullet per open task below, grouped by topic (Pyrope, Verilog, LiveHD — no open Verilog tasks right now) then by Group N. Each badge links to that task's own page under todo/<topic>/<id>.html.

Dependencies. Items in the same Group can be done in parallel; all letters in Group N must complete before Group N+1 starts. Group letters are shared across the three topics, so cross-topic dependencies stay visible.

Lifecycle. A task page is deleted the moment its work lands — this hub is strictly current work. Conceptual "why/what" lives in the LiveHD & Pyrope docs; agent build/process rules live in AGENTS.md.

Goals (set 2026-07-26). G1 — fast synthesis iteration: ABC attribute annotations leveraging incremental synthesis + LEC, where LEC is always Verilog-vs-Verilog or Pyrope-vs-Pyrope, never source-vs-netlist. G2 — bring Pyrope up clean: translate large Verilog designs to Pyrope, then iterate module-by-module with LEC and cleanup. G3 — incremental assert/assume moving toward SVA (temporal) semantics, where the novelty is very fast assert/assume via incremental reuse and cvc5 feedback. G2 and G3 outrank G1.

What this list is. Every item below is an already-diagnosed gap — it lives on a task page, in a fixme-tagged target, or in a landed-work record. Nothing here is new design; each item names the page that owns it so the work lands there and this list stays a pointer. Ordering is dependency-first inside each tier.

Tier A — blockers shared by G2 and G3 (do these first)

Tier B — G2: Verilog → Pyrope at scale

Tier C — G3: fast incremental assert/assume

Tier D — G1: fast synthesis iteration

Deliberately not on this list (nothing here moves G1–G3 in the near term): 2n LSP phases D–E (only the hover-width bug made it, as R10d), 2p-piper, 3l, 3c, 4c/4e, the Group-5 test/bench reorgs, cleanup, and the research tracks 4f-fluid-lec / 4f-bitwuzla / 3f-fluid. 3p and its prp-tbd-stdlib_import tracker are held back too: a standard library is worth building after R3–R8 settle what translated Pyrope actually looks like. 3f-semdiff's alg=functional n:m matcher is the one judgement call — it would shrink every miter, but R11's cone-scoped cache buys more per unit of work on the same designs, so it waits.

Pre TODO

Ideas to either turn into full todo pages or drop, ordered by date added (dd/mm/yyyy). Nothing pending right now (LEC-FLUID was promoted to 4f-fluid-lec in the 2026-07-10 formal reorg).

Pyrope

TBD features still pending (2026-06-20 audit). Distinct from the A/B lowering defects in 2i-issues, these are Pyrope features that are documented (see docs/pyrope/15-tbd.md and the per-feature pyrope/3f-* pages) but not yet implemented. Each documented TBD was re-tested against a fresh bazel build -c dbg //lhd:lhd; the table is the verdict. The not-done ones (except the two the audit was told to skip — fluid and hierarchical enums) now ship a fail-by-design regression under inou/prp/tests/fixme/, wired as a fixme-tagged prp-tbd-* target (.bazelrc filters -fixme so bazel test //… stays green; clear the filter to see the failure, e.g. bazel test //inou/prp:prp-tbd-temporal_past --test_tag_filters=). Each flips green and sheds its fixme tag once the feature lands.

FeatureDocumentedToday (verified)Regression
Temporal library — minimal core past[n]/rose/fell/stable (the rest — next[n], windowed eventually/always, changed, .[rising]/.[falling]/.[changed] sugar — dropped from scope 2026-07-10; docs to be trimmed)3f-temporal, 09-verification.mdpast[2]lnast-malformed; rose(s)tolg-error "no hardware lowering yet"prp-tbd-temporal_past
Testbench: string-path peek("a/b")/poke("a/b",v)/sigref + force/release09-verification.md, 15-tbd.mdstring-path peek/poke remain unhandled in expr (the instance/step testbench model itself landed)leftover: prp-tbd-testbench_step
Standard library import("prp")13-stdlib.md (no 3f- page)import-no-progress — no prp unit exists; tuple/basic ops then fcall-ufcs-no-self; string helpers silent no-opsprp-tbd-stdlib_import
macro= memory-compiler binding reg ram:[1024]u32:[macro="sram_32kx32"]3f-macro, 08-memories.mdattribute is silently accepted-and-ignored: compiles clean (exit 0), emits the behavioral cgen_memory_1rd_1wr primitive — byte-identical with the attribute removed. No clean compile-failure path.none yet — needs an emitted-Verilog grep harness (assert it instantiates sram_32kx32, not cgen_memory_*), not a compile test
fluid lambdas (valid/retry/fire)3f-fluid, 06d-fluid.mdparses only; no elastic loweringskipped — pre-known TBD excluded from this audit
Hierarchical (nested-tuple) enums03-bundle.md:594undefined-read 'eagle' — see 2i-issues subtask Bskipped — excluded from this audit; tracked as 2i-issues subtask B

LiveHD

Test status

The live suite (bazel test //inou/prp/... //upass/... //lnast/... //pass/...) was fully green at the last reorg snapshot. Doc-described errors that have no negative test yet are tracked in the prp_error_test_coverage note.