Commit graph

1,371 commits

Author SHA1 Message Date
trvon
8c1ea34b33
fix(graph): scope health checks to graph data
Signed-off-by: trvon <git@trevon.dev>
2026-08-23 19:36:28 -06:00
trvon
449405aa53
chore(topology): remove parked join knob
Signed-off-by: trvon <git@trevon.dev>
2026-08-23 14:24:38 -06:00
trvon
910a1d7f9c
test(daemon): harden background wait, slow-lane hysteresis 2026-08-21 08:55:23 -06:00
trvon
f8cb981e5d
fix(daemon): keep p2p status off sync lock 2026-08-21 05:23:07 -06:00
trvon
e2f5f55974
test(daemon): fix pool teardown race and scale hysteresis 2026-08-21 05:14:10 -06:00
trvon
3453db21fe
fix(daemon): complete pool futures on cancellation 2026-08-21 02:05:57 -06:00
trvon
734bbe3a0c
test(extraction): poll for launcher response lines 2026-08-20 23:25:33 -06:00
trvon
9c413d204b
fix(cli): discover live daemon socket for p2p 2026-08-20 22:37:02 -06:00
trvon
85cd84e16c
fix(memory-sync): log quarantine from daemon, not header 2026-08-20 22:18:19 -06:00
trvon
b892dddc49
fix(memory-sync): include spdlog in public header 2026-08-20 22:08:21 -06:00
trvon
d192a72644
feat(cli): install daemon as systemd service 2026-08-20 21:58:33 -06:00
trvon
ce0ae4032f
chore(storage): annotate reviewed env reads 2026-08-20 21:16:11 -06:00
trvon
ca3eb78835
fix(cli): render disabled vectors and quiet data-dir alarm 2026-08-20 21:15:18 -06:00
trvon
eea06a55d6
feat(memory-sync): log quarantine reasons and config summary 2026-08-20 21:08:58 -06:00
trvon
788140eeee
fix(cli): discover daemon log via status 2026-08-20 21:00:49 -06:00
trvon
6372763f6e
fix(storage): sign S3 wire path verbatim 2026-08-20 19:52:20 -06:00
trvon
44939e5828
fix(daemon): bypass strand close during global teardown 2026-08-20 19:51:56 -06:00
trvon
2c350218e7
test(memory-sync): scale convergence waits 2026-08-20 07:25:01 -06:00
trvon
ee41571aef
fix(daemon): preserve stamp claim ownership 2026-08-20 07:24:45 -06:00
trvon
8a097a93c5
fix(daemon): serialize socket accept shutdown 2026-08-19 17:26:49 -06:00
trvon
7a69883230
test(ci): isolate ARM smoke lifecycles 2026-08-19 14:34:04 -06:00
trvon
da905290e9
ci(github): bound apt mirror retries 2026-08-19 11:45:51 -06:00
trvon
24b51cd7ec
style(ci): format artifact collector 2026-08-19 08:43:34 -06:00
trvon
d152b5697d
chore(tooling): mark dependency-managed includes 2026-08-19 08:43:17 -06:00
trvon
45c692a370
test(daemon): synchronize repair hysteresis setup 2026-08-19 08:43:02 -06:00
trvon
aa8eaf8c27
fix(config): track empty Windows values 2026-08-19 08:42:46 -06:00
trvon
a83897eeb9
test(ci): normalize Windows expectations 2026-08-19 05:25:52 -06:00
trvon
d9f914267a
fix(memory-sync): escape acknowledgement keys 2026-08-19 05:25:31 -06:00
trvon
dd435efe0b
fix(config): preserve empty Windows values 2026-08-19 05:25:07 -06:00
trvon
9892563b36
ci(sourcehut): stream runtime artifact 2026-08-19 01:55:24 -06:00
trvon
0e3378113e
test(ci): fix remaining platform builds 2026-08-19 01:54:59 -06:00
trvon
a34f49f39e
test(ci): stabilize platform matrix 2026-08-18 21:07:59 -06:00
trvon
c30793d1d9
test(portability): reject analyzer shims 2026-08-17 21:43:12 -06:00
trvon
c56cae7961
fix(metadata): normalize extraction status 2026-08-17 21:43:12 -06:00
trvon
5a24effbae
fix(daemon): harden async shutdown 2026-08-17 21:43:12 -06:00
trvon
6f93435d04
docs(p2p): define local validation contract 2026-08-17 21:43:11 -06:00
trvon
b152429229
fix(vector): bind rebuild readiness to epochs 2026-08-17 21:43:11 -06:00
trvon
9b1091757b
feat(p2p): expose sync protocol status 2026-08-17 21:43:11 -06:00
trvon
780c602d50
feat(daemon): wire bounded sync lifecycle 2026-08-17 21:43:11 -06:00
trvon
9fdf75eb60
feat(memory-sync): add vector adapter 2026-08-17 21:43:11 -06:00
trvon
e3ce4496f5
feat(memory-sync): add metadata adapters 2026-08-17 21:43:11 -06:00
trvon
86fe2ff6c9
feat(memory-sync): manage session lifecycle 2026-08-17 21:43:10 -06:00
trvon
ccbc7e768e
fix(memory-sync): bound reconciliation 2026-08-17 20:05:07 -06:00
trvon
4340a24bee
feat(memory-sync): authenticate records 2026-08-17 20:03:52 -06:00
trvon
2261019ee9
feat(storage): add sync backend primitives 2026-08-17 20:03:34 -06:00
trvon
0ed43a1a3f
test(daemon): make lock-holder test fork-safe
The child forked by 'Daemon does not terminate unverified data-dir lock
holder' built an fs::path and called json::dump(), both of which allocate;
a fork in a multithreaded process can leave the malloc lock held, so the
child could fail before signaling readiness. Pre-compute the lock path in
the parent, format the payload with snprintf into a stack buffer, signal a
failure byte on open/flock error, and retry the parent's read on EINTR.
Portability allowlist line numbers updated for the shift.
2026-08-14 12:06:06 -06:00
trvon
5b251a0337
fix(memory-sync): parse s3 URL via storage resolver
Route the s3 backend through StorageBackendFactory::parseURL so scheme
detection, authority credentials, and query params flow through the same
path as the daemon's storage resolver, and reject a backend=s3 config
whose path is not an s3:// URL.
2026-08-13 12:20:03 -06:00
trvon
f5ff83da20
fix(memory-sync): serialize loop access + resume causal history
Add a mutex around all MemorySyncLoop access so the periodic sync worker
does not race publish/read/syncOnce on the loop's mutable version-vector
and logical-clock state. Reconcile before publish so a fresh loop instance
(e.g. a stateless CLI) resumes its node's causal history. Reject a zero
sync interval.
2026-08-13 12:20:03 -06:00
trvon
7fffac1cc3
test(p2p): add container convergence harness
docker-compose with two saged daemons + MinIO (R2 stand-in) + shared
volume, a multi-stage saged.Dockerfile, and a validation script driving
filesystem<->filesystem convergence and causal-ordering determinism
(scenarios 1 + 3).
2026-08-13 12:20:03 -06:00
trvon
ed8778163e
feat(cli): add yams p2p publish/read/status
Thin p2p command over the memory-sync service: publish <key> <value|@file>,
read <key>, and status (merged index summary + backend identity). Binary
values are hex-encoded in JSON output; config resolves from [memory_sync]
with --backend/--path/--node-id overrides.
2026-08-13 12:20:02 -06:00