Meta Vens
b7d77b708d
Fix batch 4 (R-X, S-4/S-10): the error schema matches the wire, and the validator refuses a keyword it does not implement
...
CultNetErrorMessage is a MessagePack-CSharp map-mode object, so every
declared key is written on the wire, nil included - the same fact R-S
already established for the raw document header. cultnet.error.schema.json
was missing routingHint entirely and typed code/details as always-present
non-null values; Soul's P7 found real bytes failing it on exactly this.
routingHint, code and details are now `required`, with nullable types
matching CultNetErrorMessage/CultNetErrorDetails. A new test decodes real
bytes for all four refusal codes (selection_invalid, cursor_stale,
cursor_invalid, reference_outside_target) against the schema.
MiniJsonSchemaValidator:
- implements minimum, maximum, maxLength and maxItems, which were declared
in committed schemas (fieldPredicate's number pattern, selection.limit,
...) but silently never checked;
- anchors `pattern` to a full match (Index==0 && Length==value.Length)
instead of Regex.IsMatch's "search anywhere", so .NET's `$` (which,
unlike ECMA-262's, matches immediately before one trailing newline even
without RegexOptions.Multiline) can no longer let e.g. "5\n" pass a
schema author wrote as "exactly one digit";
- refuses a schema node that uses a keyword this validator gives no
constraint semantics to, instead of silently ignoring it. Running every
committed contracts/cultnet/*.schema.json schema through this found 12
such uses, none reached by any existing test: `allOf`/`if`/`then`/`else`
in cultnet.database-change-raw.schema.json, and `uniqueItems` (six
places) plus one `anyOf` in the cultmesh.verse-catalog-*.schema.json
pair. contentEncoding, $schema/$id/$defs/title/description/default and
the x-cult-runtime-type vendor extension are treated as metadata with no
constraint semantics to implement, not refused.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 21:12:23 +02:00
..
interop
Regenerate cs-written.json with the two new cites-refusal vectors
2026-09-22 19:24:20 +02:00
cultmesh.session-accepted.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultmesh.session-open.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultmesh.verse-catalog-request.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultmesh.verse-catalog-response.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet-distributed-database.md
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.database-change-raw.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.database-subscribe.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.database-subscribe.v1.schema.json
CultNet selection cut1, commit 1: the shape, the evaluator, v1 messages
2026-09-22 02:31:42 +02:00
cultnet.database-unsubscribe.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.document-delete.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.document-mutation-contract.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.document-put-raw.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.document-put.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.document-record.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.error.schema.json
Fix batch 4 (R-X, S-4/S-10): the error schema matches the wire, and the validator refuses a keyword it does not implement
2026-09-22 21:12:23 +02:00
cultnet.hello.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.login-success.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.login.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.operation-request.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.operation-response.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.raw-document-header.schema.json
Land fix batch 3's R-S: the schemas describe the bytes C# writes
2026-09-22 20:12:58 +02:00
cultnet.raw-document-record.schema.json
Land fix batch 3's R-S: the schemas describe the bytes C# writes
2026-09-22 20:12:58 +02:00
cultnet.register.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.sample-change-name.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.sample-chat.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.schema-catalog-request.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.schema-catalog-response.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.schema-descriptor.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.selection.schema.json
Land fix batch 3's R-S: the schemas describe the bytes C# writes
2026-09-22 20:12:58 +02:00
cultnet.shard-catalog-request.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.shard-catalog-response.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.snapshot-request.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.snapshot-request.v1.schema.json
CultNet selection cut1, commit 1: the shape, the evaluator, v1 messages
2026-09-22 02:31:42 +02:00
cultnet.snapshot-response-raw.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.snapshot-response-raw.v1.schema.json
Land fix batch 3's R-S: the schemas describe the bytes C# writes
2026-09-22 20:12:58 +02:00
cultnet.snapshot-response.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.transport-profile.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.verify.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
cultnet.witness-artifact-bundle.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00
ghostlight.agent-state.schema.json
Consolidate CultNet schema contracts into CultLib/contracts/cultnet
2026-09-13 17:27:41 +02:00