Reclassified per spikerj (2026-07-17): this is an isolated dev environment, so the hardcoded secrets carry no production exposure and the 24 SonarQube findings have been ACCEPTED (not false-positiv…
Resolved in spikersoft-angular PR #224 (offline store) + PR #225 (download service), both merged to master. BookOfflineStoreService (IndexedDB schema/CRUD, atomic deleteBook, sha256 staleness) +…
Resolved in spikersoft-angular PR #223 (merged to master). EpubPageCacheService (LRU + prefetch±5 + in-flight dedupe) wired into epub-reader.loadPage; ngsw api-books (dead /Book*) replaced…
Resolved in spikersoft-angular PR #222 (merged to master). The toolbar Community badge now fires a one-shot token so the sidebar jumps to the Community tab (index computed from file type), plus…
Partial progress (PR #357, merged): the CodeExecution appsettings.Example.json no longer carries live secrets — the real prod RabbitMQ password and the live Production Seq ApiKey it leaked are…
Resolved in spikersoft-backend PR #358 (merged to master). RedisClusterState's three derived node projections now materialize once into backing fields instead of re-filtering+re-allocating per…
Follow-up PR #354 also merged (4/4 green) — the two S1481 cascades from the parameter removals are resolved, with the UpdateDockingTimers side effect preserved and documented in-code. The backend…
Resolved in spikersoft-backend PR #353 (merged, 30/30 checks green). Full details in the ticket body; the smell-family triage's self-serviceable backlog is now fully drained. Closing.
Resolved in spikersoft-backend PR #352 (merged, 28/28 checks green): the 12 verified-dead private parameters plus the fully-dead members the S1144 pass confirmed (FindChainAnchor, the Lean…
Resolved in spikersoft-backend PR #351 (merged, 7/7 checks green). Region tuples are now the abstract-search queue element directly — the placeholder IntToRegion that collapsed every dequeued…