Commit graph CultLib/docs
Author SHA1 Message Date
Meta Vens
7007a17059 Variants map: Soul holds the cultcache-ts push identity fix (label match survives; Python and Rust share the bug)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 00:29:44 +02:00
Meta Vens
0a26f96ede Variants map: F2 fork A ruled (forbid slot reuse); fork B deferred as the next parity cut
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 00:08:21 +02:00
Meta Vens
1d6e136440 Error-contract map: put-serve Soul merge-verdict notes (ENOSPC label, detail keys, new code)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 22:53:42 +02:00
Meta Vens
b248b0a148 Variants map: C1 questions ruled (override deleted; declared compatible ids resolve); defaults stand
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 22:52:25 +02:00
Meta Vens
ebb1eb2528 Variants map: C1 cut map (one schema id on the wire); two operator questions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 22:50:08 +02:00
Meta Vens
4a7fa1d63f Variants map: schema identity ruled C1 (<name>.vN on the wire); AetheriaEve not a consumer; C2 deferred
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 21:34:09 +02:00
Meta Vens
3d285f4923 Variants map: cross-runtime schema identity fork (C1 recommended); F-ID.1-3 open
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 21:04:55 +02:00
Meta Vens
b04d03b6f1 Ack map: Cut D landed at 2f06ef84
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:44:13 +02:00
Meta Vens
9963e43510 Ack map: S-5 still open after ack Cuts 1-1c (probed); a data-loss fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 19:03:33 +02:00
Meta Vens
b25deed129 Error-contract map: record put-serve batch 3 discrepancies (codes, map shape, session end)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 18:39:48 +02:00
Meta Vens
b7e70bd58c Ack map: record Odin Soul S-5 (pipelined-put ACK before delivery) as a data-loss check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 18:34:53 +02:00
Meta Vens
dc5f43a17a Ack map: correct the Node send-failure claim
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:29:48 +02:00
Meta Vens
71932dbad2 Ack map: pivot to QUIC; remaining ack cuts parked, Cut D lands
Operator: "Yeah, pivot to QUIC adoption, I ain't gonna let sunk costs take the wheel."

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:28:32 +02:00
Meta Vens
9b4167d9ab pack-nuget: pack the ProjectReference closure, not a hand list
Merge 69bd45ff made GameCult.Caching.MessagePack reference CultMath
(PackageId GameCult.Math), so its nuspec depends on GameCult.Math 0.2.4.
The packer's hand-written project list never packed it, and GameCult.Math
is not on nuget.org, so every clean consumer of the local feed failed
restore with NU1101. That is the Eve surface consumer smoke in the
"one-command multiplayer onboarding" jobs, red on both OSes since then.

The packer now walks ProjectReference from the public roots (GameCult.Mesh,
GameCult.Networking.WebSockets) and packs the whole closure. The expected
package names come from MSBuild's PackageId and Version for each project,
since GameCult.Math carries its own identity.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:02:08 +02:00
Meta Vens
045f9a21b6 Ack map: Cut D Soul pass 2 result; K1 gains the Kotlin resend loop
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:46:59 +02:00
Meta Vens
cc624e934d Ack map: Cut 3 merged (1210fdc7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:36:26 +02:00
Meta Vens
1210fdc7ae Merge ack Cut 3: the 4 MiB send bound counts every byte above the lowest unacknowledged packet
F1: acknowledged sequences above a gap still count until the lowest
advances, in Rust, TS, Python and C#. Rust direct send purges expired
packets before the window check. Soul passes: F1 held; batch 2 held with
13 own mutants killed and interop 27/27 (ack1d-interop:2). Only docs
differ from the verified tree. Follow-up: cultmesh-rs Cargo.lock stale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:36:10 +02:00
Meta Vens
6d0cc96316 Variants map: F7 ruled, retire AsSchemaAlias
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:25:19 +02:00
Meta Vens
c8e3ef917e Error contract map: Q1 B, Q2 B, Q3 A, Q8 A ruled
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:20:03 +02:00
Meta Vens
50f834e457 Map the CultNet error contract cut
The cultnet.error.v0 contract is not decodable across runtimes, and the
interop CI lane has been red for 40 main runs. Cut 0 unblocks the lane;
Q1, Q2, Q3 and Q8 must be ruled before Cut 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:15:20 +02:00
Meta Vens
d7a98a2763 Variants map: C2a F2 ruled B (carry unclaimed records untouched); batch 9 Soul result
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:12:27 +02:00
Meta Vens
93f1a50895 Merge origin/main into hands/ack-cut3: Cut 3 and D Soul rulings, RUDP client bind
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:44:10 +02:00
Meta Vens
42ba0f082a Ack map: Cuts 3 and D Soul rulings; record the stalled-sender liveness gap
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:02:32 +02:00
Meta Vens
8c71b5c6dd Merge origin/main into hands/ack-cut3
# Conflicts:
#	packages/cultnet-ts/src/rudp.ts
2026-09-30 10:52:49 +02:00
Meta Vens
29385586bd Ack map: Cuts 1, 1b and 1c merged (05b5705d); record the residuals
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:52:07 +02:00
Meta Vens
f58604a40d Ack map: connect-attempt rulings; record the receive-window divergence
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 09:45:21 +02:00
Meta Vens
c12f6df0ea Ack map: stale-data and stale-Connect rulings after the Cut 1c Soul pass
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 08:46:56 +02:00
Meta Vens
c5063ab3c4 Publication map: record Cut 4 final-Soul follow-ups
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 07:59:05 +02:00
Meta Vens
ebb8a468dd Ack map: record the unpinned schema/latest channel arms
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 07:28:56 +02:00
Meta Vens
a014bf1b5b Ack map: 1b merges only with 1c; R is seeded by the handshake (Cut 1 Soul)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 05:28:27 +02:00
Meta Vens
6a87e53c23 Publication map: record Cut 4 Soul follow-ups (crash-safe log store prerequisite)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 02:38:41 +02:00
Meta Vens
eeda6d7fd6 Ack Cut 3: the sender's flow window (1,023 sequences and 4 MiB above the lowest unacked)
Admission in Rust, C#, TypeScript and Python goes through one predicate,
window_admits: the 32-packet slot, a sequence at most 1,023 above the lowest
unacked one, and at most 4 MiB of payload above it. With nothing pending any
packet is admissible. Admission is FIFO: nothing overtakes a queued packet.
The single-packet send refuses on the same predicate instead of queueing a
packet and then reporting that it produced none. The receive window is stated
in docs/cultnet-transport-parity.md. Kotlin trails (Cut K3).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 00:55:14 +02:00
Meta Vens
9b8877ced7 Ack map: record Q-A7 A, Q-A8 A, Q-A9 B
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 00:45:41 +02:00
Meta Vens
03b1df7cf5 Ack map pass 3: FORWARD-TSN (Cut F), receipts port, Cut 1c ruled, Cut K, Cut D
Maps the four 2026-09-30 rulings. Cut 2 merges only with Cut F (Soul:
expiring reliable sets pin the bound). Adds Cut D (a failed send to one
peer no longer aborts a document server poll) and C# Cut 2c. Opens
Q-A7, Q-A8, Q-A9; Q-A7 and Q-A9 block Cut F.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 00:42:27 +02:00
Meta Vens
e9469cb3a4 Ack map: record Q-A3 B, Q-A4 A, Q-A5 A and Q-A6 A
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:53:21 +02:00
Meta Vens
ce0d61fc71 Ack map pass 2: re-map on 3bf1c0c, split session generation into Cuts 1b and 1c
Applies the Q-A1/Q-A2 rulings (one public meaning: Acknowledged means
delivered). Adds Cut 1b (every session ending drops what it owed; flush is
bound to its session) and Cut 1c (how a new generation is recognised,
blocked on new Q-A6). Probes at 3bf1c0c reproduce G1, G1b, G2 and G3 in
all four runtimes. Kotlin trails as Cut K pending Q-A5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:47:14 +02:00
Meta Vens
af7209a2c8 Map publication Cut 4-6 on the journal (Imagination pass 4) and record Q-P5 A
Adds the pass 4 probes, the journal-floor rule, and the re-taken Cuts 4-6, salvage and ledger.
Records Q-P5 A: a primary that cannot log a committed change throws CultNetShardLogException.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:34:42 +02:00
Meta Vens
d29e2a7d81 Ack map: the ending paths disagree about owed writes (Cut 1 scope)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:59:18 +02:00
Meta Vens
ecfb4d6509 Ack map: record Q-A1 and Q-A2, one meaning for Acknowledged
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:29:59 +02:00
Meta Vens
9321c98a38 Map the RUDP ack cut: Received and Delivered receipts
Imagination pass 1. Probes found acknowledged ordered frames lost in live
sessions in every runtime; the map derives Delivered at the sender from a
correct receiver watermark. Operator questions Q-A1..Q-A5 open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:24:52 +02:00
Meta Vens
4252ce65aa Map: C2a Soul pass 3 and the C0-with-C2a release ruling
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:16:34 +02:00
Meta Vens
5adbcaa0c8 Maps: record the C2a rollout-order and mark-by-content rulings, publication Cuts 1-2 landing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 19:34:54 +02:00
Meta Vens
60663f952c Record publication rulings Q-P1..Q-P4
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:41:19 +02:00
Meta Vens
2dc7c122f9 Map CultCache publication: order as data via a journal under the cache gate
Imagination rebuilt the writer-thread scheduler Soul pass 3 proposed: it
deadlocks exactly as bcae483 did (deleted in 4562340). The map keeps per-writer
delivery, validates getters before minting, isolates observers, and moves the
shard log onto a gate-held journal. Q-P1..Q-P4 open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:36:18 +02:00
Meta Vens
1e3a337b81 Record C2a Soul hold, the tripwire and duplicate-id rulings, and the C2b precondition
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 16:35:33 +02:00
Meta Vens
069ecc369c Note the operator's future cross-store variant direction under ruling 3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 13:10:36 +02:00
Meta Vens
dc6bcd1857 Record grouping Q6 A and Q7 B
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:53:11 +02:00
Meta Vens
4a4e212d9c Refresh the Studio grouping map against main feeced8
Re-anchored to current main and Aetheria fire-control-12. Grouping gets its own
[CultInspectorGroupBy] attribute; CultIndex stays unique. Sequenced with variants
C2a/C2b/C3 into one joint release (cultlib 1.0.61, Studio 1.5.0); Aetheria
annotations fold into variants C4. Q6 and Q7 open.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:51:35 +02:00
Meta Vens
feeced8949 Place the Studio grouping map on main and record Q2-Q4 (Q5 overtaken)
The map carried only on codex/studio-grouping moves to main. The operator
ruled Q2 A, Q3 A, Q4 A on 2026-09-30. Q5 is overtaken: one Studio release
with variants C3. A refresh pass is due before Hands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:40:26 +02:00
Meta Vens
75501fbc06 Record the index scan and resolution: CultIndex is unique; grouping is Studio's
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:36:29 +02:00