{"version":"2.1.227","anchor":"optional-key-value-storage-backend-threaded-through-backgrou","canonical_anchor":"optional-key-value-storage-backend-threaded-through-backgrou","heading":"Optional key\/value storage backend threaded through background sessions, plugins and the daemon","tier":"soon","area":"Storage Backend","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227\/e\/optional-key-value-storage-backend-threaded-through-backgrou","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227","markdown":"### Optional key\/value storage backend threaded through background sessions, plugins and the daemon\n\nBackground jobs, the daemon, plugin caches and plan docs can all route through the optional storage backend.\n\n**What**\n\nA large amount of state that was read and written directly as files can now go through an optional key\/value storage backend, with the file path kept as a fallback at every call site. Covered: background job `state.json` and `adopt.json`, the daemon `roster.json`, pty pid files, the host-managed tombstone, bridge pointer files, plugin cache and `.in-use` markers, plan and workshop docs, task lists, and daemon log tailing. Nothing in the source shows what attaches the backend, so whether it is used is decided elsewhere.\n\n**Details**\n\n- UI code reaches the backend through a new React context named `storageV5`; when it is undefined, every path falls back to plain filesystem access\n- new error text includes \"adopt.json v5 write failed\", \"bg roster.json v5 read failed\", \"host-managed tombstone v5 write failed\" and \"[bg] v5 jobs listing failed: cursor did not advance\"\n\n**Evidence**\n\n`[bg] v5 jobs listing failed: cursor did not advance`\n\n- Area: Storage Backend\n- Tier: Nothing to try yet\n- Useful: 1\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}