derive-apply-isolates-per-proposal-errors
IN premise
`apply_proposals` wraps each `api.add_node()` call in try/except and accumulates `(proposal, error_string)` tuples, so one malformed proposal does not abort the batch.
Summary
Each proposal in a batch is applied independently with its own error handling, so if one proposal fails it gets recorded as an error but the rest of the batch continues processing normally. This means a single bad suggestion from the LLM won't prevent valid discoveries from being saved.
Dependents
These beliefs depend on this one:
- batch-fault-isolation-is-universal-across-llm-operations — Both LLM-facing batch operations — derive proposal application (try/except per proposal with error accumulation) and belief review (silent skip on per-batch LLM failure) — isolate faults at the individual item level, preventing any single bad item from aborting the entire batch.
- derive-apply-is-isolated-and-caller-validated — The derive apply stage achieves defense-in-depth: callers must run validation before apply (trust boundary), and even if invalid proposals reach apply, each proposal is wrapped in independent error handling so one failure cannot corrupt the batch.
Details
| Source | entries/2026/04/29/reasons_lib-derive.md |