Problem
src/services/user-memory-learning.ts appears to have the same error-masking pattern fixed for auto-capture in #258: when the OpenCode structured-output path fails and no manual external-API fallback is configured, the provider root cause can be replaced by a generic configuration error.
The adjacent auto-capture log at src/services/auto-capture.ts:578 can also say that it is falling back to an external API when no fallback is configured.
Expected behavior
- Preserve and surface the original provider error when profile learning has no configured manual fallback.
- Keep the configured manual fallback path unchanged.
- Ensure fallback logging accurately reflects whether a fallback will run.
- Add focused regression coverage for the no-fallback and configured-fallback paths.
Context
Identified during the independent review of #258. Kept separate so that the already-reviewed auto-capture fix remains narrowly scoped.
Problem
src/services/user-memory-learning.tsappears to have the same error-masking pattern fixed for auto-capture in #258: when the OpenCode structured-output path fails and no manual external-API fallback is configured, the provider root cause can be replaced by a generic configuration error.The adjacent auto-capture log at
src/services/auto-capture.ts:578can also say that it is falling back to an external API when no fallback is configured.Expected behavior
Context
Identified during the independent review of #258. Kept separate so that the already-reviewed auto-capture fix remains narrowly scoped.