Skip to content

fix(agent): rewrite present schema for Muse Spark - #1305

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-9812-muse-spark-opencode-go-rejects-recursive-present-tool-schema
Oct 3, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-9812-muse-spark-opencode-go-rejects-recursive-present-tool-schema

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Muse Spark sessions (OpenCode Go / Zen) advertise the same non-recursive present wire schema as Kimi, without changing runtime validation.
  • Live /model switching rebuilds tool definitions from the canonical registry: Muse Spark gets the acyclic shape and switching away restores provider-appropriate schemas.

Verification

  • Full integrated bun run check passes: 8,205 tests, zero failures.
  • Independent code review finds no actionable defects.
  • Merge-commit CI passes at 26406dee5d0ad37e93b99cf0e59f0dea2260a988.
  • No live Muse Spark API smoke runs; parent inference and parked-question acceptance remain unverified in CL-9812.

Refs CL-9812

Muse Spark's Responses API rejects recursive $ref cycles on tool
parameters, so the parent session dies before inference and parked
ask_director questions never get answered. The acyclic present
rewrite already existed for Kimi; apply it for muse-spark too.
@linear-code

linear-code Bot commented Oct 3, 2026

Copy link
Copy Markdown

CL-9812

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review · Approve

Muse Spark (OpenCode Go / Zen) advertises the same acyclic present schema Kimi already uses; switching away restores the canonical recursive $ref.

Findings

No findings.

isMuseSparkLeafProvider is /^muse-spark/i on the model id, which matches the Go/Zen catalog ids in the new table and leaves opencode-go + gpt-5.1 on the identity path. refreshAdvertisedSchemas still re-normalizes from canonical defs, so a live /model switch onto Muse Spark rewrites and switching away restores. Checked bun test ./src/agent/tool-schema-normalize.test.ts ./src/session/live-model-switch.test.ts (17 pass).

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent code review finds no actionable defects across all five changed files. Muse Spark reuses the acyclic present schema, model switching rebuilds from canonical definitions, and other providers retain their existing schemas. Full bun run check passes against current main: 8,205 tests, zero failures. No live Muse Spark API inference runs in this review; provider smoke acceptance remains unverified. Shared normalizer changes must be composed when the worker-schema PR lands.

@TheGreatAxios
TheGreatAxios merged commit 26406de into main Oct 3, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant