cultnet-ts: typed write_not_authorized factory and canonical schema id #36

Merged
libby merged 2 commits from libby/cultnet-ts-write-refusal into main 2026-11-07 19:36:37 +00:00
Member

PR A of the TS authority server. Adds cultNetWriteNotAuthorizedError(recordKey, reason?) (bytes pinned to the C# ForRemoteWriteRefused vector in error-vectors.json) and CultNetDocumentRegistry.canonicalSchemaId(schemaId) (id-only resolution for a write authority; unknown or conflicted ids give undefined). No behaviour change. The registry already had applyDocumentDeleteMessage, so no new delete apply was needed.

Tests: cultnet-error 9/9, cultnet + replication-codec 90/90 (--test-force-exit; the full node --test dist-test/test/*.test.js is the known never-finishing suite).

🤖 Generated with Claude Code

PR A of the TS authority server. Adds `cultNetWriteNotAuthorizedError(recordKey, reason?)` (bytes pinned to the C# `ForRemoteWriteRefused` vector in `error-vectors.json`) and `CultNetDocumentRegistry.canonicalSchemaId(schemaId)` (id-only resolution for a write authority; unknown or conflicted ids give `undefined`). No behaviour change. The registry already had `applyDocumentDeleteMessage`, so no new delete apply was needed. Tests: cultnet-error 9/9, cultnet + replication-codec 90/90 (`--test-force-exit`; the full `node --test dist-test/test/*.test.js` is the known never-finishing suite). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cultnet-ts: typed write_not_authorized factory and canonical schema id
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Has been cancelled
d0c0156874
cultNetWriteNotAuthorizedError(recordKey, reason?) writes the C# ForRemoteWriteRefused
bytes (pinned to error-vectors.json). CultNetDocumentRegistry.canonicalSchemaId resolves
the id a put or delete writes under, from the id alone, for a server's write authority.
No behaviour change for existing callers; the registry already had a delete apply.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultnet-ts: write_not_authorized blank-reason check is C# IsNullOrWhiteSpace
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 5m11s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 36s
2016ad7457
Review: trim() differs from string.IsNullOrWhiteSpace on U+0085 and U+FEFF; use the
package's isNullOrWhiteSpaceCSharp and pin both in the test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit f0731c6b91 into main 2026-11-07 19:36:37 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!36
No description provided.