50 descendants and 50 ancestors of a3557b510682963b
|
2026-07-16
| ||
| 09:38 | Document that a cache hit skips whole-log integrity, so interior bitrot preserving size and tail is served until a rebuild — deleting .zit-cache restores full detection. closed check-in: 31e140ddbc user: dmestas tags: cache | |
| 09:28 | Memoize the derived repo view in a disposable .zit-cache sidecar so read-only verbs answer sub-second at fossil scale instead of rescanning the whole log on every invocation. check-in: 08504d5f5d user: dmestas tags: cache | |
| 07:28 | Extract the sync 4.1 zlib container codec into one leaf module: the three copies had drifted — logstore and repostate rejected valid containers whose zlib stream decodes to fewer bytes than the declared capacity, stricter than 4.1's output-capacity semantics — so unify on the spec-correct decode and retire the duplication. check-in: 0b8ff7a1f8 user: dmestas tags: trunk | |
| 07:23 | Extract the §4.1 zlib container codec into one leaf module (src/container.zig) so logstore, repostate, and sync share a single §4.1-capacity-semantics implementation instead of three drifting copies. closed check-in: 0e5cc09150 user: dmestas tags: container | |
| 07:05 | Retain received cfiles verbatim on the clone client: store each artifact's received container or delta as-is after verifying its hash over the reconstructed content, so delta compactness survives clone-of-clone and client disk roughly halves — and reject a lying-named push the server previously accepted. check-in: a5ef5d18c0 user: dmestas tags: trunk | |
| 06:53 | Retain received cfile containers and deltas verbatim on the clone client so delta compactness survives a clone-of-clone, verifying each reconstructed artifact's hash at the persist commit hook before storing the wire form rather than re-expanding every received delta to full form. closed check-in: 5526cf3536 user: dmestas tags: d4 | |
| 06:13 | Speed up repo-state derivation on open: replace the O(N-squared) crosslink scans with parent/child/tag adjacency indexes, verify each frame's whole-frame CRC once at scan instead of twice per verb, and cache delta bases during the derivation sweep — cutting the algorithmic crosslink term over 100x with byte-identical derived state. check-in: baa7053ee1 user: dmestas tags: trunk | |
| 06:11 | Assert a read-only-verified store is never appended to: the append frame path skips the redundant whole-frame CRC only because openReadOnly proved it at scan, so appending to such a store would leave a frame unchecked. closed check-in: 7c3d36865e user: dmestas tags: scale | |
| 06:00 | Accelerate repo-state derivation on open: replace the quadratic crosslink scans with per-parent/child/rid adjacency indexes, verify each frame's CRC once at open instead of again on every read, and memoize delta bases across the derivation sweep, so the query verbs stay fast on large repositories without changing any derived answer. check-in: 76b0f8f1d0 user: dmestas tags: scale | |
| 05:04 | Delta-encode cfiles on clone: store an artifact as a delta against its previous version when materially smaller, and serve that stored delta container verbatim with the reconstructed-size USIZE per sync 7.2, cutting clone reply size 58-87% on version-chained repos while full-form artifacts still serve unchanged. check-in: d7e16fadb1 user: dmestas tags: trunk | |
| 05:01 | Drop the unused putContainer store method and its two tests: its only intended caller is the deferred client-verbatim persist hook, so it stays dead surface until that lands. closed check-in: 673d5070bb user: dmestas tags: delta | |
| 04:50 | Use the known reconstructed size for a delta corpus artifact's USIZE instead of re-parsing the delta header: the bench just created the delta from cur, so its reconstructed target is cur and its length is the section 7.2 USIZE directly, dropping a redundant header parse. check-in: 3bdb4f96c0 user: dmestas tags: delta | |
| 04:47 | Delta-encode blobs and manifests on ingest and serve them verbatim as section 7.2 delta cfiles on clone: store a commit's blob (against the same path's parent blob) and manifest (against the primary parent) as a delta when it comes in materially smaller and within the write-depth cap, carry the reconstructed-target size from the delta header as the cfile USIZE rather than the container's raw-delta-length prefix, and retransmit the stored delta container byte-for-byte so a chained-corpus clone reply drops 58-87 percent while a full-form corpus is byte-identical to before. check-in: 71235bf3be user: dmestas tags: delta | |
| 03:57 | Serve stored cfile containers verbatim on clone: reuse each artifact's already-compressed 4.1 container instead of recompressing it on every clone reply, moving the per-clone compression cost off the serve path to ingest and cutting clone-serve time ~76% with byte-identical wire output. check-in: f4fe62b160 user: dmestas tags: trunk | |
| 03:51 | Restrict verbatim cfile serving to the full form: the delta serve path had no production writer and wrote the delta's length as USIZE instead of the reconstructed artifact size (sync §7.2), so drop it and let delta-stored artifacts fall back to a conformant reconstructed full-form cfile. closed check-in: 8e430e7bd7 user: dmestas tags: perf | |
| 03:24 | Serve stored cfile containers verbatim on clone, reusing each artifact's already-compressed container instead of recompressing every clone reply so the per-clone compression cost moves off the serve path to ingest. check-in: 84d47c3a21 user: dmestas tags: perf | |
| 02:41 | Land the out-of-band sync clone benchmark on trunk: it splits clone time into build/frame/decode/respond/reframe/consume/persist/reopen phases behind a convergence-verified in-process clone, and attributes per-artifact cfile compression as a faithful share of the server respond phase, so the first clone-speed optimization targets measured work rather than a guess. check-in: 5f6f1286d1 user: dmestas tags: trunk | |
| 02:35 | Report the sync clone benchmark's server phase honestly: drop the unmeasurable walk+compress vs decode+parse split and show only the standalone compression micro as a share of respond, since scanRequest and emitCloneReply are private so parse and walk can't be told apart at the public boundary. closed check-in: 53962101c0 user: dmestas tags: bench | |
| 02:10 | Split the sync benchmark's server phase into timed decode, respond and reframe steps plus a standalone cfile-compression measurement, so clone-speed work can tell inbound igot decode+parse apart from the actual per-artifact compression instead of trusting one opaque server label. check-in: 997edb13b5 user: dmestas tags: bench | |
| 01:44 | Add an out-of-band sync clone benchmark that splits round time by phase and tallies card/byte counters behind a convergence-verified clone, so clone-speed work starts from measured attribution rather than a guess. check-in: a5d904a3ef user: dmestas tags: bench | |
| 00:53 | Merge trunk back onto cli after the growable delta queue, aligning the branch tip with trunk. check-in: a5260cc2eb user: dmestas tags: cli | |
| 00:44 | Merge the growable pending-delta queue onto trunk: heap-backed and bounded by the message-body cap instead of a fixed 256 slots, so a real-world clone's thousands of dangling deltas per sync 7.4 are all retained and reconstructed — verified pulling multi-GB of fossil's own and sqlite's source past the former wall. check-in: a070f7fcb5 user: dmestas tags: trunk | |
| 00:36 | Grow the pending-delta queue on the heap bounded by the message-body cap instead of a fixed 256 slots, so a real clone's many dangling deltas per sync 7.4 are all retained and reconstructed rather than aborting the exchange once past 256. check-in: 8af6244a64 user: dmestas tags: cli | |
|
2026-07-15
| ||
| 22:37 | Merge the login-card polish onto trunk: pin the section A.5 auth vectors directly against the RFC bytes, scrub the plaintext password buffer after deriving the secret, and cover the legacy pre-credential config decode. check-in: 22d0c3de75 user: dmestas tags: trunk | |
| 22:31 | Pin the section A.5 login vectors directly, zero the plaintext password buffer after deriving the secret, and cover the legacy config decode path check-in: 91988dd110 user: dmestas tags: cli | |
| 22:23 | Merge trunk back onto cli after the login card. check-in: 56fbf01f2d user: dmestas tags: cli | |
| 22:23 | Merge the section 6 client login card onto trunk: zit push signs a login card with the derived shared secret so a fossil server authorizes the write, persisting only the 40-hex derived secret at 0600 and never the password — completing authenticated push, the last interop direction. check-in: 52cb4d83bf user: dmestas tags: trunk | |
| 22:11 | Sign push login cards with the derived shared secret so a fossil server authorizes the write, persisting only the 40-hex secret at 0600 and never the password check-in: f21e962a00 user: dmestas tags: cli | |
| 20:32 | Merge trunk back onto cli after server delta ingest. check-in: b3167f749e user: dmestas tags: cli | |
| 20:31 | Merge server-side delta ingest onto trunk: the server push path reconstructs a delta-form file card against its held basis per section 7.4 with section 7.7 integrity, then persists it, so a fossil push of a delta-encoded manifest lands on zit serve. check-in: b49f1fa330 user: dmestas tags: trunk | |
| 20:28 | Accept a delta-form file card on the server push-ingest path: reconstruct against the held basis per §7.4, verify §7.7 integrity, then persist, so a fossil push of a delta-encoded manifest lands on zit serve check-in: 6a4dd5b819 user: dmestas tags: cli | |
| 20:02 | Merge trunk back onto cli after delta reception, aligning for the push interop probe. check-in: 44be941a4f user: dmestas tags: cli | |
| 20:02 | Merge section 7.4 delta reception onto trunk: reconstruct delta-form file and cfile cards against their basis with pre-store hash verification, defer a dangling delta in the pending queue and complete the chain to a fixpoint when the basis arrives, so an incremental pull of fossil's delta-encoded manifests converges. check-in: ea53cd3983 user: dmestas tags: trunk | |
| 19:57 | Reconstruct delta-form file/cfile cards against their source per sync 7.4: apply an immediately-available basis with pre-store hash verification, retain a dangling delta in the pending queue while creating the source phantom and marking the target content-received, and complete the chain to a fixpoint when the basis arrives, so an incremental pull of fossil's delta-encoded manifests converges check-in: 890cf58924 user: dmestas tags: cli | |
| 19:30 | Merge trunk back onto cli after incremental-pull interop, aligning for section 7.4 delta-file-card reception. check-in: 6ca2645a09 user: dmestas tags: cli | |
| 19:29 | Merge incremental-pull interop onto trunk: pull and push carry the repository's stored project-code so a real peer accepts the request, and serve re-reads the on-disk log to its committed end per request so a live commit is advertised without a restart. check-in: bca7dec889 user: dmestas tags: trunk | |
| 19:26 |
Send the repo's stored project-code on pull and push, and serve the current on-disk log per request
The pull and push operation cards hardcoded the all-zero projectcode placeholder, which a real peer refuses (a sync projectcode mismatch must be refused); load the adopted code from the repository config the way serve already does and thread it through pullRun/pushRun so the request carries it. Separately, serve read the repository once at startup, so a check-in committed while it ran stayed invisible until a restart; re-read the on-disk log to its committed end per request so a live commit is advertised without restarting the server. check-in: aa601128eb user: dmestas tags: cli | |
| 18:53 | Merge trunk back onto cli after bidirectional clone interop, aligning the branch for fossil pull/push round-trips. check-in: c4c1538a5f user: dmestas tags: cli | |
| 18:50 | Merge the section 5.1 cfile trailing-LF padding onto trunk: consume and emit the padding LF that follows a cfile payload not ending in LF, so a clone interoperates with fossil's receiver and sender in both directions. check-in: 74a689d116 user: dmestas tags: trunk | |
| 18:48 | Consume and emit the section 5.1 cfile trailing-LF padding so a clone reply interoperates with fossil's receiver and sender in both directions check-in: 8068804e51 user: dmestas tags: cli | |
| 18:22 | Merge trunk back onto cli after the fossil-clone-completes milestone, aligning the branch for the remaining interop directions. check-in: 76f8219646 user: dmestas tags: cli | |
| 18:20 | Merge the clone configuration phase onto trunk: answer reqconfig with no error per sync 9.3, derive a real per-repo project-code carried in the clone reply push card per 9.1, so a real fossil clone from zit serve completes past the configuration phase. check-in: cba2256e95 user: dmestas tags: trunk | |
| 18:18 | Give every repository a real project code and answer reqconfig without erroring, so a fossil clone completes past the configuration phase check-in: 8ae44adff8 user: dmestas tags: cli | |
| 17:39 | Merge trunk back onto cli after push, aligning the branch for the fossil interop smoke. check-in: b6f1e470be user: dmestas tags: cli | |
| 17:39 | Merge zit push and server persistence onto trunk: pushed artifacts are durably appended to the served repository's log store and zit push sends local content the remote lacks until section 3.7 termination — clone, pull, and push now all round-trip over HTTP. check-in: c50b1f6e7e user: dmestas tags: trunk | |
| 17:36 | Persist pushed artifacts durably into the served repository's log store and add zit push to send local content the remote lacks until section 3.7 termination check-in: 253465c64a user: dmestas tags: cli | |
| 17:17 | Merge trunk back onto cli after pull, aligning the branch for push and server persistence. check-in: 9f8e395b86 user: dmestas tags: cli | |
| 17:17 | Merge zit pull onto trunk: pull opens a transport to a remote and runs the sync driver over the current repository to fetch and persist newly announced artifacts until section 3.7 termination, proven by an incremental pull over HTTP after a clone. check-in: 177eb879cd user: dmestas tags: trunk | |
| 17:15 | Add zit pull that opens a transport to a remote and runs the sync driver over the current repository to fetch and persist newly announced artifacts until section 3.7 termination, proven by an incremental pull over HTTP after a clone check-in: f1dcbc8a57 user: dmestas tags: cli | |
| 16:59 | Merge trunk back onto cli after the uncompressed clone reply, aligning the branch for pull and push. check-in: 563c9b7ddd user: dmestas tags: cli | |
| 16:58 | Merge the uncompressed clone reply onto trunk: the clone response is sent as application/x-fossil-uncompressed with no outer container per sync 8.1 and 4.1, so already-compressed cfiles are single-compressed and interoperable. check-in: a3557b5106 user: dmestas tags: trunk | |
| 16:56 | Send the clone reply as application/x-fossil-uncompressed with no outer container per sync 8.1 and 4.1, and capture the reply Content-Type before the body stream invalidates it, so clone cfiles are single-compressed and interoperable rather than double-wrapped or misdecoded. check-in: aa153192f3 user: dmestas tags: cli | |
| 16:37 | Merge trunk back onto cli after multi-batch clone, aligning the branch for the clone reply compression check and pull/push. check-in: 0d14cb4f26 user: dmestas tags: cli | |
| 16:36 | Merge multi-batch clone continuation onto trunk: the client threads the section 8.2 clone_seqno cursor across successive cfile batches until exhaustion, so a repository larger than one batch clones in full. check-in: 378073c233 user: dmestas tags: trunk | |
| 16:33 | Continue a clone across multiple cfile batches by threading the section 8.2 clone_seqno cursor so the client requests successive batches until the server signals exhaustion, so a repository larger than one batch clones in full check-in: 8d249bc3a5 user: dmestas tags: cli | |
| 16:16 | Merge trunk back onto cli after the working clone, keeping the branch aligned for pull/push and the multi-batch clone continuation. check-in: 887b9b0859 user: dmestas tags: cli | |
| 16:15 | Merge the working sync client onto trunk: the round driver, the clone verb, and section 8 server-side clone, so a fresh zit client clones a full repository from a zit server over HTTP with the cloned store's artifacts equal to the origin's. check-in: 4ca4a718e8 user: dmestas tags: trunk | |
| 16:12 | Answer the sync clone operation in Server.respond by paginating the repository's artifacts by RID into cfile batches with the section 8.2 clone_seqno cursor to exhaustion, so a fresh client clones a full repository over HTTP check-in: d383eb0084 user: dmestas tags: cli | |
| 15:42 | Add the zit clone client — the clone verb driving the sync round loop over the HTTP transport and persisting received artifacts into a fresh repository — and fix transport.exchange to drop a read error the socket path cannot emit; the clone-against-itself e2e is present but skipped pending server-side section 8 clone support. check-in: 7d88a407ed user: dmestas tags: cli | |
| 15:03 | Add bounded sync round driver pumping buildRequest through a transport to consumeReply until section 3.7 termination, converging the local store against a peer under an explicit round-limit guard check-in: d9aebe9520 user: dmestas tags: cli | |
| 14:27 | Merge trunk back onto cli after zit serve, keeping the branch aligned for the clone/pull/push driver. check-in: 7e7c24630e user: dmestas tags: cli | |
| 14:26 | Merge zit serve onto trunk: a single-threaded HTTP server answering application/x-fossil sync requests by decoding the container, calling the stateless Server.respond over the repository store, and returning the framed reply. check-in: 55072db7c8 user: dmestas tags: trunk | |
| 14:24 | add a single-threaded zit serve that answers application/x-fossil sync requests over HTTP by decoding the request container, calling the stateless Server.respond over the repository store, and returning the framed reply, per sync section 4 check-in: ed3a558990 user: dmestas tags: cli | |
| 14:04 | Merge trunk back onto cli after the transport module, keeping the branch aligned for the sync driver and server. check-in: ea8dee72d5 user: dmestas tags: cli | |
| 14:03 | Merge the CLI-layer HTTP transport onto trunk: an open/exchange/close boundary carrying uncompressed sync bytes over the Fossil zlib container with section 4 redirect and downgrade handling, so a later ssh or file transport is a mechanical wrap. check-in: 1da24fb857 user: dmestas tags: trunk | |
| 14:01 | Add the CLI-layer HTTP transport that frames a sync request as the Fossil zlib container, POSTs it as application/x-fossil, decodes the reply, and honors the section 4 redirect and downgrade rules so the sans-IO client can exchange over the wire. check-in: 2d75dae647 user: dmestas tags: cli | |
| 13:41 | Merge trunk back onto cli after integrating the sync DST, keeping the branch aligned for the transport phase. check-in: 871d2f829c user: dmestas tags: cli | |
| 13:40 | Merge the sync SimNet DST onto trunk: the scenario generator and two-phase sweep proving buildRequest/respond/consumeReply converge and reach section 3.7 termination under injected network faults once the wire heals, with section 7.5 privacy held. check-in: 465f71abfe user: dmestas tags: trunk | |
| 13:37 | add the two-phase sync SimNet sweep driving buildRequest/respond/consumeReply through the fault-injecting network and asserting convergence, section 3.7 termination, and section 7.5 private-content invariants hold after the wire heals, wired into zig build dst check-in: 43f37d1f7f user: dmestas tags: cli | |
| 13:06 | add a seeded generator of two-endpoint sync scenarios: pre-seeded client and server stores with held, phantom, and shared artifacts plus a bounded per-link fault profile, so the sweep can replay any exchange from its seed check-in: 3c6945c120 user: dmestas tags: cli | |
| 12:52 | Merge trunk back onto cli, bringing the cov step so the branch carries the integrated tip for the next transport step. check-in: 8c3ef76441 user: dmestas tags: cli | |
| 12:51 | Merge the SimNet packet simulator onto trunk: a tick-stepped two-endpoint network with seeded delay, drop, dup, and payload-derived corruption, so the sync sweep can replay any fault schedule from its seed. check-in: ea810169a8 user: dmestas tags: trunk | |
| 12:49 | Merge the out-of-band cov step onto trunk so merged kcov line coverage is available via zig build cov, outside the commit gate. check-in: 629b041148 user: dmestas tags: trunk | |
| 12:45 | Add a tick-stepped two-endpoint network simulator with seeded delay, drop, dup, and payload-derived corruption, so a retried delivery corrupts identically and the sync sweep can replay any fault schedule from its seed. check-in: 7d1ec5b267 user: dmestas tags: cli | |
| 12:42 | Add an out-of-band zig build cov step running merged kcov line coverage over the unit-test binaries filtered to src, so untested code surfaces mechanically without entering the commit gate closed check-in: 0059783eff user: dmestas tags: kcov | |
| 12:31 | Merge trunk back onto cli after integrating A0, keeping the branch aligned for the next transport step. check-in: ff95ec1f7f user: dmestas tags: cli | |
| 12:31 | Merge transport A0 onto trunk: the sans-IO Client.buildRequest and stateless Server.respond, so a client and server converge over buildRequest/respond/consumeReply per sync 3.7/3.8 — the send/answer halves the network transport and simulator will drive without owning IO. check-in: ccfb360f59 user: dmestas tags: trunk | |
| 12:28 | Answer a sync request from ArtifactStore state with the stateless Server.respond, verifying login, ingesting pushed files, satisfying gimmes with content, and announcing holdings and phantoms, so a client and server converge over buildRequest/respond/consumeReply per sync 3.7/3.8 without either owning IO check-in: e4eb6ea8e7 user: dmestas tags: cli | |
| 12:05 | Compose sync requests from client and store state so the transport and simulator can drive the send half without owning IO: buildRequest emits the version pragma, an optional body login, the operation cards, an igot per holding, a gimme per phantom, and a file per queued send per sync 3.2. check-in: e6975d1870 user: dmestas tags: cli | |
| 11:08 | Merge the store count primitive onto cli so the sync request/response composer can enumerate the store. check-in: 76bf611f9d user: dmestas tags: cli | |
| 11:07 | Add a count query to the ArtifactStore boundary returning the entry total, so a sync peer can walk the dense 1..=count rids and classify each as held or phantom to announce its holdings and request what it lacks per sync sections 3.2 and 3.3. check-in: 4c38e8fbd6 user: dmestas tags: trunk | |
| 07:00 | Merge trunk back onto cli after integrating the query slice, so follow-on transport work builds on the aligned tip. check-in: e791084496 user: dmestas tags: cli | |
| 06:59 | Merge the repo-state query slice onto trunk: the leaves, branch, tag, and info commands over a shared read-only repo-view loader, exposing the finished repostate engine through the CLI so a user can inspect leaves, branches, tags, and resolve names without a write path. check-in: 366ee2d629 user: dmestas tags: trunk | |
| 06:54 | Add the info command, resolving NAME through the repo-state section 8.3 procedure and describing the check-in it names — its full artifact ID, its branch per section 6.1 with the configured main-branch of section 6.4 as the fallback, its leaf status per sections 7.1 and 7.4, its primary parent per section 3.2, and each merge parent per section 3.3 — with selection recency-based per section 8.2, so per section 8.5 a name can name a closed or non-leaf check-in that leaves omits. check-in: 6252eda2e6 user: dmestas tags: cli | |
| 05:56 | Add the tag command listing the repository's active symbolic tag names in use with no CHECKIN, or the active tags and their values visible on a resolved CHECKIN, deriving both over the crosslinked repo-view rather than storing them, per repo-state sections 5.1, 5.2, and 2, resolving CHECKIN through the section 8.3 procedure and surfacing sym- names with the reserved prefix stripped. check-in: 45f5ac644f user: dmestas tags: cli | |
| 04:48 | Add the branch command to list the repository's branches name-ascending, marking the checked-out check-in's branch with a leading "*" and closed representatives "(closed)", per repo-state sections 6.1, 6.3, and 6.4, resolving the default branch through the configured main-branch rather than a literal, and lift the shared read-only repo-view loader out of leaves so both verbs open the repository, resolve the checkout, and report failures identically. check-in: a6e2c0fd01 user: dmestas tags: cli | |
| 03:44 | Add the leaves command to enumerate the check-in DAG's open leaves, most-recent first with the current checkout marked, per repo-state sections 7.1, 7.4, and 7.5, over a shared repo-view loader that resolves branch state from the configured main-branch with the section 6.1 trunk fallback. check-in: 0b9d217bfe user: dmestas tags: cli | |
|
2026-07-14
| ||
| 12:16 | Merge trunk into cli with Artifact A.1.2 correction check-in: 01b124075c user: dmestas tags: cli | |
| 12:11 | Integrate Artifact A.1.2 vector correction check-in: 17e0841c30 user: dmestas tags: trunk | |
| 11:53 | Update Artifact A.1.2 SHA3-256 technote vector closed check-in: ead3630a7d user: dmestas tags: artifact-a12-vector-fix | |
| 10:01 | Merge trunk into cli: the uvfile payload bit-gating fix (sync §7.3), so verb work builds on the current integrated state. check-in: 98a0f2c85c user: dmestas tags: cli | |
| 09:54 | Frame the uvfile payload from the FLAGS 0x0001 and 0x0004 bits per sync §7.3, not from the HASH-based deletion test, so a non-compliant card that carries the deletion bit with a real hash and a positive SIZE reads no payload and the receiver stays byte-aligned with the reference; delete-vs-update still keys on HASH. check-in: 7912172df2 user: dmestas tags: trunk | |
| 02:18 | Merge trunk into cli to bring the recovered tree onto the branch: the correctness and RFC-alignment fixes, the sibling test-file layout, and the Ousterhout de-duplication, so follow-on verb and coverage work builds on the integrated state. check-in: 2ce67c9598 user: dmestas tags: cli | |
| 02:13 | Drop two tautological assertions in the push-intent and inbound-gimme predicates: each merely restates the boolean defined on the line directly above it and so can never fail, leaving them as noise rather than a check of any invariant a bug could violate. check-in: eea9f66041 user: dmestas tags: trunk | |
| 01:39 | Cite the flat repostate §8.3 name-resolution procedure on its resolution tests instead of §8.3.N subsection numbers, since §8.3 is a numbered list of forms rather than a set of subsection headings and the per-form intent is already in each test name. check-in: 3d154570ab user: dmestas tags: trunk | |
| 01:26 | Cite artifact §6.2 on the empty-content self-checksum test so the expected MD5 of empty input follows from the self-checksum definition instead of standing without a section reference. check-in: 7ca4474047 user: dmestas tags: trunk | |
| 01:12 | Compile the end-to-end test binary under `zig build test` so a type error in the subprocess-driven e2e file breaks the build instead of rotting undetected, while keeping its ~150-spawn run out of the unit gate. check-in: 7cb4c1b861 user: dmestas tags: trunk | |
| 01:02 | Reject any stored log version this reader never wrote, set the append watermark to the true file length after an extending truncate, honor the read-past-EOF-returns-zero contract in the simulated file, and fold the duplicated frame-header validation into one shared check so the content reader and the open-time scan cannot diverge. check-in: 7fb8e33f9c user: dmestas tags: trunk | |
| 00:04 | Drive the init, add, rm, and commit argument grammars through one table-driven flag scanner so the four near-identical parsers cannot drift apart. check-in: 2487264643 user: dmestas tags: trunk | |
|
2026-07-13
| ||
| 23:17 | Derive the verb vocabulary, dispatch, help routing, and did-you-mean suggestions from a single cli.Verb enum so the dispatched, helpable, and suggestable command sets cannot drift apart. check-in: 4b7f777d92 user: dmestas tags: trunk | |
| 23:01 | Fold commit's checkout- and managed-read failures into the verb-parameterized checkoutFail and managedFail mappers so one mapper renders the B-commit-15 messages shared with the read-only working-tree verbs. check-in: fd76e90b60 user: dmestas tags: trunk | |