FN-7998: add executor alternate model escalation
Add opt-in executor escalation after same-model tool-failure retries are exhausted.
- Persist escalation settings and one-shot task state across SQLite and PostgreSQL stores.
- Retry once on a configured alternate model or scheduler node and audit escalation outcomes.
- Expose escalation controls, documentation, translations, migration, and regression coverage.
Files changed:
.changeset/fn-7998-executor-escalation.md | 7 ++
AGENTS.md | 1 +
docs/settings-reference.md | 13 ++-
.../core/src/__tests__/settings-defaults.test.ts | 23 ++++-
packages/core/src/in-review-stall.ts | 29 ++++++
packages/core/src/index.gate.ts | 3 +-
packages/core/src/index.ts | 3 +-
packages/core/src/manual-retry-reset.ts | 1 +
.../0014_executor_escalation_attempt.sql | 2 +
packages/core/src/postgres/schema-applier.ts | 17 ++++
packages/core/src/postgres/schema/project.ts | 1 +
packages/core/src/settings-schema.ts | 4 +
packages/core/src/store.ts | 2 +-
packages/core/src/task-store/persistence.ts | 2 +
packages/core/src/task-store/remaining-ops-2.ts | 2 +-
packages/core/src/task-store/remaining-ops-3.ts | 2 +-
packages/core/src/task-store/remaining-ops-6.ts | 2 +-
packages/core/src/task-store/serialization.ts | 1 +
packages/core/src/task-store/task-update.ts | 2 +
packages/core/src/types.ts | 13 +++
.../dashboard/app/components/SettingsModal.tsx | 12 +++
.../app/components/settings/section-keys.ts | 4 +
.../settings/sections/SchedulingSection.search.ts | 36 +++++++
.../settings/sections/SchedulingSection.tsx | 6 ++
.../settings-default-descriptions.test.tsx | 4 +
.../__tests__/executor-tool-failure-retry.test.ts | 91 +++++++++++++++++-
packages/engine/src/executor.ts | 104 +++++++++++++++++++--
packages/i18n/locales/en/app.json | 8 ++
28 files changed, 376 insertions(+), 19 deletions(-)
Fusion-Task-Id: FN-7998
Fusion-Task-Lineage: bbce767d-c61a-4667-be62-abc0cc54d8be
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>