3.5 KiB
3.5 KiB
DevOps agent guide
Mission
The DevOps module captures release, deployment, and migration playbooks that keep StellaOps deterministic across environments.
Advisory Handling
- Any new/updated advisory triggers immediate doc + sprint updates (no approval).
- Update high-level + detailed docs; inline only short snippets; put runnable/long code in
docs/benchmarks/**ortests/**(deterministic/offline) and link. - Add tasks + Execution Log entries in relevant
SPRINT_*.mdwith doc paths/owners; add risks if schema/feed/transparency caps apply. - Check archived advisories; mark supersedes/extends if overlapping.
- Defaults: hybrid reachability, deterministic/frozen feeds; act first, report after.
Key docs
How to get started
- Open sprint file
/docs/implplan/SPRINT_*.mdand locate the stories referencing this module. - Review ./TASKS.md for local follow-ups and confirm status transitions (TODO → DOING → DONE/BLOCKED).
- Read the architecture and README for domain context before editing code or docs.
- 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 -RedirectStandardOutputreturns nullExitCodefordotnet test. UseSystem.Diagnostics.ProcesswithProcessStartInfoandWaitForExit(timeout)instead. - Q2 — xUnit v3 output format: Test output is
Failed: 0, Passed: 8, Skipped: 0, Total: 8. Parse withPassed:\s+(\d+)regex, not the olderTests 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 testprocesses causes out-of-memory (0x5aa). Limit to max 3 concurrent processes.RestoreDisableParallel=trueis set inDirectory.Build.props. - Q7 — Windows Git Bash Docker socket path: MSYS converts
/var/run/docker.socktoC:/var/run/docker.sock. UseMSYS_NO_PATHCONV=1and 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/operations/devops/README.mddocs/operations/devops/architecture.mddocs/operations/devops/implementation_plan.mddocs/modules/platform/architecture-overview.md
Working Agreement
-
- Update task status to
DOING/DONEin both correspoding sprint file/docs/implplan/SPRINT_*.mdand the localTASKS.mdwhen you start or finish work.
- Update task status to
-
- Review this charter and the Required Reading documents before coding; confirm prerequisites are met.
-
- Keep changes deterministic (stable ordering, timestamps, hashes) and align with offline/air-gap expectations.
-
- Coordinate doc updates, tests, and cross-guild communication whenever contracts or workflows change.
-
- Revert to
TODOif you pause the task without shipping changes; leave notes in commit/PR descriptions for context.
- Revert to