- Implement `SbomVexOrderingDeterminismProperties` for testing component list and vulnerability metadata hash consistency. - Create `UnicodeNormalizationDeterminismProperties` to validate NFC normalization and Unicode string handling. - Add project file for `StellaOps.Testing.Determinism.Properties` with necessary dependencies. - Introduce CI/CD template validation tests including YAML syntax checks and documentation content verification. - Create validation script for CI/CD templates ensuring all required files and structures are present.
48 lines
3.3 KiB
Markdown
48 lines
3.3 KiB
Markdown
# Scanner agent guide
|
|
|
|
## Mission
|
|
Scanner analyses container images layer-by-layer, producing deterministic SBOM fragments, diffs, and signed reports.
|
|
|
|
## Key docs
|
|
- [Module README](./README.md)
|
|
- [Architecture](./architecture.md)
|
|
- [Implementation plan](./implementation_plan.md)
|
|
- [Task board](./TASKS.md)
|
|
- [macOS analyzer design](./design/macos-analyzer.md)
|
|
- [Windows analyzer design](./design/windows-analyzer.md)
|
|
- [Field engagement workflow](./operations/field-engagement.md)
|
|
- [Design dossiers](./design/README.md)
|
|
- [Benchmarks overview](../../benchmarks/scanner/README.md)
|
|
- [Benchmarks overview](../../benchmarks/scanner/README.md)
|
|
|
|
## How to get started
|
|
1. Open sprint file `/docs/implplan/SPRINT_*.md` and locate the stories referencing this module.
|
|
2. Review ./TASKS.md for local follow-ups and confirm status transitions (TODO → DOING → DONE/BLOCKED).
|
|
3. Read the architecture and README for domain context before editing code or docs.
|
|
4. Coordinate cross-module changes in the main /AGENTS.md description and through the sprint plan.
|
|
|
|
## Guardrails
|
|
- Honour the Aggregation-Only Contract where applicable (see ../../aoc/aggregation-only-contract.md).
|
|
- Preserve determinism: sort outputs, normalise timestamps (UTC ISO-8601), and avoid machine-specific artefacts.
|
|
- Keep Offline Kit parity in mind—document air-gapped workflows for any new feature.
|
|
- Update runbooks/observability assets when operational characteristics change.
|
|
## Required Reading
|
|
- `docs/modules/scanner/README.md`
|
|
- `docs/modules/scanner/architecture.md`
|
|
- `docs/modules/scanner/implementation_plan.md`
|
|
- `docs/modules/platform/architecture-overview.md`
|
|
- `docs/product-advisories/CONSOLIDATED - Diff-Aware Release Gates and Risk Budgets.md` — Master reference for delta verdicts, smart-diff algorithms, and determinism requirements that Scanner must honor.
|
|
|
|
## Related Product Advisories
|
|
- **[Consolidated: Diff-Aware Release Gates and Risk Budgets](../../product-advisories/CONSOLIDATED%20-%20Diff-Aware%20Release%20Gates%20and%20Risk%20Budgets.md)** — Risk budgets, delta verdicts, smart-diff algorithms
|
|
- **[Consolidated: Deterministic Evidence and Verdict Architecture](../../product-advisories/CONSOLIDATED%20-%20Deterministic%20Evidence%20and%20Verdict%20Architecture.md)** — Determinism guarantees, canonical serialization, keyless signing
|
|
- **[Determinism Specification](../../technical/architecture/determinism-specification.md)** — Technical spec for digest algorithms and canonicalization rules
|
|
- **[Smart-Diff Technical Reference](../../product-advisories/archived/2025-12-21-moat-gap-closure/14-Dec-2025%20-%20Smart-Diff%20Technical%20Reference.md)** — Detailed reachability gate and call-stack analysis specs
|
|
|
|
## Working Agreement
|
|
- 1. Update task status to `DOING`/`DONE` in both correspoding sprint file `/docs/implplan/SPRINT_*.md` and the local `TASKS.md` when you start or finish work.
|
|
- 2. Review this charter and the Required Reading documents before coding; confirm prerequisites are met.
|
|
- 3. Keep changes deterministic (stable ordering, timestamps, hashes) and align with offline/air-gap expectations.
|
|
- 4. Coordinate doc updates, tests, and cross-guild communication whenever contracts or workflows change.
|
|
- 5. Revert to `TODO` if you pause the task without shipping changes; leave notes in commit/PR descriptions for context.
|