Round 15: CR015-018 controls and SVG concept
Inventory and scope
round-15-inventory.json records SHA-256 identities of the reviewed final
source set, configured model/manifests and every exported current Need, with
explicit increment/baseline/history dispositions. It includes the full current
concept inventory, not only changed files. Retained unmodified requirement,
case and ADR decisions rely on their existing review records; they are not
bulk reaccepted or claimed as new full-product runtime evidence here. Historical
execution payloads and rounds 1-14 remain immutable evidence. Later occurrence
mode retains its existing deferral and statuses; this round does not accept it.
The substantive review covers all four input obligations, every new derivation, allocation/containment and verifies path, the changed component contracts and their relevant baseline neighborhood. Assessed ordinary documents are Stakeholder requirements, System requirements, Software requirements, System elements, Software elements, Architecture View for System, Architecture View for Software, Behavioral state machines, Internal interfaces and model contract, Technology stack and dependency decisions, Implementation concept and handover, Implementation verification plan, Traceability, Review and scope decisions, Sources and evidence and Project maturity, with their navigation/configuration/build/manifest context. The current ADR chain was checked for retained/superseded scope; this increment accepts STV_ADR_011: Separate exploration, page metadata and SVG capture without superseding earlier accepted choices.
Findings, corrections and closure
Each finding was initially acceptance-blocking for its dependent path. Owner for correction/recheck: Codex under delegated review. All are resolved on 2026-10-25; their original observations are retained here, not erased by the corrections.
STV_REVIEW_015_001 — host activation and mixed state. The original interface
said to invoke a per-Need control, but installed Sphinx-Needs 8.2.0 attaches its
handler to nested arrow spans. A wrapper click can do nothing, and blindly
toggling mixed rows cannot guarantee a bulk target state. Native individual
clicks also did not own the new ARIA synchronization. Affected:
Control rendered page metad... (STV_SWR_069), Accessible view and viewport (STV_SWE_RENDER), Scope bulk metadata command... (STV_TC_SW_054),
Bulk-fold host attributes w... (STV_TC_SY_069), ADR011 and the metadata interface. Resolution: explicitly
activate the displayed host icon only for uniformly opposite states, normalize
mixed rows, and add synchronization-only post-host handling plus keyboard
forwarding. Installed sphinx_needs_collapse.js was inspected: its handler is
$(this).find("span.needs.collapsed, span.needs.visible").click(...).
Closure: requirements, interface, ADR and both tests agree on one handler action,
mixed-state normalization and subsequent individual row/icon/ARIA consistency.
STV_REVIEW_015_002 — initialization order. DOM-ready alone does not express that the host jQuery collapse handlers exist, especially with late rootless page initialization. Same affected page-control path as finding 001. Resolution: window-load plus jQuery-ready gates, already-complete handling and readable disabled state for missing prerequisites; no second visibility toggle handler. Closure: both before/after-load fixtures and rootless pages are explicit in Scope bulk metadata command... (STV_TC_SW_054); the page controller cannot enable prematurely.
STV_REVIEW_015_003 — capture readiness and empty crop. The original capture contract lacked a result for a wholly off-screen workspace and could leave an implementer to wait for fonts then capture a later DOM revision. Affected: Capture a clipped inert vis... (STV_SWR_070), Save and release SVG downlo... (STV_SWR_071), Snapshot XML, clip geometry... (STV_TC_SW_053), Export and save the visible... (STV_TC_SY_067) and the EXPORT interface. Resolution: reject zero-area capture readably without scrolling/downloading; resource/font readiness is a retryable preparation condition, failure is visible, and capture never waits asynchronously then rereads live DOM. Closure: negative/recovery procedures and expected outcomes now state these paths, while immutable one-task capture holds.
STV_REVIEW_015_004 — metadata diagram margins. The retained metadata picture had insufficient space around its upper transition label in standalone rendering. This is a visual-quality correction, not a changed metadata lifecycle. Resolution: add a transparent diagram-bounds frame in detail-metadata.drawio and re-export through installed Draw.io. Closure: re-inspect standalone/embedded rendering and the retained linked target. The prior round-13 source/hash remains historical; this round identifies the corrected picture rather than rewriting that review.
STV_REVIEW_015_005 — review navigation. Round 14 was linked from maturity but missing from the concept-review toctree. Resolution: add its existing page and this round to that index without changing its content. Closure: strict Sphinx navigation/reference build succeeds and historical round content is unchanged.
Semantic traceability and test-case review
Collapse all relationships ... (STV_SHR_058) channels to Reset view-local exploratio... (STV_SWR_066), allocated to Exploration state engine (STV_SWE_STATE) and Accessible view and viewport (STV_SWE_RENDER). Reset state, page caches an... (STV_TC_SW_051) checks pure state/cache/revision behavior and Reset exploration without l... (STV_TC_SY_066) the actual independent-view/card/focus lifecycle. Current roots, cleared page history, cycles, project-entry exceptions and transactional failure are covered. Global collapse is a fresh navigation command, consistent with the retained fresh scene exception in Keep navigation positions s... (STV_SHR_054) and STV_ADR_008: Stable navigation after fresh placement, not a change to stable ordinary group/root toggles. Initially collapse traced o... (STV_SHR_003), Start from the project when... (STV_SHR_047), Select multiple starting ob... (STV_SHR_048) and Select a starting object in... (STV_SHR_053) retain initialization/seed authority; Keep explicitly opened arti... (STV_SHR_057) retains card lifetime.
Save the currently visible ... (STV_SHR_059) derives through Deliver a standalone visibl... (STV_SYS_011) to Capture a clipped inert vis... (STV_SWR_070), Save and release SVG downlo... (STV_SWR_071), Bundle safe export resource... (STV_SWR_072). Rendered detail extraction (STV_SWE_DETAIL_BUILD) and Static bundle emission (STV_SWE_BUNDLE) own output-local bytes and content identity; Visible-area SVG snapshot a... (STV_SWE_EXPORT) owns capture/XML/resources/ download; RENDER owns activation and presentation geometry. Each software allocation is inside an actual parent-system allocation, BUILD or BROWSER. Snapshot XML, clip geometry... (STV_TC_SW_053) reviews capture/serialization/save lifecycle, Embed only safe output-loca... (STV_TC_SW_055) resource safety/identity and Export and save the visible... (STV_TC_SY_067) complete offline visible-area/save fidelity. Their procedures cover normal, negative, capacity, cancellation, recovery, viewport, font and resource paths. Deliver a self-contained do... (STV_SYS_003), Provide original-object ins... (STV_SYS_006), Isolate view sessions (STV_SYS_007), Explore documentation offline (STV_SHR_017), Explore documentation on st... (STV_SHR_018), Keep long tooltips readable... (STV_SHR_033), Explore multiple views inde... (STV_SHR_038), Zoom the traceability view (STV_SHR_039), Pan the traceability view (STV_SHR_040) and Explore a bounded view of a... (STV_SHR_043) retain offline, inspection, isolation, viewport and capacity constraints. Explicit export failure for unavailable/unsafe resources does not waive any live-detail behavior or silently offer a broken successful file.
Configure smaller text in b... (STV_SHR_060) channels to Validate and serialize inde... (STV_SWR_067) and Scale copied detail typogra... (STV_SWR_068). Host model normalization (STV_SWE_MODEL) validates; Extension lifecycle and dir... (STV_SWE_DIRECTIVE) serializes author settings; Hover, persistent details a... (STV_SWE_INSPECT) and RENDER apply independent once-only presentation scales. Validate font configuration... (STV_TC_SW_052) covers input/default/legacy/identity and DOM sizing; Configure and read both det... (STV_TC_SY_068) full readable content, reuse, delayed fonts, scrolling, browser zoom and unaffected source/node typography. Existing Inspect object details on h... (STV_SHR_015), Keep long tooltips readable... (STV_SHR_033), Operate the view using the ... (STV_SHR_034) and Keep explicitly opened arti... (STV_SHR_057) are retained constraints, not weakened by text reduction.
Expand or collapse all Need... (STV_SHR_061) channels to Control rendered page metad... (STV_SWR_069); RENDER owns page-local DOM actions and DIRECTIVE delivery on pages without graph roots. Both cases SW054/SY069 cover mixed states, outside-viewport objects, multiple types, individual operation afterward, absent/unsupported metadata, keyboard/ARIA and exclusion of copied detail/view subtrees. Page metadata is a local browser presentation obligation without a new external system service; this justifies channeling, as for navigation reset and font settings. All allocated software components retain their proper BUILD/BROWSER containment.
The nine new cases have concrete tools/fixtures, procedures and observable
criteria and are accepted as designs. They remain last_result: not_run
without execution links. Existing case/execution ownership, timestamps and latest
results are checked by the full validator; no historical result or requirement
verification flag is promoted. Semantic review does not infer correctness from
the link graph alone. Ordinary graph/keyboard/offline/detail baseline cases stay
in implementation regression scope; this review does not rerun the released
product qualification or claim fresh all-product test execution.
Architecture, feasibility and visual review
The full current diagrams and their containing pages were rendered in installed headless Firefox: system-architecture, software-architecture, state-machine, persistent-details, detail-metadata and view-export, plus architecture-system, architecture-software and state-machine HTML. Exported SVGs and their embedded views were inspected for connector identity, arrowheads, labels and reading scale. The margin issue above was corrected; no remaining ambiguous connector or unrelated-box crossing blocks the reviewed paths. Embedded objects retain direct SVG fallback links and adjacent editable Draw.io sources. The new companion export view extends rather than falsifies the retained nine-component core.
The architecture has explicit data/state/error ownership, output-root resource containment, inert XML composition, local classic-script transport and no runtime fetch/service. Installed manifests retain pinned dependencies and existing legal inputs; no dependency or lock change is introduced by a new native-API module. Primary API evidence and the earlier standalone foreignObject fixture support technology feasibility, not arbitrary host-content fidelity. Full integrated resource/style export remains the first implementation gate, with explicit tests rather than an unresolved technology choice. The safe imported SVG allowlist and readable failure policy are explicit; vector-editor portability and mandatory filesystem pickers are outside the accepted scope.
Acceptance and remaining work
After closure and final checks, delegated acceptance covers exactly:
Deliver a standalone visibl... (STV_SYS_011); Reset view-local exploratio... (STV_SWR_066) through Bundle safe export resource... (STV_SWR_072);
the eight component revisions DIRECTIVE, MODEL, DETAIL_BUILD, BUNDLE, STATE,
RENDER, INSPECT and EXPORT; all nine test-case designs listed above; ADR011;
and the inventoried ordinary concept documents/pictures for this increment.
These are 25 modeled internal/case artifacts plus one ADR, not a new acceptance
of every historical/current Need in the repository. The exact final identities
and individual dispositions are in round-15-inventory.json.
Verification remains not_assessed, new cases remain not_run, product code is unchanged, and the CRs stay accepted rather than implemented. Implementation starts only with separate authority. Use the accepted Implementation concept and handover and canonical case IDs as handover; offline SVG first-slice fidelity, packaging, full regressions and release qualification are execution gates, not open concept findings. Full-graph export, later occurrence mode, native vector-editor editing and new mobile/touch qualification retain their explicit exclusions/deferrals.
Final commands and results are consolidated in Project maturity.