diff --git a/memory/2026-02-27-default-configuration-values-fix.md b/memory/2026-02-27-default-configuration-values-fix.md new file mode 100644 index 000000000..d24d2b1e6 --- /dev/null +++ b/memory/2026-02-27-default-configuration-values-fix.md @@ -0,0 +1,25 @@ +# 2026-02-27 Session Notes + +## Default Configuration Values Fix + +Nicholai submitted a detailed plan to fix Signet's disabled-by-default features. The core issue: pipeline, graph, reranker, and autonomous maintenance are all shipped disabled, leaving new users with a hollow product. Existing users who never explicitly configured these values get suboptimal performance because `loadPipelineConfig` uses `=== true` checks, hardcoding absent booleans to `false` regardless of the `DEFAULT_PIPELINE_V2` constant. + +## Plan Structure + +The fix involves four files and six discrete steps: + +**Step 1:** Update `DEFAULT_PIPELINE_V2` constant in `packages/daemon/src/memory-config.ts` to enable pipeline, graph, reranker, autonomous features, and change maintenance mode from `"observe"` to `"execute"`. + +**Step 2:** Fix boolean resolution in `loadPipelineConfig` (lines 159-268) to respect absent values. Current pattern `raw.enabled === true` will change to `typeof raw.enabled === "boolean" ? raw.enabled : d.enabled`. A `resolveBool()` helper will handle nested + flat fallback patterns for graph, reranker, and autonomous fields. + +**Step 3:** Add runtime auto-detection of extraction provider in daemon startup—check if `claude` CLI is available (fallback to `opencode`, then `ollama`). + +**Step 4:** Add auto-detection in CLI setup wizard to suggest appropriate provider based on PATH. + +**Step 5:** Write full nested `pipelineV2` config in setup wizard instead of minimal flat format. + +**Step 6:** Update `agent.yaml.template` with documented `pipelineV2` section showing all options. + +## Key Design Decision + +User-explicit values are preserved: if a user has `enabled: false` in their YAML, the `typeof` check catches it and respects their choice. Only truly absent keys get new defaults. This maintains backward compatibility. \ No newline at end of file diff --git a/memory/memories.db-wal b/memory/memories.db-wal index e0ff5e1d9..6c831cb2e 100644 Binary files a/memory/memories.db-wal and b/memory/memories.db-wal differ