System Requirements
August 6, 2026 · View on GitHub
Introduction
OpenFastTrace users create and maintain specification documents directly in their development projects. This work requires careful handling of specification item IDs, trace links, and document structure across Markdown and reStructuredText files. When authoring support is missing, users must rely on memory, manual searches, and repeated checks against external documentation. This slows down routine work and increases the risk of inconsistent or hard-to-maintain specifications.
The IntelliJ plugin makes authoring OpenFastTrace documents easier in the environment where users already inspect and change their project files. Users recognize OpenFastTrace elements quickly, find specification items across the project, navigate directly to the item they need, and open the official user guide without leaving the IDE. This improves efficiency for individual contributors and teams alike, especially when they work with larger requirement sets or exchange specification documents across project boundaries.
Notation
This document uses OpenFastTrace specification items to express product features, user requirements, scenarios, and design items. Each specification item has a unique identifier in the form <artifact-type>~<name>~<revision>.
In this document, feature items use the artifact type feat, user requirements use req, scenarios use scn, and design items use dsn. The item name describes the subject of the item in a project-wide unique form. The revision distinguishes semantically different versions of the same item.
Informative text explains background, scope, and intent. Specification items define the normative content of the document. Relationships between items are expressed with OpenFastTrace keywords such as Needs and Covers.
Terms and Abbreviations
IntelliJ Platform IDE
An integrated development environment based on the IntelliJ Platform. In this document, this includes IntelliJ IDEA and other compatible JetBrains IDEs that can host the plugin.
IntelliJ Test Runner UI
The IntelliJ Platform view that shows hierarchical test execution results with suites, test entries, pass/fail status, progress, and source navigation.
MVP
Minimum Viable Product. The smallest useful product scope that delivers the essential user value intended for the first release.
OFT
Short form of OpenFastTrace.
OpenFastTrace
A requirement tracing suite that uses specification documents and coverage markers to relate features, requirements, design, implementation, and tests.
Plugin
The OpenFastTrace IntelliJ plug-in described by this specification.
RST
Short form of reStructuredText.
Specification Item
An OpenFastTrace artifact with a unique identifier that represents normative content in a specification or a coverage marker in another project artifact.
User Roles
The plugin addresses users who author, review, and maintain OpenFastTrace documents as part of their regular project work. In smaller projects one person often combines several of these roles.
This document uses the general term user whenever a feature does not depend on a specific role. This keeps role-independent requirements concise while the role definitions still define the intended audience and project context.
Requirement Engineers
Requirement engineers define and maintain system requirements, refine incoming stakeholder needs, and keep specification items consistent across documents. They benefit from quick recognition of OpenFastTrace syntax, a project-wide view of specification items, and direct navigation to referenced items when reviewing or updating requirement structures.
Software Developers
Software developers work with specification documents while implementing and clarifying features. They use the plugin to understand which specification items exist in the project, locate the relevant item quickly, and keep authoring work close to the source code and tests they already work with in the IDE.
Quality Engineers
Quality engineers inspect specification documents to understand intended behavior, review completeness, and prepare verification activities. They benefit from being able to discover specification items across the project and navigate to the exact item that defines the behavior they need to verify.
Technical Writers
Technical writers contribute to specification documents, user-facing descriptions, and other structured project documentation. They benefit from clear visual feedback when authoring OpenFastTrace content and from direct access to the official user guide when they need to confirm wording or document conventions.
Features
This chapter describes the product features at a level suitable for product communication. Detailed user needs and constraints are refined in the requirement items that cover these features.
Syntax Highlighting
feat~syntax-highlighting~1
The plugin highlights OpenFastTrace content in supported specification documents and source code comments. Users recognize OpenFastTrace syntax directly in the editor.
Needs: req
Go to Specification Item
feat~go-to-specification-item~1
The plugin lets users search specification items by name across the project and navigate from OpenFastTrace references in the editor. Users can select a matching item from the result list or invoke Go To on a specification reference or coverage-tag side and open the corresponding definition in the editor.
Needs: req
Open OFT User Guide
feat~open-oft-user-guide~1
The plugin lets users open the OpenFastTrace user guide from within the IDE. Users can access the guide without leaving their current work context.
Needs: req
OFT Live Templates
feat~oft-live-templates~1
The plugin bundles OpenFastTrace live templates for common specification items. Users can insert OFT item skeletons directly in the IDE instead of copying and adapting existing text manually.
Needs: req
OFT Reference Completion
feat~oft-reference-completion~1
The plugin suggests existing OpenFastTrace specification item IDs while users fill Covers: entries in supported specification documents and coverage-tag targets in supported source comments. Users can complete references from indexed declarations instead of memorizing or manually searching for IDs.
Needs: req
Run OFT Trace
feat~run-oft-trace~3
The plugin lets users run an OpenFastTrace trace for an IntelliJ project and inspect the result inside the IDE using the IntelliJ Test Runner UI or plain text output.
Needs: req
OFT Run Configurations
feat~oft-run-configurations~2
The plugin lets users define multiple OpenFastTrace run configurations with different scan parameters and filters. It provides pre-configured templates for common scanning scenarios.
Needs: req
OFT Test Runner Trace Results
feat~oft-test-runner-trace-results~1
The plugin lets users inspect OpenFastTrace run-configuration results in IntelliJ's built-in test runner UI. Users can review source-file grouped specification items and trace links with pass/fail status and navigate from the structured result tree to the corresponding source locations.
Needs: req
User Requirements
Syntax Highlighting
The following requirements refine the syntax-highlighting feature into user-visible capabilities.
Markdown Syntax Highlighting
req~markdown-syntax-highlighting~1
The plugin highlights OpenFastTrace specification items in Markdown documents. Users distinguish OpenFastTrace syntax from surrounding Markdown text while reading or editing a specification.
Covers:
feat~syntax-highlighting~1
Needs: scn
RST Syntax Highlighting
req~rst-syntax-highlighting~1
The plugin highlights OpenFastTrace specification items in RST documents. Users distinguish OpenFastTrace syntax from surrounding RST text while reading or editing a specification.
Covers:
feat~syntax-highlighting~1
Needs: scn
Coverage Tag Syntax Highlighting
req~coverage-tag-syntax-highlighting~1
The plugin highlights OpenFastTrace coverage tags in supported source code comments. Users distinguish OFT coverage tags from ordinary comment text while reading or editing source files.
Covers:
feat~syntax-highlighting~1
Needs: scn
Go to Specification Item
The following requirements refine the 'Go to Specification' Item feature into user-visible capabilities.
Go to Symbol for Specification Items
req~go-to-symbol-for-specification-items~1
The plugin contributes OpenFastTrace specification item declarations to Go to Symbol.
Rationale:
Users can search specification items by full ID and see matching declarations in the result list.
Covers:
feat~go-to-specification-item~1
Needs: scn
Recognize Markdown Specification Item Declaration Variants
req~recognize-markdown-specification-item-declaration-variants~1
The plugin recognizes an OpenFastTrace specification item declaration in a Markdown document both when the full OFT item ID appears as the plain declaration line and when the full OFT item ID is enclosed in single backticks on that declaration line.
Rationale:
Users can choose either Markdown style without losing declaration-based search and navigation.
Covers:
feat~go-to-specification-item~1
Needs: scn
Open Specification Item from Go to Symbol
req~open-specification-item-from-go-to-symbol~1
The plugin opens the selected OpenFastTrace specification item from the Go to Symbol result list in the editor at the declaration of that item. Users can jump from the result list to the defining item ID of the selected specification item.
Covers:
feat~go-to-specification-item~1
Needs: scn
Open Specification Item from Coverage Definition
req~open-specification-item-from-coverage-definition~1
The plugin opens the covered OpenFastTrace specification item when a user invokes Go To Declaration on an OFT item ID under Covers: in a supported specification document.
Covers:
feat~go-to-specification-item~1
Needs: scn
Stay on Specification Item Declaration on Go To Declaration
req~stay-on-specification-item-declaration-on-go-to-declaration~1
The plugin keeps the user on the current OpenFastTrace specification item declaration when a user invokes Go To Declaration on the declared item ID itself. Users can distinguish the declaration from coverage-providing occurrences of the same item.
Covers:
feat~go-to-specification-item~1
Needs: scn
Show Covering Occurrences from Specification Item Declaration
req~show-covering-occurrences-from-specification-item-declaration~1
The plugin shows the coverage-providing occurrences of an OpenFastTrace specification item when a user invokes Go To Implementations on the declared item ID. The result includes supported Covers: entries in specification documents and OFT coverage tags in source files.
Covers:
feat~go-to-specification-item~1
Needs: scn
Open Specification Item from Coverage Tag Left Side
req~open-specification-item-from-coverage-tag-left-side~1
The plugin resolves the covering OpenFastTrace specification item when a user invokes Go To Declaration on the left side of an OFT coverage tag in a supported file and opens that item's declaration in the specification document. If the left side omits the name and revision, the plugin resolves the effective ID by copying the missing parts from the covered ID on the right side of the arrow.
Covers:
feat~go-to-specification-item~1
Needs: scn
Open Specification Item from Coverage Tag Right Side
req~open-specification-item-from-coverage-tag-right-side~1
The plugin opens the covered OpenFastTrace specification item when a user invokes Go To on the right side of an OFT coverage tag in a supported file.
Covers:
feat~go-to-specification-item~1
Needs: scn
Open OFT User Guide
The following requirements refine the Open OFT User Guide feature into user-visible capabilities.
Open OFT User Guide in Help Menu
req~open-oft-user-guide-in-help-menu~1
The plugin adds an action for the OpenFastTrace user guide to the global Help menu. Users can find the user guide entry in the established IDE location for help content.
Covers:
feat~open-oft-user-guide~1
Needs: scn
Open OFT User Guide in Integrated Web View
req~open-oft-user-guide-in-integrated-web-view~1
The plugin opens the OpenFastTrace user guide from GitHub in an integrated web view tab. Users can read the guide inside the IDE.
Covers:
feat~open-oft-user-guide~1
Needs: scn
OFT Live Templates
The following requirements refine the OFT live-template feature into user-visible capabilities.
Bundle OFT Live Templates
req~bundle-oft-live-templates~1
The plugin bundles an OpenFastTrace live-template group into the IDE installation. Users can access OFT live templates without importing template files manually.
Covers:
feat~oft-live-templates~1
Needs: scn
Provide OFT Scenario Live Template
req~provide-oft-scenario-live-template~1
The bundled OpenFastTrace live-template group includes a scenario template for scn items. Users can insert a scenario skeleton with placeholders for the scenario title, item name, given-when-then text, and covered requirement.
Covers:
feat~oft-live-templates~1
Needs: scn
OFT Reference Completion
The following requirements refine the OFT reference-completion feature into user-visible capabilities.
Complete Specification Item IDs in Covers Section
req~complete-specification-item-ids-in-covers-section~1
The plugin suggests existing OpenFastTrace specification item IDs when a user invokes completion while editing an OFT item ID under Covers: in a supported specification document. The suggestion list is ranked first by exact prefix match against the full ID, then by prefix match against the item name, then by substring match against the item name, and finally by prefix match against the artifact type.
Covers:
feat~oft-reference-completion~1
Needs: scn
Suppress Specification Item ID Completion in Markdown Link Targets Inside Covers Entries
req~suppress-specification-item-id-completion-in-markdown-link-targets-inside-covers-entries~1
The plugin does not suggest existing OpenFastTrace specification item IDs when a user invokes completion inside the destination part of a Markdown link nested in a Covers: entry. Users can keep the link destination available for Markdown anchor completion without OFT IDs taking over the popup.
Covers:
feat~oft-reference-completion~1
Needs: scn
Suppress Specification Item ID Completion in Markdown Link Targets Inside Covers Entries
scn~suppress-specification-item-id-completion-in-markdown-link-targets-inside-covers-entries~1
Given a supported specification document contains a Covers: entry with a Markdown link and the caret is inside the link destination
When a user invokes completion there
Then the plugin does not suggest OpenFastTrace specification item IDs inside that Markdown link destination
Covers:
req~suppress-specification-item-id-completion-in-markdown-link-targets-inside-covers-entries~1
Needs: dsn
Complete Specification Item IDs in Coverage Tag Target
req~complete-specification-item-ids-in-coverage-tag-target~1
The plugin suggests existing OpenFastTrace specification item IDs when a user invokes completion while editing the target side of a likely OFT coverage tag in a supported source-code comment. Coverage-tag target completion is available for the default file extensions supported by the upstream OpenFastTrace Tag Importer. The completion context requires a left-hand artifact type and an arrow before the caret so suggestions appear for coverage-tag targets instead of ordinary comment text. The suggestion list is ranked first by exact prefix match against the full ID, then by prefix match against the item name, then by substring match against the item name, and finally by prefix match against the artifact type.
Covers:
feat~oft-reference-completion~1
Needs: scn
Run OFT Trace
The following requirements refine the Run OFT Trace feature into user-visible capabilities.
Trace Open Project from Project Root
req~trace-open-project-from-project-root~1
The plugin can trace an IntelliJ project by using the project directory as the default OpenFastTrace input root.
Covers:
feat~run-oft-trace~3
Needs: scn
Trace Selected Project Resources
req~trace-selected-project-resources~1
The plugin can trace selected project resources instead of the whole opened project directory. Users can restrict the OpenFastTrace scan to the resources they intend to include in the trace.
Covers:
feat~run-oft-trace~3
Needs: scn
Include IntelliJ Source Directories in Selected-Resource Trace
req~include-intellij-source-directories-in-selected-resource-trace~1
When selected-resource tracing is active, the plugin can include source directories known to IntelliJ in the effective OpenFastTrace input set. Users do not need to discover and configure ordinary source roots by hand.
Covers:
feat~run-oft-trace~3
Needs: scn
Include IntelliJ Test Directories in Selected-Resource Trace
req~include-intellij-test-directories-in-selected-resource-trace~1
When selected-resource tracing is active, the plugin can include test directories known to IntelliJ in the effective OpenFastTrace input set. Users do not need to discover and configure ordinary test roots by hand.
Covers:
feat~run-oft-trace~3
Needs: scn
Add Project-Relative Paths to Selected-Resource Trace
req~add-project-relative-paths-to-selected-resource-trace~1
When selected-resource tracing is active, the plugin lets users add additional trace inputs through a multi-line text field in the run configuration editor. Each non-empty line specifies one file or directory path relative to the opened project directory that OpenFastTrace should scan. If the user has not changed that setting, the field contains exactly one default entry: doc/.
Covers:
feat~run-oft-trace~3
Needs: scn
Run Trace Project in Background
req~run-trace-project-in-background~1
The plugin runs the OpenFastTrace project trace in a background task with IDE progress reporting. Users can start a trace without blocking the editor UI while the trace is running.
Covers:
feat~run-oft-trace~3
Needs: scn
Show Trace Result in Test Runner UI by Default
req~show-trace-result-in-test-runner-ui-by-default~2
The plugin shows the trace result in IntelliJ's Test Runner UI by default. Users can inspect the project trace as structured source-file suites, specification-item tests, and trace-link sub-tests.
Covers:
feat~run-oft-trace~3feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Output in IDE Output Window
req~show-trace-output-in-ide-output-window~2
The plugin can show the OpenFastTrace text trace output in an IDE output sub-window and keep that output available after the trace finishes. Users who select the plain text result view can inspect the plain text result inside the IDE without looking at log files or an external terminal.
Covers:
feat~run-oft-trace~3feat~oft-run-configurations~2
Needs: scn
Open Specification Item from Trace Output Window
req~open-specification-item-from-trace-output-window~1
The plugin makes OpenFastTrace specification item IDs in the trace output window navigable to their declarations in the opened project. Users can jump from a reported item in the trace output directly to the defining specification item without searching manually.
Covers:
feat~run-oft-trace~3
Needs: scn
OFT Run Configurations
req~openfasttrace-run-configurations~1
The plugin provides a dedicated run configuration type for OpenFastTrace. Users can create, name, and save multiple trace configurations to switch quickly between different scan scopes and filters.
Covers:
feat~oft-run-configurations~2
Needs: scn
OpenFastTrace Run Configuration Templates
req~openfasttrace-run-configuration-templates~1
The plugin provides pre-configured templates when creating new OpenFastTrace run configurations. These templates allow users to quickly set up common scanning scenarios. The following templates are available:
- User requirements: Scans
doc/, excludes source directories, filters for artifact types:feat, req, scn, bconstr. - Design and above: Scans
doc/, excludes source directories, filters for artifact types:feat, req, scn, bconstr, arch, dsn, constr. - Typical project: Scans
doc/and all project source directories, with no artifact type filtering. - Unfiltered: Scans the entire project (
.) with no filters.
Covers:
feat~oft-run-configurations~2
Needs: scn
Filter Trace by Artifact Types
req~filter-trace-by-artifact-types~1
When using an OpenFastTrace run configuration, the plugin lets users filter the trace results by artifact types. Users can specify a comma-separated list of types (e.g., req, dsn) to focus the trace on specific document layers.
Covers:
feat~oft-run-configurations~2
Needs: scn
Filter Trace by Tags
req~filter-trace-by-tags~1
When using an OpenFastTrace run configuration, the plugin lets users filter the trace results by tags. Users can specify a comma-separated list of tags to focus the trace on tagged specification items and can select an Include untagged items checkbox below the Tags field to also include specification items without tags.
Covers:
feat~oft-run-configurations~2
Needs: scn
Select Trace Result View in Run Configuration
req~select-trace-result-view-in-run-configuration~2
The OpenFastTrace run configuration includes a result-view option for choosing plain text output or the IntelliJ Test Runner UI.
Rationale:
Users get structured trace inspection by default, while users who prefer the existing text report can opt into plain text output per run configuration.
Covers:
feat~oft-run-configurations~2feat~oft-test-runner-trace-results~1
Needs: scn
Plugin Distribution
The following requirements refine how the plugin distribution appears in JetBrains plugin management surfaces.
Plugin Logo for JetBrains Plugin Surfaces
req~plugin-logo-for-jetbrains-plugin-surfaces~1
The plugin distribution includes JetBrains-compliant OpenFastTrace plugin logo assets that IntelliJ Platform IDEs and JetBrains Marketplace can display for the plugin. Users can recognize the plugin in plugin-management surfaces.
Rationale:
JetBrains plugin surfaces use packaged plugin logo resources to distinguish plugins in lists and detail views. Providing suitable OpenFastTrace logo assets improves recognition without changing plugin behavior.
Needs: scn
Marketplace Metadata for JetBrains Plugin Surfaces
req~marketplace-metadata-for-jetbrains-plugin-surfaces~1
The plugin distribution includes Marketplace-facing descriptor metadata that IntelliJ Platform IDEs and JetBrains Marketplace can display for the plugin. Developers and other OpenFastTrace users can understand the plugin purpose, maintained project links, vendor identity, compatible IDE baseline, and current release notes before installing or updating the plugin.
Rationale:
JetBrains plugin surfaces extract key listing information from the packaged plugin descriptor. Clear and maintained metadata helps users judge whether the plugin fits their OpenFastTrace workflow without changing plugin runtime behavior.
Needs: scn
Run Configuration Presentation
The following requirements refine how OpenFastTrace run configurations appear in the IDE run/debug UI.
OpenFastTrace Run Configuration Icon
req~openfasttrace-run-configuration-icon~1
The plugin shows an OpenFastTrace-specific icon for the OpenFastTrace run configuration type. Users can distinguish OpenFastTrace trace configurations from generic run actions in the run/debug UI.
Covers:
feat~oft-run-configurations~2
Needs: scn
OFT Test Runner Trace Results
The following requirements refine the OFT test-runner trace-results feature into user-visible capabilities.
Show Trace Source Files as Test Runner Suites
req~show-trace-source-files-as-test-runner-suites~1
The IntelliJ Test Runner UI result view shows each traced source file as a test runner suite. For traced source files below the opened project directory, the suite label uses the project-local path, for example doc/system_requirements.md.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Specification Items as Test Runner Tests
req~show-trace-specification-items-as-test-runner-tests~1
The IntelliJ Test Runner UI result view shows each traced specification item as a test entry below the suite for the source file that contains that item.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Specification Item Title in Test Runner UI
req~show-specification-item-title-in-test-runner-ui~2
The IntelliJ Test Runner UI result view uses the item's title as the visible specification-item name when the imported OpenFastTrace item provides a non-blank title. Items without a title show the full specification item ID as the visible name.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Specification Item ID in Test Runner Details
req~show-specification-item-id-in-test-runner-details~1
The IntelliJ Test Runner UI result view shows the full specification item ID and trace status in the details for specification-item entries, even when the entry is passed.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Sort Specification Items in Test Runner UI
req~sort-specification-items-in-test-runner-ui~1
Within each source-file suite, the IntelliJ Test Runner UI result view sorts specification item entries by artifact type, then by the name part of the specification item ID, then by revision number.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Links as Test Runner Sub-Tests
req~show-trace-links-as-test-runner-sub-tests~1
The IntelliJ Test Runner UI result view shows each incoming or outgoing trace link as a sub-test below the connected specification item for which the link is shown.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Specification Item Status in Test Runner UI
req~show-specification-item-status-in-test-runner-ui~2
The IntelliJ Test Runner UI result view includes a specification item's trace status in brackets in the item entry only when the item status is not clean, for example (uncovered) or (defective).
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Link Status in Test Runner UI
req~show-trace-link-status-in-test-runner-ui~2
The IntelliJ Test Runner UI result view includes a trace link's status in brackets in the link entry only when the link status is not clean, for example (orphaned).
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Link Direction in Test Runner UI
req~show-trace-link-direction-in-test-runner-ui~1
The IntelliJ Test Runner UI result view marks each trace link entry as incoming or outgoing. Users can distinguish links that cover the specification item from links that the specification item covers.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Unicode Trace Link Direction in Test Runner UI
req~show-unicode-trace-link-direction-in-test-runner-ui~1
The IntelliJ Test Runner UI result view uses Unicode arrows in trace-link entries. Incoming links use ←, outgoing links use →, and links without a single incoming or outgoing direction use ↔.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Map Specification Item Trace Status to Test Runner Status
req~map-specification-item-trace-status-to-test-runner-status~1
The IntelliJ Test Runner UI result view treats a clean specification item as a passed test and a defective specification item as a failed test.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Map Trace Link Status to Test Runner Status
req~map-trace-link-status-to-test-runner-status~1
The IntelliJ Test Runner UI result view treats a clean incoming or outgoing trace link as a passed sub-test and a defective incoming or outgoing trace link as a failed sub-test.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Roll Up Source File Suite Trace Status
req~roll-up-source-file-suite-trace-status~1
The IntelliJ Test Runner UI result view marks a source-file suite as failed if any specification item or trace-link sub-test below that source file is failed. It marks the source-file suite as passed only if all descendants are clean.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Roll Up Top-Level Trace Status
req~roll-up-top-level-trace-status~1
The IntelliJ Test Runner UI result view marks the top-level trace suite as failed if any source-file suite contains a failed descendant. It marks the top-level trace suite as passed only if all source-file suites are clean.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Specification Item Defect Details in Test Runner UI
req~show-specification-item-defect-details-in-test-runner-ui~1
The IntelliJ Test Runner UI result view shows a clear details text for failed specification-item entries. The details identify the specification item, its trace status, and the reason the item is defective.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Link Defect Details in Test Runner UI
req~show-trace-link-defect-details-in-test-runner-ui~1
The IntelliJ Test Runner UI result view shows a clear details text for failed trace-link entries. The details identify the owning specification item, the linked item, the link direction, the trace-link status, and the reason that status is defective.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Trace Link ID Details in Test Runner UI
req~show-trace-link-id-details-in-test-runner-ui~1
The IntelliJ Test Runner UI result view shows the owning specification item ID, linked specification item ID, link direction, and trace-link status in the details for trace-link entries, even when the entry is passed.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Navigate from Test Runner Specification Items
req~navigate-from-test-runner-specification-items~1
Users can navigate from a specification item entry in the IntelliJ Test Runner UI result view to the corresponding specification item declaration in the opened project.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Navigate from Test Runner Trace Links
req~navigate-from-test-runner-trace-links~1
Users can navigate from a trace-link entry in the IntelliJ Test Runner UI result view to the corresponding specification item declaration or source-side coverage tag in the opened project.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Navigate from Test Runner Source Files
req~navigate-from-test-runner-source-files~1
Users can navigate from a source-file suite entry in the IntelliJ Test Runner UI result view to the corresponding file in the opened project.
Covers:
feat~oft-test-runner-trace-results~1
Needs: scn
Show Scanned Base Directory in Trace Output Window
req~show-scanned-base-directory-in-trace-output-window~1
When a plain text project trace starts, the plugin writes the resolved project base directory that OpenFastTrace scans into the IDE output sub-window. Users can confirm the actual trace input root directly from the trace output.
Covers:
feat~run-oft-trace~3
Needs: scn
Show Resolved Trace Inputs in Trace Output Window
req~show-resolved-trace-inputs-in-trace-output-window~1
When a plain text project trace starts with selected-resource tracing, the plugin writes the resolved files and directories that it passes to OpenFastTrace into the IDE output sub-window. Users can confirm the actual configured trace scope directly from the trace output.
Covers:
feat~run-oft-trace~3
Needs: scn
Report Invalid Project Path before Trace Start
req~report-invalid-project-path-before-trace-start~1
The plugin reports when the opened project does not resolve to a valid local path before starting the trace. Users can see why the trace cannot start without inspecting plugin logs.
Covers:
feat~run-oft-trace~3
Needs: scn
Show Failing Trace Result in IDE Output Window
req~show-failing-trace-result-in-ide-output-window~1
When plain text output is selected, the plugin shows failing OpenFastTrace executions through the same IDE output flow as successful traces, including the text output and the failing result. Users can inspect trace failures without switching to plugin logs or an external terminal.
Covers:
feat~run-oft-trace~3
Needs: scn
Show Defect Count for Unclean Trace Chain in IDE Output Window
req~show-defect-count-for-unclean-trace-chain-in-output-window~1
The plugin preserves the OpenFastTrace plain-text defect summary for an unclean trace chain in the IDE output window, including the reported total-item count and defect count. Users can verify how many trace issues OpenFastTrace found directly from the text result.
Covers:
feat~run-oft-trace~3
Needs: scn
Scenarios
Syntax Highlighting
The following scenarios describe the happy path for syntax highlighting.
Highlight Markdown Specification Item
scn~highlight-markdown-specification-item~1
Given a user opens a Markdown document that contains a valid OFT specification item When the document is shown in the editor Then the OFT specification item ID and OFT keywords are highlighted differently from surrounding Markdown text.
Covers:
req~markdown-syntax-highlighting~1
Needs: dsn
Ignore Invalid Markdown Specification Item
scn~ignore-invalid-markdown-specification-item~1
Given a user opens a Markdown document that contains text resembling an OFT specification item with an invalid revision such as feat~foobar~I
When the document is shown in the editor
Then the invalid text is not highlighted as a valid OFT specification item.
Covers:
req~markdown-syntax-highlighting~1
Needs: dsn
Tolerate Incomplete Markdown Specification Item
scn~tolerate-incomplete-markdown-specification-item~1
Given a user edits a Markdown document that contains an incomplete OFT specification item such as feat~foobar~
When the document is shown in the editor
Then the document remains visible and editable while the incomplete text is present.
Covers:
req~markdown-syntax-highlighting~1
Needs: dsn
Highlight RST Specification Item
scn~highlight-rst-specification-item~1
Given a user opens an RST document that contains a valid OFT specification item When the document is shown in the editor Then the OFT specification item ID and OFT keywords are highlighted differently from surrounding RST text.
Covers:
req~rst-syntax-highlighting~1
Needs: dsn
Ignore Invalid RST Specification Item
scn~ignore-invalid-rst-specification-item~1
Given a user opens an RST document that contains text resembling an OFT specification item with an invalid revision such as feat~foobar~I
When the document is shown in the editor
Then the invalid text is not highlighted as a valid OFT specification item.
Covers:
req~rst-syntax-highlighting~1
Needs: dsn
Tolerate Incomplete RST Specification Item
scn~tolerate-incomplete-rst-specification-item~1
Given a user edits an RST document that contains an incomplete OFT specification item such as feat~foobar~
When the document is shown in the editor
Then the document remains visible and editable while the incomplete text is present.
Covers:
req~rst-syntax-highlighting~1
Needs: dsn
Highlight Coverage Tag in Source Comment
scn~highlight-coverage-tag-in-source-comment~1
Given a user opens a supported source file that contains an OFT coverage tag inside a comment When the document is shown in the editor Then the OFT coverage tag is highlighted differently from surrounding comment text.
Covers:
req~coverage-tag-syntax-highlighting~1
Needs: dsn
Ignore Invalid Coverage Tag in Source Comment
scn~ignore-invalid-coverage-tag-in-source-comment~1
Given a user opens a supported source file that contains text resembling an OFT coverage tag with an invalid revision such as [impl->feat~foobar~I]
When the document is shown in the editor
Then the invalid text is not highlighted as a valid OFT coverage tag.
Covers:
req~coverage-tag-syntax-highlighting~1
Needs: dsn
Tolerate Incomplete Coverage Tag in Source Comment
scn~tolerate-incomplete-coverage-tag-in-source-comment~1
Given a user edits a supported source file that contains an incomplete OFT coverage tag such as [impl->feat~foobar~
When the document is shown in the editor
Then the document remains visible and editable while the incomplete text is present.
Covers:
req~coverage-tag-syntax-highlighting~1
Needs: dsn
Go to Specification Item
The following scenarios describe the happy path for searching declarations and navigating between declarations and coverage occurrences.
Show Specification Item in Go to Symbol
scn~show-specification-item-in-go-to-symbol~1
Given a project contains the OpenFastTrace specification item req~foobar~1
When a user invokes Go to Symbol and searches for req~foobar~1
Then the result list contains the declaration of req~foobar~1 and does not list coverage occurrences under Covers: or in source-code coverage tags.
Covers:
req~go-to-symbol-for-specification-items~1
Needs: dsn
Show Markdown Declaration Variants in Go to Symbol
scn~show-markdown-declaration-variants-in-go-to-symbol~1
Given a project contains the Markdown specification item declarations req~plain_markdown~1 and `req~quoted_markdown~1`
When a user invokes Go to Symbol and searches for req~plain_markdown~1 or req~quoted_markdown~1
Then the result list contains the declaration of the searched item for both declaration styles.
Covers:
req~recognize-markdown-specification-item-declaration-variants~1
Needs: dsn
Open Specification Item from Go to Symbol
scn~open-specification-item-from-go-to-symbol~1
Given a project contains the OpenFastTrace specification item req~foobar~1
When a user invokes Go to Symbol, searches for req~foobar~1, and selects the matching specification item from the result list
Then the editor opens the selected specification item at the declaration of req~foobar~1
Covers:
req~open-specification-item-from-go-to-symbol~1
Needs: dsn
Open Specification Item from Search Everywhere
scn~open-specification-item-from-search-everywhere~1
Given a project contains the OpenFastTrace specification item req~foobar~1
When a user invokes Search Everywhere, switches to the Symbols tab, searches for req~foobar~1, and selects the matching specification item from the result list
Then the editor opens the selected specification item at the declaration of req~foobar~1
Covers:
req~go-to-symbol-for-specification-items~1req~open-specification-item-from-go-to-symbol~1
Needs: dsn
Open Specification Item from Coverage Definition
scn~open-specification-item-from-coverage-definition~1
Given a project contains the specification items impl~openfasttrace_navigation_design~1 and req~openfasttrace_navigation_target~1, and impl~openfasttrace_navigation_design~1 contains Covers: with the entry req~openfasttrace_navigation_target~1
When a user invokes Go To Declaration on req~openfasttrace_navigation_target~1 under Covers:
Then the editor opens req~openfasttrace_navigation_target~1 at its declaration.
Covers:
req~open-specification-item-from-coverage-definition~1
Needs: dsn
Stay on Specification Item Declaration on Go To Declaration
scn~stay-on-specification-item-declaration-on-go-to-declaration~1
Given a project contains the specification item req~openfasttrace_navigation_target~1
When a user places the caret on the declared item ID req~openfasttrace_navigation_target~1 in its own header and invokes Go To Declaration
Then the editor keeps the caret on that declaration and does not navigate to a coverage occurrence.
Covers:
req~stay-on-specification-item-declaration-on-go-to-declaration~1
Needs: dsn
Open Specification Item from Coverage Tag Left Side
scn~open-specification-item-from-coverage-tag-left-side~1
Given a project contains the specification items impl~openfasttrace_navigation_target~1 and req~openfasttrace_navigation_target~1, and a supported source file contains the OFT coverage tag [impl->req~openfasttrace_navigation_target~1]
When a user invokes Go To Declaration on impl on the left side of the coverage tag
Then the editor opens impl~openfasttrace_navigation_target~1 at its definition by copying the missing name and revision from the covered ID on the right side.
Covers:
req~open-specification-item-from-coverage-tag-left-side~1
Needs: dsn
Open Specification Item from Coverage Tag Right Side
scn~open-specification-item-from-coverage-tag-right-side~1
Given a project contains the specification item req~openfasttrace_navigation_target~1, and a supported source file contains the OFT coverage tag [impl->req~openfasttrace_navigation_target~1]
When a user invokes Go To Declaration on req~openfasttrace_navigation_target~1 on the right side of the coverage tag
Then the editor opens req~openfasttrace_navigation_target~1 at its definition.
Covers:
req~open-specification-item-from-coverage-tag-right-side~1
Needs: dsn
Show Covering Occurrences from Specification Item Declaration
scn~show-covering-occurrences-from-specification-item-declaration~1
Given a project contains the declared specification item req~openfasttrace_navigation_target~1, a Covers: entry that references req~openfasttrace_navigation_target~1, and a supported source file with an OFT coverage tag that references req~openfasttrace_navigation_target~1
When a user places the caret on the declared item ID req~openfasttrace_navigation_target~1 in its own header and invokes Go To Implementations
Then the IDE shows the coverage-providing occurrences of req~openfasttrace_navigation_target~1, including the Covers: entry and the supported source-code coverage tag, instead of reopening the declaration
Covers:
req~show-covering-occurrences-from-specification-item-declaration~1
Needs: dsn
OFT Reference Completion
The following scenarios describe completion support while editing OFT references in Covers: sections and coverage-tag targets. Markdown declaration ID completion is described in the feature block below.
Markdown Specification Item ID Completion
feat~markdown-specification-item-id-completion~1
The plugin suggests existing OpenFastTrace specification item IDs while users edit the actual declaration ID field in supported Markdown specification documents. Users can complete declaration anchors from indexed declarations.
Needs: req
Complete Markdown Specification Item ID in Declaration ID Field
req~complete-markdown-specification-item-ids-in-declaration-id-field~1
The plugin suggests existing OpenFastTrace specification item IDs while users invoke completion in the actual specification item ID field of a Markdown declaration.
Covers:
feat~markdown-specification-item-id-completion~1
Needs: scn
Complete Markdown Specification Item ID in Declaration ID Field
scn~complete-markdown-specification-item-id-in-declaration-id-field~1
Given a project contains declared OpenFastTrace specification items and a user edits the actual ID field of a Markdown specification item declaration When the user types a partial specification item ID and invokes completion Then the IDE suggests existing declared specification item IDs from the project index and orders the suggestion list by full-ID prefix match, then name-prefix match, then name-substring match, and finally artifact-type prefix match
Covers:
req~complete-markdown-specification-item-ids-in-declaration-id-field~1
Needs: dsn
Complete Specification Item ID in Covers Section
scn~complete-specification-item-id-in-covers-section~1
Given a project contains declared OpenFastTrace specification items and a user edits a Covers: entry in a supported specification document
When the user types a partial specification item ID and invokes completion
Then the IDE suggests existing declared specification item IDs from the project index and orders the suggestion list by full-ID prefix match, then name-prefix match, then name-substring match, and finally artifact-type prefix match
Covers:
req~complete-specification-item-ids-in-covers-section~1
Needs: dsn
Complete Specification Item ID in Coverage Tag Target
scn~complete-specification-item-id-in-coverage-tag-target~1
Given a project contains declared OpenFastTrace specification items and a user edits the target side of an OFT coverage tag candidate such as [impl->dsn~openfasttrace<caret>] in a comment of a file whose extension is supported by the upstream OpenFastTrace Tag Importer
When the user invokes completion
Then the IDE suggests existing declared specification item IDs from the project index and orders the suggestion list by full-ID prefix match, then name-prefix match, then name-substring match, and finally artifact-type prefix match
Covers:
req~complete-specification-item-ids-in-coverage-tag-target~1
Needs: dsn
Complete Specification Item ID in Spaced Coverage Tag Target
scn~complete-specification-item-id-in-spaced-coverage-tag-target~1
Given a project contains declared OpenFastTrace specification items and a user edits the target side of an OFT coverage tag candidate with optional spaces around the arrow such as [impl -> dsn~openfasttrace<caret>] in a comment of a file whose extension is supported by the upstream OpenFastTrace Tag Importer
When the user invokes completion
Then the IDE suggests existing declared specification item IDs from the project index as it does for the compact arrow spelling
Covers:
req~complete-specification-item-ids-in-coverage-tag-target~1
Needs: dsn
Complete Specification Item ID in Incomplete Coverage Tag Target
scn~complete-specification-item-id-in-incomplete-coverage-tag-target~1
Given a project contains declared OpenFastTrace specification items and a user edits the target side of an incomplete OFT coverage tag candidate such as [impl->dsn~openfasttrace<caret> in a comment of a file whose extension is supported by the upstream OpenFastTrace Tag Importer
When the user invokes completion before typing the closing bracket
Then the IDE suggests existing declared specification item IDs from the project index while leaving the incomplete tag editable
Covers:
req~complete-specification-item-ids-in-coverage-tag-target~1
Needs: dsn
Suppress Coverage Tag Target Completion Outside Target Context
scn~suppress-coverage-tag-target-completion-outside-target-context~1
Given a user invokes completion before the coverage-tag arrow, after an already closed coverage tag, outside a comment, inside a string literal, or in an unsupported file type When the completion context is evaluated Then the plugin does not add OpenFastTrace specification item ID suggestions for coverage-tag target completion
Covers:
req~complete-specification-item-ids-in-coverage-tag-target~1
Needs: dsn
Complete Specification Item ID in Active Live Template Covers Field
scn~complete-specification-item-id-in-active-live-template-covers-field~1
Given a project contains declared OpenFastTrace specification items and a user expands a bundled OFT live template whose active COVERED placeholder is under Covers:
When the user types a partial specification item ID in that placeholder and invokes completion before leaving live-template mode
Then the IDE suggests existing declared specification item IDs from the project index in the standard completion popup.
Covers:
req~complete-specification-item-ids-in-covers-section~1
Needs: dsn
Open OFT User Guide
The following scenarios describe the happy path for opening the OpenFastTrace user guide from the IDE.
Show OFT User Guide in Help Menu
scn~show-oft-user-guide-in-help-menu~1
Given the OpenFastTrace plugin is installed in the IDE When a user opens the global Help menu Then the Help menu contains an action for the OpenFastTrace user guide
Covers:
req~open-oft-user-guide-in-help-menu~1
Needs: dsn
Open OFT User Guide in Integrated Web View
scn~open-oft-user-guide-in-integrated-web-view~1
Given the OpenFastTrace plugin is installed in the IDE When a user invokes the OpenFastTrace user guide action from the global Help menu Then the IDE opens the OpenFastTrace user guide GitHub page in an integrated web view tab
Covers:
req~open-oft-user-guide-in-integrated-web-view~1
Needs: dsn
OFT Live Templates
The following scenarios describe how bundled OFT live templates become available and how the scenario template is inserted.
Show OFT Live Templates in Live Template Settings
scn~show-oft-live-templates-in-live-template-settings~1
Given the OpenFastTrace plugin is installed in the IDE
When a user opens the IDE live-template settings
Then the settings contain an OpenFastTrace live-template group with the bundled OFT templates
Covers:
req~bundle-oft-live-templates~1
Needs: dsn
Insert OFT Scenario Live Template
scn~insert-oft-scenario-live-template~1
Given the OpenFastTrace plugin is installed and a user edits an OFT specification document in a live-template context
When the user expands the scn live template
Then the IDE inserts an OFT scenario skeleton with placeholders for the title, item name, Given, When, Then, and covered requirement
Covers:
req~provide-oft-scenario-live-template~1
Needs: dsn
Run OFT Trace
The following scenarios describe the trace action flow for the opened IntelliJ project.
Run Trace Project in Background
scn~run-trace-project-in-background~2
Given an IntelliJ project is open and its project directory is available as a local file-system path When a user starts an OpenFastTrace trace Then the plugin starts an OpenFastTrace trace for that project directory in a background task with visible IDE progress instead of blocking the editor UI
Covers:
req~trace-open-project-from-project-root~1req~run-trace-project-in-background~1
Needs: dsn
Show Trace Result in Test Runner UI by Default
scn~show-trace-result-in-test-runner-ui-by-default~2
Given an IntelliJ project is open, its configured trace inputs are valid, and the OFT trace completes When a user starts an OpenFastTrace trace Then the IDE shows the trace result in the IntelliJ Test Runner UI
Covers:
req~show-trace-result-in-test-runner-ui-by-default~2
Needs: dsn
Trace Selected Project Resources
scn~trace-selected-project-resources~1
Given an IntelliJ project is open and the OpenFastTrace run configuration is configured for selected-resource tracing When a user starts an OpenFastTrace trace Then the plugin starts the trace by passing only the resolved selected resources to OpenFastTrace instead of the whole project directory
Covers:
req~trace-selected-project-resources~1req~run-trace-project-in-background~1
Needs: dsn
Include IntelliJ Source Directories in Selected-Resource Trace
scn~include-intellij-source-directories-in-selected-resource-trace~1
Given an IntelliJ project is open, selected-resource tracing is active, and the source-directory option is enabled When a user starts an OpenFastTrace trace Then the plugin includes the IntelliJ source directories in the effective OpenFastTrace input set
Covers:
req~include-intellij-source-directories-in-selected-resource-trace~1
Needs: dsn
Include IntelliJ Test Directories in Selected-Resource Trace
scn~include-intellij-test-directories-in-selected-resource-trace~1
Given an IntelliJ project is open, selected-resource tracing is active, and the test-directory option is enabled When a user starts an OpenFastTrace trace Then the plugin includes the IntelliJ test directories in the effective OpenFastTrace input set
Covers:
req~include-intellij-test-directories-in-selected-resource-trace~1
Needs: dsn
Add Project-Relative Paths to Selected-Resource Trace
scn~add-project-relative-paths-to-selected-resource-trace~1
Given an IntelliJ project is open, selected-resource tracing is active, and the OpenFastTrace run configuration contains additional project-relative file or directory paths When a user starts an OpenFastTrace trace Then the plugin resolves those project-relative files and directories against the opened project and includes them in the effective OpenFastTrace input set
Covers:
req~add-project-relative-paths-to-selected-resource-trace~1
Needs: dsn
Show Per-Line Validation for Additional Trace Paths
scn~show-per-line-validation-for-additional-trace-paths~1
Given an IntelliJ project is open, selected-resource tracing is active, and the user edits the multi-line field for additional project-relative trace paths When one or more non-empty lines do not resolve to valid files or directories below the opened project directory Then the run configuration shows a non-blocking validation hint for each invalid line below the field so the user can see which configured paths are not found.
Covers:
req~add-project-relative-paths-to-selected-resource-trace~1
Needs: dsn
Reject Trace without Valid Project Path
scn~reject-trace-without-valid-project-path~1
Given an IntelliJ project is open but the plugin cannot resolve a valid local project directory for tracing When a user starts an OpenFastTrace trace Then the plugin reports that the trace cannot be started because the project path is missing or invalid
Covers:
req~report-invalid-project-path-before-trace-start~1
Needs: dsn
Show Successful Trace Output in IDE Output Window
scn~show-successful-trace-output-in-ide-output-window~2
Given an IntelliJ project is open, its configured trace inputs are valid, an OpenFastTrace run configuration uses the plain text result view, and the OFT trace completes successfully
When a user runs that configuration
Then the IDE shows the resulting OpenFastTrace text report in an output sub-window that remains available after the trace completes
Covers:
req~show-trace-output-in-ide-output-window~2
Needs: dsn
Open Specification Item from Trace Output Window
scn~open-specification-item-from-trace-output-window~1
Given an IntelliJ project is open, the trace output window shows an OFT specification item ID from the opened project, and that item is declared in a supported specification document When a user activates that specification item ID in the trace output window Then the IDE opens the declaration of that specification item in the editor
Covers:
req~open-specification-item-from-trace-output-window~1
Needs: dsn
Show Scanned Base Directory in Trace Output Window
scn~show-scanned-base-directory-in-trace-output-window~1
Given an IntelliJ project is open and its project directory resolves to a valid local OFT trace input When a user runs a trace using the plain text result view Then the IDE output for that trace starts with the resolved base directory that the plugin passes to OpenFastTrace
Covers:
req~show-scanned-base-directory-in-trace-output-window~1
Needs: dsn
Show Resolved Trace Inputs in Trace Output Window
scn~show-resolved-trace-inputs-in-trace-output-window~1
Given an IntelliJ project is open, selected-resource tracing is active, and the plugin resolved the configured trace files and directories successfully When a user runs a trace using the plain text result view Then the IDE output for that trace lists the resolved files and directories that the plugin passes to OpenFastTrace
Covers:
req~show-resolved-trace-inputs-in-trace-output-window~1
Needs: dsn
Show Failing Trace Output in IDE Output Window
scn~show-failing-trace-output-in-ide-output-window~1
Given an IntelliJ project is open, its configured trace inputs are valid, a trace uses the plain text result view, and the OFT trace reports a failure When the trace completes Then the IDE shows the OpenFastTrace text output together with the failing result through the same trace output flow
Covers:
req~show-failing-trace-result-in-ide-output-window~1
Needs: dsn
Show Defect Count for Unclean Trace Chain in IDE Output Window
scn~show-defect-count-for-unclean-trace-chain-in-output-window~1
Given an IntelliJ project is open, its configured trace inputs are valid, a trace uses the plain text result view, and the OFT trace finds an unclean feature-to-requirement-to-design chain with missing implementation coverage When the trace completes Then the IDE output contains the OpenFastTrace plain-text summary line with the reported total-item count and defect count for that unclean chain
Covers:
req~show-defect-count-for-unclean-trace-chain-in-output-window~1
Needs: dsn
Use Run Configuration Templates
scn~use-run-configuration-templates~1
Given an IntelliJ project is open When a user creates a new OpenFastTrace run configuration from a template (e.g., "User Requirements") Then the IDE creates the configuration with the template's pre-configured scope and filters.
Covers:
req~openfasttrace-run-configuration-templates~1
Needs: dsn
Create and Run OpenFastTrace Run Configuration
scn~create-and-run-openfasttrace-run-configuration~1
Given an IntelliJ project is open
When a user creates a new OpenFastTrace run configuration, names it "Trace Design", selects "Selected resources", enables "Source roots", and enters "doc/spec/" as an additional path
Then the IDE saves the configuration and, when the user runs it, the plugin executes the trace with the configured inputs and shows the result in the output window.
Covers:
req~openfasttrace-run-configurations~1
Needs: dsn
Filter Run Configuration by Artifact Types
scn~filter-run-configuration-by-artifact-types~1
Given an IntelliJ project is open and an OpenFastTrace run configuration is configured with artifact type filters "dsn, constr"
When a user runs that configuration
Then the plugin passes the artifact type filters to OpenFastTrace and the resulting trace output contains only the filtered item types.
Covers:
req~filter-trace-by-artifact-types~1
Needs: dsn
Filter Run Configuration by Tags
scn~filter-run-configuration-by-tags~1
Given an IntelliJ project is open and an OpenFastTrace run configuration is configured with tag filters "mvp"
When a user runs that configuration
Then the plugin passes the tag filter to OpenFastTrace and the resulting trace output contains only items matching that tag.
Covers:
req~filter-trace-by-tags~1
Needs: dsn
Filter Run Configuration by Untagged Items
scn~filter-run-configuration-by-untagged-items~1
Given an IntelliJ project is open and an OpenFastTrace run configuration has the Include untagged items checkbox selected
When a user runs that configuration
Then the plugin passes the untagged-item filter to OpenFastTrace and the resulting trace output contains only specification items without tags.
Covers:
req~filter-trace-by-tags~1
Needs: dsn
Test Runner as Default Run Configuration Result View
scn~test-runner-as-default-run-configuration-result-view~1
Given an IntelliJ project is open and an OpenFastTrace run configuration has no explicit result-view selection
When a user runs that configuration
Then the plugin shows the trace result in the IntelliJ Test Runner UI
Covers:
req~select-trace-result-view-in-run-configuration~2
Needs: dsn
Select Plain Text Trace Result View
scn~select-plain-text-trace-result-view~1
Given an IntelliJ project is open and a user edits an OpenFastTrace run configuration
When the user selects plain text output as the result view and runs the configuration
Then the plugin saves that selection and shows the trace result in the existing plain text output view
Covers:
req~select-trace-result-view-in-run-configuration~2req~show-trace-output-in-ide-output-window~2
Needs: dsn
Select Test Runner Trace Result View
scn~select-test-runner-trace-result-view~1
Given an IntelliJ project is open and a user edits an OpenFastTrace run configuration
When the user selects the IntelliJ Test Runner UI as the result view and runs the configuration
Then the plugin saves that selection and shows the trace result in the IntelliJ Test Runner UI
Covers:
req~select-trace-result-view-in-run-configuration~2
Needs: dsn
Show Plugin Logo in JetBrains Plugin Surfaces
scn~show-plugin-logo-in-jetbrains-plugin-surfaces~1
Given a user installs the OpenFastTrace plugin distribution in an IntelliJ Platform IDE
When the IDE displays the plugin in Settings | Plugins, or JetBrains Marketplace displays the plugin after publication
Then the surface can load an OpenFastTrace plugin logo from packaged META-INF SVG assets that are designed for JetBrains plugin-logo sizes and light/dark backgrounds
Covers:
req~plugin-logo-for-jetbrains-plugin-surfaces~1
Needs: dsn
Show Marketplace Metadata in JetBrains Plugin Surfaces
scn~show-marketplace-metadata-in-jetbrains-plugin-surfaces~1
Given a maintainer builds the OpenFastTrace plugin distribution with the project Gradle build
When an IntelliJ Platform IDE displays the built plugin in Settings | Plugins, or JetBrains Marketplace displays the plugin after publication
Then the surface can display maintained Marketplace-facing plugin metadata from the packaged plugin descriptor
Covers:
req~marketplace-metadata-for-jetbrains-plugin-surfaces~1
Needs: dsn
Show OpenFastTrace Icon for Run Configurations
scn~show-openfasttrace-icon-for-run-configurations~1
Given an IntelliJ project is open
When a user creates or views an OpenFastTrace run configuration in the run/debug UI
Then the IDE shows an OpenFastTrace-specific icon for that configuration type instead of the generic execute icon
Covers:
req~openfasttrace-run-configuration-icon~1
Needs: dsn
Show Trace Source Files as Test Runner Suites
scn~show-trace-source-files-as-test-runner-suites~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains specification items from supported source files
When the trace completes
Then the test runner tree contains one suite per source file and labels source files below the opened project directory with project-local paths
Covers:
req~show-trace-source-files-as-test-runner-suites~1
Needs: dsn
Show Trace Specification Items as Test Runner Tests
scn~show-trace-specification-items-as-test-runner-tests~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains specification items from supported source files
When the trace completes
Then the test runner tree contains one test entry per specification item below the suite for the source file that contains that item
Covers:
req~show-trace-specification-items-as-test-runner-tests~1
Needs: dsn
Show Specification Item Title in Test Runner UI
scn~show-specification-item-title-in-test-runner-ui~2
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a specification item with a title
When the trace completes
Then the test runner tree shows the title as the visible specification-item name and omits the full specification item ID from the tree label
Covers:
req~show-specification-item-title-in-test-runner-ui~2
Needs: dsn
Show Specification Item ID in Test Runner Details
scn~show-specification-item-id-in-test-runner-details~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a specification item
When the user selects that specification item in the test runner tree
Then the detail view shows the full specification item ID and trace status
Covers:
req~show-specification-item-id-in-test-runner-details~1
Needs: dsn
Sort Specification Items in Test Runner UI
scn~sort-specification-items-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and one source-file suite contains multiple specification items
When the trace completes
Then the specification item entries in that source-file suite are ordered by artifact type, ID name part, and revision number
Covers:
req~sort-specification-items-in-test-runner-ui~1
Needs: dsn
Show Trace Links as Test Runner Sub-Tests
scn~show-trace-links-as-test-runner-sub-tests~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and a traced specification item has incoming or outgoing trace links
When the trace completes
Then the test runner tree shows each incoming or outgoing trace link as a sub-test below that specification item
Covers:
req~show-trace-links-as-test-runner-sub-tests~1
Needs: dsn
Show Specification Item Status in Test Runner UI
scn~show-specification-item-status-in-test-runner-ui~2
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a specification item
When the trace completes
Then the specification item entry shows the item's trace status in brackets only when the item status is not clean
Covers:
req~show-specification-item-status-in-test-runner-ui~2
Needs: dsn
Show Trace Link Status in Test Runner UI
scn~show-trace-link-status-in-test-runner-ui~2
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains an incoming or outgoing trace link
When the trace completes
Then the trace-link sub-test shows the link status in brackets only when the link status is not clean
Covers:
req~show-trace-link-status-in-test-runner-ui~2
Needs: dsn
Show Trace Link Direction in Test Runner UI
scn~show-trace-link-direction-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains specification items with incoming or outgoing trace links
When the trace completes
Then each trace-link sub-test shows whether the link is incoming or outgoing
Covers:
req~show-trace-link-direction-in-test-runner-ui~1
Needs: dsn
Show Unicode Trace Link Direction in Test Runner UI
scn~show-unicode-trace-link-direction-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains incoming and outgoing trace links
When the trace completes
Then the trace-link sub-tests use Unicode arrows for the visible link direction
Covers:
req~show-unicode-trace-link-direction-in-test-runner-ui~1
Needs: dsn
Map Specification Item Trace Status to Test Runner Status
scn~map-specification-item-trace-status-to-test-runner-status~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains clean and defective specification items
When the trace completes
Then clean specification items are shown as passed tests and defective specification items are shown as failed tests
Covers:
req~map-specification-item-trace-status-to-test-runner-status~1
Needs: dsn
Mark Transitive Defects in Test Runner
scn~mark-transitive-defects-in-test-runner~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains defective specification items
When the trace completes
Then the node name of specification items that are identified as transitive defects start with "↳"
And the failure description calls the failure a transitive error
And the failure description tells users to fix the specification items this one depends on.
Covers:
req~map-specification-item-trace-status-to-test-runner-status~1
Needs: dsn
Map Trace Link Status to Test Runner Status
scn~map-trace-link-status-to-test-runner-status~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains clean and defective incoming or outgoing trace links
When the trace completes
Then clean trace links are shown as passed sub-tests and defective trace links are shown as failed sub-tests
Covers:
req~map-trace-link-status-to-test-runner-status~1
Needs: dsn
Roll Up Source File Suite Trace Status
scn~roll-up-source-file-suite-trace-status~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and a source-file suite contains at least one failed specification item or trace-link sub-test
When the trace completes
Then the source-file suite is shown as failed
Covers:
req~roll-up-source-file-suite-trace-status~1
Needs: dsn
Roll Up Top-Level Trace Status
scn~roll-up-top-level-trace-status~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and at least one source-file suite contains a failed descendant
When the trace completes
Then the top-level trace suite is shown as failed
Covers:
req~roll-up-top-level-trace-status~1
Needs: dsn
Show Specification Item Defect Details in Test Runner UI
scn~show-specification-item-defect-details-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a defective specification item
When the user selects that specification item in the test runner tree
Then the detail view explains why the specification item is defective
Covers:
req~show-specification-item-defect-details-in-test-runner-ui~1
Needs: dsn
Show Trace Link Defect Details in Test Runner UI
scn~show-trace-link-defect-details-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a defective trace link
When the user selects that trace link in the test runner tree
Then the detail view explains why the trace link is defective
Covers:
req~show-trace-link-defect-details-in-test-runner-ui~1
Needs: dsn
Show Trace Link ID Details in Test Runner UI
scn~show-trace-link-id-details-in-test-runner-ui~1
Given an OpenFastTrace run configuration uses the IntelliJ Test Runner UI result view and the trace result contains a trace link
When the user selects that trace link in the test runner tree
Then the detail view shows the owning specification item ID, linked specification item ID, link direction, and trace-link status
Covers:
req~show-trace-link-id-details-in-test-runner-ui~1
Needs: dsn
Navigate from Test Runner Specification Items
scn~navigate-from-test-runner-specification-items~1
Given an IntelliJ project is open and the test runner tree shows an OpenFastTrace specification item entry from that project When a user activates source navigation for that specification item entry Then the IDE opens the corresponding specification item declaration in the editor
Covers:
req~navigate-from-test-runner-specification-items~1
Needs: dsn
Navigate from Test Runner Trace Links
scn~navigate-from-test-runner-trace-links~1
Given an IntelliJ project is open and the test runner tree shows an OpenFastTrace trace-link entry from that project When a user activates source navigation for that trace-link entry Then the IDE opens the corresponding specification item declaration or source-side coverage tag in the editor
Covers:
req~navigate-from-test-runner-trace-links~1
Needs: dsn
Navigate from Test Runner Source Files
scn~navigate-from-test-runner-source-files~1
Given an IntelliJ project is open and the test runner tree shows an OpenFastTrace source-file suite entry from that project When a user activates source navigation for that source-file suite entry Then the IDE opens the corresponding source file in the editor
Covers:
req~navigate-from-test-runner-source-files~1
Needs: dsn