Class BowireRecording

Namespace
Kuestenlogik.Bowire.Mocking
Assembly
Kuestenlogik.Bowire.dll

One named recording — an ordered sequence of captured invocations produced by the Bowire UI's recorder and later replayed by the mock server.

public sealed class BowireRecording
Inheritance
BowireRecording
Inherited Members

Constructors

BowireRecording()

public BowireRecording()

Properties

Attack

When true, this recording is a security-test probe (a "vulnerability template" in the docs/architecture/security-testing.md ADR), not a captured fixture. The bowire scan subcommand picks these up; the mock-server replay path explicitly skips them so an attack template never accidentally serves traffic. Optional; default false preserves backwards-compat with every pre-v1.4 recording.

[JsonPropertyName("attack")]
public bool Attack { get; set; }

Property Value

bool

CreatedAt

[JsonPropertyName("createdAt")]
public long CreatedAt { get; set; }

Property Value

long

Description

[JsonPropertyName("description")]
public string Description { get; set; }

Property Value

string

Id

[JsonPropertyName("id")]
public string Id { get; set; }

Property Value

string

Name

[JsonPropertyName("name")]
public string Name { get; set; }

Property Value

string

RecordingFormatVersion

Format version the recording was written with. The mock-server loader refuses any version it wasn't built for.

[JsonPropertyName("recordingFormatVersion")]
public int? RecordingFormatVersion { get; set; }

Property Value

int?

SchemaSnapshot

Frozen snapshot of the effective frame-semantics annotations active at record-time — populated by Phase-5 captures so a replayed recording mounts the same widgets the original session showed, even if the local annotation store has drifted since. Optional: recordings made before Phase 5 leave this null and the workbench falls back to the live annotation store on load (same behaviour as pre-v1.3).

[JsonPropertyName("schemaSnapshot")]
public BowireRecordingSchemaSnapshot? SchemaSnapshot { get; set; }

Property Value

BowireRecordingSchemaSnapshot

Steps

[JsonPropertyName("steps")]
public IList<BowireRecordingStep> Steps { get; init; }

Property Value

IList<BowireRecordingStep>

Vulnerability

Identifying + classification metadata for the vulnerability the template probes for. Required when Attack is true, ignored otherwise.

[JsonPropertyName("vulnerability")]
public AttackVulnerability? Vulnerability { get; set; }

Property Value

AttackVulnerability

VulnerableWhen

Predicate-tree that, when matched against the response of the probe (the recording's first step), identifies the target as vulnerable. Required when Attack is true.

[JsonPropertyName("vulnerableWhen")]
public AttackPredicate? VulnerableWhen { get; set; }

Property Value

AttackPredicate