• Joined on 2026-03-27
mathias created branch fix/brainwide-root-157 in mathias/hyperguild 2026-10-03 16:16:45 +00:00
mathias commented on issue mathias/hyperguild#157 2026-10-03 16:15:38 +00:00
SECURITY: symlinks anywhere in the Syncthing-shared brain dir are followed by search, vectorstore, context and graph readers

Decision (Mathias, 2026-10-03): both, auto-remove first.

  1. Now: the runtime tripwire unlinks any symlink it finds (the link only, never the target), scans every 30s by default instead of…
mathias pushed tag v0.20.1 to mathias/hyperguild 2026-10-03 15:32:37 +00:00
mathias closed issue mathias/hyperguild#153 2026-10-03 15:32:34 +00:00
brain/raw/ readers follow symlinks (pending, promote); raw/ is writable via Syncthing
mathias commented on issue mathias/hyperguild#153 2026-10-03 15:32:34 +00:00
brain/raw/ readers follow symlinks (pending, promote); raw/ is writable via Syncthing

Shipped and verified live. PR #156 squash-merged as 687afa0 after 5 adversarial review rounds (Mathias pre-approved merging on PASS). CD rolled out ingestion:687afa0; /pending with the…

mathias pushed to main at mathias/hyperguild 2026-10-03 15:30:51 +00:00
687afa0145 fix(ingestion): brain/raw/ readers go through an os.Root; symlinks are inert (#153) (#156)
mathias merged pull request mathias/hyperguild#156 2026-10-03 15:30:49 +00:00
fix(ingestion): brain/raw/ readers go through an os.Root; symlinks are inert (#153)
mathias commented on issue mathias/hyperguild#153 2026-10-03 15:30:30 +00:00
brain/raw/ readers follow symlinks (pending, promote); raw/ is writable via Syncthing

Gatekeeper round 5 on PR #156 (head 8e88dde): PASS. Evidence is on the PR.

Every flip in the table goes red (the race tests caught 10/10 or 5/5 of the flips). No flakiness under -count=20,…

mathias commented on pull request mathias/hyperguild#156 2026-10-03 15:30:29 +00:00
fix(ingestion): brain/raw/ readers go through an os.Root; symlinks are inert (#153)

Gatekeeper verdict, round 5: PASS (head 8e88dde)

Production code is identical to 87c80e4 (git diff 87c80e4..8e88dde, excluding tests, is empty). All round-1 probes were last run against…

mathias pushed tag v0.20.0 to mathias/hyperguild 2026-10-03 15:26:20 +00:00
mathias commented on issue mathias/hyperguild#157 2026-10-03 15:26:17 +00:00
SECURITY: symlinks anywhere in the Syncthing-shared brain dir are followed by search, vectorstore, context and graph readers

Tripwire half (option 2) shipped and verified live. PR #159 squash-merged as cad389f after 3 adversarial review rounds; Mathias approved the merge. CD rolled out ingestion:cad389f, the pod…

mathias pushed to fix/raw-symlinks-153 at mathias/hyperguild 2026-10-03 15:24:10 +00:00
8e88dded4b test(api): race the pdf/docmark temp-copy path too
mathias pushed to main at mathias/hyperguild 2026-10-03 15:23:07 +00:00
cad389f62f feat(ingestion): symlink tripwire for the Syncthing-shared brain dir (#157) (#159)
mathias merged pull request mathias/hyperguild#159 2026-10-03 15:23:06 +00:00
feat(ingestion): symlink tripwire for the Syncthing-shared brain dir (#157)
mathias commented on issue mathias/hyperguild#153 2026-10-03 15:20:27 +00:00
brain/raw/ readers follow symlinks (pending, promote); raw/ is writable via Syncthing

Gatekeeper round 4 on PR #156 (head d5b2be0): BLOCK, one item left. Details are on the PR.

The race tests caught 10/10 of my flips, still caught them under CPU starvation, and showed no…

mathias commented on pull request mathias/hyperguild#156 2026-10-03 15:20:26 +00:00
fix(ingestion): brain/raw/ readers go through an os.Root; symlinks are inert (#153)

Gatekeeper verdict, round 4: BLOCK (head d5b2be0). One item left.

Verified by running it

  • The race tests detect reliably. Each flip was run 10 times; every run went red: -…
mathias commented on issue mathias/hyperguild#157 2026-10-03 15:16:53 +00:00
SECURITY: symlinks anywhere in the Syncthing-shared brain dir are followed by search, vectorstore, context and graph readers

pr-gatekeeper verdict, round 3: PASS (PR #159 @ cda18e6). Not merged.

This is a verdict only. The PR is risk/high, so the merge is Mathias's call (CD deploys on merge).

Blocking…

mathias commented on pull request mathias/hyperguild#159 2026-10-03 15:16:53 +00:00
feat(ingestion): symlink tripwire for the Syncthing-shared brain dir (#157)

pr-gatekeeper verdict, round 3: PASS (PR #159 @ cda18e6). Not merged.

This is a verdict only. The PR is risk/high, so the merge is Mathias's call (CD deploys on merge).

Blocking…

mathias commented on issue mathias/hyperguild#154 2026-10-03 15:15:00 +00:00
Test that /mcp authenticates through the production router; close the re-wrap gap in main.go

Same class, added from the PR #159 review: the symlink tripwire's wiring in ingestion/cmd/server/main.go (startupSymlinkCheck(brainDir) before any reader starts, and `go symlinkguard.Watch(...)…

mathias pushed to feat/symlink-tripwire-157 at mathias/hyperguild 2026-10-03 15:14:47 +00:00
cda18e6db8 fix(ingestion): an unlistable brain root is a scan error, not clean