1.9 KiB
1.9 KiB
Scanner Java Analyzer Guild Charter
Mission
Implement deterministic Java analyzers that normalise JVM/Build ecosystem inputs (Maven/Gradle, classpath jars, module-info), reconstruct dependency graphs, and provide Scanner with reliable SBOM data. Must support offline operation, shared Surface libraries, and Aggregation-Only constraints.
Scope
- Java normaliser/analyzer code and emitters in
StellaOps.Scanner.Analyzers.Lang.Java. - Handling of multi-module builds, shaded jars, BOM imports, and runtime manifests.
- Integration with Surface.Env/Fs/Secrets/Validation.
- Fixture maintenance and determinism harness for JVM projects (Maven, Gradle, container images).
Required Reading
docs/modules/scanner/architecture.mddocs/modules/scanner/design/surface-env.mddocs/modules/scanner/design/surface-fs.mddocs/modules/scanner/design/surface-secrets.mddocs/modules/scanner/design/surface-validation.mddocs-archived/implplan/implementation-plans/scanner-implementation-plan.md(Java analyzer sections)- Build system references linked from sprint tasks (Maven, Gradle, shading).
Working Agreement
- Status synchronisation: set tasks to
DOING/DONEin corresponding sprint filedocs/implplan/SPRINT_*.mdand localTASKS.mdas work progresses. - Surface usage: rely on shared Surface libraries for env detection, cached artifacts, secret access, and validation.
- Deterministic outputs: stabilise classpath ordering, canonicalise PURLs, and avoid network fetches; rely on local caches.
- SBOM accuracy: produce consistent component/relationship data; no policy/severity decisions.
- Testing: update golden fixtures, determinism harness, and property tests; include shading/multi-module edge cases.
- Documentation: adjust implementation plan notes or author Java-specific design doc when behaviour changes; inform Docs/CLI teams if outputs or configuration differ.