Skip to content

Add the muse Harness (Muse Code) #438

Closed

Description

@JacobStephens2

Parent

#432

What to build

harness muse runs a Command's sessions on Muse Code (Muse Spark 1.3), wherever the other Harnesses can be chosen, including [harness.muse] and Setup. Muse is the first Harness that doesn't load the skill named on the prompt's first line, and the first whose final message must be read after the session exits. So it also brings in two shared pieces:

  • skill-tool loading: the prompt tells the model to load the skill with its tool, and thirdshift warns if the stream shows it never did;
  • the read after exit.

Facts: the harness candidates research note, §3. Flags and environment: ADR 0013.

Acceptance criteria

  • Each session runs muse exec --json --yolo, with stdin null and MUSE_NO_AUTO_UPDATE=1. The same applies to every Resume and to the check.
  • The Factory skills are linked into .agents/skills/. The prompt's first line tells the model to load thirdshift-<skill> with its skill tool.
  • When the stream shows no read_skill load of that skill, thirdshift writes a warning to the progress lines and the Command log. The session neither fails nor is retried.
  • Before any work, the Model is checked against Muse's cached model catalog when it exists, and with a minimal test call when it doesn't. An invalid Effort fails before any call.
  • Setup proposes muse-spark-1.3 as the Model. The docs say that Muse's own default is the -contributor Model, which allows content to be used for product improvement.
  • Once the session exits, the final message is the last reply, and the usage comes from Muse's own session log for that session id. When that log is missing or unreadable, the final message falls back to the stream and no usage is shown. An Architecture review on Muse sees only the last reply, never the replies run together.
  • The session id comes from stream.id. Failure comes from run.terminal.failed or a non-zero exit, with Muse's error.
  • A Resume runs --session-id <id>.
  • A fake muse in the test harness writes a session log. A sessions scenario test covers the above, including the fallback when the log is missing and the warning when the skill isn't loaded.
  • The docs list Muse.

Blocked by

Activity

  1. JacobStephens2 commented on Oct 6, 2026

    @JacobStephens2
    OwnerAuthor

    Closed by #444, merged into issue-432 by a thirdshift Merge run.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions