Skip to content
go-libfossil Timeline
Login

Timeline

50 descendants and 50 ancestors of b29428a4e2ba74c9

2026-10-21
01:08
fix(content): preflight stored bytes with SQLite blob semantics

A BLOB-affinity column can hold TEXT; SQLite length(TEXT) stops at NUL and is not a byte-allocation bound. Cast content to BLOB in metadata and guarded payload reads so malformed dynamically typed values cannot bypass stored-byte preflight.

The adversarial TEXT fixture previously read a one-MiB payload and reserved sixteen MiB of inflation before rejecting corruption. Both drivers now reject before any payload read or inflation reservation. check-in: a08e7e9d71 user: [email protected] tags: feat/submanifest-reader, main, trunk

01:03
fix(sync): isolate prepared fallback cache and cancellation

Never share RID-keyed cache state across prepared service transactions: protocol-fatal responses can roll back after expansion while returning a nil Go error. Reject canceled contexts before acquiring a transaction and propagate observer cancellation instead of serving densely.

Reproduce rollback, RID reuse and incorrect content under the replacement hash; verify cancellation and deadline responses do no dense work. Exercise newly shunned payload and basis suppression after prepared-proof invalidation. check-in: 632e7349e6 user: [email protected] tags: feat/submanifest-reader, main, trunk

01:03
fix(content): bound and prune sparse reference facts

Use metadata preflight and fixed-size inflation for ordinary reference discovery too. Bound artifacts, parser cards, stored bytes and declared expansions before payload and parser allocations. Preserve unknown retention for corrupt compression.

Retain only classification fields and structural identities, copying kept tokens so discarded wiki/forum bodies, cluster inventories and metadata cannot be pinned. Compare empty and large-body fixtures and reject oversized expansion reservations. check-in: a3c6ddef9a user: [email protected] tags: feat/submanifest-reader, main, trunk

01:03
fix(sync): withhold shunned payloads and clone delta bases

Match Fossil 2.28 send_file and send_compressed_file payload gates. A source-first clone must expand a dependent when its stored basis is shunned rather than forwarding that withheld basis. Preserve private notices, authorization and SHA3 refusal ordering.

Exercise real encoded requests through the ordinary handler and Fossil HTTP oracle. Canonical compressed clone can name a shunned public basis without sending it; this server expands instead to preserve its source-first guarantee. check-in: a402aa5cc6 user: [email protected] tags: feat/submanifest-reader, main, trunk

00:54
feat(checkout): expose nonmutating carried-file recovery selection check-in: 04a8ea0b25 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:54
fix(deck): reject overflowing W-card sizes before slicing check-in: 6d3755e966 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:53
fix(sparse): bind checkout recovery to full pending-state snapshots check-in: 0f9775add6 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:52
fix(checkout): finalize published commits despite late cancellation check-in: f1f8cd6cb8 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:52
test(sparse): expose selected checkin carried-payload recovery gap check-in: ed971d634b user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
feat(checkout): expose nonmutating context recovery guards check-in: 4c8312ae48 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(checkout): cover control-path extraction and data collisions check-in: 59f53f4abc user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(conformance): require widen and rerun for outside merge conflicts check-in: 3afd0481ed user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(conformance): discover private checkout state in sparse fixtures check-in: 4e00e588c9 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): carry outside pending bytes across update check-in: 04ddaed6a6 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): bind undo images to their materialization cone check-in: c06eb7bc22 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): mark record-only mode outcomes pending for revert check-in: 052b3e87cb user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): preserve public phantom visibility when filling merge bytes check-in: 31e9096847 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(stash): require widening before replaying excluded paths check-in: d1d2c218c0 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): preserve wider undo images without escaping cone check-in: 1f215be1a4 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(checkout): prove native commit after sparse densification check-in: a95deda46a user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): migrate legacy sparse records behind private marker check-in: 34d90cea93 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): protect disk metadata with simulated working storage check-in: 3fda9d3007 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): match sparse pending merge lifecycle check-in: 3779a280ac user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): separate sparse managed rows from pending outcomes check-in: c82ec862f2 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): stage sparse marker transitions before disk changes check-in: cf1e964bf5 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): isolate newly created sparse checkout metadata check-in: be8abf5ed3 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(conformance): keep record-only cases available on wasm check-in: 1d7c669153 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
test(conformance): cover record-only merges and native checkout boundary check-in: 7a7b6bfaee user: [email protected] tags: feat/submanifest-reader, main, trunk
00:43
fix(checkout): preserve record-only sparse merge changes check-in: 139d96b210 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:41
fix(sparse): retain explicit cone widening for future pulls check-in: e7ed09f027 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:36
feat(sync): index prepared sparse clone successors

Prepare verified raw references under explicit byte, card, artifact and index-slot budgets before allocating payload expansions. Use request-local cone spans over a cone-independent range index to skip excluded RID gaps without empty clone continuation pages.

Keep this internal: selected-content reconstruction still uses dense allocation behavior, ordinary pull still scans inventory, and retaining every tree node is not proof of tree-minimal emission. No public wrapper, capability grammar or client continuation changes. check-in: 065f76e22f user: [email protected] tags: feat/submanifest-reader, main, trunk

00:30
fix(sparse): bound local recovery and validate retained closure atomically check-in: 16c802bdd9 user: [email protected] tags: feat/submanifest-reader, main, trunk
00:05
feat(sync): prototype internal prepared sparse serving lifecycle

Separate immutable cone-independent raw facts from request-local classification. Validate the observer connection, database generation and post-preparation file identity under a bound transaction. Unsupported, stale and mutating requests use dense fallback without cold cone discovery while preserving sparse-origin refusal.

Exercise real clone and pull over excluded candidates, same-request writes, observer lifecycle and durable cluster advertisements across restart. Classification and inventory remain whole-store work; this does not close sparse per-round resource bounds or expose a public lifecycle API. check-in: 63e0b940eb user: [email protected] tags: feat/submanifest-reader, main, trunk

2026-10-20
23:56
docs(sync): clarify exchange-local avoidance hint observations check-in: e500bfb4e3 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:56
test(conformance): document commit hint conditional applicability check-in: 4436960f72 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:56
test(conformance): verify exchange-local commit hint applicability check-in: 110f44ed85 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:56
test(conformance): execute actual tree cycle and visit guards check-in: 16ce2b350e user: [email protected] tags: feat/submanifest-reader, main, trunk
23:56
refactor(conformance): bound canonical vector fixture helpers check-in: d3199d183b user: [email protected] tags: feat/submanifest-reader, main, trunk
23:56
test(conformance): pin canonical sparse rewrite contracts and vectors check-in: d444cbf081 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:53
feat(sparse): add explicit public and CLI required-content recovery check-in: f57ca7de6a user: [email protected] tags: feat/submanifest-reader, main, trunk
23:51
feat(sparse): recover exact operation-selected payloads safely check-in: 221f0135ce user: [email protected] tags: feat/submanifest-reader, main, trunk
23:39
docs(sync): clarify exchange-local avoidance hint observations check-in: 8636a61a2e user: [email protected] tags: feat/submanifest-reader, main, trunk
23:38
fix(sync): withdraw empty-page sparse clone candidate cap check-in: 9448367581 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:29
test(sync): prove prepared observer and cluster durability constraints check-in: 9eb8e3c090 user: [email protected] tags: feat/submanifest-reader, main, trunk
23:17
fix(sparse): preserve elided payloads across canonical recovery check-in: 40cdcdc837 user: [email protected] tags: feat/submanifest-reader, main, trunk
22:47
feat(sparse): recover exact required structural content atomically check-in: 7b478974f3 user: [email protected] tags: feat/submanifest-reader, main, trunk
22:36
fix(sync): bound sparse clone candidate enumeration check-in: 2be3110064 user: [email protected] tags: feat/submanifest-reader, main, trunk
21:38
perf(manifest): bound repair work by the linked batch (#455)

Propagate tags and apply scheduled leaf rechecks before each link transaction commits. Preserve sparse metadata repair, pretagged merge-parent rechecks, and rollback-safe retries. Tracked in #432. check-in: b38bf23f79 user: [email protected] tags: feat/submanifest-reader, main, trunk

21:00
fix(verify): audit leaves and parent ancestry (#454)

Use same-branch and arrival-order evidence for leaf validation, validate parent overrides, and match Fossil parent tokenization. Preserve sparse readiness and delta-tree scans within one verification snapshot. Tracked in #433. check-in: 35672aadc7 user: [email protected] tags: feat/submanifest-reader, main, trunk

19:07
fix(sync): preserve cleanup after a fatal clone refusal

Keep Fossil's mandatory operation-less second round without accepting any cleanup payload or clearing the refusal. Exercise dense and sparse refusal alongside the existing client compatibility cases. check-in: a453db484d user: [email protected] tags: feat/submanifest-reader, main, trunk

18:33
docs(conformance): record partial-tree lifecycle support and remaining limits check-in: b29428a4e2 user: [email protected] tags: feat/submanifest-reader, main, trunk
18:31
Merge commit 'bac111b' into feat/submanifest-reader check-in: e79a5cef6c user: [email protected] tags: feat/submanifest-reader, main, trunk
18:30
fix(manifest): scope sparse readiness proof to crosslink transactions check-in: 7ee2a8713d user: [email protected] tags: feat/submanifest-reader, main, trunk
18:23
test(manifest): cover sparse dependency arrival and cascade orders check-in: 61bc211295 user: [email protected] tags: feat/submanifest-reader, main, trunk
18:13
fix(verify): share snapshot-scoped sparse checkin readiness check-in: fe64b28b2d user: [email protected] tags: feat/submanifest-reader, main, trunk
18:10
Merge branch 'feat/submanifest-reader' into feat/sparse-tree-writer check-in: 08f1cd28ac user: [email protected] tags: feat/submanifest-reader, main, trunk
17:41
fix(manifest): preserve sparse ancestry and refuse incomplete file history check-in: ea3c1d6cc3 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:31
Merge public-content publication while preserving sparse carried files check-in: fb96ac5642 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:26
feat(manifest): derive sparse tree metadata with explicit completion gaps check-in: e96adae02f user: [email protected] tags: feat/submanifest-reader, main, trunk
17:26
fix(checkout): enumerate covered files over sparse tree stores check-in: 6878fdd664 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:20
Merge commit '45d80da' into feat/submanifest-reader check-in: eaa6316fd7 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:20
Merge commit 'f2cf3ed' into feat/submanifest-reader check-in: 1fe16a6bf5 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:20
Merge commit '80cfe22' into feat/submanifest-reader check-in: 4d78b267c8 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:20
test(conformance): require immediate error-only clone refusal check-in: 7bc35863dc user: [email protected] tags: feat/submanifest-reader, main, trunk
17:18
test(conformance): register sparse wire cases without hiding remaining gaps check-in: 743a561747 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:17
test(conformance): bound sparse protocol fixtures and document test scope check-in: bf7bc337f5 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:15
test(sync): cover failed cone fetch intent and retention counts check-in: 34adfc91d0 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:15
Merge commit '20b56c4' into feat/submanifest-reader check-in: 1f9f94350f user: [email protected] tags: feat/submanifest-reader, main, trunk
17:13
test(conformance): execute sparse sync protocol cases over loopback wire check-in: 233143abec user: [email protected] tags: feat/submanifest-reader, main, trunk
17:12
fix(sync): retain raw sparse provenance across rebuilds check-in: 5d727706dd user: [email protected] tags: feat/submanifest-reader, main, trunk
17:06
Merge branch 'feat/submanifest-reader' into feat/sparse-tree-writer check-in: 320629c0cb user: [email protected] tags: feat/submanifest-reader, main, trunk
17:06
fix(manifest): filter tree baselines before delta enumeration check-in: 9419a375f0 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:01
Merge sparse transfer with rebuild-safe compaction and schema guards check-in: a16e178c81 user: [email protected] tags: feat/submanifest-reader, main, trunk
17:00
Merge commit '00162b8' into feat/submanifest-reader check-in: e73fd9e276 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:58
test(conformance): distinguish subtree classification from writer support check-in: 440f271b07 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:58
test(sparse): preserve compaction provenance across rebuild and sync

Exercise mixed held and nested missing S siblings after clearing and rebuilding derived tables. Repeated compaction preserves holdings and elided identities; ordinary sync must not request the rebuilt elided artifacts. check-in: 29a11b0aa8 user: [email protected] tags: feat/submanifest-reader, main, trunk

16:56
Merge commit 'bc7af6d' into feat/submanifest-reader check-in: 6edcdc4e4d user: [email protected] tags: feat/submanifest-reader, main, trunk
16:54
fix(content): compact healthy partial trees using shared provenance

Use raw cone references while independently verifying held bytes. Preserve leaves and nonterminal paths so missing descendants keep their range proofs. Exercise missing S nodes, stale derived indexes, and cancellation after an observed demotion. check-in: 55b3ca7155 user: [email protected] tags: feat/submanifest-reader, main, trunk

16:54
feat(sync): fetch widened cone policy through an explicit peer check-in: 293300a722 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:51
fix(content): import raw sparse cone reference classification

Import content-only changes from ab9f98d845b8ff29fedea32ac65561959c564fd4, retaining optional forumpost table handling. check-in: 5220dbc3f3 user: [email protected] tags: feat/submanifest-reader, main, trunk

16:43
Merge commit 'e913b16' into feat/submanifest-reader check-in: a3f11a2baf user: [email protected] tags: feat/submanifest-reader, main, trunk
16:40
test(manifest): demonstrate sparse parent pin ambiguity check-in: 00784f9384 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:40
fix(sparse): infer partial tree provenance from raw artifacts check-in: d50ca873b3 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:34
test(manifest): expose sparse final-merge conflict check-in: 3975828d27 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:32
test(manifest): pin sparse boundary witness sizes check-in: 554db00b39 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:31
test(manifest): expose sparse canonical partition conflict check-in: 4312d7724d user: [email protected] tags: feat/submanifest-reader, main, trunk
16:27
style: format transfer flags and storage forwarding methods check-in: 5a53dae34f user: [email protected] tags: feat/submanifest-reader, main, trunk
16:25
Merge commit '575d5e3' into feat/submanifest-reader check-in: 0cf8b7a09b user: [email protected] tags: feat/submanifest-reader, main, trunk
16:24
Merge commit '0938087' into feat/sparse-transfer check-in: bed21ff045 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:21
test(conformance): register sparse compaction with explicit remaining gaps check-in: e7477e64f8 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:20
Merge commit 'f2c70bd' into feat/submanifest-reader check-in: e2829629bd user: [email protected] tags: feat/submanifest-reader, main, trunk
16:20
fix(content): tolerate repositories without the forum table check-in: 7a12c245df user: [email protected] tags: feat/submanifest-reader, main, trunk
16:19
test(content): prove compaction reader snapshots and local delta closure check-in: 6b1244bac2 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:18
refactor(repo): hold sparse compaction public surface pending review check-in: 84c5070f16 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:18
feat(sync): filter sparse receives without losing shared blobs or delta bases check-in: 9b60d9b691 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:17
fix(content): keep forum and cherry-pick dependencies dense check-in: 6fcada6c23 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:16
feat(repo): expose explicit sparse store compaction check-in: c18b7fba43 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:13
docs: keep feature notes above the unchanged v0.13 release check-in: ea92f1c237 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:13
test(sparse): prove compaction closures rollback and recovery check-in: 3fdb608c79 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:10
feat(sync): scope flat clone content and reject uncovered sparse origins check-in: 6a22fdc165 user: [email protected] tags: feat/submanifest-reader, main, trunk
16:08
fix(content): retain structural phantoms and transitive delta bases check-in: 097e8fa156 user: [email protected] tags: feat/submanifest-reader, main, trunk