fix(python): classify historical headers and signed flags

Fixes #6568, #6487
This commit is contained in:
morluto
2026-10-23 17:39:26 +08:00
parent d53584a10a
commit 81de82a1a4
9 changed files with 281 additions and 27 deletions
@@ -13,7 +13,7 @@ export const PYTHON_PYC_TOOL_CONTRACTS = [
...toolContractMetadata("inspect_python_pyc"),
kind: "artifact-provider",
description:
"Inspect one explicit local CPython 3.7–3.13 .pyc file without executing bytecode, invoking CPython or recovering source. Returns the 16-byte header (magic, pinned python_version, PEP 552 flags, source hash or mtime/size), the top-level code object with nested functions, names, const summaries, and bytecode length/SHA-256. Marshal is walked with object, depth and string budgets; unknown magics, truncated streams and exhausted budgets return no partial success. A decoded header is not proof the matching .py is present. Portable on supported Node hosts; no Python installation required.",
"Inspect one explicit local CPython 3.7–3.13 .pyc file with a supported 16-byte header without executing bytecode, invoking CPython or recovering source. Returns the header (magic, pinned python_version, PEP 552 flags, source hash or mtime/size), the top-level code object with nested functions, names, const summaries, and bytecode length/SHA-256. Marshal is walked with object, depth and string budgets; unsupported magics/layouts, truncated streams and exhausted budgets return no partial success. A decoded header is not proof the matching .py is present. Portable on supported Node hosts; no Python installation required.",
inputSchema: inspectPythonPycInputSchema,
outputSchema: evidenceResultOf(pythonPycSchema),
examples: [