- Implemented `run-scanner-ci.sh` to build and run tests for the Scanner solution with a warmed NuGet cache. - Created `excititor-vex-traces.json` dashboard for monitoring Excititor VEX observations. - Added Docker Compose configuration for the OTLP span sink in `docker-compose.spansink.yml`. - Configured OpenTelemetry collector in `otel-spansink.yaml` to receive and process traces. - Developed `run-spansink.sh` script to run the OTLP span sink for Excititor traces. - Introduced `FileSystemRiskBundleObjectStore` for storing risk bundle artifacts in the filesystem. - Built `RiskBundleBuilder` for creating risk bundles with associated metadata and providers. - Established `RiskBundleJob` to execute the risk bundle creation and storage process. - Defined models for risk bundle inputs, entries, and manifests in `RiskBundleModels.cs`. - Implemented signing functionality for risk bundle manifests with `HmacRiskBundleManifestSigner`. - Created unit tests for `RiskBundleBuilder`, `RiskBundleJob`, and signing functionality to ensure correctness. - Added filesystem artifact reader tests to validate manifest parsing and artifact listing. - Included test manifests for egress scenarios in the task runner tests. - Developed timeline query service tests to verify tenant and event ID handling.
36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
# Platform agent guide
|
|
|
|
## Mission
|
|
Platform module describes cross-cutting architecture, contracts, and guardrails that bind the services together.
|
|
|
|
## Key docs
|
|
- [Module README](./README.md)
|
|
- [Architecture](./architecture.md)
|
|
- [Implementation plan](./implementation_plan.md)
|
|
- [Task board](./TASKS.md)
|
|
- [Architecture overview](./architecture-overview.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 ../../ingestion/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/platform/README.md`
|
|
- `docs/modules/platform/architecture.md`
|
|
- `docs/modules/platform/implementation_plan.md`
|
|
- `docs/modules/platform/architecture-overview.md`
|
|
|
|
## 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.
|