slhx agent
276f40ee59
refactor(saas): make navigation and status idiomatic
...
Use a real enhanceable Settings URL, remove response-simulated navigation, and replace the one-shot public SSE endpoint with an initial canonical event plus ongoing server-owned updates. Keep a bounded one-event probe for production-reference tests.
req: examples/014
req: nav/001
req: nav/002
req: nav/004
req: push/003
2026-07-22 18:18:48 +02:00
slhx agent
e7ca6d2350
test(wasm): close mutation package gate
...
Run browser-backed mutest sequentially without a parent jobserver, disable Firefox background work, batch replay projections while preserving ordered application, and elect a 250 ms budget for the durable 64-command browser fixture. All four hemx-wasm shards pass with 59 mutants and no survivors, closing the mutation matrix.
req: test/004
req: test/020
req: test/021
req: performance/005
req: performance/007
req: v1_release/006
2026-07-17 17:11:19 +02:00
slhx agent
a04773d016
fix(deps): replace retired transitive crates
2026-07-14 09:44:19 +02:00
slhx agent
025d9c1563
fix(release): restore canonical local gate
...
req: public_api/001
req: v1_release/007
2026-07-14 01:24:31 +02:00
slhx agent
6f58453aae
feat(saas): enforce strict response policy
...
req: security/006
req: operations/006
req: operations/008
2026-07-14 00:59:06 +02:00
slhx agent
4fc5e53adf
feat(saas): correlate mutation diagnostics
...
req: operations/001
req: operations/003
req: security/008
2026-07-14 00:53:04 +02:00
slhx agent
4e0d9ebaff
feat(saas): expose redacted operational signals
...
req: operations/003
req: operations/005
req: operations/007
req: security/008
req: v1_release/003
2026-07-14 00:48:55 +02:00
slhx agent
ef8e38adf8
feat(saas): prove durable authenticated mutation
...
req: auth/001
req: auth/002
req: auth/004
req: security/004
req: v1_release/003
2026-07-14 00:40:46 +02:00
slhx agent
c793de8224
refactor(kanban): isolate legacy sync fixture
...
req: v1_release/002
2026-07-14 00:27:38 +02:00
slhx agent
3bad745da9
feat(sync): replay durable projections from Rust
...
req: ms/001
req: ms/002
req: ms/003
2026-07-14 00:17:20 +02:00
slhx agent
2a74a28d3b
test(kanban): prove multiplayer milestone journey
...
req: ms/001
req: ms/002
req: ms/003
2026-07-13 23:51:51 +02:00
slhx agent
5a82956c08
feat(sync): add typed acknowledgement effect
...
req: sync/006
2026-07-13 23:15:57 +02:00
slhx agent
88598f181f
feat(sync): add typed presence projection
...
req: sync/001
req: sync/005
2026-07-13 23:03:46 +02:00
slhx agent
87296632bc
feat(sync): add typed broadcast primitive
...
req: sync/004
2026-07-13 22:54:12 +02:00
slhx agent
98b00920b9
test(sync): audit browser recovery paths
2026-07-13 22:46:03 +02:00
slhx agent
d2ae025e13
fix(operations): bound handler lifetimes
...
req: operations/003
2026-07-13 22:06:12 +02:00
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
34728b9a35
feat(sync): add typed flat patch boundary
...
req: sync/002
req: sync/003
2026-07-13 21:02:43 +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
1ec8a1368d
feat(kanban): authorize canonical sync reads
...
req: sync/007
req: auth/005
req: security/004
2026-07-13 19:22:13 +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
e4688bb6df
test(kanban): prove divergent rebase conflict
...
req: sync/011
2026-07-13 17:04:10 +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
0a7c380187
feat(kanban): persist canonical acknowledgements
...
req: sync/001\nreq: sync/005\nreq: sync/007\nreq: sync/008\nreq: sync/013
2026-07-13 16:41:18 +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
687c64d078
feat(kanban): acknowledge idempotent server command
...
req: sync/001\nreq: sync/005\nreq: sync/006\nreq: sync/007\nreq: sync/008\nreq: sync/012\nreq: sync/013
2026-07-13 16:02:19 +02:00
slhx agent
1d194e0f23
test(kanban): prove server-first asset isolation
...
req: performance/006
2026-07-13 15:50:35 +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
slhx agent
7eb65d77c8
feat(kanban): prove accessible local reorder
...
req: client_local/013\nreq: accessibility/002\nreq: accessibility/003\nreq: accessibility/004\nreq: accessibility/006\nreq: milestone/001
2026-07-13 14:29:21 +02:00
slhx agent
dd5ea0827f
feat(wasm): suppress stale client completions
...
req: client_local/011\nreq: client_local/012\nreq: operations/003
2026-07-13 13:21:48 +02:00
slhx agent
ac525fe572
feat(build): generate client handler bootstrap
...
req: client_local/001\nreq: client_local/004\nreq: client_local/006\nreq: client_local/007\nreq: client_local/008\nreq: client_local/009\nreq: client_local/010\nreq: client_local/014\nreq: security/002\nreq: security/006\nreq: v1_release/001\nreq: v1_release/008
2026-07-13 13:02:29 +02:00