Engine BDD inventory (Cucumber)
This page is the inventory and area map for Cucumber feature tests of
@finos/sail-headless-agent. Those scenarios exercise DACP handler behaviour over a messaging
double (MockTransport). They are not FINOS FDC3 conformance toolbox runs.
For live-browser conformance against product hosts (sail-one, sail-finance, sail-v2-web), see
@finos/sail-conformance-harness.
Generated feature inventory
This section is generated from packages/sail-headless-agent/test/features/ — do not hand-edit between the markers. Regenerated by docs prebuild / prestart, or npm run conformance:inventory --workspace=@finos/sail-docs (website/scripts/generate-conformance-inventory.mjs).
22 feature files / 219 scenarios under test/features/ today, split by FDC3 wire version into 11 v2/ (FDC3 2.2, 91 scenarios) and 11 v3/ (FDC3 3.0, 128 scenarios).
v2/ — FDC3 2.2
| Feature file | Scenarios |
|---|---|
test/features/v2/apps.feature | 11 |
test/features/v2/broadcast.feature | 4 |
test/features/v2/disconnect-cleanup.feature | 3 |
test/features/v2/event-listeners.feature | 3 |
test/features/v2/find-intent.feature | 13 |
test/features/v2/heartbeat.feature | 3 |
test/features/v2/intent-result.feature | 4 |
test/features/v2/private-channel.feature | 10 |
test/features/v2/raise-intent-with-context.feature | 9 |
test/features/v2/raise-intent.feature | 18 |
test/features/v2/user-channels.feature | 13 |
Total: 91 scenarios across 11 files.
v3/ — FDC3 3.0
| Feature file | Scenarios |
|---|---|
test/features/v3/apps.feature | 15 |
test/features/v3/broadcast.feature | 12 |
test/features/v3/disconnect-cleanup.feature | 3 |
test/features/v3/event-listeners.feature | 13 |
test/features/v3/find-intent.feature | 13 |
test/features/v3/heartbeat.feature | 3 |
test/features/v3/intent-result.feature | 7 |
test/features/v3/private-channel.feature | 11 |
test/features/v3/raise-intent-with-context.feature | 9 |
test/features/v3/raise-intent.feature | 28 |
test/features/v3/user-channels.feature | 14 |
Total: 128 scenarios across 11 files.
Run (packages/sail-headless-agent/cucumber.yml)
cd packages/sail-headless-agent
npm test # default profile: v2 + v3, 219 scenarios (excludes @failing)
What the v2/ / v3/ split means
test/features/v2/— FDC3 2.2 wire-protocol surface: user/app/private channels, broadcast, event listeners, intents (raise, raise-for-context, find, result), apps (metadata, open, findInstances), heartbeat, and disconnect/cleanup behavior.test/features/v3/— FDC3 3.0 wire-protocol surface covering the same areas, with 3.0-shaped payloads (e.g. richer context/intent metadata) and additional scenarios that only apply under 3.0.
Both trees are run by the default profile in packages/sail-headless-agent/cucumber.yml
(npm test in that package). The generated section above lists the exact scenario counts.
Area traceability (Cucumber BDD)
Status is honest: covered means matching scenarios exist under test/features/v2/ and/or
v3/ and run in CI; partial means real gaps remain (most commonly: Cucumber does not exercise
the live-browser WCP path); missing means no BDD coverage. Paths below are relative to
packages/sail-headless-agent/test/features/.
| Area | Feature file(s) | Status | Notes |
|---|---|---|---|
getInfo / implementation metadata | v2/apps.feature, v3/apps.feature | partial | Core metadata covered here; live toolbox is a separate signal |
| User channels | v2/user-channels.feature, v3/user-channels.feature | covered | List/join/leave/current/displayMetadata |
| Private channels | v2/private-channel.feature, v3/private-channel.feature | covered | Includes grant / AccessDenied paths |
| Context broadcast | v2/broadcast.feature, v3/broadcast.feature | covered | v3 adds app-provided / DA-generated metadata (traceId, …) |
| Context / event listeners | v2/event-listeners.feature, v3/event-listeners.feature | covered | v3 suite is broader |
raiseIntent | v2/raise-intent.feature, v3/raise-intent.feature | covered | v3 includes app-provided intent metadata |
raiseIntentForContext | v2/raise-intent-with-context.feature, v3/raise-intent-with-context.feature | covered | Running/non-running targeting, resolver paths |
findIntent / find-by-context | v2/find-intent.feature, v3/find-intent.feature | covered | Result filters and closed-instance exclusions |
Intent results / getResult | v2/intent-result.feature, v3/intent-result.feature | covered | v3 covers result metadata shapes |
Apps (metadata, open, findInstances) | v2/apps.feature, v3/apps.feature | covered | |
fdc3.close | v3/apps.feature | covered | 3.0-only |
| Disconnect / lifecycle cleanup | v2/disconnect-cleanup.feature, v3/disconnect-cleanup.feature | covered | |
| Heartbeat / liveness | v2/heartbeat.feature, v3/heartbeat.feature | covered | |
| WCP browser app connection | — | missing | Covered by the FINOS toolbox + Playwright harness, not Cucumber |
Related
- Headless agent overview
- Conformance harness — toolbox matrix for product hosts
- Packages overview