mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-10-19 17:23:18 +00:00
|
Some checks are pending
Development Build / build-regular (push) Blocked by required conditions
Development Build / extract-version (push) Waiting to run
Development Build / changes (push) Waiting to run
Development Build / build-single (push) Blocked by required conditions
Development Build / summary (push) Blocked by required conditions
Tests / Backend Typecheck (push) Waiting to run
Tests / Frontend Tests (push) Waiting to run
Tests / Frontend Lint (push) Waiting to run
Tests / Frontend Build (push) Waiting to run
Tests / Backend Tests (push) Waiting to run
Tests / Backend Lint (push) Waiting to run
* fix(worker): fail permanently when the source was deleted before processing Source.get() raises NotFoundError instead of returning None, so the 'if not source: raise ValueError' guard in process_source_command was unreachable. NotFoundError is not in the command's stop_on list, so the job was retried as transient (max_attempts=15, exponential_jitter, wait_max=120) and every job behind it starved until the worker process was restarted. Catch NotFoundError around that call and re-raise as ValueError, which is already this command's permanent-failure channel. Fixes #1363 * chore(worker): rebase on main, cover deleted transformations, changelog - Rebased onto main (import conflict with #1425). - A transformation deleted before the job runs hits the same NotFoundError path in process_source_command; it now fails permanently too (test added). - ruff format on the new test (CI gates formatting since #1429). - CHANGELOG entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * fix(domain): only a missing record is NotFoundError in ObjectModel.get ObjectModel.get wrapped every exception from repo_query, including the RuntimeError it re-raises for retriable SurrealDB transaction conflicts, as NotFoundError. With process_source now treating NotFoundError as permanent, a transient conflict would have failed the job for good. get() now lets NotFoundError / InvalidInputError through and raises DatabaseOperationError (chained) for anything else. The permanent-failure messages are static; the underlying error stays as the exception's cause for the worker log. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * fix(worker): run_transformation fails permanently on a deleted source too NotFoundError (now only raised for a genuinely missing record) joins run_transformation's stop_on and permanent-failure arm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * docs(changelog): rebase entry onto the consolidated Unreleased section Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * fix(worker): a source deleted mid-processing also fails permanently save_source re-reads the source after extraction; a deletion in that window raised NotFoundError from inside the graph, which process_source retried as transient. NotFoundError (now only a genuinely missing record) joins its stop_on and gets a permanent-failure arm. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * docs(adr): ADR-013 for the ObjectModel.get error contract Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * fix(embeddings): a record deleted before embedding is a permanent failure Completes the review on #1364: embed_* commands treat NotFoundError (now only a genuinely missing record) like their other permanent failures instead of retrying it; a DatabaseOperationError still retries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy * docs(embeddings): NotFoundError is a permanent failure too Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBYpxzSS62Y3TZkgB9NUZy --------- Co-authored-by: Luis Novo <lfnovo@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ai | ||
| database | ||
| domain | ||
| graphs | ||
| podcasts | ||
| utils | ||
| __init__.py | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| config.py | ||
| exceptions.py | ||