slhx agent
|
2bc68c5777
|
fix(sync): bound acknowledgement stream
req: operations/004
|
2026-07-13 21:48:00 +02:00 |
|
slhx agent
|
3ac9549cc3
|
fix(security): bound untrusted wire decoding
req: security/005
|
2026-07-13 21:31:34 +02:00 |
|
slhx agent
|
2a8aa4c07f
|
fix(sync): bound request lifetime
req: operations/003
|
2026-07-13 21:16:07 +02:00 |
|
slhx agent
|
6d502d8ff5
|
test(sync): prove deterministic reconciliation
req: sync/022
|
2026-07-13 21:08:51 +02:00 |
|
slhx agent
|
f1dc6edb7a
|
feat(kanban): expose redacted sync diagnostics
req: operations/001
req: security/002
req: sync/016
|
2026-07-13 20:07:21 +02:00 |
|
slhx agent
|
fbc0c9db30
|
feat(kanban): retry explicit keep-local choice
req: sync/009
req: sync/010
req: sync/011
req: sync/016
|
2026-07-13 19:47:39 +02:00 |
|
slhx agent
|
54301c6aa5
|
feat(kanban): resolve divergent queue head
req: sync/010
req: sync/011
|
2026-07-13 19:31:40 +02:00 |
|
slhx agent
|
3ef84e7331
|
feat(kanban): partition local queues by account
req: sync/020
req: auth/005
req: security/004
req: operations/002
|
2026-07-13 19:00:04 +02:00 |
|
slhx agent
|
6de4dcb73b
|
feat(kanban): reauthorize queued replay
req: sync/019
req: security/004
req: auth/005
req: operations/002
|
2026-07-13 18:18:52 +02:00 |
|
slhx agent
|
a17de85b4f
|
feat(kanban): migrate queued commands transactionally
req: sync/014
|
2026-07-13 18:06:47 +02:00 |
|
slhx agent
|
3ace17f9f1
|
feat(kanban): stop mixed queue on rejection
req: sync/009
req: sync/010
|
2026-07-13 17:53:53 +02:00 |
|
slhx agent
|
80f1ae155e
|
feat(kanban): bound sync upload runs
req: sync/017
|
2026-07-13 17:48:47 +02:00 |
|
slhx agent
|
0d475e81c8
|
feat(kanban): coordinate uploader tabs
req: sync/018
|
2026-07-13 17:40:16 +02:00 |
|
slhx agent
|
d6aaca8127
|
feat(kanban): deterministically rebase snapshot
req: sync/011
|
2026-07-13 16:58:51 +02:00 |
|
slhx agent
|
db57b0c474
|
feat(kanban): recover from missing sync history
req: sync/007\nreq: sync/020
|
2026-07-13 16:53:49 +02:00 |
|
slhx agent
|
5ea747d968
|
feat(kanban): recover after retry exhaustion
req: sync/004\nreq: sync/010\nreq: sync/011\nreq: sync/014\nreq: sync/016
|
2026-07-13 16:47:52 +02:00 |
|
slhx agent
|
599d1b838d
|
feat(kanban): upload pending command with retry
req: sync/004\nreq: sync/009\nreq: sync/010\nreq: sync/016\nreq: sync/017
|
2026-07-13 16:32:44 +02:00 |
|
slhx agent
|
978bf67a2c
|
feat(kanban): expose queued persistence state
req: accessibility/004\nreq: client_local/013\nreq: performance/003
|
2026-07-13 15:40:34 +02:00 |
|
slhx agent
|
9b80444484
|
fix(kanban): recover from quota exhaustion
req: sync/015
|
2026-07-13 15:31:07 +02:00 |
|
slhx agent
|
bf10d1e3ce
|
feat(kanban): bound durable replay
req: sync/014\nreq: performance/005
|
2026-07-13 15:20:00 +02:00 |
|
slhx agent
|
54b706b706
|
fix(kanban): recover malformed commands
req: sync/015
|
2026-07-13 15:15:40 +02:00 |
|
slhx agent
|
47715e3ba3
|
fix(kanban): fail closed on persistence errors
req: sync/015
|
2026-07-13 15:11:08 +02:00 |
|
slhx agent
|
d946975f2d
|
feat(kanban): add local recovery controls
req: local/003\nreq: security/007
|
2026-07-13 14:59:05 +02:00 |
|
slhx agent
|
9a3c0335eb
|
feat(kanban): restore commands offline
req: local/001\nreq: local/002\nreq: local/003\nreq: local/004
|
2026-07-13 14:52:51 +02:00 |
|
slhx agent
|
7298405e27
|
feat(kanban): persist local reorder commands
req: local/001\nreq: local/002\nreq: local/003\nreq: local/004\nreq: sync/009
|
2026-07-13 14:45:22 +02:00 |
|