Repository navigation
v1.9.0 — Frontend train (KIE meta-row fix + giant-function splits)
Release 1.9.0 notes
Tag: v1.9.0
Date: 2026-09-20
Train: Frontend batch — scope, per-item evidence and acceptance records live in docs/architecture/v1.9-roadmap.md
Version: APP_VERSION 1.8.4 → 1.9.0
Summary
v1.9.0 is a frontend-only batch. S1 fixes the KIE metadata rows shown on non-KIE tasks, S2 splits six giant
functions by module (verbatim moves, zero behaviour change), S3 closes as a conclusion-only evaluation, and S4
wires-or-retires the two registered orphans. No backend contract change. The train deliberately adds no cloud
GPU gate, because it has no GPU-dependent work (recorded as an honest note in the roadmap).
Fixed
- P-007 — non-KIE tasks no longer render KIE metadata. The result panel's
KIE confidence/KIE fields
summary rows now key offkie_confidence_source: the backend guarantees that field is non-empty only when
attempted && succeeded, solayouttasks and theruntime_error/skipped_doc_typefailure paths no longer
show a false0%. The KIE warning block (failure / skip reason) still renders perkieAttempted, because there
it carries real information.
Coverage added in the same batch: vitest 4 states + 1 e2e case, including an e2e mockqualitypreset extension —
the quality panel's visible render path previously had zero e2e coverage.
Removed
- Floating progress card (D11) retired: the
#floatingProgressCardmarkup inindex.htmland itsstyles.css
rules are gone. The card had had no JS driver since v1.8.2 (its module was never imported and never loaded by the
browser) — dead UI. The only user-visible effect is one block of markup that never displayed. modules/utils/geometry.jsretired: its only production importer had already been removed as a dead import in
the v1.8.3 clean-up, and its five geometry helpers had no remaining caller. The unit tests that covered it only
(paper coverage over dead code) were removed with it.
Internal (no product behaviour change)
- Six giant functions split by feature (
result-panels/{text,tables,figures},overlay-render,pipeline/run) —
verbatim moves, zero behaviour change. Thepipelinedomain gains a same-domain siblingtask-socket.jsholding
the WebSocket / fallback-polling implementation (forced by the file line budget; see roadmap §S2 for the ruling). - Governance / CI entries are deliberately not merged into this section (2026-09-20 merge policy: the governance
batch had already been staunched byv1.8.4). The CI and gate changes made during this train (vitest into CI,
lint F6/F7 guards, the tsc evaluation conclusion) are recorded in roadmap §S0 / §S3 and the commit history.
Verification
| Layer | Result |
|---|---|
| vitest | suite runs inside the required lint job; green on the landing tree |
| e2e | Playwright suite green |
| Gate | audit_agent_ops.py 0 error / 0 warning |
The full per-item acceptance command list and the adversarial section are in docs/architecture/v1.9-roadmap.md.
Upgrade / migration
APP_VERSIONis now1.9.0(reported by/healthand as the OpenAPI version).- No schema, API or configuration migration.