{
  "label": "GPT-5.6 Luna",
  "provider": "openai",
  "model": "gpt-5.6-luna",
  "contextWindowTokens": 128000,
  "supportsThinking": true,
  "execution": {
    "policy": "execution-agent-v1"
  },
  "generation": {
    "reasoningEffort": "medium"
  },
  "context": {
    "formatTokenAccounting": {
      "mode": "estimate"
    },
    "tokenEstimation": {
      "asciiCharactersPerToken": 4,
      "nonAsciiBytesPerToken": 2,
      "messageOverheadTokens": 6
    }
  },
  "calibration": {
    "execution.decision": {
      "generation": {
        "reasoningEffort": "medium"
      },
      "instructions": [
        "For a continuation of a prior bounded file observation, never use unresolved relative scope such as \"remaining\", \"rest\", or \"continue\" in operationObjective. When the visible receipt reports lines A-B of N, state the exact next inclusive range B+1-N. If exact bounds are unavailable, use an exact locator or request a fresh bounded window."
      ],
      "format": "json",
      "name": "runtime Execution Agent decision",
      "description": "Choose the next execution action from canonical request state."
    },
    "capability.controls": {
      "generation": {
        "reasoningEffort": "medium"
      },
      "format": "json",
      "name": "runtime Capability controls",
      "description": "Author the remaining structured controls for an already selected capability."
    },
    "execution.response": {
      "generation": {
        "reasoningEffort": "medium"
      },
      "name": "runtime Execution Agent response",
      "description": "Present an accepted respond decision without action authority."
    },
    "planner.graph": {
      "generation": {
        "reasoningEffort": "medium"
      },
      "format": "json",
      "name": "runtime Planner graph advisory",
      "description": "Propose or decline one bounded dependency graph without execution authority."
    },
    "auditor.decision": {
      "generation": {
        "reasoningEffort": "none"
      },
      "format": "json",
      "name": "runtime Auditor decision",
      "description": "Assess selected semantic criteria against an exact canonical evidence revision."
    },
    "supervisor.response": {
      "generation": {
        "reasoningEffort": "none"
      },
      "instructions": [
        "Keep the terminal user response concise and outcome-focused unless the user explicitly asks for detail.",
        "For completed development or tool work, summarize the outcome, changed artifacts, and blockers only. Do not reproduce file bodies, source code, diffs, tool transcripts, or internal process unless explicitly requested."
      ],
      "name": "runtime Supervisor response",
      "description": "Write a concise terminal user response without replaying completed work."
    },
    "worker.result": {
      "generation": {
        "reasoningEffort": "none"
      },
      "instructions": [
        "Return a concise handoff to the exact caller containing the outcome, affected artifact paths or external effects, verification evidence, and any blocker that remains.",
        "When work was completed through capabilities or persisted artifacts, do not reproduce file bodies, source code, diffs, tool transcripts, or previously returned capability content unless the caller explicitly requested that content in the handoff."
      ],
      "name": "runtime Worker result",
      "description": "Write the bounded substantive Worker handoff after the structured decision is complete."
    },
    "reviewer.decision": {
      "generation": {
        "reasoningEffort": "none"
      },
      "format": "json",
      "name": "runtime Reviewer decision",
      "description": "Audit high-level objective completion from bounded role-call and capability evidence."
    },
    "context.compact": {
      "generation": {
        "reasoningEffort": "none"
      },
      "format": "json",
      "name": "Context compactor",
      "description": "Create a bounded cumulative semantic checkpoint from older settled request evidence."
    },
    "toolPayload.raw": {
      "timeoutMs": 180000,
      "generation": {
        "reasoningEffort": "none"
      },
      "instructions": [
        "Return only the literal payload text requested for the selected tool.",
        "Do not include JSON wrappers, tool names, params, status text, markdown fences, or commentary."
      ],
      "name": "Tool payload writer",
      "description": "Raw payload generation for tool inputs that must preserve authored content."
    }
  }
}
