Skip to content
zit Timeline
Login

Timeline

50 ancestors of b9bc673b650af5df

2026-07-10
23:33
Merge the LogStore benchmark step and the phantom-to-content upgrade coverage from the storage branch onto trunk check-in: b9bc673b65 user: dmestas tags: trunk
23:27
Exercise the phantom-upgrade path of LogStore.put per §C, where content arriving for a hash already interned as a phantom reuses its rid and appends its first frame, adding a reopen round-trip test, an allocation-failure test, and a phantom-upgrade operation in the storage sweep. check-in: 5c53bf6ee8 user: dmestas tags: storage
23:09
Bind the §3.4 clone loop to the operation-agnostic round dispatch and termination primitives so no round can branch by operation, and cover the §3.5 pragma round-order dispatch with its unknown-name-ignored versus unknown-operator-fatal split. check-in: dc535a335c user: dmestas tags: trunk
22:46
Add a real benchmark step for the LogStore: a ReleaseFast harness with put, read, and open subcommands over a seeded deterministic corpus, routing every clock and file effect through injected IO and reporting throughput and p50/p99 latency, replacing the placeholder failing bench step check-in: 7f8ee58eea user: dmestas tags: storage
22:33
Derive §3.3 content-received at the sync layer so a dangling-delta HASH whose basis delta is retained drops out of gimme while its DELTASRC stays a genuine phantom, and bind the §9.3-9.5 round loop over the §3.3 igot/gimme/eligibility surface and the §3.7 per-round termination rule. check-in: a76b63c00f user: dmestas tags: trunk
22:01
Merge the native storage engine onto trunk: the StorageFile capability, the deterministic fault simulator, and the append-only content-addressed LogStore with crash-recovery, all driven by the storage simulation sweep check-in: 37dafb3048 user: dmestas tags: trunk
21:53
Add the LogStore: a framed append-only content-addressed object log with a 64-byte header and per-frame length, kind, hash, and crc, exposing intern, put, content, hash lookup, and commit over the storage capability, rebuilding its hash-to-offset index by scanning on open and truncating a torn tail, and driven through the fault simulator by the storage sweep check-in: c1e15637a3 user: dmestas tags: storage
21:35
Implement the section 6.6 capability model, mapping assigned o/i/g/x letters to read/write/clone/private capabilities and gating each pull/push/clone card on whether the user's established set holds the capability that operation requires. check-in: 1b09edd75f user: dmestas tags: trunk
20:38
Select login transport per section 6.5, gating the x-f-l-c cookie header on a peer's recorded release and timestamp clearing both thresholds and falling back to a body-embedded login card otherwise, and flag a cookie login paired with a body login as the section 11.1 duplicate_login error. check-in: e566bfecae user: dmestas tags: trunk
19:58
Strip trailing /xfer path segments from a sync redirect Location per section 4, replacing the suffix-match heuristic against the original repository path with repeated exact-segment removal that never consults the origin URL. check-in: 51e1193aa6 user: dmestas tags: trunk
19:38
Re-sync the sync-protocol draft: apply the section 4 redirect erratum (strip a trailing /xfer segment and reparse, matching the reference implementation, superseding the repository-path-segment rule) and the section 1 informative-scope note check-in: ebf5f6f86b user: dmestas tags: trunk
19:31
Add the storage capability seam and its deterministic fault simulator: a narrow StorageFile interface (append/pread/sync/size/truncate), an in-memory FaultyFile that injects torn and short writes, lost fsync tails, crash-restart, and payload-derived bitflips from the run seed, and a simulation sweep asserting crash-recovery truncates a torn tail to the last valid frame and never reads corruption as data check-in: 328bc72b78 user: dmestas tags: storage
19:27
Make the README durable: drop the volatile status section, describe zit as a library-first spec port with the spec-as-oracle and determinism design notes, and remove the stale scaffold handoff doc check-in: f6cd3e0da5 user: dmestas tags: trunk
19:25
Split build.zig into one builder function per artifact and thread the storage-engine DST sweep through dst.zig's test aggregation, per the repo layout's per-artifact-builder rule and storage-track-plan section B. check-in: 39e12f9da4 user: dmestas tags: storage
19:23
Rework section 4.1 decode to cap output by capacity, not exact length, and fix ci-lock-fail gating and uvfile deletion to match precise RFC citations. check-in: 94d04ae9f1 user: dmestas tags: trunk
18:29
Cover sync section 9.2.1 announcement and derived-view cards: the nine clause rules for igot/uvigot echo suppression and phantom-free announcement handling, with a named test per rule check-in: 5713138800 user: dmestas tags: trunk
18:28
Re-sync the artifact-format and sync-protocol RFC drafts to the amended cleanroom-verified package: the filed §4.3, §4.6.4, §4 redirect, and §7.4 errata plus the new cleanroom findings (zlib length-field capacity, DATETIME emission form, x-f-l-c cookie login, uvfile deletion discriminator) check-in: 0b8829c917 user: dmestas tags: trunk
17:50
Gate inbound artifact names on hash policy per section 7.7, rejecting SHA1-length names under shun-sha1 before storage while keeping commit-time content verification a separate, unconditional check. check-in: 501c2c7f9c user: dmestas tags: trunk
17:27
Extend section 7.6 SHA3 peer-version-gate coverage to the append-only error path, clone-round-0 discard exception, per-site independence, and the Appendix A.2 worked example. check-in: 19a0981b27 user: dmestas tags: trunk
16:54
Implement sync section 7.5 private-content rules: gate private-card pairing and artifact receipt on the Private capability, force full content when a public artifact's delta basis is private and the peer is unauthorized, and handle private igot HASH 1 replies per section 9.2 without creating phantoms. check-in: f26cb704b6 user: dmestas tags: trunk
16:15
Parse the uvfile/uvigot/uvgimme card grammar and FLAGS bit field per section 7.3, frame uvfile payloads against SIZE with the deletion and omitted-content cases, verify landed content against HASH, and implement the section 9.1.1 uvgimme reply choice and write-permission/status recheck-on-landing for unversioned file sync. check-in: 1cdf73d79f user: dmestas tags: trunk
15:23
Merge the sync protocol layer onto trunk: transport, content transfer with chained-delta completion, authentication, clone, and unversioned-file sync, taking trunk's data-carrying artifact reader and tracking the sync round-2 file-cards test vector check-in: 233d7f03d7 user: dmestas tags: trunk
15:18
Merge the completed repostate derivation layer onto trunk: tag cross-references and propagation, name and branch resolution, and the section 8.3 resolver, with the grown deterministic-simulation oracle and a gate-sized sweep check-in: 93ecd64c47 user: dmestas tags: trunk
15:17
Shrink the pre-commit DST gate to 6 seeds x 1000 steps so it runs in seconds; the per-step oracle recompute made the former 25x10000 sweep take minutes, so deep coverage now runs out-of-band via --seeds closed check-in: 51a4a56825 user: dmestas tags: repostate
15:10
Classify unversioned files per section 9.1.1: compute the name-sorted SHA-1 catalog hash, derive the five-way status from mtime/hash comparison, map status 4/5 under revert, and drive local-store and send-table effects (including dry-run suppression) from the mapped status. closed check-in: e91acbe762 user: dmestas tags: sync
15:04
Wire the milestone interop smoke check: confirm zit-produced manifests and deltas against fossil via test-parse-manifest, sha1/sha3sum, content round-trip, and delta-apply, with fossil confirming RFC-cited expectations only check-in: a2e74e5547 user: dmestas tags: trunk
15:04
Implement section 8.3's full name-resolution dispatch (rid:, tag:, tip, root:/start:/merge-in: via the section 8.4 branch-walk, date:/utc:/local: timestamps, hash-prefix matching, and trailing-punctuation retry), section 6.3's branch enumeration, and section 7.5's ambiguous-leaf test and open-leaf listing, then extend the DST oracle with brute-force checks for all four against every replay order. check-in: 79b37fd3b9 user: dmestas tags: repostate
14:30
Implement clone per section 8: version-3 clone/clone_seqno cards, NEXT-driven request continuation, and round-0 suppression of login and uv-hash, then wire push/pull/sync project-code cards and the date-gated private-igot suppression from section 9.1/9.2. check-in: 20fa53bd79 user: dmestas tags: sync
14:06
Add create() per section 6/4 as the writer inverse of parse, serializing a Manifest to canonical bytes in strict card-lexical order with a trailing computed Z checksum, and round-trip it against the section A.1.1, A.1.2, and A.3 worked examples plus a seeded fuzz target. check-in: 94386de816 user: dmestas tags: trunk
13:48
Implement sync section 7 content transfer: file and cfile card handling with phantom creation and deferred delta reconstruction, cascading completion through delta chains to fixpoint so a chained basis never leaves a permanent phantom check-in: 08d2b9b0c1 user: dmestas tags: sync
13:08
Rework artifact.parse into a data-carrying Deck-shaped Manifest per section 4: retain every card's decoded data as arena-owned slices the caller deinits, replacing the kind-only verdict, so sync can extract parents and tags and the writer can serialize; finalize owned slices before moving the arena to avoid a used-list capture leak check-in: 0ad398f731 user: dmestas tags: trunk
12:59
Implement sync section 6 authentication: derive NONCE, shared secret, and signature per 6.2-6.4, parse and verify login cards with constant-time comparison, and encode/decode the x-f-l-c cookie form per 6.5, with citation tests and fuzz coverage for malformed wire input. check-in: 9afcd591ee user: dmestas tags: sync
05:22
Implement plain-name resolution and open-leaf selection per sections 8.2 and 9, splitting branch-tag lookup per section 6.4, and extend the DST oracle and generator to verify both against brute-force scans across every replay order. check-in: a1d8cd5a57 user: dmestas tags: repostate
04:14
Cover artifact §9 Security Considerations: pin the draft's normative security requirements to the parser's existing validation with named per-clause tests check-in: 432bab44d5 user: dmestas tags: trunk
04:09
Merge trunk into the sync branch: bring the working artifact.parse manifest reader and the section 8 delta-manifest reconstruction so sync content transfer and clone can consume received manifests check-in: b3150eb834 user: dmestas tags: sync
04:06
Implement sync section 4 transport and framing: the three Content-Type media facts, request-target and SSH-header rules, redirect handling (19-hop cap, HTTPS-downgrade rejection, path-suffix stripping), the zlib length-prefixed message container, and round/card-boundary detection, rejecting each malformed case the section enumerates. check-in: cc981ab02c user: dmestas tags: sync
02:10
Implement the §4 card-loop parser and §5.5/§5 classification pipeline in parse(), enforcing card order (§4.4), single-occurrence (§4.5.1), and the F/J/M/T run ascending checks (§4.5.2) before deriving each artifact's type, and point the fuzz harness at the real pipeline in place of the removed NotImplemented stub. check-in: e2c83d90c9 user: dmestas tags: trunk
02:03
Route T-cards through crosslink and apply tag cross-reference direct-write and primary-chain propagation per repo-state section 5, deriving branch value and open-leaf status from the resulting tag state per sections 6.1 and 7.4 with leaf re-evaluation on branch changes per section 7.6, and extend the DST oracle and generator to exercise every tag flavor against those invariants. check-in: d0509719bf user: dmestas tags: repostate
01:23
Implement sync sections 3.1-3.3: per-round peer-has/peer-lacks tables, igot phantom creation, gimme eligibility and response disposition, and request-card ordering, per the spec's enumerated cases. check-in: 81895a46ad user: dmestas tags: sync
01:07
Implement delta manifest reconstruction per artifact section 8, merge-walking a delta's F cards against its lazily-resolved baseline to derive the full file set and to answer single-name lookups, rejecting an unresolvable baseline and a delta-of-delta per sections 8.3 and 4.7.3. check-in: e3c65ec661 user: dmestas tags: trunk
00:36
Merge trunk into the sync branch: pick up the repostate ArtifactStore and phantom table plus the artifact §5-7 work, so sync's dispatch and phantom-lifecycle clauses can build on the repository-state derivation check-in: 44968d484d user: dmestas tags: sync
00:28
Merge the repostate layer onto trunk: the ArtifactStore boundary, RepoState crosslink and leaf-set derivation, and the deterministic simulation harness with its dst build step check-in: 3f205d5a97 user: dmestas tags: trunk
00:23
Add the section 7 hash-policy primitives: table 7 encode/decode, default-policy derivation, set-time auto coercion, the write-time auto-to-sha3 ratchet, and alternative-first dedup naming, each with worked-example tests. check-in: d4aeb42602 user: dmestas tags: trunk
00:15
Add the repostate ArtifactStore boundary and RepoState crosslink linkage with incremental leaf-set maintenance per repo-state §3.1-3.3 and §7.2-7.3, driven by a seeded deterministic simulation that checks the leaf invariant and derivation order-independence every step check-in: 03a9951ec8 user: dmestas tags: repostate
2026-07-09
22:41
Compute the R card aggregate content checksum per section 6.3 as MD5 over each tracked file's name, minimal-decimal size, and content in canonical filename order, and pin the digest token grammar and Z card self-checksum boundary cases from sections 6.1 and 6.2 with worked-example tests. check-in: f0f90cfa39 user: dmestas tags: trunk
22:13
Implement the section 3.6 cookie card and the section 7.6/12.4 SHA3-256 peer-version gate, factoring the shared single-text-argument card writer out of writeSignalCard. check-in: c9ea7ed5ed user: dmestas tags: sync
22:07
Implement section 5 structural artifact type codes, card legality, type determination, and per-type semantic checks, rejecting artifacts with disallowed, missing, or contradictory cards. check-in: 1e1014f5ce user: dmestas tags: trunk
21:33
Parse W and Z cards per section 4.7.18 and 4.7.19, closing section 4.7's per-card grammars: W's byte-counted body bypasses tokenization and rejects overflowed, truncated, or misterminated sizes, while Z validates its single 32-hex checksum token. check-in: bbc02df9cd user: dmestas tags: trunk
21:30
Derive the client round-continuation predicate from the six section 3.7 conditions and encode the section 3.8 five-state client machine, including the nine-cause fatal-error set with its round-0 error-card discard exception. check-in: c0fcf1792d user: dmestas tags: sync
21:03
Parse R, T, and U cards per artifact §4.7.15-4.7.17: R's single aggregate-checksum token, T's sign-prefixed name with hash-or-star target plus self-referential-tag and hex-remainder rejections, and U's single user-name token check-in: 3754cfd147 user: dmestas tags: trunk
20:48
Add fossilize-escape encoding and wire up sync sections 10.5 and 11, gating send-private on the Private capability, scheduling client-url/req-links once before the round loop versus send-private every round, and dispatching error/message cards per their reset-versus-append and terminate-versus-discard rules including the pull-only glob. check-in: 040aa2f8a4 user: dmestas tags: sync