Class SchemaHintsFile

Namespace
Kuestenlogik.Bowire.Semantics
Assembly
Kuestenlogik.Bowire.dll

On-disk shape of bowire.schema-hints.json (project file) and ~/.bowire/schema-hints.json (user file). The two files share the same schema by design — the frame-semantics-framework ADR pins them to be byte-for-byte the same format so a user-local file can be promoted into a project file with a copy.

public sealed class SchemaHintsFile
Inheritance
SchemaHintsFile
Inherited Members

Remarks

The format groups annotations under (service, method) first, then by discriminator value under the "types" map (with "*" as the literal wildcard for single-type methods). Each terminal entry is a json-path → semantic-kind string pair. Reads tolerate unknown keys at every level so future framework extensions don't break older readers.

Constructors

SchemaHintsFile()

public SchemaHintsFile()

Fields

CurrentVersion

The current on-disk format version.

public const int CurrentVersion = 1

Field Value

int

Properties

Schemas

One entry per (service, method) pair.

[JsonPropertyName("schemas")]
public IList<SchemaHintsEntry> Schemas { get; init; }

Property Value

IList<SchemaHintsEntry>

Version

File-format version. Readers refuse versions newer than CurrentVersion; older versions are upgraded in-place on next write.

[JsonPropertyName("version")]
public int Version { get; set; }

Property Value

int