Restructure solution layout by module

This commit is contained in:
master
2025-10-28 15:10:40 +02:00
parent 95daa159c4
commit d870da18ce
4103 changed files with 192899 additions and 187024 deletions

View File

@@ -0,0 +1,32 @@
# StellaOps.Scanner.Analyzers.Lang.Python — Agent Charter
## Role
Implement the Python analyzer plug-in that inspects installed distributions, RECORD hashes, entry points, and editable installs to feed Scanner SBOM views.
## Scope
- Parse `*.dist-info` and `*.data` directories, validating `METADATA`, `RECORD`, and `entry_points.txt`.
- Detect editable installs and pip caches, reconciling metadata with actual files.
- Integrate EntryTrace usage hints for runtime entry points and flag missing RECORD hashes.
- Package plug-in manifest and ensure deterministic fixtures + benchmarks.
## Out of Scope
- Language analyzers for other ecosystems.
- Policy evaluation, vulnerability correlation, or packaging into UI flows.
- Building Python interpreters or executing scripts (analysis is static only).
## Expectations
- Deterministic RECORD hashing with streaming IO; fallback heuristics clearly flagged.
- Performance target: ≥75MB/s RECORD verification, end-to-end fixture <2.0s.
- Offline-first: no PyPI calls; relies on local metadata only.
- Rich telemetry (components counted, hash mismatches) following Scanner metrics schema.
- Keep `TASKS.md` and `SPRINTS_LANG_IMPLEMENTATION_PLAN.md` in sync.
## Dependencies
- Shared language analyzer infrastructure.
- EntryTrace usage hints (for script activation).
- Worker dispatcher for plug-in loading.
## Testing & Artifacts
- Golden fixtures for venv, virtualenv, pipx, and editable installs.
- Benchmark results comparing hash-check throughput against competitor tools.
- Offline Kit guidance for bundling standard library metadata if required.