)]}'
{
  "log": [
    {
      "commit": "1db4fe312cac51bb8d6135e5e57ea216811bb921",
      "tree": "afcd199801f5be749c857a641db1e94c65b75a26",
      "parents": [
        "d2825561dcac894d1f6fbeb69f495355f1368df0"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 11:57:58 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 11:57:58 2026"
      },
      "message": "[ecma262] Annotate user-code execution boundaries with ⚡ in spec algorithms\n\n- Parse \u003cemu-meta effects\u003d\"user-code\"\u003e and annotate steps that can run JavaScript user code with ⚡.\n- Document ⚡ user-code annotations and proposal tools in README.md and server docstrings.\n- Add unit test for ⚡ user-code annotation rendering.\n\nTAG\u003dagy\nCONV\u003dc32d89a4-10d7-4cb5-a0ca-9acd85d73943\n"
    },
    {
      "commit": "d2825561dcac894d1f6fbeb69f495355f1368df0",
      "tree": "e762834b3a22d03b1ab2ee6a26a1e883397a8abb",
      "parents": [
        "242ca8b6d656f46c19acd11ed5f0de8469416e55"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 11:45:21 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 11:45:21 2026"
      },
      "message": "[ecma262] Add secure TC39 proposal support, diffing, and multi-spec context\n\n- Support loading, indexing, and switching between base ECMA-262 and TC39 proposals.\n- Enforce strict TC39 / ECMA namespace validation to prevent non-TC39 URLs or directory traversal.\n- Add ecma262_load_proposal, ecma262_list_proposals, ecma262_use_proposal, and ecma262_diff tools.\n- Add proposal parameter across existing search, section, get_operation, callers, and signature tools.\n- Support both OL DOM trees and plaintext Ecmarkup algorithms in ecma262.js.\n- Add unit tests for proposal sanitization, loading, diffing, and switching.\n\nTAG\u003dagy\nCONV\u003dc32d89a4-10d7-4cb5-a0ca-9acd85d73943\n"
    },
    {
      "commit": "242ca8b6d656f46c19acd11ed5f0de8469416e55",
      "tree": "3b6682208e6a999c9e3f25df4fe579c8da3150e0",
      "parents": [
        "c13c8563fb5bd6b87ac56ba862f5952aa248b696"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 08:18:50 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 08:18:50 2026"
      },
      "message": "[ecma262] Add semantic-preserving Markdown renderer and tag coverage test suite\n\n- Add recursive Ecmarkup DOM to Markdown renderer in ecma262.js covering all 54 spec HTML tags.\n- Format tables, step hierarchies, notes, grammar, equations, and signatures into clean Markdown.\n- Escape spec enumeration constants as \\~token\\~ to prevent Markdown strikethrough.\n- Add test_all_spec_html_tags_handled ensuring 100% tag coverage across spec.html.\n- Update all tool endpoints to return consistent Markdown formatted text.\n\nTAG\u003dagy\nCONV\u003dc32d89a4-10d7-4cb5-a0ca-9acd85d73943\n"
    },
    {
      "commit": "c13c8563fb5bd6b87ac56ba862f5952aa248b696",
      "tree": "35b5459dbe3093179d799c14a987c56d5e2fe97d",
      "parents": [
        "84721aeee6d7d74a5d65c69ecb0a78f46749fc10"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 07:58:54 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Aug 20 07:58:54 2026"
      },
      "message": "[ecma262] Add callers tool, host-defined op fallback, and clean parameter handling\n\n- Add ecma262_callers to search all spec algorithm steps for callers of an abstract operation.\n- Fall back to section HTML / normative prose in ecma262_get_operation for host-defined hooks and clauses without emu-alg.\n- Normalize section IDs by stripping leading #.\n- Update test suite with new tests.\n\nTAG\u003dagy\nCONV\u003dc32d89a4-10d7-4cb5-a0ca-9acd85d73943\n"
    },
    {
      "commit": "84721aeee6d7d74a5d65c69ecb0a78f46749fc10",
      "tree": "eaaa8f59497ee9288117d4fafb3aff81d719bfd1",
      "parents": [
        "c4b8ffc00d29557e87c57be8c962a3fdbde4eda1"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Apr 23 12:56:57 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Thu Apr 23 12:56:57 2026"
      },
      "message": "ecma state machine: shorten tool names\n"
    },
    {
      "commit": "c4b8ffc00d29557e87c57be8c962a3fdbde4eda1",
      "tree": "e84880ec914a176a97edad34257e44a667260cf1",
      "parents": [
        "3717630ab344614a1346c9eafe6212e181d6cdad"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 17:35:15 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 17:38:28 2026"
      },
      "message": "[config] Use mcp_config.json as reference with portable variables\n\nUpdate mcp_config.json to use portable variables (${extensionPath}).\n\nUpdate README to refer to mcp_config.json and explain how to use it.\n\nThe previous method of attempting to automatically load MCP servers from the plugin was too unreliable in this environment, so we fall back to manual configuration instructions.\n\nTAG\u003dagy\n\nCONV\u003db78027c5-9dcb-4fee-86c6-fe1781df3c24\n"
    },
    {
      "commit": "3717630ab344614a1346c9eafe6212e181d6cdad",
      "tree": "defc69e47ca409d790976fa69f03030898d861cb",
      "parents": [
        "cc76f921095728bef885b40f75522e627d4e1620"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 13:56:18 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 13:56:18 2026"
      },
      "message": "Fix plugin installation instructions\n"
    },
    {
      "commit": "cc76f921095728bef885b40f75522e627d4e1620",
      "tree": "b279d24445901d043c42eb7f78474624ee3d184b",
      "parents": [
        "69d8254132763717f5733389d980ed3dbc78983c"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 13:42:59 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Wed Apr 22 13:42:59 2026"
      },
      "message": "turn repo into a plugin\n"
    },
    {
      "commit": "69d8254132763717f5733389d980ed3dbc78983c",
      "tree": "bf9cc7b2ca9b34b816cd67279741e309a98fd12a",
      "parents": [
        "58cba20f25d776252e8fb5e4a7b20e5fafc79b38"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Tue Apr 21 13:52:47 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Tue Apr 21 13:52:47 2026"
      },
      "message": "Add ecma262_state_machine MCP server\n"
    },
    {
      "commit": "58cba20f25d776252e8fb5e4a7b20e5fafc79b38",
      "tree": "cfe868a762e95798b13de9db978ed2e43f4c5c72",
      "parents": [
        "08ce31ce6301bbfe685e701d472ae659c8ddc6cc"
      ],
      "author": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Tue Apr 21 13:26:15 2026"
      },
      "committer": {
        "name": "Olivier Flückiger",
        "email": "olivf@chromium.org",
        "time": "Tue Apr 21 13:27:50 2026"
      },
      "message": "Add ecma262 MCP server with spec research tools\n"
    },
    {
      "commit": "08ce31ce6301bbfe685e701d472ae659c8ddc6cc",
      "tree": "1ce574adc0e15206ca75a62dea1fb012f45c35af",
      "parents": [
        "ae7a5395545c6fb7e2315d6f515123b0863d8a60"
      ],
      "author": {
        "name": "Jakob Linke",
        "email": "36006+schuay@users.noreply.github.com",
        "time": "Mon Apr 20 08:01:57 2026"
      },
      "committer": {
        "name": "Jakob Linke",
        "email": "36006+schuay@users.noreply.github.com",
        "time": "Mon Apr 20 08:01:57 2026"
      },
      "message": "[v8-utils] Add initial snapshot\n\nImported from https://github.com/schuay/v8-utils\nCommit e4d8006ad396e18dcf5763f492206789900e868f\n"
    },
    {
      "commit": "ae7a5395545c6fb7e2315d6f515123b0863d8a60",
      "tree": "e5290e337be5a7531dc6a993cfc89b12ef62ef4a",
      "parents": [
        "3a223b1c441330e55e9ae4adc0e8cab292fd1b27"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:43:34 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:43:34 2026"
      },
      "message": "formatting\n"
    },
    {
      "commit": "3a223b1c441330e55e9ae4adc0e8cab292fd1b27",
      "tree": "e1f3d985377968ad6db0bf1215c4a4ea7039429a",
      "parents": [
        "2ba45cdab91b4b00244725dea882186f4eb88f5e"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:43:18 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:43:18 2026"
      },
      "message": "format\n"
    },
    {
      "commit": "2ba45cdab91b4b00244725dea882186f4eb88f5e",
      "tree": "831f85f749897e3f913a025570098d3aac681b99",
      "parents": [
        "278386b93f10216a39281e6bde18105e53ed4618"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:36:50 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:36:50 2026"
      },
      "message": "fix\n"
    },
    {
      "commit": "278386b93f10216a39281e6bde18105e53ed4618",
      "tree": "579081f4a46cc698ce6492e4e36c1276bc60a751",
      "parents": [
        "89e8d4c3c2c9e019a367fcc7397e9b11b41c8b69"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:13:18 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:13:18 2026"
      },
      "message": "rm-owners\n"
    },
    {
      "commit": "89e8d4c3c2c9e019a367fcc7397e9b11b41c8b69",
      "tree": "7151321221b67d03bfb7db84f9494b323cef03f7",
      "parents": [
        "18f3326f8a108a047114c96caa58b2f949abfe0b"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:13:01 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:13:01 2026"
      },
      "message": "formatting\n"
    },
    {
      "commit": "18f3326f8a108a047114c96caa58b2f949abfe0b",
      "tree": "8ddc1db48acf4cc87c2ec5d9ed819ad16ebbdf16",
      "parents": [
        "0a054c86fe53fc277dcc10f34cac8c527d0e58ed"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:12:53 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 12:12:53 2026"
      },
      "message": "pre-format\n"
    },
    {
      "commit": "0a054c86fe53fc277dcc10f34cac8c527d0e58ed",
      "tree": "5414b70a60524a6b3adb31a681dadc8fc2c6f586",
      "parents": [
        "3c96c9e6c5fa734853a1ddbcf40540703070b49e"
      ],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 11:49:12 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 11:49:12 2026"
      },
      "message": "basicss\n"
    },
    {
      "commit": "3c96c9e6c5fa734853a1ddbcf40540703070b49e",
      "tree": "b479322fb7428de765bbd28e5ed0f934328be1d0",
      "parents": [],
      "author": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 11:42:36 2026"
      },
      "committer": {
        "name": "Camillo Bruni",
        "email": "cbruni@chromium.org",
        "time": "Tue Apr 14 11:42:36 2026"
      },
      "message": "first commit\n"
    }
  ]
}
