stabilize tests

This commit is contained in:
master
2026-02-01 21:37:40 +02:00
parent 55744f6a39
commit 5d5e80b2e4
6435 changed files with 33984 additions and 13802 deletions

View File

@@ -23,15 +23,22 @@ The DevOps module captures release, deployment, and migration playbooks that kee
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.
## Known Quirks (CI/Test Runner Infrastructure)
- **Q1 — PowerShell exit code capture**: `Start-Process -Wait -RedirectStandardOutput` returns null `ExitCode` for `dotnet test`. Use `System.Diagnostics.Process` with `ProcessStartInfo` and `WaitForExit(timeout)` instead.
- **Q2 — xUnit v3 output format**: Test output is `Failed: 0, Passed: 8, Skipped: 0, Total: 8`. Parse with `Passed:\s+(\d+)` regex, not the older `Tests succeeded:` format.
- **Q3 — xUnit v3 empty projects**: Projects with no `[Fact]`/`[Theory]` methods return exit code 1 (`NO_TESTS`), not 0. Account for this in CI scripts.
- **Q6 — MSBuild OOM at high parallelism**: Running >3 concurrent `dotnet test` processes causes out-of-memory (0x5aa). Limit to max 3 concurrent processes. `RestoreDisableParallel=true` is set in `Directory.Build.props`.
- **Q7 — Windows Git Bash Docker socket path**: MSYS converts `/var/run/docker.sock` to `C:/var/run/docker.sock`. Use `MSYS_NO_PATHCONV=1` and double-slash `//var/run/docker.sock`.
## 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/devops/README.md`
- `docs/modules/devops/architecture.md`
- `docs/modules/devops/implementation_plan.md`
- `docs/operations/devops/README.md`
- `docs/operations/devops/architecture.md`
- `docs/operations/devops/implementation_plan.md`
- `docs/modules/platform/architecture-overview.md`
## Working Agreement

View File

@@ -0,0 +1,24 @@
# DevOps Implementation Plan
## Purpose
Provide a living plan for DevOps workflows, release tooling, and operational runbooks.
## Active work
- Track current sprints under `docs/implplan/SPRINT_*.md` for DevOps scope.
- Update this file when new DevOps deliverables are approved.
## Near-term deliverables
- TBD (add when sprint is staffed).
## Dependencies
- `docs/operations/devops/README.md`
- `docs/operations/devops/architecture.md`
- `docs/modules/platform/architecture-overview.md`
## Evidence of completion
- Changes under `devops/**` and `.gitea/**` where applicable.
- Updated runbooks and migration notes under `docs/operations/devops/**`.
- Tests or validation scripts added for deterministic/offline workflows.
## Notes
- Keep determinism, offline-first posture, and audit logging aligned with AGENTS.