Artifact f2fa2cc751c96b00d9040d9035dec479f1d441952f9c245c7cd020a25c280665:
* fix: clone_seqno is server-to-client only (#74)
The clone client transmitted a `clone_seqno` card to carry its pagination cursor. That card travels the other way: canonical's page_xfer() only ever writes it (src/xfer.c:1571) and has no parser for it, so a real fossil server answered `bad command: clone_seqno N` and the clone died on round two. Repositories that fit in a single batch never reached the pagination path, which is why wapp and pikchr cloned while fossil and sqlite did not.
The request cursor belongs on the clone card itself — `clone VERSION SEQNO`, read from token 2 at src/xfer.c:1553 — and the response cursor belongs on `clone_seqno`, which the client only consumes. Give each direction a single owner:
- The client sends its cursor on the clone card and never emits a clone_seqno card. It already consumed the server's card correctly; it now also rejects a negative value, matching src/xfer.c:2769. - The server reads its cursor from the clone card and the CloneSeqNoCard parser is gone, so there is exactly one way to set the cursor rather than two.
Aligning with canonical also corrects the cursor's meaning. Ours was the last rid sent, queried with `rid > cursor`; canonical's is the rid of the next blob to send, looped inclusively with `while( seqno<=max )`. Now that the value crosses to a real server it has to mean what canonical means, so emitCloneBatch queries `rid >= cursor` and reports the first rid it did not send, or 0 once the snapshot is exhausted. That collapses the old more/lastSentRID pair into a single nextRID and keeps the truncate hook honest by re-owing the dropped rid instead of skipping it.
TestCloneMultiBatchAgainstCanonicalServer drives the client against a stand-in server that implements the canonical contract and rejects a client-sent clone_seqno the way fossil does; it reproduces `bad command: clone_seqno` against the old client. TestHandleCloneCursorFromCloneCard pins the server half, including the inclusive cursor.
Verified against fossil 2.28 over a loopback server: fossil and sqlite now transfer every artifact (67,499 and 130,994 blobs), and wapp and pikchr still clone in 3 rounds.
* fix: conform clone cursor validation to the spec in both directions (#74)
Review caught two rules applied to the wrong side of the wire — the same axis error the original bug was.
The client rejected a negative clone_seqno as fatal, citing src/xfer.c:2769. That line is the server's rule for the SEQNO on a clone REQUEST. The reply parser is governed by §3.2 and §8.2: NEXT is recorded only when it is decimal, and a visible but non-decimal NEXT is a defined receiver-tolerance exception that leaves the recorded sequence unchanged and does not stop parsing later reply cards. Aborting the clone was the one thing the spec rules out. The rule belongs in the decoder, where a non-decimal NEXT now decodes to an unknown card: the token is preserved, no consumer records it, and following cards still parse. strconv.Atoi accepted "-1" off the wire, so this was reachable, not theoretical.
Conversely the server clamped `clone 3 0` to a cursor of 1 where §8.1 mandates a fatal: clear accumulated output, roll back, emit `error invalid clone sequence number`, and parse no later request card. Nothing is written before processDataCards, so returning early is what the rollback amounts to. Seeing this case at all needs a presence flag, because `clone` and `clone 3 0` both parsed to SeqNo 0 and only the former is exempt. §8.1 also keys on a digit-only SEQNO and withholds the fatal from wrong arity, a VERSION below 2, and a SEQNO that fails digit-only recognition, so the flag records digit-only presence rather than merely arity.
Both card rules now turn on the spec's `decimal = 1*DIGIT` production via a shared predicate instead of on whatever strconv.Atoi tolerates.
Also promotes emitCloneBatch's `count > 1` truncate guard to a documented liveness constraint. Under the old exclusive `rid > cursor` semantics `count > 0` was safe; under the inclusive cursor, dropping the only card in a batch reports a cursor equal to the one we entered with and the client re-requests forever. A check before the reply card now names a stalled round at its source instead of letting it surface as an opaque MaxRounds failure, and the cursor precondition became an error return rather than a panic — it is enforced ~350 lines away in a network-facing handler.
Records the deliberate asymmetry that our server ignores an inbound clone_seqno where canonical answers `bad command`, and renames TestHandleCloneSeqNo, which no longer sends that card.
* fix: name the clone SEQNO flag for the shape it records (#74)
HasSeqNo described presence, but the field records whether the SEQNO token is digit-only: `clone 3 -1` carries a SEQNO and sets it false. §8.1 keys its fatal on that shape rather than on the parsed value, which is why a plain int cannot stand in for it. SeqNoIsDecimal says so.
Reading it as presence would also collapse `clone 0 0` — a distinct wire form that parses to the same Version and SeqNo as a bare `clone` — back into `clone` on re-encode. encodeClone already guarded against that; a round-trip test over every clone wire form now pins it, and fails on exactly that input when the guard is removed.
Also records why the §8.1 rollback is currently vacuous: no card handled before processDataCards writes anything, so returning early leaves nothing to undo. Nothing enforces that ordering, and §3.5's ci-lock would break it, so the dependency is written down next to the code that relies on it.
Corrects a test comment that claimed a continuation property it did not exercise — the malformed card sits in the trailer, so nothing follows it. That half of §8.2 is covered by the follow-on card in TestDecode_CloneSeqNoNonDecimal. by [email protected] on 2026-07-19 22:42:56.
C fix:\sclone_seqno\sis\sserver-to-client\sonly\s(#96)\n\n*\sfix:\sclone_seqno\sis\sserver-to-client\sonly\s(#74)\n\nThe\sclone\sclient\stransmitted\sa\s`clone_seqno`\scard\sto\scarry\sits\spagination\ncursor.\sThat\scard\stravels\sthe\sother\sway:\scanonical's\spage_xfer()\sonly\sever\nwrites\sit\s(src/xfer.c:1571)\sand\shas\sno\sparser\sfor\sit,\sso\sa\sreal\sfossil\nserver\sanswered\s`bad\scommand:\sclone_seqno\sN`\sand\sthe\sclone\sdied\son\sround\ntwo.\sRepositories\sthat\sfit\sin\sa\ssingle\sbatch\snever\sreached\sthe\spagination\npath,\swhich\sis\swhy\swapp\sand\spikchr\scloned\swhile\sfossil\sand\ssqlite\sdid\snot.\n\nThe\srequest\scursor\sbelongs\son\sthe\sclone\scard\sitself\s—\s`clone\sVERSION\sSEQNO`,\nread\sfrom\stoken\s2\sat\ssrc/xfer.c:1553\s—\sand\sthe\sresponse\scursor\sbelongs\son\n`clone_seqno`,\swhich\sthe\sclient\sonly\sconsumes.\sGive\seach\sdirection\sa\ssingle\nowner:\n\n\s\s-\sThe\sclient\ssends\sits\scursor\son\sthe\sclone\scard\sand\snever\semits\sa\n\s\s\s\sclone_seqno\scard.\sIt\salready\sconsumed\sthe\sserver's\scard\scorrectly;\sit\n\s\s\s\snow\salso\srejects\sa\snegative\svalue,\smatching\ssrc/xfer.c:2769.\n\s\s-\sThe\sserver\sreads\sits\scursor\sfrom\sthe\sclone\scard\sand\sthe\sCloneSeqNoCard\n\s\s\s\sparser\sis\sgone,\sso\sthere\sis\sexactly\sone\sway\sto\sset\sthe\scursor\srather\n\s\s\s\sthan\stwo.\n\nAligning\swith\scanonical\salso\scorrects\sthe\scursor's\smeaning.\sOurs\swas\sthe\nlast\srid\ssent,\squeried\swith\s`rid\s>\scursor`;\scanonical's\sis\sthe\srid\sof\sthe\nnext\sblob\sto\ssend,\slooped\sinclusively\swith\s`while(\sseqno<=max\s)`.\sNow\sthat\nthe\svalue\scrosses\sto\sa\sreal\sserver\sit\shas\sto\smean\swhat\scanonical\smeans,\sso\nemitCloneBatch\squeries\s`rid\s>=\scursor`\sand\sreports\sthe\sfirst\srid\sit\sdid\snot\nsend,\sor\s0\sonce\sthe\ssnapshot\sis\sexhausted.\sThat\scollapses\sthe\sold\nmore/lastSentRID\spair\sinto\sa\ssingle\snextRID\sand\skeeps\sthe\struncate\shook\nhonest\sby\sre-owing\sthe\sdropped\srid\sinstead\sof\sskipping\sit.\n\nTestCloneMultiBatchAgainstCanonicalServer\sdrives\sthe\sclient\sagainst\sa\nstand-in\sserver\sthat\simplements\sthe\scanonical\scontract\sand\srejects\sa\nclient-sent\sclone_seqno\sthe\sway\sfossil\sdoes;\sit\sreproduces\s`bad\scommand:\nclone_seqno`\sagainst\sthe\sold\sclient.\sTestHandleCloneCursorFromCloneCard\npins\sthe\sserver\shalf,\sincluding\sthe\sinclusive\scursor.\n\nVerified\sagainst\sfossil\s2.28\sover\sa\sloopback\sserver:\sfossil\sand\ssqlite\snow\ntransfer\severy\sartifact\s(67,499\sand\s130,994\sblobs),\sand\swapp\sand\spikchr\nstill\sclone\sin\s3\srounds.\n\n*\sfix:\sconform\sclone\scursor\svalidation\sto\sthe\sspec\sin\sboth\sdirections\s(#74)\n\nReview\scaught\stwo\srules\sapplied\sto\sthe\swrong\sside\sof\sthe\swire\s—\sthe\ssame\naxis\serror\sthe\soriginal\sbug\swas.\n\nThe\sclient\srejected\sa\snegative\sclone_seqno\sas\sfatal,\sciting\ssrc/xfer.c:2769.\nThat\sline\sis\sthe\sserver's\srule\sfor\sthe\sSEQNO\son\sa\sclone\sREQUEST.\sThe\sreply\nparser\sis\sgoverned\sby\s§3.2\sand\s§8.2:\sNEXT\sis\srecorded\sonly\swhen\sit\sis\ndecimal,\sand\sa\svisible\sbut\snon-decimal\sNEXT\sis\sa\sdefined\sreceiver-tolerance\nexception\sthat\sleaves\sthe\srecorded\ssequence\sunchanged\sand\sdoes\snot\sstop\nparsing\slater\sreply\scards.\sAborting\sthe\sclone\swas\sthe\sone\sthing\sthe\sspec\nrules\sout.\sThe\srule\sbelongs\sin\sthe\sdecoder,\swhere\sa\snon-decimal\sNEXT\snow\ndecodes\sto\san\sunknown\scard:\sthe\stoken\sis\spreserved,\sno\sconsumer\srecords\sit,\nand\sfollowing\scards\sstill\sparse.\sstrconv.Atoi\saccepted\s"-1"\soff\sthe\swire,\nso\sthis\swas\sreachable,\snot\stheoretical.\n\nConversely\sthe\sserver\sclamped\s`clone\s3\s0`\sto\sa\scursor\sof\s1\swhere\s§8.1\nmandates\sa\sfatal:\sclear\saccumulated\soutput,\sroll\sback,\semit\s`error\sinvalid\nclone\ssequence\snumber`,\sand\sparse\sno\slater\srequest\scard.\sNothing\sis\swritten\nbefore\sprocessDataCards,\sso\sreturning\searly\sis\swhat\sthe\srollback\samounts\sto.\nSeeing\sthis\scase\sat\sall\sneeds\sa\spresence\sflag,\sbecause\s`clone`\sand\n`clone\s3\s0`\sboth\sparsed\sto\sSeqNo\s0\sand\sonly\sthe\sformer\sis\sexempt.\s§8.1\salso\nkeys\son\sa\sdigit-only\sSEQNO\sand\swithholds\sthe\sfatal\sfrom\swrong\sarity,\sa\nVERSION\sbelow\s2,\sand\sa\sSEQNO\sthat\sfails\sdigit-only\srecognition,\sso\sthe\sflag\nrecords\sdigit-only\spresence\srather\sthan\smerely\sarity.\n\nBoth\scard\srules\snow\sturn\son\sthe\sspec's\s`decimal\s=\s1*DIGIT`\sproduction\svia\sa\nshared\spredicate\sinstead\sof\son\swhatever\sstrconv.Atoi\stolerates.\n\nAlso\spromotes\semitCloneBatch's\s`count\s>\s1`\struncate\sguard\sto\sa\sdocumented\nliveness\sconstraint.\sUnder\sthe\sold\sexclusive\s`rid\s>\scursor`\ssemantics\n`count\s>\s0`\swas\ssafe;\sunder\sthe\sinclusive\scursor,\sdropping\sthe\sonly\scard\sin\na\sbatch\sreports\sa\scursor\sequal\sto\sthe\sone\swe\sentered\swith\sand\sthe\sclient\nre-requests\sforever.\sA\scheck\sbefore\sthe\sreply\scard\snow\snames\sa\sstalled\sround\nat\sits\ssource\sinstead\sof\sletting\sit\ssurface\sas\san\sopaque\sMaxRounds\sfailure,\nand\sthe\scursor\sprecondition\sbecame\san\serror\sreturn\srather\sthan\sa\spanic\s—\nit\sis\senforced\s~350\slines\saway\sin\sa\snetwork-facing\shandler.\n\nRecords\sthe\sdeliberate\sasymmetry\sthat\sour\sserver\signores\san\sinbound\nclone_seqno\swhere\scanonical\sanswers\s`bad\scommand`,\sand\srenames\nTestHandleCloneSeqNo,\swhich\sno\slonger\ssends\sthat\scard.\n\n*\sfix:\sname\sthe\sclone\sSEQNO\sflag\sfor\sthe\sshape\sit\srecords\s(#74)\n\nHasSeqNo\sdescribed\spresence,\sbut\sthe\sfield\srecords\swhether\sthe\sSEQNO\stoken\nis\sdigit-only:\s`clone\s3\s-1`\scarries\sa\sSEQNO\sand\ssets\sit\sfalse.\s§8.1\skeys\sits\nfatal\son\sthat\sshape\srather\sthan\son\sthe\sparsed\svalue,\swhich\sis\swhy\sa\splain\nint\scannot\sstand\sin\sfor\sit.\sSeqNoIsDecimal\ssays\sso.\n\nReading\sit\sas\spresence\swould\salso\scollapse\s`clone\s0\s0`\s—\sa\sdistinct\swire\nform\sthat\sparses\sto\sthe\ssame\sVersion\sand\sSeqNo\sas\sa\sbare\s`clone`\s—\sback\sinto\n`clone`\son\sre-encode.\sencodeClone\salready\sguarded\sagainst\sthat;\sa\sround-trip\ntest\sover\severy\sclone\swire\sform\snow\spins\sit,\sand\sfails\son\sexactly\sthat\sinput\nwhen\sthe\sguard\sis\sremoved.\n\nAlso\srecords\swhy\sthe\s§8.1\srollback\sis\scurrently\svacuous:\sno\scard\shandled\nbefore\sprocessDataCards\swrites\sanything,\sso\sreturning\searly\sleaves\snothing\nto\sundo.\sNothing\senforces\sthat\sordering,\sand\s§3.5's\sci-lock\swould\sbreak\sit,\nso\sthe\sdependency\sis\swritten\sdown\snext\sto\sthe\scode\sthat\srelies\son\sit.\n\nCorrects\sa\stest\scomment\sthat\sclaimed\sa\scontinuation\sproperty\sit\sdid\snot\nexercise\s—\sthe\smalformed\scard\ssits\sin\sthe\strailer,\sso\snothing\sfollows\sit.\nThat\shalf\sof\s§8.2\sis\scovered\sby\sthe\sfollow-on\scard\sin\nTestDecode_CloneSeqNoNonDecimal. D 2026-07-19T22:42:56 F .githooks/pre-commit ce134a33b0e8b1a0017110de2ef0553e052378e048b461102282edd72bea5fb9 x F .github/RELEASE_TEMPLATE.md 8732d1e0c367cefb3a1e0ac8fbdf191f2816fc3469d4680dfdf14eac2dec9a1d w F .github/workflows/release.yml b651c1197277c56316e08ec92fd16112b35aa94a2aeabe2b58a3011475b968da w F .github/workflows/test.yml fab3db709b05f1d8772de29a7f17a29da02eb2438b0aa5f5f1cde748175d9508 w F .gitignore bc81256c11f6f6390eb365029ca72b000c5bd5be345d294bdd0a7a69d698d4e3 w F CHANGELOG.md 52df539b99e0219d692ba7021aed56fb0caaac90d886b7295d6a9c184dd6e52e w F CONTRIBUTING.md 357da160ac28784199ba7bbe59b4a15333818edb56ffabb5d057da36588ebabd w F LICENSE d967ce740201ba31025b108fe9b0a21ceec2f6570153814f3446901d05ff0dbc w F Makefile f531d9a1976fd760d502faf2e8c19b6dbc014ed49eea3ec35a96b539eda1ac37 w F README.md 43b4d1867b49a5f854d4fe235944b35e8c7c098cd3eae3ef0b359f420ae74103 w F assets/logo.png 6742c6519f88a82f8861a8151eba4e08f7e4e66a496465014a5bb728811542f3 w F checkout.go 63837f1f6061a65c89a3d120096b0187ea9ff2ff7798ec90ad540919aebbe3ce w F checkout_test.go 36d3cae47028e0718468ef412bfb65041da4eb020fdf4a7c9b2bfef81e79315c w F checkout_update_test.go eab514bb61f6e4e56711ae78245762b81b9a38c522d1cc91fedf82e5cc09d3b6 w F cli/repo.go ed815010cc42627a2aae8720fe0d0f02e0262d3e9516a36d2a037f250968578f w F cli/repo_add.go 62ac014a3a2fc45e27f3a496a804f9c35a54c978db3fe88d14e6828947075a1f w F cli/repo_annotate.go 837ad520aa294a047ea0d1adf5ef54150b7707ad948db0818fd89cf72524c552 w F cli/repo_bisect.go 343e4afe01f9e36a1a321256e4f66399e50510ed46b690de12d0a3e3c381137e w F cli/repo_branch.go d3479393bb477abd1792418a7cf23d4660db4bfd585fc77e2b5ff3b00041ead9 w F cli/repo_cat.go a9cb373d044d58538241ff340302598ab429ffcdf378dcc1ea6bfa79e094d51f w F cli/repo_ci.go 071e8151afb681c57600da2a38859707f0a2d6f506fa80fec41f5644dd620755 w F cli/repo_clone.go 29cdd2e744e81e574a177f954b00f28bbd48bd4175dbad264783b2bbe10a1bf5 w F cli/repo_co.go c023f29ec9423f56c1ee46f00db83adcc02aa93e080ab51ff72427282c2dbeb2 w F cli/repo_config.go d23ea737bfe951b12c73666e51876b2a378ce33c90a27198610e0d0aba50eb74 w F cli/repo_conflicts.go a174d9ffd91120662c7ebc876f02d9717a1e8179b46474d7a4be0efb70d2f109 w F cli/repo_delta.go 20f5a211e98895b472cea2b1b3585889b5f7283fd0466422ccebdc82fe2a05f2 w F cli/repo_diff.go 941f62756321b259bb2592791b0a2df8ead81b259ce913b4518fcb2f0b24cd77 w F cli/repo_extract.go d9e52f90187030fb0be177a7893416446046b903e4381deedf9deeac3b27d916 w F cli/repo_hash.go 5d319b5458793a901ca3a641eb7b8db42e973b3ab7746d8081c50960ffeaa0ce w F cli/repo_info.go 486f59013b564f79c7977acf5728af170c04fb0f52dfb5fdc461d5db3faff09c w F cli/repo_invite.go 9e7fa0f6d7ee501c950d964e3f4954dc03f8ea71ee5f8362022588bd4c349052 w F cli/repo_ls.go 6f57d45721dadd48b5ce35deb2192a87c5b4c2584091e258921eedfc26c87ed4 w F cli/repo_merge.go 3271511a9544f2664b40d2e69ef2b3d746fd96afe2fdbb3f78b94b8b190d8a31 w F cli/repo_merge_resolve.go 5a15271fd422bf4d3ab33b1e5a33e0cd670a4aa91291a282c6e9de9c966ae854 w F cli/repo_new.go 4acffbcbc4c2b9f23b816c72b2ee0c528ff12ed8a7c3f4cc2ff7be2100c4830e w F cli/repo_open.go 510bfed1fab03fc40bca575c5c086f97217e3686ea9424269623d4db482d6702 w F cli/repo_query.go 16d553d1040d17b5a0d82f936ae59ca95c8859231311a9297b4386b0586930f3 w F cli/repo_rename.go f275ff6c93ce380ed6c1e3cad2b9eb5a48ec8695c06b8ef1373788593961a046 w F cli/repo_resolve.go 3259d2e30f889b9c45e007fd8619d9f30e9bb54e845ae0a0b9e146776bd5d3fa w F cli/repo_revert.go 5e1530b5b9d960c17b0894f5f00217b75b451571e0e528a730f101e4e1f715ff w F cli/repo_rm.go a8b12a6d533c2f670d2ec73d51a9ca505ec1314d4d7609b3d5edff1721f25fa6 w F cli/repo_schema.go 4565288636dc8f9a355f31b0700cb5d38a916944a29f169fa20febacca871ae9 w F cli/repo_serve.go e13e6ac8f14c30fb10e7d636ca4d79efcb8571eb0c334767b7e4ba273c936580 w F cli/repo_serve_test.go da2d24da999c21caaa258f7c3ab8ad1d5a4876db1e79f4bb04b4f8a35e45c1ff w F cli/repo_stash.go d6d9bc90338180edd7c4df89898f464cbf8a574322ac8645dc19cf8b717607a9 w F cli/repo_status.go 6d3fdb3d467b0794508c8f93c3031c07c9e5b45b66dacbcb56b834b64de7c82b w F cli/repo_tag.go f551674ba5cd8e6a9bd48d71e7592e528ca72689cff22be9145f80ad0f549646 w F cli/repo_timeline.go 9c4052baf9eca1aecb4d98ef6f8ac4480386231cbc9245faaa495e75a93df939 w F cli/repo_undo.go 3be586f6b329663982e714d9e24d898c2b3f70a33020013b89ef4078ff2683e5 w F cli/repo_user.go ed498afdf4127acc4e3a4182e379bdad869612d7a8ceec3b01d21bab02ea84e9 w F cli/repo_uv.go 583d0d28111093f00d0c1c189c7114bcdba2e30ec7b19a3c17a2b63406367d99 w F cli/repo_verify.go ee5e7ed1f92447c9029f632d04403a037850320061b25d6f527ea4a0ef533bea w F cli/repo_wiki.go 1a0d81a9ebe9944ef870c6214723299f6aceffd921a9b9f5722e8c8f48f3e349 w F cli/shared.go 828f715872d0333745cb0a71bc5c54b9586d6d23781af66c00e02bcd736c6fb6 w F cli/shared_test.go a810935355f2c4143ca846d65545788acc4cec2dbfeefff188b0ebc9f15c6aad w F cmd/libfossil/main.go 3d5e958eb2cf4649ee67346a42da60171f06fdfebf25bddabe4669dce7fce295 w F db/checkpoint_test.go 59dc3adc3404189216b255be53e6d548264ded4d5a0d385203108e5ae591cd18 w F db/config.go f4bccb5a5b4c997df30f5d88c9fc3cec2903955a71b3cc78f209b20889a67ea9 w F db/config_default.go b75fe2adb424dff71e063a3a54dec54ed3bba22e75f11e9f4e7500664ee75598 w F db/config_wasm.go 41fc170a2d1f0283355d83640217db708ca8f7e4d8ba18a8b91db95ed79ff9b8 w F db/db.go a3cd654b4b5c7e21dba2c4fabd85bbe45f0397d86ce5bc219cbbfcc8d1fd29a8 w F db/db_test.go 6416c0f289c1a7f6aaad82b61d4d5da52ac1c62f16d935c66b85384d54fe4851 w F db/doc.go 693ccc535c5796a4c1fc4001d6fbb23f30690647f694a6e8b816df1ab962d074 w F db/driver/modernc/go.mod 29dc10a0d231ffacd6ee941ba6d72dfd123b6d957425bce177fde167f6394e6f w F db/driver/modernc/go.sum a36002d6878503f3024971b2c2e5f2c2f54d2268a0dc5e04504f0abd25b5e425 w F db/driver/modernc/modernc.go 4e57b0e3e9327e161d0b932efa97b91ab9fec199d2581385c52a425aa98250de w F db/driver/modernc/modernc_test.go 44ce1c37c1bbca3ca84cecd90318133e8ae1a4ee4c49a22d0f86a6d0f2ec62da w F db/driver/ncruces/go.mod 48326e2b053ad0d9057d5e8eca50860ad82c648bb601d5344d5069bac0378a47 w F db/driver/ncruces/go.sum 4971ca697b8b0705153a4952987bd47fa1ee118ad5aa30ae8bff9be88debf90b w F db/driver/ncruces/ncruces.go d2fea1686496618d3b793352f7ca98e950011eb37f00cf2ac91e205f5de8a2aa w F db/driver/ncruces/ncruces_js.go 3d0dbd75c9b599e49826c997abfea7a08148b1174b14c22cc75588a3121c320a w F db/driver/ncruces/ncruces_test.go cd23760fe6584df2cd779f81eb22333e7f0c2ab4c4882e3a6fe5e2979ac9f469 w F db/querier.go 51ef51c04404ba191c9778aa9fb28d779cf9d9a0c54f23626825e92d72ca827c w F db/register.go 2ee97983aa3fa7a3d592c277efcd4a8af515bad2d1bf88aedb0e4eb91e2b54fd w F db/scan.go 4a29b35a035f0b7c2b7cd9e4bca9a7919eeeb9ffedd3123a7d890b61a8c3ce04 w F db/schema.go d75d3ec19fa00ee0ec96ba265addd43610801f81575d46afbc327a01e199873c w F db/schema_test.go 2c2b7ed8b28907bf71680f2665b11f356b59261fb1fda5a49965889ec6c6700e w F docs/site/content/_index.md dffc2080d8c8cee259d3f72d11262521e9378f07b3852db21ad008ada60ebd04 w F docs/site/content/docs/_index.md 2956787a9e30e5b9191bfad9c03926aa165ad1adbb3c734060c6c8b5c8f69455 w F docs/site/content/docs/architecture.md f3999483bd1384101171cecd33ed45bf6ac136407cdc8b3c7f137418dc9c6e70 w F docs/site/content/docs/extension-points.md 2e24ea270d9de5776d601bf6b832cf9daefdfa8fb9ac3c50949125858da85204 w F docs/site/content/docs/migration-from-fossil.md 7a513bd080009fc198fd1f9fd8ff1d746c759e72d9584c7725ac3f45fbc2a3d7 w F docs/site/content/docs/production.md ce27694f4f53f025d4118b6c536d1d80c029d0930dba8c3585234b404d7f29cf w F docs/site/content/docs/quickstart.md baf7e1dbdfd4fc7dba58422c36c71f0c938a01e6cb094c4aecbc3e831d397a07 w F docs/site/content/docs/reference/_index.md 5502a4e209de4ac27b2768a7cb794d5d98c1b4ca643fa327ddb7e6f41c5db3e6 w F docs/site/content/docs/reference/sdk/_index.md 8f20bd1bccacaa0a492a793a8bce2b90cc0ab63cd09585e3db5bf7669171d235 w F docs/site/content/docs/reference/sdk/cli/api.md d212ad07742a667363eff42701bc03c19048e9f6112047970487111fc8bd495c w F docs/site/content/docs/reference/sdk/db/api.md 3824fba956019dbf5297c119273b9d1b10a48789bc2c8b85680d86f8bfd5addf w F docs/site/content/docs/reference/sdk/db/driver/modernc/_index.md 70c0129fcf3556d41a9d9302daa1d6b3ebdc072896125b2b7989cba2deeeffe1 w F docs/site/content/docs/reference/sdk/db/driver/ncruces/_index.md f4e0bad8b978da0601bf72cee1043a65b5a595046a23df6e0f405a32dbebd230 w F docs/site/content/docs/reference/sdk/dst/api.md c4e4bcdaaa77c1d41ac92c32a0a93f814148219f8303ce9b8b32c7eb22efacc2 w F docs/site/content/docs/reference/sdk/libfossil/api.md 67af4f947c9171c64f8e9a53ebc6b4545ce81b435b8e74d91371a9e6ad2ee82e w F docs/site/content/docs/reference/sdk/observer/otel/api.md d1866dad3ed13031423bcc969a694f887e4494c29616295fc82df55ec7b86d89 w F docs/site/content/docs/testing.md 10c1b397df20e524af118fa08b09779e0d259587f53a50d013bc3baefc30724d w F docs/site/content/examples/_index.md 37f41cda9387b9e788212fbff2525842961420eb253e692362a25afd0ca2a525 w F docs/site/go.mod 7707c86c97262d9af31458e1d27e3bf68860fcf8acac762569bacf14dda4e7be w F docs/site/go.sum 4572deee1c4c7304d39b73c3317685665590bbbb66a064d9dce58a52606fc15f w F docs/site/hugo.yaml 47a8f04ce9371f63f4ecfbece11cf5dbd5e003a7d466bab1dedbe429f91f4fc3 w F docs/site/layouts/_partials/navbar-title.html 26ad6fb61226a941ec6fc41723a0e4e797f2b1fdb8469299923f5f31204c35ac w F docs/site/layouts/index.html 31315f919ccae62bb3e1befa495daf7a384f24278e7546e60c7b38d4d041c6f6 w F docs/superpowers/plans/2026-04-26-docs-site-cf-deploy.md 68de04e4745460c05e0416942148d1a176a50b21eb761cc8772e63cf0392aff8 w F docs/superpowers/plans/2026-04-30-cross-repo-release-automation.md 66883fb764db705482ec6ed240dd3c3558a3df6455fe5cb9c48df8966fd57504 w F docs/superpowers/specs/2026-04-25-docs-site-cf-deploy-design.md 0d7a4266955ed729d9cb262dd58e43eee6e95e4b5c0d7cec7175a28263f04ddf w F docs/superpowers/specs/2026-04-30-cross-repo-release-automation-design.md 560e82af42c7b8021b57e6a7d8c3b4f091eda480b36d89b218fc58147bd0a0a4 w F dst/clone_test.go fb96e964cbfcbf456332bfc5716d0125d7d986f83a1cd52b55d27ba5324e74b0 w F dst/crosslink_completeness_test.go 9804764395b619cea76286c718e149f67537a06b7e4d6823cd4cfe30e8602e1f w F dst/e2e_test.go 2650345bbbe8c00a6f070de84d1f3b8e0ad3943959b0aeb125417bf7b1020aa4 w F dst/event.go bf634507299f3e9ca68f7843245d255d81d41678ec8d4dcefe4c16e71b786675 w F dst/invariants.go 9de56c0ce016159d1bd8d289a8b1316c8a28b50652114952491fa638e800c876 w F dst/invariants_test.go 4cc751b93b7c5c38ab7fe8e1a2540ca11786d7715061e69ecc1351d7a2ef523b w F dst/mock_fossil.go 27d9502fbd2764d84b062ff3d5b0407ac9396c06038f8373e8eb3467b179399a w F dst/mock_fossil_test.go f1867c6629318097d4e117fd850581a5ce8c2d89d20ab24a9e303c634e9d0576 w F dst/network.go 3ec5f29ee991c845c979d17770e9416543b43b2838497949fddc66d0fc3c905d w F dst/node.go ddbfbe9a535a0fae55947caf73a65898a56b3111338bd142694bf50431279391 w F dst/peer_network.go 7ae0de40388efdc5c1f2c9b0ea5e65f54d8ac5b65e18c48ed1be802d2bdc8490 w F dst/scenario_test.go 836c1bf6b760bf9b342a669712fa8a37cbcfdca3d483702f9395225a7b8648dd w F dst/shun_private_test.go 704f7aada4066cfbb33d7f7833d037ed3bb5b1219288a39e04b8b86fda04d33e w F dst/simulator.go 15e4e6b2c8f66d89551db4f17ebe057be9da2ced2392d6f0940b66dda1cc2631 w F dst/simulator_test.go a3e6bc7b577fc937967a60f5e014a1c7f694b451061a7dd7d8035ab501938162 w F dst/tablesync_test.go c7497b3b48a68e9ae38fec8791c4e3cbc0e3cc4ab40be17a3661c5281defa844 w F dst/tag_branch_test.go 06ec30e07d2039d4fa0b1b34aef58dd086b5bc729905b23f7da8f11aeeddf1f6 w F errors.go 08302b6fef3b1aa0ff242e891ffb94439fa8184fbe43b58f42dd664a3ca7bc2d w F errors_test.go 4e1346a43f0be34d6e2de643319306453bddc58ef8943a7e113a61874b22904f w F examples/embed-repo-api/README.md e643ad263a8a1649e8c86e029e180a0fd0f1624f1e2665508a5a99f5649b6bcd w F examples/embed-repo-api/main.go 329d76ab77a00f82d4fcba461ba7858b1471de6bb9e47bb94cda380460d4035a w F examples/wasm/README.md 13210050c160b6295ec4d9694ac8f83a4f5e0fb2f31439738d1957054472fd4a w F examples/wasm/main.go f0e9ce09bc0317d4b654cc4b5933f2a88f87c5c992d3403e32002f60a1ac78da w F fossil.go df78caff2219d1bfc026342b5e7b154e2d2b983904200104d06c2c75dd48857e w F fossil_test.go 9c0b09dc039c1dddf44984995b3e65f8d4170aa336071d097291cc19c11906ee w F go.mod 88957707b16cfda11dc03a6d4c29f98896ec8850be2bfaaa2b13b5884054a0ca w F go.sum 4a3a92b9ce620fe92900ecc4e2a3d72c5ced5a54ae494640fa6b794807af527a w F go.work 8b3d9a07dbf8042509ed2f1db6cff10fb97a0cb73e3fb0db054cac033c095236 w F go.work.sum 0884400df2af51c2166a06aa83d858f1935d299d00bea0502b77387930fc621d w F integration_cli_test.go 4ae9883f26c6da3043e1fc8efdd2fc8780c4f2b94b8c0e538d755d7b3495e731 w F integration_test.go 1efde18e8a0c451d3e03902d17361b2796c24395bcd9086f6948c87e2e2e646b w F internal/annotate/annotate.go e8e1ff1b8d87e1fb96d4c6ddd010b3c7a62415655d4ca6a9b7ae46d16852cd51 w F internal/annotate/annotate_test.go 2d511c81ee58a673c25bf87b9542b0d03e458fdb04d1061ef619eed50f3b1f74 w F internal/auth/auth.go 043888f5dc60e9420a3bf94116c86e756bd6897d46bfa53cd46c0b36d7af49f3 w F internal/auth/auth_test.go f137d59e7b01b89ebd79f5ca2e11249307447783e270e7c1b9668c9d2da0b3d3 w F internal/auth/invite.go 365921b3da8a7f7fd2b50d58dfe21168a98e57376ea36681aa2fff51b3c17e59 w F internal/auth/invite_test.go b664afdff63359eaac4b5b33be833fd774247fafb5fb5931434d9e69bd35fc55 w F internal/auth/user.go 5560f880247954b9ae766278cfe5913abd0dbf906a21c932ac1213f57097f1d9 w F internal/auth/user_test.go c2c39d9442435582fcf5b7f2123742385b11889b3f77bbee54c597afeed0b37a w F internal/auth/verify.go 67c358d62bed400d76c87665b6e6a18131a5d2faddb35664554ee155d76a89ca w F internal/auth/verify_test.go 220607b5ac7e6c62036465f2f7b4359d9447ec047e0bac5b3fa7ac39afce920d w F internal/bisect/bisect.go ea65da5cdd9e94a9562bf6d57020444984ed8089916138db7123de8a01364310 w F internal/bisect/bisect_test.go 87875cd9d7dc945a03f98f16fa0c081031d77bd24f4d80b09f54618c04673226 w F internal/blob/assert_test.go 88e527088574d435671eb4ecef3d0c3afe802e20bc2a535a801ef3a52e8caf34 w F internal/blob/blob.go 625357fa4caa928f9a3349ee83c2c8835445d6a0774b7def11d113a17abb3583 w F internal/blob/blob_test.go 5e64641bb3d69ee976b12ff6cc8ff25a70c986e93a4a8f8be6e4eb076f10fe02 w F internal/blob/compress.go dc7b90e535b7654ac49fb41f71291ca647c8898520bc41440454e1024c56d53b w F internal/blob/doc.go 81b3e86a564e26a1598993046b2e3c9a4024b38cc22a5b47cb81fc56bec2bfa2 w F internal/branch/branch.go dd564eabf7817fda04930d1fa612b1845c40097a628d5253befc1574c438032f w F internal/branch/branch_test.go bd164dee5ec5a9ef93707800e139ccf7d29e9f067d63597b93305f76f98a3aa4 w F internal/checkout/checkin.go 124395bb4b16dc0069626d109859ffef5d9862ffd6b2723c77637fe0780ee89c w F internal/checkout/checkin_test.go 26838278424c9fc7376e5af16f1a4090f1b91d7be91a4c0468f9b02205fb8983 w F internal/checkout/checkout.go 1527ff80ad65e977605b29537feacc20279b93ecd57a180f26359ebc6b5b7e71 w F internal/checkout/checkout_test.go 3d3e0e33656440376001d2640f75d76772056c661fb916cab005cbdefe4e24fc w F internal/checkout/executable_test.go 00120a05e47b1eb81203395f25ce3b11df2fa41debab1f4e4aabc4e8b587081c w F internal/checkout/extract.go a79ddf8bb08a45adba15dbfeaf826a04c29114fb1ec47365792b7564ac035b82 w F internal/checkout/extract_test.go f2e89ece2347ba89e001b9be009d4e96995255c9a95547c50907ba2af0f5bc89 w F internal/checkout/fork.go cd32cce1d175c4d21219e513c6590de89a890495c65ade506080b2e20b0898be w F internal/checkout/fork_test.go 89a5929981e159cd4ae7766ccdcc8e8b334fd3468a73dba19f40a74620a638f9 w F internal/checkout/helpers_test.go abc64d14cea9453f28592792cf129533485934cdd8d8e88708f504fd7ce2ff19 w F internal/checkout/manage.go 266a2a80c5343d2c7597498787c8347570c84a26b61d9ad366c447f9cf4c4935 w F internal/checkout/manage_test.go ed6b5044b0c6ec13dac92f168d20ec7d33589605da5da363cb7a38fc894526fb w F internal/checkout/observer.go 6880f6507cd931ebd2317ff60311a725d52270b557c182b0a4a05b835e574d9a w F internal/checkout/observer_test.go 2466300cb07dd6adced781ad6c059572250f77b88002d16d308e9da53de86f19 w F internal/checkout/rename.go f1256c1fd85b69d32ce5cbb4ce8df7793e08cb735cfd2f8fd05d9a7c0d02f8bf w F internal/checkout/rename_test.go ead80855efe9cd15cfa8c0038f9ebabf79171b43084c8dc613551095b0cfdb77 w F internal/checkout/revert.go 6ee0f93d732ccd5cb1c285f0382e4d8f7f8fa5846034ff5bdb58365f6fad8380 w F internal/checkout/revert_test.go 387ad7b249f694e4b0a5c0f55f67ab68a2f1808a45c004d9014d6683a075f092 w F internal/checkout/schema.go c8056525affb72ab0df263120a969169206472c40967401d454ecc28c58cc60d w F internal/checkout/schema_test.go 919b97436fefe2120004933a2747dc7dcc013dceadfc50f76e766ba729c4f70f w F internal/checkout/status.go a40d92d14f465067c13e70ee279d7cd4f009bd5ad2115edc64bfba06c8cacf5f w F internal/checkout/status_test.go 3526ec2a6c90c5fe90ba4f2fc6656419f09499088288bb37383b90e7dc3e7984 w F internal/checkout/types.go 719e055748cbacaf22f4740c05186e0bde612ede94ba82aed446765db5998f87 w F internal/checkout/update.go 3a696242ac34b643c6a8964bf60f085bc7680df35116ca2977e94d20b71de28c w F internal/checkout/update_test.go 98891ac33dc190678e096fd93d0b444f7fcbdd41d87f572c8d32c9e5795901d9 w F internal/checkout/util.go b295ade97080c206713c7ae8b38433dd4e8251b91c72a80299430e012b416d38 w F internal/checkout/util_test.go f7c7a34540730c428dd65b51c52808c7301902bd63d6f54b4ddc2f95c9196edb w F internal/checkout/vfile.go c84068b5bec146a234684215d495cbf84a02838399712ec12e5775a2d6863771 w F internal/checkout/vfile_test.go 3cf35c6c4dc995cc84de73e8af62aa4335a47ac702eb56278c7d83dc242e3e31 w F internal/content/assert_test.go 03f9dedb5eb91524f9001de16c4b78ef03ced75683dbbd42a0a1eb29631e7038 w F internal/content/available.go 60dd2f78ae6210d3720face7e352954ac26c08cf4ea11f593bd490af110d55e0 w F internal/content/available_test.go 1b6f34cb997652ce93fe134b35f0f14ebfe75447bf4ba335e1e125bfdabc955d w F internal/content/cache.go b6c8cf703b013f6deec17e275eaca4e051473debfbea9f9bd80d5bf28ab81214 w F internal/content/cache_test.go f252b26abcb418feb5a542c35fa9553093811f63d15a4e41485bf8a014680278 w F internal/content/cluster.go 1087598118acb5f77cff5a34d91b4881cf6e6880e4eca2f9044cfadcd4ce6986 w F internal/content/cluster_test.go e9a809f7b57b7e91820c13164f3566efcbb4b26b8bcb7b6496d137124cd8500d w F internal/content/content.go c897f61dbe48cb6d592849fa4f5c19d2981db2045f2a0b3ed78f8d4ab15ecbeb w F internal/content/content_test.go f8da2bd0e263022be13abf41c65477dd495f5be55d733e12486c567a9c63c8e1 w F internal/content/deltify.go 6343656af22d52ba821647b670f91acd9ac9f09e31eebb5bc45a764b564970bd w F internal/content/deltify_test.go f2a085d1fdc79ab8b3c9e3b4019b4448e9f294a8ff79915d431bc7947b6a3950 w F internal/content/doc.go d4e65971ef0661ebbd6fac54854309f1c3bddde01642e6a9ec2fe214c8e1a1d7 w F internal/content/private.go 904122f7502fab57b3909de837488b29eddc4427de1d83d44eb65201747d630f w F internal/content/private_test.go ae796c652852db45a6f5ccd6cd52a856ee72bc0b1a58c8134f8056c38c40e2ef w F internal/deck/assert_test.go 01cf720efe83a18194b0afaeffffa66067db35fe720ba4211888c3022852256a w F internal/deck/deck.go 7a7af9578851cdf2021dd98da60c22a897cd5c12f491395bb6d8abf3e7ed4b09 w F internal/deck/deck_test.go 971e8b111626095a2efbb4e13d3003283a46e6d08590c16e255465ed7f0012e3 w F internal/deck/encode.go 6e39b68aea29c5ecd315f1eff21de67b73acc17826a3863cce041b7ed0dcbfac w F internal/deck/marshal.go c8423602616f9d7e49178222ae305b8f5a1cab45e8676fa95a66f36001099d2e w F internal/deck/occurrence.go e6a8b5be3b2fcb54b4d0b920192fab24f6e7344dd450fed11dc10ff8d5c34809 w F internal/deck/occurrence_test.go e147b2897f226c8c05b5d3e1c05ddece9851bcddc70b52113f65cd7d9e7fd537 w F internal/deck/parse.go a1d98c71babb9f8b6af7abc0713657771a4ded1f84cad74c4787bd0072d92d2b w F internal/deck/rcard.go 6c76222c26d9c89016ddf401b41205fd80e420b9a640a2ad3eb8fcb7cb13353a w F internal/deck/zcard.go f1065892e28cb370210f7ed5899a644d6d7b1c13e2e4330f7ac4c91abaaedd24 w F internal/delta/assert_test.go cf31f1117d52d13fd280f117b0f7a74245a3a07f602fa2763c376f2643b5a501 w F internal/delta/delta.go f39ff7515c3a0de525d463fe6c62ed8b4672137325fcb529e85667d0e7656b46 w F internal/delta/delta_test.go 0a0d8ac5367a0827eb09109e1a01f7a8ffe1e1499841b46695514ef752595c33 w F internal/delta/example_test.go e9e5d6f067c5f93c0e06825f99894e0a32e78f0d51ebefd65efd882e7ab495c5 w F internal/delta/fossil_compat_test.go 9ffee783a28e06230ab780212e4ac078320d3ef97e269c8b16cf357280de844d w F internal/diff/diff.go baa33325fd804d701128aa15220175e48d5dbf841d7de542fb4d5481b6de37f8 w F internal/diff/diff_fuzz_test.go 9e573bd1faf7d9e85d530285889bb23ae365fe274d420790d387679c8bbd2488 w F internal/diff/diff_test.go f26103eca4e3de71760a39653173b36f4ccc9db882581392a0e8d689dab5c692 w F internal/fsltype/fsltype.go 6dd741dd4d81106042e6f8055992a262c374c8b369374c69c4b9b01424380057 w F internal/hash/assert_test.go f1fc842bc553b641a0fb5ca2e6df94d4a156b8d1f6b5b28f0e2c78808e3ac08f w F internal/hash/example_test.go 30bc4b10018b0e9f9875d2be9b66efaf757ed4fd135a57189e994a3de1cf4f12 w F internal/hash/hash.go adde80f5613398e8368a081c4b782c2314b48eed0e8cd16562354e6983fdee20 w F internal/hash/hash_test.go 26bfc26d2a0972b080b8e2a78480cf134122aca0b3183a3979bbd7bcb6641268 w F internal/manifest/bounds_test.go 253e0e0672a14c46e459c3db0a4131740d2edc3b16e485fc20320f560f0cb991 w F internal/manifest/crosslink.go 2c65ca3032b6ff9cbfc78973f6f829fbe0bb5e3bb9e2c7d87c16355d1a6006c2 w F internal/manifest/crosslink_defer_test.go 50ce0de522736a2aba34c7d58943adae673c4998c26842a0173408b3a30ca6af w F internal/manifest/crosslink_test.go d9f54add3520fe33f3d23deba5ccbeacf09da6ce204b9b0a3e20f373a54893d6 w F internal/manifest/deltify_test.go 8d8ea5c982f6403bba217ecb45afe2623a76f40ac39dae4771ec5fdc93c3f974 w F internal/manifest/dephantomize.go 77dbfc474a52fbda2d3551b05c34dbd43d74535fbbe9f3143db0c270a287f8d6 w F internal/manifest/dephantomize_test.go 5c0fcb177e2ec1539cf1bd52a9a65969f33bdfd0afa67759312f1db9462609d4 w F internal/manifest/files.go 14124be0092edea45928971b6226179aa4e57d109f64a5b4a750c93e8dc006b7 w F internal/manifest/finfo.go fb050861cf354227dd53ced1f0b86212ef2a73c283739588f74b308fd86c5660 w F internal/manifest/finfo_test.go 793964b48d263a3a5b0d14449e44becdb8209f5827a8b10802f199e8f2a672c9 w F internal/manifest/fossilbin_test.go 30c8f10d4760ebfaf7ba98d585ed97f54ad81827dc25dab502501cc1916b57f4 w F internal/manifest/log.go d96087f10aacef0e0637ea963f97ff0f5c8444a16184db47aa7a88e1d0bf45ba w F internal/manifest/manifest.go 2d60e48a70781ff2a29817bfb6f6a897ef47e4e7e4235c8511b6bbb85c3aafe9 w F internal/manifest/manifest_test.go 4d636899cdeed4c0c684529993968e6558f332c0db419efa4477b235eab2e813 w F internal/manifest/mlink.go 0bcaa404065ef2ed6b446525a47b3de42d099328aa6a408243606bbdd78221c3 w F internal/manifest/mlink_test.go e2dfb3008a5d6ab5ac2571357cf69ae9d37771bf1fd1a310bd3678aaf2ffdd0e w F internal/manifest/timeline.go 388b339a1a5b30506d3a52fb7f5a39fb2872abb8e2783398ff1eb6215fa20494 w F internal/manifest/timeline_test.go d8a715e073c6b0281e49649672394b528a0787d4f4d5d38b0de84697ba742a92 w F internal/manifest/ucard_presence_test.go cf5cce4d6b5eb3042dcafd4a79e67f29170fbc48f2a81d056b15df3d16e76f19 w F internal/merge/ancestor.go b06ad25c684a1737b79e353a1b71708a4da6a773cc718e95d9f41c810a2383de w F internal/merge/binary.go d11808769e1dce87c77aff56c0d1d700137574f809f69b3667f6519f215ea711 w F internal/merge/detect.go fcb4bd6886fb02e8f506dc1151b763d8713509bf1b6e59176c8406658d31986e w F internal/merge/doc.go 42df37cabd38d36af29e4c86be1c96f794988e6cf31a86bb976bbed02face5ee w F internal/merge/example_test.go 979a4eb47eb24cad6702d185f7f5a3d9fd40ffd3a4d02b6d911ed2e9af5f48be w F internal/merge/fork.go c02ecbea8698a7df2d0a509dfbe14451fca83f387bd7e7d7b64a59756805110b w F internal/merge/lastwriter.go c9c1e433b40e7c8afd86292c9afd21513c19dd1abb757f4d84e1d08b98d9e7ac w F internal/merge/merge_test.go c32cd79a0b3f4babae33720726a593fd10b01ce277a301478f26db9723cbfcea w F internal/merge/resolve.go 12dc9dca8f6666722cbde17f0511955881fd669d9e9383f1b3a38ea5d75c962c w F internal/merge/strategy.go 05215b0c50e46be400e15c661a92b5ec8fb7f4035b227ac5d4c01fbdcbc486fc w F internal/merge/threeway.go 7dd2f3fb4e3b93463feff3865d873160379291717a4025aa860c9a059a276d36 w F internal/merge/threeway_test.go 8044a7e9384860f12d96f123cc055bf56e1f2b8fa24e731433dbbe35351f0043 w F internal/path/path.go 34ce3811874556ff7a23df99e44e3a7b02b753d1bb1172bd62889211ab1650a5 w F internal/path/path_test.go f435bd21b38b16f58e3ebc9bd15c54bae04a9336c8fd01d6325c3dced38c293c w F internal/repo/doc.go 108b1f68f19fb95e3b565a9273625ebe1529ddbe7f7bd92027a1d6a198658442 w F internal/repo/repo.go 2e707db1e84538010f72e513ae1d344f924f9ad08d60ea991b433c3f3477e2f5 w F internal/repo/repo_test.go c84225e2e40eded5db4963fe8e9406fbba512ff85e654db712bdcd230805bfe4 w F internal/repo/stat_default.go 40de143f088783a61eaebce2352030752672f14daa1a47569f6622a6dfe6f83e w F internal/repo/stat_js.go 78cdd7a120f16a9927d7666b9935785293276625b77f91b6e929d15296e7d072 w F internal/repo/tablesync.go b3c2e3581c8df2b734807049749554945ec8390189f7cd015460deb836f4f5b2 w F internal/repo/tablesync_test.go 27ed67725637281423ec80207383005757aebab7cc7e023637c44e09bc724e21 w F internal/search/index.go 4590f2f5c84740c1b53fe4f802552352ae4aa1258e820dd7394052bb2b1763c9 w F internal/search/query.go 8568cd4049db9b2d7213c593cefd8350e8204d2ddb34241c5d9c23ce15bfcdbc w F internal/search/search.go 099776002c6c6d29d8681a388d492bbb1c09d7e5cc322faab880eb09191297aa w F internal/search/search_test.go 5dfec0e963c7ea9e45b52d4d8276484f9b2bb8cd934b88ea7a21143429073bea w F internal/search/trunk.go 8a828cb6103dee875fca2acf3ff6fee46035c790f7eec3e943b3f722c7518e53 w F internal/shun/purge.go e218dfe5b55b8b59c6eed735f2d89b511a0295c255c1be8253050a1d0eef856a w F internal/shun/shun.go eef8d64c743e7bb2595002fc4e56e903c4e1a7c791979fa8d05b1fb00b31e1c8 w F internal/shun/shun_test.go 2ebe5a003fb80dbfb85c18fd27646860312ad8b22b15aeab50f9672fb05662e3 w F internal/stash/stash.go 3dc526259fb0c9205e8384910b9ad5fdf5de59e649dc6c74ba665c1174cf9048 w F internal/stash/stash_test.go b3c81cb0d3673114d953edf9a0860fad264ffddcd6043ae9cb51321eb3c3f382 w F internal/sync/auth.go 75b38460fcf09012c653cbee856f07c5a7a3062e8db3dd561b7c40b41b3b399a w F internal/sync/ckin_lock.go fed9a00a552e4537c0c8ddcb7719fd7075f06240a4628c4031cde1e27c38c463 w F internal/sync/ckin_lock_test.go 6d3ea39da8f059e14961d7ed13690e28b48c88777614cba2efc73f719a611e24 w F internal/sync/client.go 406569e5d5bd229353a946a6b59bf8aaa8fed54f518cd2a52638758265fa76a3 w F internal/sync/client_tablesync.go 4fe87f283a46a3fd57941cb484d81ea3b31d1952ec874de1f05e1325440dfbbd w F internal/sync/client_tablesync_test.go 8f3dfd26668f17520ef1def831ee85bcc288386b2aeab765930232f7538224b6 w F internal/sync/client_uv_test.go da4715b311cce4a8255c971f2ad684a4dbe8643f1f733b4360902ed32330ab89 w F internal/sync/clone.go 2d6945391fe8c61c0cf673ff2b968a1493b4bf7b8bbe09ccdc8756cf1a41509f w F internal/sync/clone_test.go 098eefc9663e5fb02fa443410dfe531a1acdacc832a8a78892775e6fc9219343 w F internal/sync/cluster_integration_test.go 6a1f62b6f8f47eda15183448206c6df44782385d85e36a3892dd354d6e4f4aac w F internal/sync/doc.go 1bfe570fa95c6818d00e788d5868ccc98919eeb4e839e125a6158b3873d1f095 w F internal/sync/handler.go 86437a8cdffa99e703c01fe64a1de10ec7ba5db582037e3ba52df154fe0e97c5 w F internal/sync/handler_crosslink_test.go c0114683aa96b3ed49fd1035f28dfa2f086c7f7b5210d9f7491f8aab9f6355a1 w F internal/sync/handler_tablesync.go e8b1808f24a8d30af5d68f71bcfd68d1353865ddd384af582e813695401760ee w F internal/sync/handler_tablesync_test.go 615c54ee4b2ae118eba3173c7e3c2d6c0771e7d21db2eb32b943386cb4effb50 w F internal/sync/handler_test.go efc5cbab9fac92a5638594398323bdf31acbb5ec6044192fd0328137a9623456 w F internal/sync/handler_uv.go 537901157b7a35af627b9bf550156f36a6f94cf355145621d9ed346f64a47491 w F internal/sync/handler_uv_test.go 5fd81e71593dcd6aacd4f9c4c5ab43bcd47a3d8db763bb2010cf7f97cd1af288 w F internal/sync/integration_test.go 65c6db288aa48febe21175c6b5a3351612d4880db488d7070428e6d18c7301b9 w F internal/sync/observer.go f14b94f4ce60925b295779fe897b036e085897b4c869011421eaa6c03df8fed8 w F internal/sync/observer_test.go ab58eb804e7fa8ac81dbf518873dfddd2b6ebcccf90c80ea8ea6f4cb0f920926 w F internal/sync/private_test.go d5e71ee4db67c7ade2ca48dcd8a763efe5120d113da8408e6080ee0aec35bcc1 w F internal/sync/serve_http.go e5b9721a8e2b6e7b4271ee990299add9d998621fd55c69cf36e1c58e5c704507 w F internal/sync/serve_http_test.go 62852489da4a40deb2381995bbf8bab033e8939b989200f3f56b27dd8fac1ee9 w F internal/sync/session.go 449d484d95ab1d5992de9f6283814d22816b8b9aec811b40729f694e6c41fad2 w F internal/sync/storereceivedfile_test.go d0b204e6d7c6f1fd5f56e7a2a4d041f8801bcd8c59dd694f774a51325775eb85 w F internal/sync/stubs.go 3aa8e17d7112ac7d9f7ef8a460f190d871035b446260caad4f6b29034e3afb38 w F internal/sync/sync_test.go 45282433eae9d93b2c52fae24e0e3deddf291f7d25468c496fba04cd856143b1 w F internal/sync/transport.go 9658cace791c904a43235fff107d4fed421558dd0e39cfc00e1d7d9fa784b2c4 w F internal/sync/xdelete.go f0d07e359f07e8007785f50cf47f39e19edb49917431e8ff56681c362237e325 w F internal/tag/propagate.go 6322131f155037e598908f1199046a08c2b6f222b17044af18698d0733781479 w F internal/tag/tag.go 4a643b56999a45106e89615f7c19f7c13e3be9d11958f6e3f5166f695bc9d1e5 w F internal/tag/tag_test.go 60b0bfd9a8ddc0cbbc9003bacae5e2179c97d08156a4bfbf4a21aa8df95ec678 w F internal/testdriver/modernc.go 3f5fab78a35aec71a9ecf43616fde7708e77608415f58d890206574607cc6803 w F internal/testdriver/ncruces.go 4ebbfe1f48ddc92a8e7eaabcce3187edc6ac88c425e832ee12c43a8ab0c7903a w F internal/undo/undo.go ee2d8a12aee06cc21fe5a059dd2abd736f4266ea2ff35b33cfef2569513115a6 w F internal/undo/undo_test.go b36aec578818a0027be94adf502aba9a7ae5cda5bb7c1b347f977dcef7a22a78 w F internal/uv/status.go 585384ea2e1e0b39f21202015245b06a221e88b2d2176e06e4d002bf20559b8d w F internal/uv/status_test.go 16cbe804eea490a562206261a3944e202b8b78e187508ab31c7f2f6b092a9056 w F internal/uv/uv.go 5833cfb13ec38500b4337b09c6285e334a8ad3ee990ca1ab402b1335c9597f9a w F internal/uv/uv_test.go 522bc4c5849554646758269027fea8ce4bb33d0f948dd0da58a47648e0de694c w F internal/verify/check_blobs.go 058e24341c37bfc73260bf12cefb108facbe970dac5229a945282341106a1150 w F internal/verify/check_derived.go d3cf7d6355f157349a0e27e027d3bde8a6c95f6ba05fbf5876a49556e3b9797a w F internal/verify/check_structure.go 3e84c0372f731d8be4964aa226c4cee5b7d2c0c534e1208e75896b1791c1f85f w F internal/verify/rebuild.go 083c590d36c34b1a01291e799282c48f5a1ef53c89e9f574c9c9a49da371f8da w F internal/verify/rebuild_leaves.go 9496044142037f4e5db6b9da589625be6b321ff7419dfe0753f6511f8bf1f177 w F internal/verify/rebuild_manifest.go b835a7bef53881d0bb22149285c50dc1358a5f14aac067cd709f9a39e60b1d80 w F internal/verify/rebuild_tags.go f5f0ebab1655e90770def744b685ccfa7e92bac3b5d2461a676621af9833a3c2 w F internal/verify/ucard_presence_test.go 137f15897dceaf9c11148eb42ed7cf6089dd56302ca65977e3712bd6d7e98ea9 w F internal/verify/verify.go 981e99428f063acd7ff47d597a2225f7bf2b9f83cf4166cb11891daeda3c9ccb w F internal/verify/verify_test.go 4911500307f8a1d05ec76af4223059222aa07b8242b270aec1e4b72703d51a90 w F internal/xfer/card.go 2157ef2c596e314fbf49c121f2cf5c04dfb2996c88b7d9ee75394b23dc456fee w F internal/xfer/card_tablesync.go fabb29eb54d5bf72280d9e5739845af39501f3f94da505ddd05c4961e52434ef w F internal/xfer/card_tablesync_test.go 976738f67cef781151fde6f1a6b981c4439467d75b5f528cfe9bb893e3fd6e58 w F internal/xfer/card_test.go b6ea8f2b45d5ac37f0b46186cc7183763d7d037555309848b85582e52a7e7e31 w F internal/xfer/codec_test.go 9762a145e1d4fa5ee9fdcb7df55a840aa5cd6e0c01ae4c57c5dfe16bf9fb8664 w F internal/xfer/decode.go 23788d4faeaac7ac55f65a12d311c4fb9c4ff8236b0e3243e8a658061c368550 w F internal/xfer/encode.go d110836fcff52ada165bfd4d4108c7357f5ff445bd5dabb968b7dd21023eb351 w F internal/xfer/example_test.go 5051fa33496a5eaf6e6102b442391cb6f280d265eea3e9b1f228a083d5c6a88a w F internal/xfer/message.go 74a946854dd27b139410545ac5cf3d3be6b6af45bf957f3a4243580ae1e72791 w F internal/xfer/message_test.go f53f47f581e38698241f825e4848f4be1f683df1a713c0f91bec6052144658be w F julian.go 3644e82a37176d5db154ca111241bdb2f25e76f343a7a26b243e959a52e59a76 w F julian_test.go 5ac50dd9942524841975f586d38dd8bcf82c7f0bda3cc43201e2710950268b62 w F ls_branch_tip_repro_test.go 132ecbc1bcd4d6a89d40b1fea6748c81fe99fe93bc457eaf117e6c1d25dbf9fd w F observer.go 43fc547a68bc1ca5b6e742a666e90c6d58dc7aa2e7a90bf28dff7cc54fafb6f3 w F observer/otel/go.mod 39a99ef4d980f532779a71910473a26660bac8d72983c1b0a97174d7f426ef9b w F observer/otel/go.sum 91ccc3129d5bc401b484be48398a395ea7749f955f86666bc3b55dc52d440c42 w F observer/otel/otel.go 38337615dd3b5af4d000f477e3badb6dc0580032d3e58d1ed446f05d6092d020 w F observer/otel/otel_test.go f31d8187bcd45ca13d2d664d6f543c3baed96f6bf66b94837c07aa1c8f8526b0 w F observer_test.go 8811bbc50bb75cf382843d02df96f50926d13e8a4fafbe038b6d9183b46a555b w F repo.go 71c36ed16fc006a66a0f09be62456861cf5c27232f133532ca7684a1427fd49d w F repo_admin.go c0d1cf6f525832f4c75b5f2770624ee447cd287def3f928fc59487c5823b98d6 w F repo_checkout.go e2a2bbc86fa8ac8ea152745a31adb0465e06cbfd9e5de08f92690c92edcc7606 w F repo_checkout_test.go 4b46b1dbcc47e8d5de8852ea3bddf8fa9df64f76280aee54033eb75a30c395e8 w F repo_extras.go 9879abbdf4a07cef8d4759007f46153947a58f99343dc8bed256dae8a9536fc0 w F repo_extras_test.go d7de3e8afbfc59bc3ed54d7c72abc1810a1fc7e97a8d37933994787553ae07e8 w F repo_history.go b25fec4f881488cf9ae449d53c493f50f43bfc86e23af2a677a81507b00ce43f w F repo_history_test.go d739710c73a3c2c30e9c6259dddc2c6e6f7c9b475366300552b240306cc64c8c w F repo_ids.go b306110e69c5d1c83033ee3ab012fd0699e1f06f0c5b7e5d9cf1538d68825523 w F repo_ids_test.go 0b4272f2b87048a914f3493b3f1471e96571005ec0d664f9b01df62d9e2c5e8c w F repo_merge.go fd565dc1e55a89f3c25b49ac6c826cb5adf5054bfa4748cfbcbba55a1b45348c w F repo_merge_test.go 86039f09774628f3944a2fd16bdc7291f2ffcbeca43a8e0514ea43cd1197c75a w F repo_pull.go 3566654c2d28275a29478587a3dd8a273e945c6d1b9b1f2fb882f82fcbdf77d8 w F repo_pull_test.go bb10cf4188114bf94ea13fcb2d80894184b4cfe237ce8603aae5586f6e95cd2e w F repo_resolve_test.go 8d3bae06c828bc7f8390520d70c8b7022748df621a2f9e0e114bc90cb1d9b5ef w F repo_sync.go 4aa0f49ba429632056a89d3832bfbbac6da4eb0f93bc215197985676fb06c5ad w F repo_timeline_test.go 2c0861bc15e59393fa8b6a0b86965149bfbca2ce5faa5d076b8efe45002cc731 w F scripts/gen-llms-txt.sh 318fb0437e1087ba1a0fbc04c6e39ba8063f1238836216d81185f9cab5d323f2 x F scripts/prepend-sdk-frontmatter.sh 0fb9f191ccc1ba6460c5d447f4f3f01edde396e7ddf2178f582f47cf62373b05 x F scripts/sync-version.sh d747a91302d128ce66f9bc8ec17624a70b0205f5a65641c5b9d3e71b17cfe62f x F simio/buggify.go b508a447ae1af2e242fb4e425dbccc0891731b210220a913ca6e83c2935e1484 w F simio/buggify_test.go 1985b98aeb0e055e3e081b5939606c217b7ab35c524b5620dc0a8300ba1d1bb6 w F simio/clock.go 6a6e8d410cfc5da6102c95d17ea2dadc9008f968c38a1aab07533008e8b484e0 w F simio/env.go 572df6dd05de503e4add227442f6204b586ef32faf9ed45ff86f632029771def w F simio/env_test.go c6627e422538bdd49b39d2f608e9d3a83536fb102046394f013a4ab86a1a78dc w F simio/rand.go 9af404eba1cd668bffdf95a28660b785353605412900359c615864c2bd5a2127 w F simio/rand_test.go e3a32c8d746fd2d6f7f20c126eb70f320e8a4f6909640d8a69472cb07ab38042 w F simio/simclock.go 48034a8b2e7f9e54c1d4480501a14b35005dbcb599a1d5ab525600e408bb49a5 w F simio/simclock_test.go e21ca0fd4b8566ad69fd6a36ba8867ef56464b5927038a5daad8ce31031d8616 w F simio/storage.go 9eb28b17dddd191c361cc55cc5f015f0584a4b1621eee12aa9fbe383cd61214c w F simio/storage_mem.go fe96a8aace77dc3379d12452dfea1b2c7737ef105fedf7c953b258e428bdeab0 w F simio/storage_test.go 7a1dfb458a69a1b2851a4246b3aa4637f1c3094054ea6a68cb718290dccb2e25 w F testutil/testutil.go c71090c89cddbb07cbba5d148de5c5189ee3a9cea7ce9cb3560c228d51bea676 w F testutil/testutil_test.go f522d077f2f2e736f644196dd87564eb4245d5528f412ed7457461ad8da4e543 w F transport.go 91e6d6e3d19649ba1e9fc2a88046129fb3f073b7a6413bd00dd37e02b39e1274 w F transport_test.go 30e0c5e29f58a9afd7197930d5d85f59f72244b6cfc41ed6f068ffbf5f5bceab w F types.go 74dd3154ae8ffa2630d82f31b366362fdc9c5f2b4560992fcb24c6deb41242c5 w F types_test.go 144c2b033546e1c4a09de9a5cc3c9937608a14c7bcd38db5e48bdfb152d61f1e w F wrangler.jsonc f19630509e536b24e89ad26e84fb4ab33ee3723daf96e2c300779fa8e8228b2f w P 5036cae3924ea5fae8fd08fa17470505f5b83621837fff922fd570d34904bd5e U [email protected] Z fa9412378ca3343834e62e22ccf3744b