Repository navigation
v2.4.1 — Query builder hardening and release discipline
ProcFlow v2.4.1 — Query builder hardening and release discipline
Released as the first patch after the v2.4.0 query builder. No analysis
semantics changed: this release hardens the builder, commits its browser
suite, fixes an overlay redraw defect, and makes release documentation
verifiable in CI.
Highlights
- Query engine hardening. Shortest-path enumeration is iterative, so a
1,000-table declared chain cannot exhaust the call stack. A scale fixture
asserts 999 joins, 998 bridges, and deterministic plan and SQL output. - Plan-edge highlighting fix. The overlay redraw after a pick was deferred
torequestAnimationFrame, which can be starved in headless and off-screen
contexts; only a pre-plan resize draw could run, leaving every edge dimmed
even though the plan was correct. Query-state changes now draw synchronously;
animation frames still coalesce drag redraws. - Panel corrections. Excluding a problem table now prunes its sorts (not
just its picks); the clipboard fallback is shared by both pages; the dropdown
teach flow explains that the same table on both sides creates a self join. - Panel structure. Pure DOM builders moved to
src/ui/erd-query-view.ts
(panel 1,145 → 812 lines; view 376 lines) with no behavior change. - Accessibility and keyboard. One concise status announcement replaces
live-announcing the whole SQL and plan; the floating window is a labelled
dialog; Q toggles query mode; Escape cancels teaching without clearing
the diagram selection. - Committed browser suite.
tests/erd-ui.htmldriveserd.htmlwith 49
interaction checks (query mode, picking, join and problem cards, teaching,
self joins, options, highlighting, resize, Find, only-used filter), and the
Firefox smoke now loads both pages. - Release discipline.
package-lock.jsontrackspackage.json; the
changelog, README, release index, and lockfile version are guarded in CI;
docs/RELEASES.mddocuments the verified tag-and-asset flow. - Documentation.
docs/QUERY_BUILDER.mddeep dive, ADR-001 for the
declared-evidence query model, and a browser-suite cookbook plus module
header convention indocs/DEVELOPMENT.md. - CI actions updated (
actions/checkout,actions/setup-node).
Accuracy and limits
- No analysis semantics changed. Joins still use declared foreign-key evidence
only; taught joins and self-join copies remain labelled not declared in the
plan and SQL; the generated SQL stays read-only. - Query picks and options remain session state; only ERD layouts persist
(opt-in).
Verification
The final local verification recorded for this release includes:
- golden browser assertions on
tests/index.htmlpassing (221/221), including
the query-builder engine suite with the 1,000-table scale fixture; - the ERD query UI suite passing (49/49 over HTTP), and the Firefox smoke page
passing 10/10 critical paths; npm run typecheck,npm run build,npm run test:file,npm run metrics,
npm run package:smoke, andnpm run benchmarkpassing;- runtime archive structure and local-file startup smoke passing
(procflow-v2.4.1.zip).
Upgrade and distribution
The runtime is self-contained. Use npm run package:runtime to produce the
versioned ZIP and verify .release/SHA256SUMS.txt before distributing it.
Layouts and layout files saved by earlier releases remain readable.