{
  "description": "Native MSP admission and expansion proof against the echo provider; no model account or network credentials supplied.",
  "nativeVersion": "Muse Code 1.4.13 (1.4.13-R6996.1)",
  "sdkVersion": "1.4.6 (repository installed SDK)",
  "isolation": {
    "home": "/tmp/20774-native-proof/home",
    "workspace": "/tmp/20774-native-proof/workspace",
    "provider": "echo",
    "credentialEnvironment": "allowlist only; no model credentials"
  },
  "steps": [
    {
      "operation": "initialize",
      "schema": {
        "fingerprint": "sha256:7fddaf646dbc317e5fcac0785e135eb04df14fbb0db1863089dfd6da21730e5b",
        "version": 1
      },
      "grantedCapabilities": [],
      "fingerprintWarning": {
        "kind": "schemaFingerprintMismatch",
        "pinned": "sha256:eae467ab60cb9a5d5af4de616830f065e59375c987fd59269c8cc33ed2a1137f",
        "served": "sha256:7fddaf646dbc317e5fcac0785e135eb04df14fbb0db1863089dfd6da21730e5b",
        "message": "host schema fingerprint sha256:7fddaf646dbc317e5fcac0785e135eb04df14fbb0db1863089dfd6da21730e5b differs from the fingerprint this SDK pins (sha256:eae467ab60cb9a5d5af4de616830f065e59375c987fd59269c8cc33ed2a1137f); proceeding under additive-optional evolution (SS1.5.4). Re-pin after a schema advance."
      }
    },
    {
      "operation": "session/start",
      "sessionId": "01a1791a-4add-7000-bde9-56c785c285a9",
      "providerId": "echo",
      "status": "idle"
    },
    {
      "operation": "skill/list",
      "skill": {
        "description": "Harmless isolated skill for native protocol verification.",
        "displayName": "pr20774-proof",
        "selector": "pr20774-proof",
        "source": "project"
      }
    },
    {
      "operation": "turn/start one skill",
      "input": [
        {
          "type": "skill",
          "selector": "pr20774-proof",
          "arguments": "<runtime_info>In case you're asked: you are running in T3 Code through the Muse Code harness, as echo. No need to mention this otherwise. You can embed images, video, and audio in your response using Markdown image syntax with absolute file paths. Link any other file you produce using its absolute path so the user can open it in T3 Code's files viewer.</runtime_info>\n\n<pull_request_linking>\nLink each PR you create, take over, or push to: one link_pull_request per PR, full URL, every stack layer, as your next call. Host tools do not link for you. If linking fails, say so. Skip PRs you only read or review, and PRs named only as background. Call watch_pull_request when asked to monitor or babysit, or when work you were asked to do, such as a merge, still waits on checks or reviews, even after an earlier unwatch. Finish any needed branch update and push first, then watch and end your turn. Otherwise act now or hand back. Delegated children never watch, even if the brief says babysit. After PR work, a child's last line is: PR <full URL>, head <SHA>, checks and reviews <state>. Links and watches persist across pushes. Never wait with sleep, loops, gh --watch, Monitor, or ScheduleWakeup. Before handback, call unwatch_pull_request on any PR you watch.\n</pull_request_linking>\n\nPlease $pr20774-proof keep the complete original request intact."
        }
      ],
      "displayText": "Please $pr20774-proof keep the complete original request intact.",
      "result": {
        "commandId": "01a1791a-4c09-7000-972a-e0d9c1a3720e",
        "disposition": "started",
        "startedNewTurn": true,
        "status": "accepted",
        "turnId": "01a1791a-4c09-7000-972a-e0d9c1a3720e"
      }
    },
    {
      "operation": "turn/steer plain text",
      "expectedTurnId": "01a1791a-4c09-7000-972a-e0d9c1a3720e",
      "input": [
        {
          "type": "text",
          "text": "$pr20774-proof follow-up steering stays plain text."
        }
      ],
      "result": {
        "commandId": "01a1791a-4c11-7000-b052-8480bba4b655",
        "status": "accepted",
        "turnId": "01a1791a-4c11-7000-b052-8480bba4b655"
      }
    },
    {
      "operation": "structured skill terminal",
      "params": {
        "durationMs": 314,
        "sessionId": "01a1791a-4add-7000-bde9-56c785c285a9",
        "sourceRange": {
          "first": {
            "id": "01a1791a-4d4a-7a21-91d2-b2e5895df0de",
            "sequence": 74
          },
          "last": {
            "id": "01a1791a-4d4a-7a21-91d2-b2e5895df0de",
            "sequence": 74
          },
          "stream": {
            "id": "01a1791a-4add-7000-bde9-56c785c285a9",
            "kind": "session"
          }
        },
        "terminal": "completed",
        "timeToFirstTokenMs": 91,
        "turnId": "01a1791a-4c09-7000-972a-e0d9c1a3720e",
        "viewCursor": "v4:01a1791a-4add-7000-bde9-56c785c285a9:15"
      }
    },
    {
      "operation": "session/read expansion observations",
      "containsSkillExpansionMarker": true,
      "containsRuntimeInstructions": true,
      "containsFullOriginalRequest": true
    },
    {
      "operation": "turn/start skill plus text",
      "expectedError": {
        "name": "MspError",
        "message": "Invalid params: a skill input part is combinable only with image parts (tdd SS3.2)",
        "code": -32602,
        "kind": "invalidParams",
        "data": {
          "kind": "invalidParams",
          "retryable": false
        }
      }
    }
  ],
  "limitations": [
    "Echo provider verifies native discovery, protocol admission, expansion and event handling, not model quality or paid-provider authentication.",
    "This bypasses the T3 adapter/client; the parent owns the real client path verification.",
    "Text steering received an accepted native acknowledgement, but steering consumption was not observed before the captured session snapshot.",
    "Echo cannot run goal/verify reminder children because it does not support base instructions; the requested main turn completed."
  ],
  "hostArgs": [
    "serve",
    "--provider",
    "echo",
    "--trust-workspace",
    "--disable-shell",
    "--disable-write"
  ],
  "result": "passed native discovery, single-skill admission, terminal event and mixture rejection",
  "hostExit": {
    "code": 0,
    "signal": null
  },
  "stderr": [],
  "echoResponse": "echo: <system-reminder source=\"skill-body\">\nMuse Code loaded the full instructions for an explicitly invoked skill. Apply these instructions only to the current user turn.\n<skill-body id=\"pr20774-proof\" scope=\"project\" path=\".agents/skills/pr20774-proof/SKILL.md\" sha256=\"sha256:e16cd0dc8fa2fda3b76cd711827de76417eea037146c6bbae9fae3923f4794bd\" byte-count=\"199\">\n---\nname: pr20774-proof\ndescription: Harmless isolated skill for native protocol verification.\n---\nPR20774_SKILL_EXPANSION_MARKER\nReply to the user&apos;s request without running tools or changing files.\n\n</skill-body>\n</system-reminder>\n\n<runtime_info>In case you're asked: you are running in T3 Code through the Muse Code harness, as echo. No need to mention this otherwise. You can embed images, video, and audio in your response using Markdown image syntax with absolute file paths. Link any other file you produce using its absolute path so the user can open it in T3 Code's files viewer.</runtime_info>\n\n<pull_request_linking>\nLink each PR you create, take over, or push to: one link_pull_request per PR, full URL, every stack layer, as your next call. Host tools do not link for you. If linking fails, say so. Skip PRs you only read or review, and PRs named only as background. Call watch_pull_request when asked to monitor or babysit, or when work you were asked to do, such as a merge, still waits on checks or reviews, even after an earlier unwatch. Finish any needed branch update and push first, then watch and end your turn. Otherwise act now or hand back. Delegated children never watch, even if the brief says babysit. After PR work, a child's last line is: PR <full URL>, head <SHA>, checks and reviews <state>. Links and watches persist across pushes. Never wait with sleep, loops, gh --watch, Monitor, or ScheduleWakeup. Before handback, call unwatch_pull_request on any PR you watch.\n</pull_request_linking>\n\nPlease $pr20774-proof keep the complete original request intact.",
  "reminderLimitations": [
    {
      "agent": "goal-reminder",
      "reason": "invalid run configuration: provider does not support base instructions"
    },
    {
      "agent": "verify-reminder",
      "reason": "invalid run configuration: provider does not support base instructions"
    }
  ]
}
