Artifact 1f590128709df4912d32d30e77960f650846f4ac3efb474d6796c85084be04b7:
* manifest: create forumpost on demand, matching canonical rebuild
Crosslink's candidate query names the forumpost table unconditionally, but canonical fossil creates it lazily -- only once a forum artifact needs it -- and fossil rebuild drops it for a repository that never populated it. Crosslink now recreates the table itself before the sweep runs, matching canonical's on-demand behavior instead of erroring with "no such table: forumpost" against a rebuilt repo.
Audited the rest of the on-demand-in-canonical set (ticket, ticketchng) against the current schema: both are created eagerly by canonical at init and survive rebuild, so they don't share this problem.
Added TestCrosslinkForumPostTableDropped (drops the table directly) and TestCrosslinkAfterFossilRebuild (drives an actual fossil rebuild first) to cover the regression, and updated the existing fossilbin comparison test's comment now that the rebuild-last ordering is no longer required.
* manifest: visit crosslink candidates in delta-chain order
Crosslink swept candidates in ascending rid order, but content_deltify stores a blob's older versions as deltas against its newer ones, so delta chains run the opposite direction: high-rid root down to low-rid ancestors. An ascending sweep's first candidate of a chain therefore materializes the whole chain, and the rest are consumed arbitrarily far in the future -- the working set of a whole-repository sweep was the entire repository expanded (8.2 GiB for the Fossil SCM repository).
Candidates are now topologically sorted so a delta's base is always visited before its dependents (deltaChainOrder), matching Fossil's own rebuild_step shape: root first, each descendant one delta application from an already-expanded predecessor. The working set this sweep needs is now bounded by how many chains are in flight at once, not by repository size.
That reordering also changes the order artifact side effects get written in, since content expansion and artifact crosslinking share one loop. Most of what Crosslink writes turned out to already be a pure function of its own artifact (event/plink/mlink/tagxref-origin rows) and needed no change. Two things generalize across the whole plink graph rather than any one artifact and were genuinely order-sensitive:
- leaf table bookkeeping, which inserted the new checkin and deleted its parent -- correct only when parents are linked before their children, which delta-chain order no longer guarantees. - tag propagation, which ran once per checkin from its immediate parent -- reachable only to children plink already held at that moment.
Both are now full, order-independent repair passes (repairLeafTable, repairTagPropagation) run once after the sweep, mirroring Fossil's own manifest_crosslink_end + leaf_rebuild() shape: defer the order-sensitive work and repair it once rather than trying to preserve order through the sweep. tag.propagate's mtime-gated, plink-live-at-call-time design turned out to already be confluent -- replaying every self-declared tag origin once, in any order, converges on the same tagxref state -- so the repair is just doing that instead of depending on visiting order to get there implicitly. Tech-note event replacement and forum thread titles turned out to already have the same confluent shape and needed no change; left comments explaining why.
Also fixes a tag.PropagateAll crash on any origin with a NULL tagxref value (e.g. CrosslinkCluster's cluster tag), surfaced by the new propagation repair actually reaching those rows for the first time.
Regression coverage: a real three-generation checkin chain, forced into a genuine manifest delta chain, that would have left two of three checkins untagged and all three marked leaf under the old per-checkin propagation and incremental leaf bookkeeping.
* fix: address review nits on crosslink order-sensitivity and delta cycles
- deltaChainOrder now returns an error instead of panicking when the candidate delta graph fails to drain. The delta table is on-disk data that can arrive over sync from an untrusted peer, so a cycle (corrupt or hostile repo) should surface as an error rather than crash the process.
- snapshotDerived's digest now covers tagxref (rid/tagid/tagtype/ srcid/origid/value), and TestFossilBinaryReadsCrosslinkedRepo compares it against canonical fossil rebuild -- closing the gap the test previously called out by name ("tagxref is the notable gap").
- Added TestFossilBinaryReadsCrosslinkedRepoBranchAndMerge, exercising the order-sensitive paths incrementalHistory's single-branch history cannot reach: a feature branch diverging from trunk, and a merge commit whose own branch tag must come from its primary parent, not the merged-in one. event/plink/tagxref match canonical fossil row-for-row on this topology.
leaf and mlink are deliberately excluded from that comparison: the fixture surfaced that both have pre-existing gaps against canonical fossil (repairLeafTable counts any plink edge rather than only primary-parent edges; insertCheckinMlinks writes a row for every F-card rather than only changed ones) that predate this fix and are out of scope for #102/#103.by [email protected] on 2026-07-23 10:17:46.
C manifest:\svisit\sCrosslink\scandidates\sin\sdelta-chain\sorder\s(#126)\n\n*\smanifest:\screate\sforumpost\son\sdemand,\smatching\scanonical\srebuild\n\nCrosslink's\scandidate\squery\snames\sthe\sforumpost\stable\sunconditionally,\nbut\scanonical\sfossil\screates\sit\slazily\s--\sonly\sonce\sa\sforum\sartifact\nneeds\sit\s--\sand\sfossil\srebuild\sdrops\sit\sfor\sa\srepository\sthat\snever\npopulated\sit.\sCrosslink\snow\srecreates\sthe\stable\sitself\sbefore\sthe\nsweep\sruns,\smatching\scanonical's\son-demand\sbehavior\sinstead\sof\serroring\nwith\s"no\ssuch\stable:\sforumpost"\sagainst\sa\srebuilt\srepo.\n\nAudited\sthe\srest\sof\sthe\son-demand-in-canonical\sset\s(ticket,\sticketchng)\nagainst\sthe\scurrent\sschema:\sboth\sare\screated\seagerly\sby\scanonical\sat\ninit\sand\ssurvive\srebuild,\sso\sthey\sdon't\sshare\sthis\sproblem.\n\nAdded\sTestCrosslinkForumPostTableDropped\s(drops\sthe\stable\sdirectly)\sand\nTestCrosslinkAfterFossilRebuild\s(drives\san\sactual\sfossil\srebuild\sfirst)\nto\scover\sthe\sregression,\sand\supdated\sthe\sexisting\sfossilbin\scomparison\ntest's\scomment\snow\sthat\sthe\srebuild-last\sordering\sis\sno\slonger\srequired.\n\n*\smanifest:\svisit\scrosslink\scandidates\sin\sdelta-chain\sorder\n\nCrosslink\sswept\scandidates\sin\sascending\srid\sorder,\sbut\scontent_deltify\nstores\sa\sblob's\solder\sversions\sas\sdeltas\sagainst\sits\snewer\sones,\sso\ndelta\schains\srun\sthe\sopposite\sdirection:\shigh-rid\sroot\sdown\sto\nlow-rid\sancestors.\sAn\sascending\ssweep's\sfirst\scandidate\sof\sa\schain\ntherefore\smaterializes\sthe\swhole\schain,\sand\sthe\srest\sare\sconsumed\narbitrarily\sfar\sin\sthe\sfuture\s--\sthe\sworking\sset\sof\sa\swhole-repository\nsweep\swas\sthe\sentire\srepository\sexpanded\s(8.2\sGiB\sfor\sthe\sFossil\sSCM\nrepository).\n\nCandidates\sare\snow\stopologically\ssorted\sso\sa\sdelta's\sbase\sis\salways\nvisited\sbefore\sits\sdependents\s(deltaChainOrder),\smatching\sFossil's\sown\nrebuild_step\sshape:\sroot\sfirst,\seach\sdescendant\sone\sdelta\sapplication\nfrom\san\salready-expanded\spredecessor.\sThe\sworking\sset\sthis\ssweep\sneeds\nis\snow\sbounded\sby\show\smany\schains\sare\sin\sflight\sat\sonce,\snot\sby\nrepository\ssize.\n\nThat\sreordering\salso\schanges\sthe\sorder\sartifact\sside\seffects\sget\nwritten\sin,\ssince\scontent\sexpansion\sand\sartifact\scrosslinking\sshare\sone\nloop.\sMost\sof\swhat\sCrosslink\swrites\sturned\sout\sto\salready\sbe\sa\spure\nfunction\sof\sits\sown\sartifact\s(event/plink/mlink/tagxref-origin\srows)\nand\sneeded\sno\schange.\sTwo\sthings\sgeneralize\sacross\sthe\swhole\splink\ngraph\srather\sthan\sany\sone\sartifact\sand\swere\sgenuinely\sorder-sensitive:\n\n\s\s-\sleaf\stable\sbookkeeping,\swhich\sinserted\sthe\snew\scheckin\sand\sdeleted\n\s\s\s\sits\sparent\s--\scorrect\sonly\swhen\sparents\sare\slinked\sbefore\stheir\n\s\s\s\schildren,\swhich\sdelta-chain\sorder\sno\slonger\sguarantees.\n\s\s-\stag\spropagation,\swhich\sran\sonce\sper\scheckin\sfrom\sits\simmediate\n\s\s\s\sparent\s--\sreachable\sonly\sto\schildren\splink\salready\sheld\sat\sthat\n\s\s\s\smoment.\n\nBoth\sare\snow\sfull,\sorder-independent\srepair\spasses\s(repairLeafTable,\nrepairTagPropagation)\srun\sonce\safter\sthe\ssweep,\smirroring\sFossil's\sown\nmanifest_crosslink_end\s+\sleaf_rebuild()\sshape:\sdefer\sthe\sorder-sensitive\nwork\sand\srepair\sit\sonce\srather\sthan\strying\sto\spreserve\sorder\sthrough\nthe\ssweep.\stag.propagate's\smtime-gated,\splink-live-at-call-time\sdesign\nturned\sout\sto\salready\sbe\sconfluent\s--\sreplaying\severy\sself-declared\stag\norigin\sonce,\sin\sany\sorder,\sconverges\son\sthe\ssame\stagxref\sstate\s--\sso\sthe\nrepair\sis\sjust\sdoing\sthat\sinstead\sof\sdepending\son\svisiting\sorder\sto\sget\nthere\simplicitly.\sTech-note\sevent\sreplacement\sand\sforum\sthread\stitles\nturned\sout\sto\salready\shave\sthe\ssame\sconfluent\sshape\sand\sneeded\sno\nchange;\sleft\scomments\sexplaining\swhy.\n\nAlso\sfixes\sa\stag.PropagateAll\scrash\son\sany\sorigin\swith\sa\sNULL\stagxref\nvalue\s(e.g.\sCrosslinkCluster's\scluster\stag),\ssurfaced\sby\sthe\snew\npropagation\srepair\sactually\sreaching\sthose\srows\sfor\sthe\sfirst\stime.\n\nRegression\scoverage:\sa\sreal\sthree-generation\scheckin\schain,\sforced\sinto\na\sgenuine\smanifest\sdelta\schain,\sthat\swould\shave\sleft\stwo\sof\sthree\ncheckins\suntagged\sand\sall\sthree\smarked\sleaf\sunder\sthe\sold\sper-checkin\npropagation\sand\sincremental\sleaf\sbookkeeping.\n\n*\sfix:\saddress\sreview\snits\son\scrosslink\sorder-sensitivity\sand\sdelta\scycles\n\n-\sdeltaChainOrder\snow\sreturns\san\serror\sinstead\sof\spanicking\swhen\sthe\n\s\scandidate\sdelta\sgraph\sfails\sto\sdrain.\sThe\sdelta\stable\sis\son-disk\n\s\sdata\sthat\scan\sarrive\sover\ssync\sfrom\san\suntrusted\speer,\sso\sa\scycle\n\s\s(corrupt\sor\shostile\srepo)\sshould\ssurface\sas\san\serror\srather\sthan\n\s\scrash\sthe\sprocess.\n\n-\ssnapshotDerived's\sdigest\snow\scovers\stagxref\s(rid/tagid/tagtype/\n\s\ssrcid/origid/value),\sand\sTestFossilBinaryReadsCrosslinkedRepo\n\s\scompares\sit\sagainst\scanonical\sfossil\srebuild\s--\sclosing\sthe\sgap\sthe\n\s\stest\spreviously\scalled\sout\sby\sname\s("tagxref\sis\sthe\snotable\sgap").\n\n-\sAdded\sTestFossilBinaryReadsCrosslinkedRepoBranchAndMerge,\sexercising\n\s\sthe\sorder-sensitive\spaths\sincrementalHistory's\ssingle-branch\shistory\n\s\scannot\sreach:\sa\sfeature\sbranch\sdiverging\sfrom\strunk,\sand\sa\smerge\n\s\scommit\swhose\sown\sbranch\stag\smust\scome\sfrom\sits\sprimary\sparent,\snot\n\s\sthe\smerged-in\sone.\sevent/plink/tagxref\smatch\scanonical\sfossil\n\s\srow-for-row\son\sthis\stopology.\n\n\s\sleaf\sand\smlink\sare\sdeliberately\sexcluded\sfrom\sthat\scomparison:\sthe\n\s\sfixture\ssurfaced\sthat\sboth\shave\spre-existing\sgaps\sagainst\scanonical\n\s\sfossil\s(repairLeafTable\scounts\sany\splink\sedge\srather\sthan\sonly\n\s\sprimary-parent\sedges;\sinsertCheckinMlinks\swrites\sa\srow\sfor\severy\n\s\sF-card\srather\sthan\sonly\schanged\sones)\sthat\spredate\sthis\sfix\sand\sare\n\s\sout\sof\sscope\sfor\s#102/#103.
D 2026-07-23T10:17:46
F .githooks/pre-commit ce134a33b0e8b1a0017110de2ef0553e052378e048b461102282edd72bea5fb9 x
F .github/RELEASE_TEMPLATE.md 8732d1e0c367cefb3a1e0ac8fbdf191f2816fc3469d4680dfdf14eac2dec9a1d w
F .github/workflows/release.yml 618de742abc473bc2a4dc54327d668931c94ece6204fc92cbbdc97b44955e6aa w
F .github/workflows/test.yml fab3db709b05f1d8772de29a7f17a29da02eb2438b0aa5f5f1cde748175d9508 w
F .gitignore bc81256c11f6f6390eb365029ca72b000c5bd5be345d294bdd0a7a69d698d4e3 w
F CHANGELOG.md b012d122b9d22dda92d578852ae135992e392281d7592655b9d8d0516174a771 w
F CONTRIBUTING.md 5023d136fb5f0c1fd1136ffb502e1913827661fe519e9c4386344e55c95ec8f4 w
F LICENSE d967ce740201ba31025b108fe9b0a21ceec2f6570153814f3446901d05ff0dbc w
F Makefile f531d9a1976fd760d502faf2e8c19b6dbc014ed49eea3ec35a96b539eda1ac37 w
F README.md 251434a5f2d655fa7e53e46eb5018fb178a2a02fef185bf0bc286f03d36bd486 w
F assets/logo.png 6742c6519f88a82f8861a8151eba4e08f7e4e66a496465014a5bb728811542f3 w
F checkout.go da342c56fbe8e433d1c0f95643b2b610d5beafc3077118ad68b38777d757f6db w
F checkout_test.go 7612b7d7f008158c245b7174672aeb5727f32e9c10a980136a54cbb825a9e8df w
F checkout_update_test.go 655ef89151a41e84cbb7cecf572bdacc2be28bd7b79bc6aa83f3b0d45c8a2219 w
F cli/repo.go ed815010cc42627a2aae8720fe0d0f02e0262d3e9516a36d2a037f250968578f w
F cli/repo_add.go 62ac014a3a2fc45e27f3a496a804f9c35a54c978db3fe88d14e6828947075a1f w
F cli/repo_annotate.go ec73bc1dc3e63ece75366228b64feeb9b0f846258e1ce2526e98889d5a5b1e68 w
F cli/repo_bisect.go 343e4afe01f9e36a1a321256e4f66399e50510ed46b690de12d0a3e3c381137e w
F cli/repo_branch.go 898d24cf6a4bf2e93cece6c4af14fe2bcb45a9724eda7f50d2e66d2fe2177c21 w
F cli/repo_cat.go a2ded7d86650abe406d39c66a60fba4f8cfdf0df7a7d6ad125e02285e179e88d w
F cli/repo_ci.go bfb412bff7ce73880ca14816dceed4773bb9a445ed437e49d38d86b67df7b504 w
F cli/repo_clone.go 76bf54980160893798f589a6c434dda7245d311f2a5dd66d3d10afb0860d2392 w
F cli/repo_co.go c927b36031023bd0f1c1845b9b6ff5106001c344cd60db5165f6f227c7dc28c4 w
F cli/repo_config.go d23ea737bfe951b12c73666e51876b2a378ce33c90a27198610e0d0aba50eb74 w
F cli/repo_conflicts.go 461dba404f117f2565f63f66942f6859051609ec737b005a9e50f46b17b6ece9 w
F cli/repo_delta.go 549b52268db0b9c39f76a6b63697e04df652f5616d8769e2e1fdea5fccabeb94 w
F cli/repo_diff.go 7179c1d7b6ff4b278fe7c1ee2682fe9b59e6a6b1be6c43893035f7bc39a9e0f0 w
F cli/repo_extract.go 26bc5b9fe540a8c93b780956bf9593128a56c563b82ab931f8014ca786912110 w
F cli/repo_hash.go ea9185e7adc63265e669e2ee498f9aed80a34f54b456f28f506b5a419d76ec8b w
F cli/repo_info.go 486f59013b564f79c7977acf5728af170c04fb0f52dfb5fdc461d5db3faff09c w
F cli/repo_invite.go b7a1286a2a9178f0972e282a8cd2403abcc9ade48883d2849917fe7104c263ba w
F cli/repo_ls.go 6f57d45721dadd48b5ce35deb2192a87c5b4c2584091e258921eedfc26c87ed4 w
F cli/repo_merge.go 979d4a47a893f5abe4c4a1a5b79ced68b8b5eeb1091685e22bdc26c2c51f361c w
F cli/repo_merge_resolve.go 5a15271fd422bf4d3ab33b1e5a33e0cd670a4aa91291a282c6e9de9c966ae854 w
F cli/repo_new.go 3696eb11eeedaf6426383c92f35962bbcf442ece0a9588f50155b35399afb5df w
F cli/repo_open.go 7f971778b08b82c3914a65e7c6f4cd4c792028941a78dcc835bbb0bfe42c4004 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 45fdb1241a4be171e68e00331c7cbd4b3a7159168ea603c544a3320e4239c1d2 w
F cli/repo_serve.go e13e6ac8f14c30fb10e7d636ca4d79efcb8571eb0c334767b7e4ba273c936580 w
F cli/repo_serve_test.go 522f089e8aeb593ea3684d131a3d5783876ada5854d66f3725fa9b3040167809 w
F cli/repo_stash.go d6d9bc90338180edd7c4df89898f464cbf8a574322ac8645dc19cf8b717607a9 w
F cli/repo_status.go 94b74f2de04482cf14e03d42ce1ebc4d9050bde05cc05a2b14841fd1f0c28830 w
F cli/repo_tag.go f551674ba5cd8e6a9bd48d71e7592e528ca72689cff22be9145f80ad0f549646 w
F cli/repo_timeline.go d52015697a3d2b7ab4cc468314eac7d19961584030f67e0dd31ba82dd069a7c3 w
F cli/repo_undo.go 3be586f6b329663982e714d9e24d898c2b3f70a33020013b89ef4078ff2683e5 w
F cli/repo_user.go b632ff3436a1b39ef9ca1778cf07a95255fbffe6a18f9aa3ad981ece78b73d11 w
F cli/repo_uv.go 583d0d28111093f00d0c1c189c7114bcdba2e30ec7b19a3c17a2b63406367d99 w
F cli/repo_verify.go ee5e7ed1f92447c9029f632d04403a037850320061b25d6f527ea4a0ef533bea w
F cli/repo_wiki.go 750d867a59259cf526a6280d30fa346b2b9d1a106af53c55b1a2cebddb0639d0 w
F cli/shared.go 9e1ca1a153a6cebebea64d18f1c7eebefcd3dd635066acf20d3d0a326ae4d5ce w
F cli/shared_test.go 5fcc794606a3767065ac17b8d23dc39c16a9e871fd9fef0f02cd58355a83ecf6 w
F cli/version.go 2bfe24d03e0c9beaded88f7410852578b5c9da094d80e3742a6a91e9d2c94404 w
F cli/version_test.go 666328d73abb80cf3afbf0586007e33b31dde5f0f90230ad9306346978d91fee w
F cmd/libfossil/main.go 71f3a0cf520ffdad6cf8f90004fdf264e3fd84abbdda86499f32d11bcf66e34c w
F cmd/libfossil/main_test.go 8a60201179065d722145e5bbb7d8aee987b4428c90c0a5cf0a7ac7b4ba8c7b0d w
F db/checkpoint_test.go 0011bcf31a01e9be0a84c901897ca7078a521a35a1c56b5167d3c056eef43e42 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 4da4c681238f46e62df1e31cde89791c78b5b13cf1a126c1af9a0f6a27606420 w
F db/db_test.go 70f52ebae9a1c96c4fe40c172a5aef0516cc7d6d006f1d53b0aedc38912e03c0 w
F db/doc.go d527fa7d157ad0c1b9e5dacbc1606b7dcfe409a1eb52ef96a607cd208fc8501a w
F db/driver/modernc/go.mod 75aab5f1b3930b3808fd4f1695ac7a6fea3dcf572005a18875a7201476771ef0 w
F db/driver/modernc/go.sum a36002d6878503f3024971b2c2e5f2c2f54d2268a0dc5e04504f0abd25b5e425 w
F db/driver/modernc/modernc.go c43eb03f889d1f806f5a38709ca8e35a6fcf2ddb397f940415e9af3b19733c55 w
F db/driver/modernc/modernc_test.go f43d48257a03fb5f5ab533bb3de5305ed214f248ab17c1181afe7bde782ed8e0 w
F db/driver/ncruces/go.mod ac80155538ab4c8ff4e1791404b22a94e67369f61ec2eb2fb5dc1a402bef5691 w
F db/driver/ncruces/go.sum 4971ca697b8b0705153a4952987bd47fa1ee118ad5aa30ae8bff9be88debf90b w
F db/driver/ncruces/ncruces.go 35575310473cb157f60b79443b1497f62a5c7370663ab3b213c3211c942a0b8a w
F db/driver/ncruces/ncruces_js.go 83e2717be119dd464f81ca76d40b4d9c57881a82c43dc0a3096e1f9166209512 w
F db/driver/ncruces/ncruces_test.go a6ea720d4eaf536182911b7ac4d01385327819bb5215a87f56247727498bb300 w
F db/querier.go 51ef51c04404ba191c9778aa9fb28d779cf9d9a0c54f23626825e92d72ca827c w
F db/register.go 2ee97983aa3fa7a3d592c277efcd4a8af515bad2d1bf88aedb0e4eb91e2b54fd w
F db/scan.go 4a29b35a035f0b7c2b7cd9e4bca9a7919eeeb9ffedd3123a7d890b61a8c3ce04 w
F db/schema.go b4d59f4f53209d723ae4575d161880a3cc396fe2fc13762630a738ba4bdd94f6 w
F db/schema_test.go 59847a1479d1e67e3023e2af9da0d0a7de7bc7bf678149ca41b36b40eb3b3083 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 3a46828b340acd6e22924085da8736bb60d7144de843d6ba0852d5e1f5be09f7 w
F docs/site/content/docs/extension-points.md 60d2e656df73ef255efc2b05f8359949174099d8fe136a63b1e32f05bd665564 w
F docs/site/content/docs/migration-from-fossil.md a01eca1e085205fe835dfd6e729aa9c2b381cb37a1d0495b5905e1784ac17211 w
F docs/site/content/docs/production.md 907e3a26444fb2eec40785160145600cbd04f7f6efe133beed6954b738fea120 w
F docs/site/content/docs/quickstart.md 696695c2498eb47411ca965f93545f003dba01fd572e0f2bee2a5e3811693ffd 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 4e9e732de00e03f418d37b79991dd4fc6518a01564a008879f9cdfe9388c4199 w
F docs/site/content/docs/reference/sdk/db/api.md 3074524487286e6214bb5504108598f48e7701a764c53ce45f385de63db0cf28 w
F docs/site/content/docs/reference/sdk/db/driver/modernc/_index.md 44c7e5d5809c20947243535fd8c54ed0bd69379e237aed1ae7b6edbbf602925e w
F docs/site/content/docs/reference/sdk/db/driver/ncruces/_index.md 73d644bd6156a93c75eb3e14f52e6c1ba610d3eaba153212f9bdf0485302ceb6 w
F docs/site/content/docs/reference/sdk/dst/api.md cb67fe8ec7c25000b5f65d84fe0dc4236714244aeaaae8d213470d3e8b71a2c7 w
F docs/site/content/docs/reference/sdk/libfossil/api.md 703c05cdf8d14c03170d640eadd89119d2d3e7275a10f59d057bee95693565b2 w
F docs/site/content/docs/reference/sdk/observer/otel/api.md 3dcb4d3de1b1e5dcc9951935859a63136ac6a57f9fbf4bfeaa97c647c5422f88 w
F docs/site/content/docs/testing.md 10c1b397df20e524af118fa08b09779e0d259587f53a50d013bc3baefc30724d w
F docs/site/content/examples/_index.md c73a88357d1689dca063ab7c190f75cdaf6e256b12598e1f14bc264a9e045d66 w
F docs/site/go.mod e3afe62e7a956d29355029e318bdf0b423c61a5f5257b4116dfd5e1ab034c8a8 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 1f021eb9504b2e2111ca622798dcee4fcf08dea89151aa09a43ef12a69fd21d0 w
F docs/superpowers/plans/2026-04-26-docs-site-cf-deploy.md 477e53c2a2f4d835e06b35c0d62dbe16ea48c2738e7cf0bf372c1e932154b596 w
F docs/superpowers/plans/2026-04-30-cross-repo-release-automation.md 0afffeafd62a5ae3452ae83c3da2c3ea0d21959699a811d54f2f9ffbe757b168 w
F docs/superpowers/specs/2026-04-25-docs-site-cf-deploy-design.md bbc1abeb5a6250198e1645dc44539d8b5bf86720b73ef3601727a807c4fa9388 w
F docs/superpowers/specs/2026-04-30-cross-repo-release-automation-design.md 8a9349ab53f6eeb1aea4af9f5279b2a4c8bd1d9770dad8c2ef0306a137f223e3 w
F dst/clone_test.go 2e422b690c323fa1008ecbcd148442bee2c42e3541b4c007d25a2c8d373581de w
F dst/crosslink_completeness_test.go 3ae310d53193c0b3f130bf9b2a3f7eae48573cc531df66dd1d2ead7a08f54fe1 w
F dst/e2e_test.go 9ca2a2f7aa422b26fa7a84086f2273b5fee383ecaa20de20c9caa1edadc0a2f6 w
F dst/event.go bf634507299f3e9ca68f7843245d255d81d41678ec8d4dcefe4c16e71b786675 w
F dst/invariants.go b88ec4536960272a00e31cf625df01a1a1545dd954dde6720804b7c991f9ffc8 w
F dst/invariants_test.go 67ba8a7853e3ee21900b9e58f7bbae4ef712e9a49fe975552676f657447ff11f w
F dst/mock_fossil.go 62c94fdf9735f276741b5743125dac4f88759d268ebacfe2567929211e40f405 w
F dst/mock_fossil_test.go d8f2a94a0d873fcd96367918d60655fb05298bedfaa5fbbdb1b3c41fba008edc w
F dst/network.go 863ab5c79ed04b70bc301825aaac22646dd20ba3130f33d76c1492c5ae522394 w
F dst/node.go 642616c8e57e03b8d307bf7c4621fe7eabc296013a4bacbd742be16849405ada w
F dst/peer_network.go b70351aa50a2525f5a9b4a3a2f94c9ca91d2f7af64f7b85913a5dffb8b3e8065 w
F dst/scenario_test.go 7ea1ff6d3cfe99181acf087ede4339a75033a9531082ed2ebc244ff14a579e67 w
F dst/shun_private_test.go 9ae3490a0faeb53fd569e2c749fe47e693b38d6c75c899e3059e3739484117a6 w
F dst/simulator.go e904ee00992be83752213dbccab99c335b3f8c4201fbe75a646371ae0a2a3e42 w
F dst/simulator_test.go ac133766b5a1662f2cfb5381070cb40501e62e8824ac215c353c0ea0cd21aeea w
F dst/tablesync_test.go 5aa5130e275a7fb81c3759e6182c82b3aafbe77f8b2046c7a03f204e489ee246 w
F dst/tag_branch_test.go 77ba941d24ef0b57c5dfc1b20248f6c0d818042bdae833bbca9d8d293d3105d6 w
F errors.go 08302b6fef3b1aa0ff242e891ffb94439fa8184fbe43b58f42dd664a3ca7bc2d w
F errors_test.go 4e1346a43f0be34d6e2de643319306453bddc58ef8943a7e113a61874b22904f w
F examples/embed-repo-api/README.md 1d7998b76d71136707d212b25d8832580eb6cfef5ddf1af277eb370f2d781c2c w
F examples/embed-repo-api/main.go 9ee87969d160279c89b77c9db4bd75bba06f33971e20564f6b5633b161a0fe81 w
F examples/wasm/README.md 38ebe736d93cda8b37c5bcd426175a98296409ca0a5e34cd5115221512b29708 w
F examples/wasm/main.go 7fb0cd125f0bc55711982fc0e05690f806272809ffa92405dff92be3365fa8e4 w
F fossil.go 3dae412fc688c5154b2ab13e4bc48a973ab713841361383f289185ec77850ce0 w
F fossil_test.go 80431cabf6ffdf5f20b97c7768e2763facb0c70c04039aed1a97fd8f9b8157a6 w
F go.mod 9853baada53e57be5177298f94208506b152d49b4997e7f2dce960427e19d7fe w
F go.sum 4a3a92b9ce620fe92900ecc4e2a3d72c5ced5a54ae494640fa6b794807af527a w
F go.work 8b3d9a07dbf8042509ed2f1db6cff10fb97a0cb73e3fb0db054cac033c095236 w
F go.work.sum 0884400df2af51c2166a06aa83d858f1935d299d00bea0502b77387930fc621d w
F integration_cli_test.go 72bb196cb36f776b074bbed03abebd00a13a1f062f96d0e51f0490c7043cdb60 w
F integration_test.go 24d67433269868d87aa2c6835bc80408f56c1dc5516db7cc71d57dc7270985fd w
F internal/annotate/annotate.go 39afd36da55c1d791933c1f866cdb02ec8a94c2fcfb3367835b4da7e6c46f432 w
F internal/annotate/annotate_test.go 72e1d7f9754ab51f7bd83aa44504f5b2cbc6d1fed26aa63f512878aeab946d9d 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 ca16c0089a25a522b1a52d36f22f2d69f9abf680562de9aad500574419603787 w
F internal/auth/user_test.go 25156854d3553351cd9f0cce9dc01bcf6d31bba0be674fa0589c11488366fec2 w
F internal/auth/verify.go fdf701a793da7be05e49dc4bcabf2e541f68300ec00dfb9beae5aaa8fd9b72fb w
F internal/auth/verify_test.go 5407551f497a53dcf08bcf1db207f9e0a91fb0d09f1436c0e356f8fdace7ca66 w
F internal/bisect/bisect.go b9413f2fdbb45ac22b22dd87568cff42dbb91fa6fb57f7b33f70c32dc3a69014 w
F internal/bisect/bisect_test.go 90ad191ac8fb2108d847bb5f8026a4810fdaa1b01ef4a880f4dcd2bbb7d27f41 w
F internal/blob/assert_test.go 88e527088574d435671eb4ecef3d0c3afe802e20bc2a535a801ef3a52e8caf34 w
F internal/blob/blob.go a8f6605bd8e2334744b776ba30a845a8d73addc4cdb6a372e4bafa845db9c9c7 w
F internal/blob/blob_test.go 9895b81ed39d28c5218aefe0db0609b73ccbaeb341492ed97a1333d66b4b1d0e w
F internal/blob/compress.go 9fa23fd466a1128a89a420829e25068b9f08bddfc40de1173f4450801ce2a0d2 w
F internal/blob/compress_test.go 6f94eccb24e0affed867e88dc60d188618f21bf4ff60f42af5a04d1318d17438 w
F internal/blob/doc.go c550d1fc492bbf3f92046990d228400d5e217dd836d979ac504b4d052fb86fc1 w
F internal/branch/branch.go af771a07c925f96f8cab736986051f1d5323777d0b86a3c7cdefdf2e9defca60 w
F internal/branch/branch_test.go 62e035b868213b286cf28f7368b7d33567517782939a8571d6d1e6a987347526 w
F internal/checkout/checkin.go e4c6cdcf2134353bb4cfba72f6dea8eb295089d7cfb40ea57f56191c09f97bf5 w
F internal/checkout/checkin_test.go 5ddb9be6136a70e03ab6e4b78f271b73f6e9cfda87d3b1f1879df45c2708e50d w
F internal/checkout/checkout.go cbb099be005584e5724b22ef699c01164b4db01f2db95402e98fa3bb2e7a7b2e w
F internal/checkout/checkout_test.go 3d3e0e33656440376001d2640f75d76772056c661fb916cab005cbdefe4e24fc w
F internal/checkout/executable_test.go 9d17e891be584096e3887c9343c17ecda62521ed653e606e778f0907df70a141 w
F internal/checkout/extract.go 841a88160480d1b58166ead6d2044b11aa2cd8046c581e87e0d5ed97325e1361 w
F internal/checkout/extract_test.go 504df074f699a6d432ef91154d34ec17aec0f53712e0a8c32cae96719032eb2a w
F internal/checkout/fork.go 091798e7bc9e05dbd2cbffe54e85d44f462013b5e3f7b599ea50a927e25d09e3 w
F internal/checkout/fork_test.go 4085dce584ef45e5c476e574c4bbbebaf003af42e624cdb85d404eb9698fff67 w
F internal/checkout/helpers_test.go 4d4bb82c165dbaafa178efb12bf66dbc9e5c2ad32dcf8106779808db7348f4f9 w
F internal/checkout/manage.go c218e2d48c13e0d20e5702bccbda9f33dbb746b9629bde0045a191f2c8adee20 w
F internal/checkout/manage_test.go b6dd40b63881c7ccdbeb1857a543ab1797fa562d5d1ab0fc6a222fff18b51f54 w
F internal/checkout/observer.go a0e88497f69748129bff1c34fe40fefce2a0422c414c252bf4e911c74036fb5c w
F internal/checkout/observer_test.go f980a954cfe82b1e2b769fc7f334f9278296143df76fb036af77d2183ce7bcaa w
F internal/checkout/rename.go f1256c1fd85b69d32ce5cbb4ce8df7793e08cb735cfd2f8fd05d9a7c0d02f8bf w
F internal/checkout/rename_test.go b1b3b1dda229f26f18cc53ab668f29ce965f616799edf1cff7f66a145cbadc11 w
F internal/checkout/revert.go 57dad457097460ad15fd38fe0659db1661b721446efc6ba899c41f6804b34ee8 w
F internal/checkout/revert_test.go cd3a5669173b27ba77fa9bdb2e8c3a6022725269d16e601383786446705fafa9 w
F internal/checkout/schema.go c8056525affb72ab0df263120a969169206472c40967401d454ecc28c58cc60d w
F internal/checkout/schema_test.go ca03d9e5614ca68a5034fa3e4a039ab897608ec7acee4e3336c9f99c6e094e2f w
F internal/checkout/status.go 1dd3fe6e096fd4910cb84985fe530bcae2e9d925ddc2c4b540703e5668e4000f w
F internal/checkout/status_test.go 867cfed99f8d989e5a3c94a7df52afb47656d0a8c6e57034ceeaa804928a6d51 w
F internal/checkout/types.go f22d342d057924d4c143c45d8016d4a8c9036fa9210a6f96e11131d6070f4ea7 w
F internal/checkout/update.go b279c23deabdb1c2604d0c7b16dad1d455a1a0c60490c7108bfa1f77925ffd56 w
F internal/checkout/update_test.go 3ed4c737ac66b4515f913d90f91777fa7b283e02584c116ac0f426b33805879e w
F internal/checkout/util.go e7cd6c3719c8099ab30099158a73abe70f677971452996ad0a7122696da7d503 w
F internal/checkout/util_test.go 25d5a6c360799aa65b6c75404951e5d0c881298b8dc376e607bd5ce528f49d92 w
F internal/checkout/vfile.go 6bae6dc53fa3fd5d2ac818936af0a92c98979f45193c9515a5ce5c131a27fa93 w
F internal/checkout/vfile_test.go bec454828d65b83ed5f3984086e4eb90d9ac24389f9130294bc6a8a62de65977 w
F internal/content/assert_test.go 03f9dedb5eb91524f9001de16c4b78ef03ced75683dbbd42a0a1eb29631e7038 w
F internal/content/available.go 68d071f23f734827240a44b319994151af446bd25258e9b768dc00e1ef17de7c w
F internal/content/available_test.go aa67248393eaa23f5032298863d42b37e3d74124ebd84e8ec466574456f5f6d9 w
F internal/content/cache.go e176e7fd29bd35a2830eb8c59d9dfb9370afcff5a9357c073e179c777381e30b w
F internal/content/cache_chain_test.go 77644aabbad836ea0adf51317dfe7064163dc81bb5a4ad779eba718c6da5d9af w
F internal/content/cache_test.go fb79c8ae969abcee513d3d96e7a6a9ee1dba60364aa7bdb85d644166357d822c w
F internal/content/chain_bound_test.go c92eec2c736f43d31c581fd62bfd7ded92b09e2672bdfd5c4de2f97105d594ec w
F internal/content/cluster.go 1e4971c01be04c5c057073517ca05d43a5152d48d05efaba127ddcc75518db64 w
F internal/content/cluster_test.go 457f5f50e2eb279758face4f9f2940aaf7cde3eeb12a0e51391c0bc80a717580 w
F internal/content/content.go 27ac6e0f2a816fe90e01d12fe09045e783ff57ef142bdd421d526527defcdae3 w
F internal/content/content_test.go 9a6bca330561874fa27126afd2a3f8a104ec69836be90238840379bf8052e03f w
F internal/content/corpus_expand_test.go 8ff040971ebe330ab3b2b023b26cc8fe51a380c08b3dbc26580923971f98ceee w
F internal/content/deltify.go c1deb5d32f520280bef8b92727fc6a917e8abe48b2ea03b8d8e28d6192f68bc2 w
F internal/content/deltify_test.go fbdceb0d44760ede0b6635cf03e08731c4b19c83ba07583c52b406feb577c6c6 w
F internal/content/doc.go d4e65971ef0661ebbd6fac54854309f1c3bddde01642e6a9ec2fe214c8e1a1d7 w
F internal/content/private.go 5425b0f9eaf3e1c783b0b82819adec6c6e297476cc1b50f2950daac903e50ac2 w
F internal/content/private_test.go 0c8634066a315606f79d3286e2c11f061aa93038e23d6fc9a021609efca1b493 w
F internal/deck/assert_test.go 01cf720efe83a18194b0afaeffffa66067db35fe720ba4211888c3022852256a w
F internal/deck/cardcodec_test.go 8fe794f2049043c181cff0e6cde2a00eff9abc97f3490a4d06d3904a8fe0ffb2 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 3cda23feae93bf6294f5a1c14d8edc5736f736353407a2e2d7e065361b870548 w
F internal/deck/occurrence.go 51ab44338cd1c6b35248d988bf6c110dab6edd7df8da4e9f97908859fb66f32f w
F internal/deck/occurrence_test.go cd1f274ded5d8d1d7803462f386504e3e962599cef0fd4fcc19f19a4e234e0f9 w
F internal/deck/parse.go 38a38f67de1c666f12e491a3e9c2dd2b408770c56e0a3af156388f89e0fd5a37 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 7c38cfafec7fd5066c310c0a1facd3dfb5bc10309f2d35ef886144f8dca7e1f0 w
F internal/delta/fossil_compat_test.go cc2330b5ea2638972e0f87f137a767e29f258e7c344f8e909ee108e6ab4f75f4 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 7e16ebc342ed28941bf4cc4b669fd0b99b905f837ad88f30b1d4357105635e5c w
F internal/hash/hash.go adde80f5613398e8368a081c4b782c2314b48eed0e8cd16562354e6983fdee20 w
F internal/hash/hash_test.go 295936d2cc7af550e82278da8d001a8e15dbb7157a8900f6a46dea54f4c953ae w
F internal/manifest/bounds_test.go 253e0e0672a14c46e459c3db0a4131740d2edc3b16e485fc20320f560f0cb991 w
F internal/manifest/crosslink.go 9d77b2b5d25f0d0c80d93e3dd5ac40d62bc9f1efb51c81aeecf442ca9a6c59ad w
F internal/manifest/crosslink_corpus_test.go a60ee8e0cc79bc7fc34075fb49b20b6a1b1bef4964411c58674633a6a5ad4d14 w
F internal/manifest/crosslink_defer_test.go 1c4f78def67b709bb8fd06522c5ed3cd1acce79a53659b32580deeb2a7ee57fb w
F internal/manifest/crosslink_fossilbin_test.go c6231460cc116c9f2d41070cd4c5f1d3de314839183768084811b32392ea9199 w
F internal/manifest/crosslink_test.go 92b4727583712e3a876f5757b10862fb771285d13202de32aff95f66ca9bfeed w
F internal/manifest/deltify_test.go 679bdd3bd2d8b2fed13d7aa8ebb170af422b496b064c85c8c174b5f64f8b8cca w
F internal/manifest/dephantomize.go 7cf919c774cb6d84c55b6e4805416e791f82ab41df0707255b7dd5e542dfe041 w
F internal/manifest/dephantomize_test.go ad80bffa416f9e2f944ebfda3f8b12387f50dd6eb0a65e595594b9b50096d508 w
F internal/manifest/files.go b68ce1d11e6653b68c7f1140b3b27f2d59cdeecdcee052aab8f502f31e2b3e7a w
F internal/manifest/finfo.go 863ee5a35faef140857fadf098a89332d3d3cbda75e27a06db1ab6bae0df5bf8 w
F internal/manifest/finfo_test.go 4bd5000a3c62eea313711fe4c86e9c0271409c37a537e4f45f7cf9df2617e9e2 w
F internal/manifest/fossilbin_test.go af8aee82948e25b2194fb8918f3a87138f9dc1e4fcd9d33cf9731b22198772aa w
F internal/manifest/log.go 2c26e7bb41ef3d52a437cd52fe039e51218f51d5b95958e2eed929854f24cc0d w
F internal/manifest/manifest.go df6787492b4f2cac2d4bc706151d6d451672a91670b3220555b5464927f5487c w
F internal/manifest/manifest_test.go cbb6dfc5dc4b215deb348752d5a58eb8ea5a6633bf45920a4b564b23e9d866ef w
F internal/manifest/mlink.go 2f1824ee0d58d5134ff265f31dec031b8e262feecce1bb33c03c01877c7ce314 w
F internal/manifest/mlink_test.go 007743e582f28e158d26abbcd651376727b2bf245f1880ebf4ed75a3aee8a8c9 w
F internal/manifest/timeline.go be85172dac3063163105b2c12acee8a3799db51144114e28aeb440a8d17a831c w
F internal/manifest/timeline_test.go 18ccd9a78d02622b13ac1257ba4c94fb767e62fb0f26dd67f75ddc755c3ccf31 w
F internal/manifest/ucard_presence_test.go 9f1fd2cdb9fc47096e1f7755382243df5b4c00e3981b3f85262cd8d6a5337453 w
F internal/merge/ancestor.go 4c91e4e2a89d0949bc9a7eef7438ef9a2bb752d41e2c2dfce42b0d745a1e4063 w
F internal/merge/binary.go d11808769e1dce87c77aff56c0d1d700137574f809f69b3667f6519f215ea711 w
F internal/merge/detect.go 15a4f7e2087cc3810a3cdf060d75b09568b904d3c31e537fd92f37a18ad4f6b1 w
F internal/merge/doc.go 42df37cabd38d36af29e4c86be1c96f794988e6cf31a86bb976bbed02face5ee w
F internal/merge/example_test.go a0aea2676331d580808c3990e2b78e7743dd1f7f00c3bb7f9e701bf070c7c3c1 w
F internal/merge/fork.go 678975f97cbb10f73f462f965f160f647adf4fc602fde20221eabadc377534e5 w
F internal/merge/lastwriter.go c9c1e433b40e7c8afd86292c9afd21513c19dd1abb757f4d84e1d08b98d9e7ac w
F internal/merge/merge_test.go cbc9c2537db418331d823ca7f4110dfda8f662d2396b9e04690e3eb511231356 w
F internal/merge/resolve.go bcf2950d3541a08f9b0de16d80ffb4a51fb7f8da0e0f793a783932f6ee996317 w
F internal/merge/strategy.go d3a2037b13cb92fbb6737a4c209f964034113fa088973943f7f2a1ea42a808c2 w
F internal/merge/threeway.go 7dd2f3fb4e3b93463feff3865d873160379291717a4025aa860c9a059a276d36 w
F internal/merge/threeway_test.go 8044a7e9384860f12d96f123cc055bf56e1f2b8fa24e731433dbbe35351f0043 w
F internal/path/path.go a74fcd70d207149439804b13d9c9e867e2243fc4d9dea0e752611b2fdfc315bb w
F internal/path/path_test.go a4c0d3622b483bd79b024a8f012958a1002aa8191ae7a598c8999af98241e4cc w
F internal/repo/doc.go 108b1f68f19fb95e3b565a9273625ebe1529ddbe7f7bd92027a1d6a198658442 w
F internal/repo/repo.go 21b1583d50496d65d9a4b6a2442058597c134f709d601677e8a9f9d7b7cc6e70 w
F internal/repo/repo_test.go a29f8f4b1b6528d2e2cec344ce156c9e37732397221973d424d53926082078e8 w
F internal/repo/stat_default.go d5673dca783434733e10babad19baf415590504faccb6a33e6ed5df8a6fc1370 w
F internal/repo/stat_js.go 3a66d1857df63fe067436472ced1e7da21456f120c8e0a17ac3ec02d29d9284c w
F internal/repo/tablesync.go 303834df92cf9fadb292bcb24b358602cf8a2502d85291f37fe4f61f20dbbf0e w
F internal/repo/tablesync_test.go cb09f2534f6943c54949a71b2d2b34ea944d037ba781259c3a72afaf295625aa w
F internal/search/index.go 6fd14f172bba509869365cbd69947e374b0f7e023f28ec3adbce88f12ec4b0d3 w
F internal/search/query.go 8568cd4049db9b2d7213c593cefd8350e8204d2ddb34241c5d9c23ce15bfcdbc w
F internal/search/search.go 8e77ebb19f8392440dc7a982f7449293ebf091fe1090896b075339888a90f26b w
F internal/search/search_test.go bb7358a36beb67c5f91c4d6c605390261ddde8bf4da6c9daf8ee8d183ac986ed w
F internal/search/trunk.go 5990d200824e8e3c303bb86481a35193a4aac37b3735d513745582247eecdd30 w
F internal/shun/purge.go 4ea0dd9c156ebefc93b44648522c0a0d076a2bf47b75d7f5fb16458ae3697311 w
F internal/shun/shun.go 861d7e5235b7cbea78b19899fec0ce063331912584b1f71178f630a1c3ef5954 w
F internal/shun/shun_test.go a4c9c69fbc1a3c4114d935b4324444eac51a100126613d438d1bc97e691ade9a w
F internal/stash/stash.go 171839ea881a1146a80ae4f52b5270a0626d5ad252c8efbf5207373584620116 w
F internal/stash/stash_test.go 239ec6bab9553cbfe93a7cf4709ed324df3f23291157d8898110c407200b7a01 w
F internal/sync/auth.go 330afa0675d97952275b3640e5618bb06c5885867b52d101f9970162fd114115 w
F internal/sync/ckin_lock.go b596f851152d3c2aa5e76bfca9bcf58f8144476c1c1543fdcd3aeb53f40a5e97 w
F internal/sync/ckin_lock_test.go ed50668b11644fc18a8869276841be62a003a9ed895068159a79ee9e47258b36 w
F internal/sync/client.go cba2b79c8cb214a5d18aa8bf4d1c490a5cb118d4f4618cf868169e8bf59546b8 w
F internal/sync/client_tablesync.go 29b419b6cde89cdd282f234c5c1bdccca3a5e4fa6a5221ec48b89bcbcfbf2f3b w
F internal/sync/client_tablesync_test.go a689ee01678b40c4ee330e82a6fa652955cd7f0cce71b1fe2aeb7d150ee3a57d w
F internal/sync/client_uv_test.go 14fde6cee14c1180bf731abf852472a2296f26d62ec7167c796e34338558d158 w
F internal/sync/clone.go 953447e8ab32be184e245e4ae0b6e4a315dbf22e28d592308e2caf77a1238c63 w
F internal/sync/clone_selfroundtrip_test.go 910a24fadf74c1b65ab54fc2df21a2c41066b7f63e33b321691dcf12df098523 w
F internal/sync/clone_test.go c61f976818644d2c7d94d8b37f4fb557901ef9b4160367f2ab77b98f3c57feda w
F internal/sync/cluster_integration_test.go f858da08e9fd1fa213a3124141406667d958307ab1a0e5c3025663acee944793 w
F internal/sync/doc.go 1bfe570fa95c6818d00e788d5868ccc98919eeb4e839e125a6158b3873d1f095 w
F internal/sync/handler.go 8ab8d79b200da3e5d73badea86203fdbf920b771b17190abac3a0a69e5d51ec3 w
F internal/sync/handler_crosslink_test.go ecac225dfadd796320295ee9251a64992e8b266541afed47f8d0faa2d44c3979 w
F internal/sync/handler_tablesync.go 395f1e620c83c79a7f15ad3c83948b63e6387a4e9cd1fad3f2bdb7a8e2ebf5db w
F internal/sync/handler_tablesync_test.go 48012737b6b000f19657dcf65e091d455676105ca5a10f434e4ffe69a83f396e w
F internal/sync/handler_test.go ed8389ac8d6aaa08e1a93ba7896b239df88122316cf0791a73a141a188204be8 w
F internal/sync/handler_uv.go fc66b0fc13832dda9c3fd603d5e36a2a77cc3092af59e8ea2d4c6bbcd2b01fb4 w
F internal/sync/handler_uv_test.go b3d4f75917c05e67e9dc724df4c6eeda81a78e17b045d8dbcf9519569f283993 w
F internal/sync/integration_test.go 7f44715aa101f6c3551704d271e7fee4401fce126f5b28574578d0751e18e9a8 w
F internal/sync/observer.go f14b94f4ce60925b295779fe897b036e085897b4c869011421eaa6c03df8fed8 w
F internal/sync/observer_test.go 47ec6d0cf37fd07fc06e2ff1132db90ccc781f7f59a3eea6f3e5313b823f9da3 w
F internal/sync/private_test.go e45597aff9981b1fcfac6a0d491dbd61baa50a28e6ed19714182f3b97652260a w
F internal/sync/serve_http.go 7b45ddcb6b9b2ccca04034f3303116fadc66a4eebaa876e004572315d5698f96 w
F internal/sync/serve_http_test.go e5c4d1067fb9b18e5aa446f30918f9551e644516925e34ab8827a9024cb1b2ae w
F internal/sync/session.go 897373e3af85091f5cd7ceef70a11a92d52e9a10ca0634322783fd6f642f23a6 w
F internal/sync/storereceivedfile_test.go 44c869d97c3aa3e2165cbce8e17360981f8f0ce53e504437d314f13b1f0f5bb4 w
F internal/sync/stubs.go 543ddbe2f2953452837e754c03cb5314e6416760282f7fc61de83cd80300028c w
F internal/sync/sync_test.go f05ddbda2f98f3858821407830ce21c531484b88edce4319a209a355296af30c w
F internal/sync/transport.go 9723a6f6729991e4c2989dc28c47ab9217d195d874dca587cac1d48b26b5fa4c w
F internal/sync/xdelete.go bf8d6346eb78956162a0b048478b9e4970f706d16adc337f4c54f1bf0a30f785 w
F internal/tag/propagate.go e0f37b08a1058d2b6075f981bfec34e672752f1f70c24f52c6b38e95378aa57f w
F internal/tag/tag.go e3209254cb476375c805e8e0f0658c1250d6452f0d48b9c98fb7d576343e1fa1 w
F internal/tag/tag_test.go 11db9d37bc3421ff376ca0b884631cfe24e110f8086dc1b0ebdfee3dd65631ad w
F internal/testdriver/modernc.go a6c69a9f21934d3d2f6a0ef30481bf72c8d69a8d9baa53a0547af98aac0c2f48 w
F internal/testdriver/ncruces.go 1fc6dd6c293832d246f923da015e0b1edaeabcf56b6a3f302ce6268aa32a0e30 w
F internal/undo/undo.go ee2d8a12aee06cc21fe5a059dd2abd736f4266ea2ff35b33cfef2569513115a6 w
F internal/undo/undo_test.go 05a4697255f6f444fd98c0bb14164d5ecdb5a5837639ba8f5d0377cf673a2421 w
F internal/uv/status.go 585384ea2e1e0b39f21202015245b06a221e88b2d2176e06e4d002bf20559b8d w
F internal/uv/status_test.go 16cbe804eea490a562206261a3944e202b8b78e187508ab31c7f2f6b092a9056 w
F internal/uv/uv.go 862ced67bbfccdbd4621877b855b172beb9d7920bd94dd6d1afba726d14678f2 w
F internal/uv/uv_test.go 52b0861925cf9e696202f213067e2ced16b6e27ec0bdc27c6d25987645769503 w
F internal/verify/check_blobs.go 82a04d70c086ca26147c78f25ac6034ea4627671b401206d3ef27090549d1564 w
F internal/verify/check_derived.go e9e94908d7a2ab7a91bd213b2da8d9c096042526a63f0faa37440c4158d92139 w
F internal/verify/check_structure.go 4b8819f8666a6bc78ee053b27d802f04aa68f77aece01808efd646c10115889c w
F internal/verify/rebuild.go e6878cba44cc91b26be9afb7434602c9ffa1b78f1dc0cc953782ebe2f8a3def4 w
F internal/verify/rebuild_leaves.go b4bf50398438470b19a3711031257059220526c5642af98bfcd323ff9b34a520 w
F internal/verify/rebuild_manifest.go 41c6ffcbcf8ae526d2ed586cdb114a4cdfce22ec3ad091c086a4f6d0089bc5b7 w
F internal/verify/rebuild_tags.go 7c38f714a03a500089d9a4778bf3b32500b4504cea48563733c19a6f4211a88c w
F internal/verify/ucard_presence_test.go 10c9a74844ed3f0d71b793335afa3ebd8f085bdc8f3db5905425539db4c65bdf w
F internal/verify/verify.go e754d8b90dabcd422dd7e5149a1ba696115cd44552dcd4340030038fc93ace04 w
F internal/verify/verify_test.go b28792f0fc9cc05fbc0ac734f372e467b0fc6bb7dd1ae2285e62a6f84ebf7aad w
F internal/xfer/card.go 3fbbcdd88085e4a86a94ff0fd2d4165fa99e12460975c948b99ed55267d81ec0 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 b20ddbc3265af80fedeabbe165a9cbd03ddf3c66ce832c43c4133eb84fa47424 w
F internal/xfer/decode.go afe72d3f8875f5e758f9c5a488121c5576c0d029c2938e38a2580ce3e90acd33 w
F internal/xfer/encode.go 3ad8def87d9c3434dc495f469d8134412311dad3b33d3d04ba2dee2a25f7f201 w
F internal/xfer/example_test.go 8c3e10ff900217c03836408075ac7ed1e1e46ef3f34e37c769038686712742f6 w
F internal/xfer/message.go afb41a6f18dfb6f1c276e6d244ec62517091ea46be17ccbe366439cca3790fe6 w
F internal/xfer/message_oversize_test.go 845b21969a64c78596ac8d73a015e07eab11e47e4ceb63634f822eca6d832bf8 w
F internal/xfer/message_test.go dcc0e16ceb026a36d08c776dea28848190b2ed213b18415ad8b85e941e99378c w
F julian.go 50d5be711e4cbc2d96722f06b2554ea72d06372df9579a79c065b89d7f9cd715 w
F julian_test.go 5ac50dd9942524841975f586d38dd8bcf82c7f0bda3cc43201e2710950268b62 w
F ls_branch_tip_repro_test.go 133c244881796c991a76a563933a0394728da239a67792fed5c1c317759e3d36 w
F observer.go 43fc547a68bc1ca5b6e742a666e90c6d58dc7aa2e7a90bf28dff7cc54fafb6f3 w
F observer/otel/go.mod 92e69052d683ec3385389614b77228c7a915d98ea96c09f60fcb1fbcf1b0b3b2 w
F observer/otel/go.sum 91ccc3129d5bc401b484be48398a395ea7749f955f86666bc3b55dc52d440c42 w
F observer/otel/otel.go a639b1e7f7d8b2a0c8c345a96252363c87e85831a6428900405d349b5f0d0738 w
F observer/otel/otel_test.go 7983106049138eba7969b92246e205468a083c02e2c2bad3f3dee012231d7c16 w
F observer_test.go 8811bbc50bb75cf382843d02df96f50926d13e8a4fafbe038b6d9183b46a555b w
F repo.go e00afd15bdb6f1058f315fe83972c679204bfc69134b7b0070fd5aed491ca248 w
F repo_admin.go a9e9b25d409efa22e02f489dc0d703c048c41551fd5e04ba8d859ceebfff32bc w
F repo_checkout.go 28fda51b4b0abd784e0643bad57c7bab4c13541730d1a1f3c6943760e3b0d8de w
F repo_checkout_test.go e07d69067cf9420f3222bd7b13db2f2ac583d519651346753c08a0e559c4b8cd w
F repo_extras.go 5c886e9f2c2bcf3fba43fb5bfb59dcb2b54bf784f760578b2fc5536519d9ccaa w
F repo_extras_test.go c7f90c8591e341410b48f68a27c0bcf8afe9edb5fe2878bb76d852335d166bf8 w
F repo_history.go e74d0099fa5746894d32eb6ff888ee64d1e710a3eacd3a3fb30666953e330ec3 w
F repo_history_test.go 5f5c181508de69766c37c137be0084daf792072ef4a9a1425db7d7b2e5a0dca4 w
F repo_ids.go b306110e69c5d1c83033ee3ab012fd0699e1f06f0c5b7e5d9cf1538d68825523 w
F repo_ids_test.go 3063ef837c0c7439a4682f6d86cdef789c25e0a2bd4808d63fd267088ce9ad0c w
F repo_merge.go 18afaa8587e55372e36665a1051a0ed5e2344a8bd591285759ee7736285d0a7b w
F repo_merge_test.go 9efe2315c12495c6da4f055addef8f1067b105d6d2920e52ee52938aff8c5bb3 w
F repo_pull.go 3566654c2d28275a29478587a3dd8a273e945c6d1b9b1f2fb882f82fcbdf77d8 w
F repo_pull_test.go a8460770f51a8c242118fc8bc90a89c84ee402340b6b6076d897c040aa86695c w
F repo_resolve_test.go 597c0ef15b9c796e1b701920be63a9716af880120534fbb30f8e205ff3bb32ed w
F repo_sync.go 6027df7cb8f4dd69409151d7b73e4ce8f59596fc560b86d82699b7db3a1b6bed w
F repo_timeline_test.go 4d2353d61eff5f70cb1438dff9996e05f6ab7c95bc0255b09f7b375d172b14ef w
F scripts/gen-llms-txt.sh e297fe186d81653c16fdd15b54d8a8c6da3b6e093e6fdc580854643ac6934daf 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 ccefde75878eebf8655d0172b7d9a0390e373a6e349b1ed569309d4c59e83cb6 w
F testutil/testutil_test.go 29a314bdc4faec3da3af6025f2bc74a8f86caf556801689ee621b8c5b5525683 w
F transport.go 91e6d6e3d19649ba1e9fc2a88046129fb3f073b7a6413bd00dd37e02b39e1274 w
F transport_test.go 30e0c5e29f58a9afd7197930d5d85f59f72244b6cfc41ed6f068ffbf5f5bceab w
F types.go c9111ff0399faf826565f71b9599434943090fcea8e7f3c5b5458d95f3b96747 w
F types_test.go 144c2b033546e1c4a09de9a5cc3c9937608a14c7bcd38db5e48bdfb152d61f1e w
F wrangler.jsonc f19630509e536b24e89ad26e84fb4ab33ee3723daf96e2c300779fa8e8228b2f w
P cc42ad8829a1e612a14e29a7bb6cb624815d23d8b2b9ca88cfc665fc25e7a3de
U [email protected]
Z 1b6330bb387125f9f52804789e72ccf6