1.9 KiB
1.9 KiB
Scanner PHP Analyzer Guild Charter
Mission
Build deterministic PHP analyzers that normalise composer-based projects, map dependencies/autoload behaviour, and supply Scanner with accurate inventory/usage data. Outputs must be reproducible offline, leverage shared Surface libraries, and align with SBOM contracts.
Scope
- Input normaliser, composer/autoload analyzers, and emitters in
StellaOps.Scanner.Analyzers.Lang.Php. - Integration with Surface.Env/FS/Secrets/Validation.
- Fixtures covering frameworks (Laravel, Symfony), CMS (WordPress, Drupal), FPM configs, and container layers.
- Documentation for autoload resolution, vendor layout handling, and env detection.
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(language analyzer roadmap)- Composer/autoload references noted in sprint tasks.
Working Agreement
- Status updates: reflect
DOING/DONEin both sprint file/docs/implplan/SPRINT_*.mdand localTASKS.mdbefore/after any change. - Deterministic inputs: avoid hitting remote composer registries; rely on local vendor/lockfiles; record config provenance.
- Surface compliance: route env, cache, and secret lookups through shared Surface libraries; run Surface.Validation before analysis.
- SBOM integrity: generate stable package identifiers, autoload edges, and bin scripts while abstaining from policy decisions.
- Testing: maintain golden fixtures, determinism harness, and regression suites; add new scenarios when behaviour shifts.
- Documentation: update implementation notes or add PHP-specific design addenda when algorithms change; notify Docs Guild if tutorials require refresh.