Artifact 24c35dad87fc9f86a56d9cb699bc565b39706ca52caa79d2b45092187e0aa430:
* fix: populate mlink parent columns on the Crosslink check-in path
insertCheckinMlinks (the xfer/Crosslink ingestion path) wrote mlink rows with only (mid, fid, fnid) set, leaving pmid/pid NULL. Fossil's compute_fileage filters mlink.fid != mlink.pid, and in SQLite <int> != NULL evaluates to NULL rather than true, so every row written by this path was silently dropped from ancestry-walk queries - `fossil ls -R <repo> -r <rev>` returned empty for any commit that arrived over the wire, even though `fossil open` worked fine (it reads the manifest blob directly and never consults mlink).
Root cause: the two check-in paths that write mlink both needed to implement the same three-case pid convention (src/manifest.c:1668-1679 in canonical Fossil - carried-over/added/added-by-merge) and had drifted. insertMlinks (the direct check-in path) only handled two of the three cases and ignored merge parents entirely; insertCheckinMlinks didn't populate the parent columns at all.
Factor the convention into one place (internal/manifest/mlink.go): resolveMlinkParent implements the pid/pmid rule, insertMlinkRow wraps it and also fills pfnid (rename tracking) and mperm (permission encoding), which neither path wrote before. Both insertMlinks and insertCheckinMlinks now call insertMlinkRow, so the two write paths produce indistinguishable rows and cannot drift apart again.
insertCheckinMlinks also stopped skipping F-cards with an empty UUID (the delta-manifest deletion marker) - it now writes a row with fid=0, matching canonical's "deleted files have mlink.fid=0" and letting deletions participate in ancestry queries the same way Fossil's own writer does.
Un-gates ls_branch_tip_repro_test.go (previously untracked, guarded behind LIBFOSSIL_LS_BRANCH_TIP_REPRO) as a permanent regression test, and adds explicit coverage in internal/manifest/mlink_test.go for all three pid cases (normal add, merge add, delete) on both write paths.
* test: pin the deleted-file pid to the parent's exact file rid
Strengthens the deleted_file_gets_fid_zero subtest added for #29: it was only checking pid != 0, which would pass even if resolveMlinkParent picked the wrong nonzero value. Compare against the primary parent's actual mlink.fid for the same filename instead.
* fix: review findings on #29 — substring perm match, test isolation
Blocking: permToMperm switched on the whole perm string, matching only exact "x"/"l". Canonical manifest_file_mperm (src/manifest.c:1482-1492) does a substring test (strstr), and F-card perm fields can carry more than one character — internal/deck/parse.go:194 assigns the field verbatim from remote xfer input, and Fossil itself emits multi-char perm strings (the " w" rename placeholder, see #51). An exact match on e.g. "wx" would silently drop the executable bit, the exact invariant PR #48 landed to protect. Switch to strings.Contains, x checked before l to match canonical's order (the same idiom already used at internal/checkout/vfile.go:52). Added TestPermToMperm_SubstringMatch, including a "wx" case pinned to mperm=1.
Test isolation: rowFor in both mlink_test.go table-driven tests closed over the parent *testing.T, so a Fatalf in one subtest's row lookup aborted every subtest after it via runtime.Goexit unwinding the shared parent goroutine. Pass each subtest's own t into rowFor instead. Proven on the reviewer's revert run: after the deletion subtest's Fatalf, the merge-add and normal-add subtests never even started.
Tightened the carried-over-file assertion in TestInsertMlinks_MergeParentsGetPidNegativeOne from "pid != 0" (would pass for -1 too) to pin the exact parent fid, matching how the crosslink-path twin test already asserts it.
Documented (comment only, no behavior change) a known divergence from canonical in resolveMlinkParent: a file present in a merge parent with different content (a conflict resolved during the merge) should stay pid=0 in canonical Fossil, but this function returns pid=-1 for any file present in a merge parent regardless of content match. Low blast radius — every mlink consumer in this package filters pid != fid, which holds either way — but worth flagging so it isn't rediscovered as a surprise. by [email protected] on 2026-07-19 16:50:45.
C fix:\spopulate\smlink\sparent\scolumns\son\sthe\sCrosslink\scheck-in\spath\s(#63)\n\n*\sfix:\spopulate\smlink\sparent\scolumns\son\sthe\sCrosslink\scheck-in\spath\n\ninsertCheckinMlinks\s(the\sxfer/Crosslink\singestion\spath)\swrote\smlink\nrows\swith\sonly\s(mid,\sfid,\sfnid)\sset,\sleaving\spmid/pid\sNULL.\sFossil's\ncompute_fileage\sfilters\smlink.fid\s!=\smlink.pid,\sand\sin\sSQLite\n<int>\s!=\sNULL\sevaluates\sto\sNULL\srather\sthan\strue,\sso\severy\srow\swritten\nby\sthis\spath\swas\ssilently\sdropped\sfrom\sancestry-walk\squeries\s-\n`fossil\sls\s-R\s<repo>\s-r\s<rev>`\sreturned\sempty\sfor\sany\scommit\sthat\narrived\sover\sthe\swire,\seven\sthough\s`fossil\sopen`\sworked\sfine\s(it\sreads\nthe\smanifest\sblob\sdirectly\sand\snever\sconsults\smlink).\n\nRoot\scause:\sthe\stwo\scheck-in\spaths\sthat\swrite\smlink\sboth\sneeded\sto\nimplement\sthe\ssame\sthree-case\spid\sconvention\s(src/manifest.c:1668-1679\nin\scanonical\sFossil\s-\scarried-over/added/added-by-merge)\sand\shad\ndrifted.\sinsertMlinks\s(the\sdirect\scheck-in\spath)\sonly\shandled\stwo\sof\nthe\sthree\scases\sand\signored\smerge\sparents\sentirely;\sinsertCheckinMlinks\ndidn't\spopulate\sthe\sparent\scolumns\sat\sall.\n\nFactor\sthe\sconvention\sinto\sone\splace\s(internal/manifest/mlink.go):\nresolveMlinkParent\simplements\sthe\spid/pmid\srule,\sinsertMlinkRow\swraps\nit\sand\salso\sfills\spfnid\s(rename\stracking)\sand\smperm\s(permission\nencoding),\swhich\sneither\spath\swrote\sbefore.\sBoth\sinsertMlinks\sand\ninsertCheckinMlinks\snow\scall\sinsertMlinkRow,\sso\sthe\stwo\swrite\spaths\nproduce\sindistinguishable\srows\sand\scannot\sdrift\sapart\sagain.\n\ninsertCheckinMlinks\salso\sstopped\sskipping\sF-cards\swith\san\sempty\sUUID\n(the\sdelta-manifest\sdeletion\smarker)\s-\sit\snow\swrites\sa\srow\swith\nfid=0,\smatching\scanonical's\s"deleted\sfiles\shave\smlink.fid=0"\sand\nletting\sdeletions\sparticipate\sin\sancestry\squeries\sthe\ssame\sway\nFossil's\sown\swriter\sdoes.\n\nUn-gates\sls_branch_tip_repro_test.go\s(previously\suntracked,\sguarded\nbehind\sLIBFOSSIL_LS_BRANCH_TIP_REPRO)\sas\sa\spermanent\sregression\stest,\nand\sadds\sexplicit\scoverage\sin\sinternal/manifest/mlink_test.go\sfor\sall\nthree\spid\scases\s(normal\sadd,\smerge\sadd,\sdelete)\son\sboth\swrite\spaths.\n\n*\stest:\spin\sthe\sdeleted-file\spid\sto\sthe\sparent's\sexact\sfile\srid\n\nStrengthens\sthe\sdeleted_file_gets_fid_zero\ssubtest\sadded\sfor\s#29:\sit\nwas\sonly\schecking\spid\s!=\s0,\swhich\swould\spass\seven\sif\sresolveMlinkParent\npicked\sthe\swrong\snonzero\svalue.\sCompare\sagainst\sthe\sprimary\sparent's\nactual\smlink.fid\sfor\sthe\ssame\sfilename\sinstead.\n\n*\sfix:\sreview\sfindings\son\s#29\s—\ssubstring\sperm\smatch,\stest\sisolation\n\nBlocking:\spermToMperm\sswitched\son\sthe\swhole\sperm\sstring,\smatching\sonly\nexact\s"x"/"l".\sCanonical\smanifest_file_mperm\s(src/manifest.c:1482-1492)\ndoes\sa\ssubstring\stest\s(strstr),\sand\sF-card\sperm\sfields\scan\scarry\smore\nthan\sone\scharacter\s—\sinternal/deck/parse.go:194\sassigns\sthe\sfield\nverbatim\sfrom\sremote\sxfer\sinput,\sand\sFossil\sitself\semits\smulti-char\nperm\sstrings\s(the\s"\sw"\srename\splaceholder,\ssee\s#51).\sAn\sexact\smatch\son\ne.g.\s"wx"\swould\ssilently\sdrop\sthe\sexecutable\sbit,\sthe\sexact\sinvariant\nPR\s#48\slanded\sto\sprotect.\sSwitch\sto\sstrings.Contains,\sx\schecked\sbefore\nl\sto\smatch\scanonical's\sorder\s(the\ssame\sidiom\salready\sused\sat\ninternal/checkout/vfile.go:52).\sAdded\sTestPermToMperm_SubstringMatch,\nincluding\sa\s"wx"\scase\spinned\sto\smperm=1.\n\nTest\sisolation:\srowFor\sin\sboth\smlink_test.go\stable-driven\stests\sclosed\nover\sthe\sparent\s*testing.T,\sso\sa\sFatalf\sin\sone\ssubtest's\srow\slookup\naborted\severy\ssubtest\safter\sit\svia\sruntime.Goexit\sunwinding\sthe\sshared\nparent\sgoroutine.\sPass\seach\ssubtest's\sown\st\sinto\srowFor\sinstead.\nProven\son\sthe\sreviewer's\srevert\srun:\safter\sthe\sdeletion\ssubtest's\nFatalf,\sthe\smerge-add\sand\snormal-add\ssubtests\snever\seven\sstarted.\n\nTightened\sthe\scarried-over-file\sassertion\sin\nTestInsertMlinks_MergeParentsGetPidNegativeOne\sfrom\s"pid\s!=\s0"\s(would\npass\sfor\s-1\stoo)\sto\spin\sthe\sexact\sparent\sfid,\smatching\show\sthe\ncrosslink-path\stwin\stest\salready\sasserts\sit.\n\nDocumented\s(comment\sonly,\sno\sbehavior\schange)\sa\sknown\sdivergence\sfrom\ncanonical\sin\sresolveMlinkParent:\sa\sfile\spresent\sin\sa\smerge\sparent\swith\ndifferent\scontent\s(a\sconflict\sresolved\sduring\sthe\smerge)\sshould\sstay\npid=0\sin\scanonical\sFossil,\sbut\sthis\sfunction\sreturns\spid=-1\sfor\sany\nfile\spresent\sin\sa\smerge\sparent\sregardless\sof\scontent\smatch.\sLow\sblast\nradius\s—\severy\smlink\sconsumer\sin\sthis\spackage\sfilters\spid\s!=\sfid,\nwhich\sholds\seither\sway\s—\sbut\sworth\sflagging\sso\sit\sisn't\srediscovered\nas\sa\ssurprise. D 2026-07-19T16:50:45 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 b3b131c5441682d96e0cd30861ec58fc716f3b9e1722c7cd25c1ed110fef6e80 w F .gitignore bc81256c11f6f6390eb365029ca72b000c5bd5be345d294bdd0a7a69d698d4e3 w F CHANGELOG.md 421678c29af1ebd435c8c3fb2f609c2aab486a9b429907d5bfc82d5500f3865a 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 f9875e01096de057843b4d10b87f72a359d45800d859a74f7b0ac2e11a110780 w F checkout_test.go 36d3cae47028e0718468ef412bfb65041da4eb020fdf4a7c9b2bfef81e79315c w F checkout_update_test.go eab514bb61f6e4e56711ae78245762b81b9a38c522d1cc91fedf82e5cc09d3b6 w F cli/repo.go 739d65a19d90dba31df07280744ece4b11567e265536838e355f18177f0a8b50 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_stash.go d6d9bc90338180edd7c4df89898f464cbf8a574322ac8645dc19cf8b717607a9 w F cli/repo_status.go 6d3fdb3d467b0794508c8f93c3031c07c9e5b45b66dacbcb56b834b64de7c82b w F cli/repo_tag.go f551674ba5cd8e6a9bd48d71e7592e528ca72689cff22be9145f80ad0f549646 w F cli/repo_timeline.go ce1f8d1a97f4349a63879e2e26d381eebda31152166071034b6a20bff538e712 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 59fec8666c47c8a4c1bf629b1a76e3ae6a3dec27ed3043729b83a08a9b60c933 w F internal/blob/blob_test.go b8d970fc8ba47d3f67490853eac62d41ec9149ef3cff7ca7b2144cd5992b932c w F internal/blob/compress.go dc7b90e535b7654ac49fb41f71291ca647c8898520bc41440454e1024c56d53b w F internal/blob/doc.go 7b5ab28603e1e3f03a62cf15a3432ed35bdef884dfba7070e637d5a212fff5a8 w F internal/branch/branch.go dd564eabf7817fda04930d1fa612b1845c40097a628d5253befc1574c438032f w F internal/branch/branch_test.go bd164dee5ec5a9ef93707800e139ccf7d29e9f067d63597b93305f76f98a3aa4 w F internal/checkout/checkin.go 2e894135d5e299d22e1bca667ff71b24807d7b89efc440b988743e3d5e0dc6f1 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 0c600845b9deb04cdd3ae50542814fd2efbfe14e270b6fb7e9499742b4d94c13 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 1f88c0f61d00a2d62a0a6450090bccad2c010216cce6fe6652825617f88be266 w F internal/content/content_test.go f8da2bd0e263022be13abf41c65477dd495f5be55d733e12486c567a9c63c8e1 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 fc064f82d218b6276530412d51cb99d767667c94b5ba2c20ece365f079002fe4 w F internal/deck/deck_test.go 541202e06f51d9ddd6049b4796df8f9e8845bd97982176d0eda735595c1793cb w F internal/deck/encode.go 6e39b68aea29c5ecd315f1eff21de67b73acc17826a3863cce041b7ed0dcbfac w F internal/deck/marshal.go f4abe35e55403a111063d2bb5778f6293b104d15bacbdd066bac3eac4b7abd2d w F internal/deck/parse.go 9c60d424e73af5d904d3cbf85b6086614cf2b1edfe1fefc768b60f504e499600 w F internal/deck/rcard.go a7f9c1addcae6fd83474de2c971897eba5a787f4788973537deb13813d087268 w F internal/deck/zcard.go 04180a498ae67552819c8b933ae4555c202f7083ecfb79f58d4e05380943c8cb w F internal/delta/assert_test.go cf31f1117d52d13fd280f117b0f7a74245a3a07f602fa2763c376f2643b5a501 w F internal/delta/delta.go d0868495d9e30f75abd1f56e04c9aabad45831e207ae4d7a81bdf4c974e70bbe w F internal/delta/delta_test.go 3faa91e4d15915a4587390b5cb6782e4511ada6da0e432264bf53635323a11d3 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 a51c31a6c7b2ca823a2846098961abc75d127f625fa5e3e4e9cd83a4096ffe14 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 c351af8df63dfa421781cebecdc89022ac2e054e7c240bf553fa7c74675a948b w F internal/manifest/crosslink_test.go d9f54add3520fe33f3d23deba5ccbeacf09da6ce204b9b0a3e20f373a54893d6 w F internal/manifest/dephantomize.go 77dbfc474a52fbda2d3551b05c34dbd43d74535fbbe9f3143db0c270a287f8d6 w F internal/manifest/dephantomize_test.go 1e3b20746894cd591b3c02bf15befe7627647639f8b7f7a4a39e4ce7be4fffee 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/log.go d913a3dd3216033cf6eafdf1b1a99a510584523b67f3739287696ca8a800551b w F internal/manifest/manifest.go 10d5a59d6869d54fb9af757545e36a09e54d5c03ffc48c7a706542a88f058482 w F internal/manifest/manifest_test.go dd72529ae3e372e322e92e17fd13f58aa7c59405b0116f3d950b68d740c46d0d w F internal/manifest/mlink.go 7e7ab061a1a567a196c28d03fd6cfdfab5230b7dde2f138c59567d10002e33f7 w F internal/manifest/mlink_test.go f72fb87fc9873869f42d23ea158b3ac0d2507f7435cc8a944c29c17e7c12cc6b w F internal/manifest/timeline.go 02517f89784e23b3f2d1d8e4a88563ea955f0e450c23fa9bdbbf15d0a6a9b8f4 w F internal/manifest/timeline_test.go 693d67f73add68f64a76df77fe7519b9bef42857b2eec1d6709490a4af0cbf48 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 bf2f357a83727531e86e3fd1258ece87c7e8b5d40ecb70b779b5f2b34e3d858b 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 45f3006dfb93b3eb3867ef77acf70fd584ef857664c539051c733cd8169b5054 w F internal/sync/clone_test.go 5bbce4877fcd1a666dfacd51ff95a2cae6735c941eb3a3503204d697c2f1b641 w F internal/sync/cluster_integration_test.go 6a1f62b6f8f47eda15183448206c6df44782385d85e36a3892dd354d6e4f4aac w F internal/sync/doc.go 1bfe570fa95c6818d00e788d5868ccc98919eeb4e839e125a6158b3873d1f095 w F internal/sync/handler.go 40ebeb50ea268f8c0d353c5a78d6f5e68a40c5f0aa6732c59c9fd43610072cf5 w F internal/sync/handler_crosslink_test.go 7f512544bde6ba52a5007d1647532341c2141ee5e6f7c28effa77678015bf462 w F internal/sync/handler_tablesync.go e8b1808f24a8d30af5d68f71bcfd68d1353865ddd384af582e813695401760ee w F internal/sync/handler_tablesync_test.go 615c54ee4b2ae118eba3173c7e3c2d6c0771e7d21db2eb32b943386cb4effb50 w F internal/sync/handler_test.go 1f1522defb491ee5e090c6c6faff827e349556ff391bd413b9d7cb5731cc4964 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 1aecd2b44ef76cab3a4ddc94103b8d0584b03299292cee0dbf072bc1cd529f3e w F internal/sync/session.go 449d484d95ab1d5992de9f6283814d22816b8b9aec811b40729f694e6c41fad2 w F internal/sync/stubs.go 3aa8e17d7112ac7d9f7ef8a460f190d871035b446260caad4f6b29034e3afb38 w F internal/sync/sync_test.go 3107adbbd7ad75df42301524cebf0ca2d78729b4ffdc5e00eadbcbf0fe894b11 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 400816317a49557b1baef964a1a9368fd56da06daf8a350c611267a7b100d006 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/verify.go 981e99428f063acd7ff47d597a2225f7bf2b9f83cf4166cb11891daeda3c9ccb w F internal/verify/verify_test.go 4911500307f8a1d05ec76af4223059222aa07b8242b270aec1e4b72703d51a90 w F internal/xfer/card.go a41d15cdf29424e68cfbb8a33e829126d595bee8311f4aade3f28dbe8a8afea0 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 84585569f8f52f2a589ed58b319ffa215b103b79f51dbe224ce164516a22ee27 w F internal/xfer/decode.go a4f8d4ea9f02845182a9905a3f90bcc8bc8f51f7ddb799976c7894cedaad6194 w F internal/xfer/encode.go 6219f326ffcb7d63979c4ac6047b2c4c4239ee83d4d4a6d31ba93f3b3018a965 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 d0abfae48c6df50184aa498c4013a21f3024244fc1571081fd9cdd93869056fa 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 afa0d3ea09efadce38892cad106e1065856ede35d3ae4099d81f8f2cceefdbf3 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 50ee46b392001ee88d8381980ae7be98abd6f990f50c88b90a303a8b253a6018 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 cc78b2a7662f8fbcc5c9d1e130b011d56a9631c27585ecfcc40b977af1540bba 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 a69ab5dba734bd7c221773376ab8c59a766402be2d8a03b1ff1a9a3ba08c556c w F types_test.go 7e000480ba2f610043ed25467d9d7ecd3abac88010b7037f4c5bd1c82c9062c1 w F wrangler.jsonc f19630509e536b24e89ad26e84fb4ab33ee3723daf96e2c300779fa8e8228b2f w P 75f3521e54145123b72ca542dd226950731362a311f9350d9171237867aa6a0b U [email protected] Z d8eccd077c761b4787845c1c68bea389