50 descendants of 19a0981b2752ed8b
|
2026-07-11
| ||
| 19:08 | Add the capability union rule so a successful login only widens a user's established permissions on top of the session baseline and can never clear a granted bit. check-in: 5a5d0517b4 user: dmestas tags: harden | |
| 18:38 | Merge the sync private-card receiver pending-marker onto trunk. check-in: c072cf17dc user: dmestas tags: trunk | |
| 18:34 | Track the client receive-side private marker per sync section 7.5: a bare private card sets a per-session pending flag that the next file or cfile card consumes at handler entry to mark its delivered content private, tolerating intervening comment and non-content cards, leaving a repeat set, carrying it across reply bodies within a session but never across the session boundary, and rejecting an argument-bearing private card as a fatal card-arity abort. check-in: 6b69bb3437 user: dmestas tags: harden | |
| 17:59 | Merge trunk into cli to stay current with the sync reply-dispatch and cfile work. check-in: 3693e0ee0f user: dmestas tags: cli | |
| 17:58 | Merge the rm verb onto trunk: untrack paths, with honest --hard disk-removal reporting. check-in: ec96046fcb user: dmestas tags: trunk | |
| 17:54 | Key the rm --hard "deleted from disk" line to each file's real unlink outcome, printing it only for files actually removed and routing unlink failures to stderr so stdout never claims a deletion that did not happen. check-in: 6b4ebc6970 user: dmestas tags: cli | |
| 17:53 | Merge the full-content cfile reply-dispatch onto trunk so pulled content is decoded, stored, and dephantomized. check-in: 3c4f0fd7ed user: dmestas tags: trunk | |
| 17:50 | Dispatch the full-content cfile reply card per sync section 7.2, framing its payload strictly by the declared CSIZE byte count, container-decoding the section 4.1 stored blob exactly once, storing the reconstructed bytes under HASH to dephantomize versioned content, and rejecting each malformed-header, over-long-span, and corrupt-container case the spec enumerates while staging the delta form. check-in: 3832e7f7a3 user: dmestas tags: harden | |
| 17:18 | Add the rm verb: untrack named paths, with optional --hard working-tree deletion. check-in: 9d1cea6386 user: dmestas tags: cli | |
| 17:14 | Merge the sync client reply-dispatch (cookie record, strict-accept aborts, config framing) onto trunk. check-in: 33e45a9b5b user: dmestas tags: trunk | |
| 17:11 | Dispatch the cookie, login, reqconfig, and config reply cards per sync sections 3.6, 6.1, and 10.3, storing a received cookie's defossilized opaque value in place of any held one, aborting a login or reqconfig card that only a client may legally send, and framing a config payload strictly by its declared SIZE byte count with its mandatory trailing newline consumed. check-in: 8d70304766 user: dmestas tags: harden | |
| 16:18 | Merge trunk into cli to stay current with the sync message-card dispatch. check-in: ca2e0c3082 user: dmestas tags: cli | |
| 16:17 | Merge the add verb onto trunk so working-tree files can be marked for versioning. check-in: afd1cbd7f0 user: dmestas tags: trunk | |
| 16:15 | Merge the sync section 11.2 client message-card dispatch onto trunk. check-in: 1e54837822 user: dmestas tags: trunk | |
| 16:13 | Track named working-tree files for the next check-in, normalizing each argument to a repo-relative key and rejecting directories, non-regular files, control files, and paths outside the checkout, idempotent on re-adds, persisting the managed set atomically, with dry-run and quiet modes and per-path partial-success exit codes. check-in: 8d8746e807 user: dmestas tags: cli | |
| 16:11 | Dispatch the received message card per sync section 11.2, defossilizing TEXT then clearing the latched SYNC_PUSH intent only while push is live and the payload matches the case-sensitive "pull only " prefix, treating every other payload as an advisory that changes no per-session flag and never aborts the exchange. check-in: 0bfc058ee3 user: dmestas tags: harden | |
| 15:28 | Merge trunk into harden to stay current with the managed-path set and merged fuzz targets. check-in: fab84e5ebd user: dmestas tags: harden | |
| 15:26 | Merge the sync and logstore fuzz targets onto trunk so the out-of-band runner can exercise them. check-in: 35826e6a0e user: dmestas tags: trunk | |
| 15:22 | Move the sync protocol (§3.6-§11) and log-store seeded fuzz generators into parameterized sibling targets so each never-crash and round-trip invariant is defined once and runs both as a fixed-seed smoke test and an out-of-band seeded sweep. check-in: c9434d6291 user: dmestas tags: harden | |
| 15:14 | Merge trunk into cli to pick up the managed-path set that the add/rm/status verbs consume. check-in: 69ff6362db user: dmestas tags: cli | |
| 15:11 | Merge the per-checkout managed-path set onto trunk so files can be tracked before commit. check-in: f3f18fd6dd user: dmestas tags: trunk | |
| 15:08 | Add a per-checkout managed-path set so paths can be marked for versioning before commit. closed check-in: afdf028f78 user: dmestas tags: lib-managed-set | |
| 14:33 | Add the `init` verb: create an empty zit repository in the target directory (creating it if absent), writing a fresh `.zit` content log and an unborn-trunk `.zit-checkout`, defaulting artifact naming to SHA3-256, and refusing when a repository already exists. check-in: 6c591ef91f user: dmestas tags: cli | |
| 14:29 | Merge the sync send-queue fix onto trunk: persist a per-session outbound send queue so the client records which hashes a gimme requested and can drive a push, per section 3.7(b) and 3.3 check-in: 598c026c11 user: dmestas tags: trunk | |
| 14:23 | Queue held content for upload on a peer gimme per sync §3.2 and §3.1, resolving the held hash without minting a phantom and driving §3.7(b) continuation from the per-round file-send count instead of the peer-lacks proxy. closed check-in: 2d300e174c user: dmestas tags: sync-fix | |
| 13:26 | Re-sync the sync-protocol draft: adopt the per-session outbound send queue and the expanded section 9.4 gimme eligibility filters, plus the accompanying pagination check-in: f0befe03c6 user: dmestas tags: trunk | |
| 13:05 | Merge the test-extraction refactor onto trunk: relocate each module's public-API unit tests to sibling _test.zig files, keeping private-touching tests inline, so implementations read at about half their former length check-in: 6324fcb781 user: dmestas tags: trunk | |
| 12:59 | Move sync unit tests to a sibling sync_test.zig, keeping the private-touching tests inline closed check-in: ab188817f0 user: dmestas tags: refactor | |
| 12:26 | Move artifact unit tests to a sibling artifact_test.zig, keeping the private-touching tests inline check-in: 55245f7f60 user: dmestas tags: refactor | |
| 12:14 | Move repostate's public-API unit tests to a sibling repostate_test.zig, keeping the private-touching tests inline check-in: ed8a93809c user: dmestas tags: refactor | |
| 12:03 | Move logstore's public-API unit tests to a sibling logstore_test.zig, keeping the private-touching tests inline check-in: 070f1690e0 user: dmestas tags: refactor | |
| 11:45 | Move delta unit tests to a sibling delta_test.zig, keeping implementation in delta.zig check-in: fb19e3574a user: dmestas tags: refactor | |
| 06:47 | Merge the completed storage engine onto trunk: zlib and delta frames with bounded chain resolution, repo-local config and checkout state, and the shippable single-file .zit container with versioned format and copy-plus-derive cloning check-in: e2c8132559 user: dmestas tags: trunk | |
| 06:43 | Consume a sync reply body as a sans-IO state machine per section 3.2, dispatching each card to maintain the client phantom set per section 3.3, record peer-lacks, dephantomize on arriving content per section 3.7(a), advance the section 3.8 state, and reject every malformed, request-initiation, or out-of-scope reply card the spec enumerates. check-in: 28a50e81b6 user: dmestas tags: trunk | |
| 04:39 | Pin the section 12 security-considerations clauses as named tests: neither the user password nor the shared secret ever appears in the login body card or the x-f-l-c cookie, a byte-identical login verifies twice because the server keeps no nonce cache and applies no freshness check, and the 65535-byte line bound is a fatal resource-exhaustion guard that aborts before card dispatch while leaving declared byte-counted payloads governed by their own SIZE. check-in: d35c429604 user: dmestas tags: trunk | |
| 03:51 | Cover sync section 11 error and message cards: pin the error-card wire form and its fatal handling and the informational message-card that is never a wire-level error, with a named test per section 11.1 and 11.2 rule check-in: 88cd9b09f1 user: dmestas tags: trunk | |
| 03:20 | Cover the sync section 3.9 robustness posture and section 3.10 round message layout by binding each restated clause onto the classifier and state machine that already own it, asserting the four liberal-tolerance points against a fatal strict complement and the canonical Table 4 request order against the unordered Table 5 reply combination. check-in: 0cf3d5e616 user: dmestas tags: trunk | |
|
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: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: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: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: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: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 | |