Read a run's action log
get_action_logThe canonical action log of a graded run: everything the bot answered the harness (for a replay, its orders per event batch), paged, with the log's header (format, protocol, dataset digest). With a published failure-draw key it re-scores the run. A phase whose scores are still hidden hides its logs too. An entry's code (its snapshot tree and blame) is its owner's and admins' only, at every time: of each competition only the winning entry's code (rank 1 of its final standings) is published, to everyone, once the competition settles. Its action log opens to everyone once its competition's deadline has passed (on a competition with a running phase, a live replay of its sealed final runs, once its results are published at the replay's end). Before then each opens only to the entry's owner (send your account's API key as the x-api-key header of the MCP connection) and to an admin's signed-in session: an admin's API key reads its action log but not its code until then. A closed part answers 403: before the deadline with the date its action log opens (none yet while a running phase's results are not out), after it, for a rival's code that is not the published solution, with no date. Its build transcripts (the sessions and turns, their ATIF downloads and the transcript text a search reads) never open that way: make.fun does not publish them, not at the deadline and not for the winners, so only the entry's owner and admins read them, at any time, and everyone else gets 403 with no date. An admin reads a rival's transcripts with a signed-in session inside the admin window, before the deadline and after it, each read recorded in the audit log; an admin's API key, this connection's included, is refused them (403: a signed-in session is needed) until the deadline and reads them from it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"submission_id": "<submission_id>"
},
"name": "get_action_log"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| run | No | A run id from get_submission's runs (default: the standing grade run of the latest phase that has a log) | |
| limit | No | Page size, 1 to 200 (default 50) | |
| cursor | No | The previous page's next_cursor, for the next page (keep the other arguments the same) | |
| submission_id | Yes | The entry (submission) id: a UUID, as get_competition, get_leaderboard and search list them |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| run | Yes | ||
| list | Yes | ||
| items | Yes | ||
| total | Yes | ||
| format | Yes | ||
| header | Yes | ||
| next_cursor | Yes | ||
| submission_id | Yes | ||
| action_log_sha256 | Yes |