System requirements

System-level behavior, constraints and architecture allocation.

Executable criteria and retained results: Executable requirement coverage and Initial MVP consolidated verification.

System requirement: Author and resolve embedded views STV_SYS_001
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall resolve each RST view invocation against the completed host Needs collection and associate it with a unique view instance and all explicitly selected valid starting objects, or an artificial project-named root linked to the stakeholder requirements when no IDs are supplied. Any explicitly supplied unknown or host-hidden seed shall fail with the invocation source location.

Acceptance criterion: Zero-, one- and multiple-ID invocations resolve independently. Zero IDs selects the project root; multiple valid IDs select every specified object. Any invalid explicit ID fails with the ID, filename and invocation location.

System requirement: Integrate the host data model STV_SYS_002
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall obtain artifact and relationship definitions from the host project and validate supplemental layout and acceptance mappings before generating views.

Acceptance criterion: Two differently named host schemas generate correctly mapped views without duplicate type definitions; an unknown level or missing required mapping fails with its entry path.

System requirement: Deliver a self-contained documentation bundle STV_SYS_003
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall deliver all graph data, detail content and runtime assets required for exploration in the generated documentation bundle without a runtime service or network dependency.

Acceptance criterion: The same output supports navigation and local-object inspection under file URLs with networking disabled and under static HTTP hosting.

System requirement: Expose the complete host trace graph STV_SYS_004
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall make authored relationships between non-hidden objects traversable in either direction while excluding host-hidden objects and incident links and preserving genuinely unresolved target identities and delegating broken-trace build failure to host validation.

Acceptance criterion: A cross-document chain can be followed from either end; a missing target appears as a placeholder and host validation determines overall build failure.

System requirement: Preserve semantic layout STV_SYS_005
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall preserve the configured artifact row order independently of the starting object. Classified test cases and executions use the host model’s resolved rows; a configured legacy test role retains right-side placement.

Acceptance criterion: Software-, test- and execution-seeded views preserve nine-category order and same-row top alignment. Custom hardware rows retain their configured index. Shared identity, finite nonoverlap and endpoint identity hold in both classified-row and legacy-role configurations.

System requirement: Provide original-object inspection STV_SYS_006
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall provide locally rendered Need information and its original documentation location for inspection, using available metadata, the original link and an unavailable-details indication for external Needs without locally rendered bodies.

Acceptance criterion: A locally rendered object on another page has equivalent displayed metadata/body in hover or keyboard details and opens at its original anchor from file and HTTP URLs. An external object without a local body shows metadata, its original link and the unavailable-details indication; widget-specific script behavior is not required. Uncached remote embedded media uses the owner-approved unavailable-offline indication and explicit resource link, without automatic retrieval; local bundled media remains available.

System requirement: Isolate view sessions STV_SYS_007
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed
derives from: STV_SHR_038
refined by: STV_SWR_038
allocated to: STV_SE_BROWSER

The system shall isolate each embedded view’s exploration and viewport state from other views on the same page.

Acceptance criterion: Expanding, zooming and panning one of two views leaves the other unchanged.

System requirement: Bound exploration of large projects STV_SYS_008
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall expose the project graph for exploration while limiting each view to 200 visible node occurrences and committing only transitions that respect that limit.

Acceptance criterion: A tens-of-thousands fixture remains explorable; a transition to 200 succeeds and one to 201 leaves prior state unchanged with an explanation.

System requirement: Deliver the reusable extension STV_SYS_009
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed

The system shall provide an installable extension usable in a separate host project with Python 3.10+, Sphinx 8.1.3 and Sphinx-Needs 8.2.0.

Acceptance criterion: A built wheel installs into a clean host environment and produces an embedded HTML view without copying repository implementation files.

System requirement: Support the initial execution platform STV_SYS_010
status: accepted
tags: release_initial
basis: inferred
evidence: docs/architecture/decisions/STV_ADR_001_static_extension.rst
priority: unassigned
verification_state: passed
derives from: STV_SHR_041
refined by: STV_SWR_041
allocated to: STV_SE_BROWSER

The system shall support the initial release workflow in stable desktop Firefox on Windows.

Acceptance criterion: All in-scope MVP interaction checks pass on recorded stable Firefox and Windows versions against file and static HTTP output.

System requirement: Deliver a standalone visible-area SVG without a runtime service STV_SYS_011
status: accepted
tags: change_increment
basis: owner
evidence: docs/change-requests/STV_CR_016_save-current-view-as-svg.rst
priority: unassigned
verification_state: passed
verified by: STV_TC_SY_067
derives from: STV_SHR_059

The system shall turn a reader-requested visible-area snapshot into a self-contained SVG, including the visible graph and opened detail content, without runtime server calls or access to files outside the documentation output. It shall delegate file location/name and cancellation to browser/OS save behavior, with documented prompt settings where needed.

Acceptance criterion: A saved SVG reopens in the supported browser after the original documentation directory is unavailable, under file and HTTP hosting. It preserves the captured crop and visible content/styles, contains no executable behavior or required external resource requests, and neither cancellation nor failure changes exploration state. Missing required local resources produce a readable export failure rather than a misleading success.