Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
09bfd79
docs(node): Phase 3 subtree-withholding plan with Task 0 spike findings
beardthelion Jun 6, 2026
8ab6de9
feat(node): resolve withheld blob OIDs for path-scoped visibility
beardthelion Jun 6, 2026
0017983
feat(node): filtered upload-pack serve that omits withheld blobs
beardthelion Jun 6, 2026
e292b79
feat(node): serve filtered pack when caller has withheld subtree blobs
beardthelion Jun 6, 2026
1474744
test(node): end-to-end assert served pack omits withheld blob
beardthelion Jun 6, 2026
694fddb
docs(node): note why info/refs is not gated on subtree visibility
beardthelion Jun 6, 2026
9413e64
fix(node): frame filtered serve as protocol v0 and prove it with a re…
beardthelion Jun 6, 2026
72487af
docs(node): correct Phase 3 caveat (full clone refused at fetch, not …
beardthelion Jun 6, 2026
b0af815
test(node): prove incremental fetch still withholds; document negotia…
beardthelion Jun 6, 2026
85a9711
refactor(node): address CodeRabbit review on PR #28
beardthelion Jun 6, 2026
c27e8dc
chore(node): drop planning doc from PR per maintainer request
beardthelion Jun 7, 2026
0c8a1b7
chore: gitignore local planning docs (docs/superpowers/)
beardthelion Jun 7, 2026
70bcefd
feat(node): withheld-paths endpoint reporting a caller's denied globs
beardthelion Jun 7, 2026
3e1a203
feat(gl): gl clone with promisor + sparse-exclude for private subtrees
beardthelion Jun 7, 2026
2fd4fe1
test(gl): gl clone repo-argument parsing
beardthelion Jun 7, 2026
af97249
fix(visibility): gate withheld-paths and handle nested/exact globs
beardthelion Jun 7, 2026
8f7060a
fix(gl): reject multi-slash repo input and stop failing open on withh…
beardthelion Jun 8, 2026
26e65f5
feat(node): replicable_objects filter for replication enforcement
beardthelion Jun 8, 2026
eb7c764
test(node): pin anonymous-caller contract of withheld_blob_oids
beardthelion Jun 8, 2026
c2c287e
feat(node): IPFS pinning skips withheld blob OIDs
beardthelion Jun 8, 2026
d305af7
feat(node): Pinata pinning skips withheld blob OIDs
beardthelion Jun 8, 2026
e670ca3
feat(node): enforce visibility on push replication (IPFS/Pinata/gossi…
beardthelion Jun 8, 2026
949d131
test(node): announce gate matches anonymous repo readability
beardthelion Jun 8, 2026
083293d
fix(node): run withheld_blob_oids off the async worker on push
beardthelion Jun 8, 2026
95a223e
test(gl): guard three-level nested visibility in sparse clone
beardthelion Jun 10, 2026
720f8ef
fix(gl): robust default-branch detection and strict withheld-paths sc…
beardthelion Jun 10, 2026
5390243
feat(node): classify mirror mode from origin withheld-paths
beardthelion Jun 10, 2026
469a1a4
feat(node): promisor-aware mirror clone for withheld repos
beardthelion Jun 10, 2026
97c82d5
feat(node): promisor-aware mirror fetch via origin remote
beardthelion Jun 10, 2026
1e8ae3c
feat(node): classify and mirror peers per withheld-paths
beardthelion Jun 10, 2026
f1e2207
style: cargo fmt
beardthelion Jun 10, 2026
25390bf
fix(node): bound sync withheld lookup and rehydrate on promisor->plain
beardthelion Jun 10, 2026
d562ccb
Merge remote-tracking branch 'fork/feat/peer-partial-mirrors' into fo…
beardthelion Jun 10, 2026
370abae
feat(core): ed25519 to x25519 key conversion for envelope crypto
beardthelion Jun 10, 2026
e6378f5
feat(core): seal/open per-blob encryption envelopes
beardthelion Jun 10, 2026
01b1e8d
feat(node): resolve per-blob encryption recipients (least-privilege)
beardthelion Jun 10, 2026
b126d6a
feat(node): encrypted_blobs table and recipient-scoped queries
beardthelion Jun 10, 2026
0f9aaa9
feat(node): encrypt-then-pin withheld blobs at push (IPFS)
beardthelion Jun 10, 2026
74b7a40
feat(node): authenticated discovery and fetch for encrypted blobs
beardthelion Jun 10, 2026
767f0df
feat(gl): transparent recovery of authorized encrypted blobs on clone
beardthelion Jun 10, 2026
87a3f36
style: cargo fmt
beardthelion Jun 10, 2026
2bf1da8
fix(node): re-seal encrypted blob when recipient set changes
beardthelion Jun 10, 2026
2dca067
feat(node): unscoped encrypted-blob listing for replication
beardthelion Jun 10, 2026
52b0fc6
feat(node): encrypted-blobs/replicate endpoint for peer mirrors
beardthelion Jun 10, 2026
1f6f9ca
feat(node): route encrypted-blobs/replicate under git_read_routes
beardthelion Jun 10, 2026
9caeffb
feat(node): peer mirrors replicate encrypted withheld blobs (Option B2)
beardthelion Jun 11, 2026
edff146
Merge Option B2: peer-carried encrypted replication into trunk
beardthelion Jun 11, 2026
c65ef9e
feat(node): anchor_encrypted_manifest for Option B3 Arweave manifests
beardthelion Jun 11, 2026
7ec7aba
feat(node): encrypt_and_pin returns the per-push sealed delta
beardthelion Jun 11, 2026
eb70bf6
feat(node): anchor encrypted-blob manifest on push (Option B3)
beardthelion Jun 11, 2026
8038c9d
feat(gl): Arweave/IPFS gateway recovery for encrypted blobs (Option B3)
beardthelion Jun 11, 2026
0631df7
feat(gl): transparent Arweave fallback recovery on clone (Option B3)
beardthelion Jun 11, 2026
3d11e4d
style: cargo fmt
beardthelion Jun 11, 2026
5d95271
fix(gl): bound Arweave recovery gateway requests with a 30s timeout
beardthelion Jun 11, 2026
d006e2d
Merge Option B3: Arweave manifest anchor into trunk
beardthelion Jun 11, 2026
2131b0c
test(gl): read-path recovery tests for Arweave fallback; quiet promis…
beardthelion Jun 11, 2026
a939a65
fix: surface corrupt recipients JSON and silent recovery I/O failures
beardthelion Jun 11, 2026
d88b117
feat(core): blind recipient identities in withheld-blob envelopes
beardthelion Jun 12, 2026
8c15cf5
fix(core): reject malformed envelope nonces instead of panicking
beardthelion Jun 12, 2026
e85fab0
feat(node): blind recipient identities on the B2 replication surface
beardthelion Jun 12, 2026
a7315d8
feat(node): stop anchoring recipient identities to Arweave
beardthelion Jun 12, 2026
e715c57
feat(node): blind recipient identities at rest and gate B1 by repo re…
beardthelion Jun 12, 2026
fd38c45
chore: remove redundant .gitignore entry (covered by local exclude)
beardthelion Jun 12, 2026
f5864fc
fix(node): gate /replicate by repo readability; harden reseal on DB e…
beardthelion Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 126 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions crates/gitlawb-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ chrono = { workspace = true }
uuid = { workspace = true }
zeroize = { version = "1", features = ["derive"] }
pkcs8 = { version = "0.10", features = ["pem", "std"] }
curve25519-dalek = "4"
crypto_box = { version = "0.9", features = ["std", "chacha20"] }
chacha20poly1305 = "0.10"

[dev-dependencies]
tokio = { workspace = true }
Loading
Loading