Skip to content

fix(runtime-host): classify archived Skill catalog queries #5148

Description

@liuxiaocs7

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

  1. Run Maka Desktop from source.
  2. Open a Session, then archive it while the renderer still has it selected or otherwise query its invocable Skills after archival.
  3. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions