Goal
Present Python 3.12+ functions in sampled CPU evidence when the target has enabled CPython perf trampoline support.
Acceptance criteria
- Capability detection checks the mapped interpreter and target perf map rather than inferring support from a process name.
- The symbolizer reads the target namespace's perf map safely and maps sampled JIT addresses to Python function/file identities.
- Existing active maps work for online attachment; absent activation produces an explicit startup action such as
PYTHONPERFSUPPORT=1 or -X perf rather than injecting Python code.
- Native-only output remains usable but marks Python semantic coverage incomplete.
- Malformed, changing, oversized, and stale map files fail or degrade through explicit quality fields, never silent symbol substitution.
- Fixtures cover supported Python 3.12+, inactive trampoline, non-Python processes, and mixed Python/native stacks.
Goal
Present Python 3.12+ functions in sampled CPU evidence when the target has enabled CPython perf trampoline support.
Acceptance criteria
PYTHONPERFSUPPORT=1or-X perfrather than injecting Python code.