What happened
skill.catalog.invocable.query reports a generic internal_failure when its target Session is archived. The failure originates from the live agent-graph tool-surface lookup, but the Skill catalog coordinator erases the typed Session lifecycle refusal.
The Runtime Host should return session_archived for this case. Desktop should treat that expected archive race as an empty invocable Skill surface while preserving every other failure.
This is a Runtime Host contract and IPC resilience follow-up to #4430. It complements the renderer-side query gating in #4431, especially for external archives, multiple windows, and requests already in flight.
How to reproduce
- Run Maka Desktop from source.
- Open a Session, then archive it while the renderer still has it selected or otherwise query its invocable Skills after archival.
- Observe the main-process log:
Error occurred in handler for 'skills:listInvocable': RuntimeHostOperationError: Skill catalog operation failed
operation: 'skill.catalog.invocable.query'
code: 'internal_failure'
A deterministic host-level reproduction is to create and archive a Session through the production composition, then invoke skill.catalog.invocable.query for that Session.
Environment
- Maka commit: f091198
- OS and version: macOS 15.7.3 (24G419)
- Surface: Desktop / Runtime Host
- Node.js version: v24.14.0
Logs, screenshots, or additional context
The production path reads the archived Session header, then asks the agent-graph coordinator for a live tool surface. That coordinator rejects the archived Session with session_archived, but the Skill catalog coordinator currently maps the typed failure to internal_failure.
Automated report prepared by OpenAI Codex under the contributor's direction.
What happened
skill.catalog.invocable.queryreports a genericinternal_failurewhen its target Session is archived. The failure originates from the live agent-graph tool-surface lookup, but the Skill catalog coordinator erases the typed Session lifecycle refusal.The Runtime Host should return
session_archivedfor this case. Desktop should treat that expected archive race as an empty invocable Skill surface while preserving every other failure.This is a Runtime Host contract and IPC resilience follow-up to #4430. It complements the renderer-side query gating in #4431, especially for external archives, multiple windows, and requests already in flight.
How to reproduce
A deterministic host-level reproduction is to create and archive a Session through the production composition, then invoke
skill.catalog.invocable.queryfor that Session.Environment
Logs, screenshots, or additional context
The production path reads the archived Session header, then asks the agent-graph coordinator for a live tool surface. That coordinator rejects the archived Session with
session_archived, but the Skill catalog coordinator currently maps the typed failure tointernal_failure.Automated report prepared by OpenAI Codex under the contributor's direction.