Skip to main content

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 fileScenarios
test/features/v2/apps.feature11
test/features/v2/broadcast.feature4
test/features/v2/disconnect-cleanup.feature3
test/features/v2/event-listeners.feature3
test/features/v2/find-intent.feature13
test/features/v2/heartbeat.feature3
test/features/v2/intent-result.feature4
test/features/v2/private-channel.feature10
test/features/v2/raise-intent-with-context.feature9
test/features/v2/raise-intent.feature18
test/features/v2/user-channels.feature13

Total: 91 scenarios across 11 files.

v3/ — FDC3 3.0​

Feature fileScenarios
test/features/v3/apps.feature15
test/features/v3/broadcast.feature12
test/features/v3/disconnect-cleanup.feature3
test/features/v3/event-listeners.feature13
test/features/v3/find-intent.feature13
test/features/v3/heartbeat.feature3
test/features/v3/intent-result.feature7
test/features/v3/private-channel.feature11
test/features/v3/raise-intent-with-context.feature9
test/features/v3/raise-intent.feature28
test/features/v3/user-channels.feature14

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/.

AreaFeature file(s)StatusNotes
getInfo / implementation metadatav2/apps.feature, v3/apps.featurepartialCore metadata covered here; live toolbox is a separate signal
User channelsv2/user-channels.feature, v3/user-channels.featurecoveredList/join/leave/current/displayMetadata
Private channelsv2/private-channel.feature, v3/private-channel.featurecoveredIncludes grant / AccessDenied paths
Context broadcastv2/broadcast.feature, v3/broadcast.featurecoveredv3 adds app-provided / DA-generated metadata (traceId, …)
Context / event listenersv2/event-listeners.feature, v3/event-listeners.featurecoveredv3 suite is broader
raiseIntentv2/raise-intent.feature, v3/raise-intent.featurecoveredv3 includes app-provided intent metadata
raiseIntentForContextv2/raise-intent-with-context.feature, v3/raise-intent-with-context.featurecoveredRunning/non-running targeting, resolver paths
findIntent / find-by-contextv2/find-intent.feature, v3/find-intent.featurecoveredResult filters and closed-instance exclusions
Intent results / getResultv2/intent-result.feature, v3/intent-result.featurecoveredv3 covers result metadata shapes
Apps (metadata, open, findInstances)v2/apps.feature, v3/apps.featurecovered
fdc3.closev3/apps.featurecovered3.0-only
Disconnect / lifecycle cleanupv2/disconnect-cleanup.feature, v3/disconnect-cleanup.featurecovered
Heartbeat / livenessv2/heartbeat.feature, v3/heartbeat.featurecovered
WCP browser app connection—missingCovered by the FINOS toolbox + Playwright harness, not Cucumber