50 ancestors of d9aebe952080ee40
|
2026-07-15
| ||
| 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 | |
| 22:53 | Move the public-surface artifact and repostate tests into their sibling test files, citing the repo-state §4.2 crosslink and §8.3 date-form clauses the repostate cases exercise, so each module keeps only its file-private tests. check-in: cc4cbd9cd9 user: dmestas tags: trunk | |
| 22:35 | Move the update rollback-retention test and its fixtures into the sibling test file, leaving update.zig with only its file-private declarations. check-in: bbdc988561 user: dmestas tags: trunk | |
| 22:14 | Move the §C test asserting persisted RID order follows frame order after a phantom upgrade into the logstore sibling test file, leaving logstore.zig with only its file-private and fuzz-corpus declarations. check-in: f59234f6f1 user: dmestas tags: trunk | |
| 21:28 | Relocate the consumeReply public-surface tests — the Appendix A worked exchanges and the §7.5 private-marker state machine — to the sibling test file so sync.zig holds only its file-private and fuzz-corpus declarations. check-in: 42140c77cd user: dmestas tags: trunk | |
| 20:58 | State the storage engine's framing and crash-recovery invariants directly in the logstore and storage-capability module doc comments so each native storage test carries its oracle in-tree rather than citing an out-of-tree design note. check-in: e4cd62c7a3 user: dmestas tags: trunk | |
| 20:45 | Give the update and diff failure mappers closed error sets so a rolled-back or cleanup-failed update reports its own diagnostic instead of collapsing to a generic input/output error and hiding that the previous working-tree state was retained for recovery. check-in: 133127529a user: dmestas tags: trunk | |
| 20:22 | Capture the working-tree executable bit into each file's F card per §4.7.6 so a chmod +x commits as an x-permission entry and quiesces, instead of reporting M on every diff yet never committing. check-in: eea0c068d1 user: dmestas tags: trunk | |
| 20:05 | Poison the log store when a rollback truncate itself fails so no later append lands at an offset that has diverged from the physical file end, rather than swallowing the error and letting in-memory bookkeeping drift from disk. check-in: 2cebd9179d user: dmestas tags: trunk | |
| 19:45 | Accept a non-canonically fossilized unversioned NAME instead of aborting the exchange, since sync §7.3 licenses no such receiver rejection and artifact §4.3 defines the defossilize decoder as error-free, and parse a cookie login value strictly by the §B.4 url-login-value grammar so fields split only on the literal + separator, escapes are lenient solely under HEXDIG-CI, and a %20 standing in for a separator is rejected. check-in: 3fd2c0ca4c user: dmestas tags: trunk | |