Skip to content

feat(soak): add 7-day soak harness (engine.soak.toml, runner, snapshots, runbook)#171

Open
lgahdl wants to merge 2 commits into
nullislabs:developfrom
bleu:feat/122-soak-harness
Open

feat(soak): add 7-day soak harness (engine.soak.toml, runner, snapshots, runbook)#171
lgahdl wants to merge 2 commits into
nullislabs:developfrom
bleu:feat/122-soak-harness

Conversation

@lgahdl

@lgahdl lgahdl commented Jul 3, 2026

Copy link
Copy Markdown

Summary

  • Adds the tooling gap blocking 7-day unattended soak test not evidenced #65/48-hour uptime test not evidenced #66 grant evidence (hard gate: soak running clean by Jul 21)
  • engine.soak.toml — soak-tuned config: info log level, data/soak state dir, same 5 modules as e2e
  • scripts/soak-run.sh — launches engine + hourly metrics snapshot loop in the background; warns if logrotate unavailable
  • scripts/soak-finish.sh — stops snapshot loop, graceful SIGINT, captures final metrics, prints artifact summary
  • scripts/lib.sh — extended with SOAK_STATE_FILE, SOAK_REPORTS_DIR, render_soak_config, and soak state helpers
  • docs/operations/soak-runbook.md — operator guide: pre-flight checklist, start/stop/monitor commands, evidence artifact table (M1/M2/M4), troubleshooting

Closes #122

Test plan

  • bash -n syntax check on soak-run.sh, soak-finish.sh, lib.sh — clean
  • shellcheck on all three scripts — clean (zero warnings)

lgahdl and others added 2 commits July 3, 2026 14:09
…ts, runbook)

Adds the tooling gap that was blocking #65/#66 grant evidence:
- engine.soak.toml: soak-tuned config (info log level, separate state_dir)
- scripts/soak-run.sh: launches engine + hourly metrics snapshot loop
- scripts/soak-finish.sh: graceful shutdown, stops snapshot loop, final metrics
- docs/operations/soak-runbook.md: operator guide with evidence artifact map

M1 (24h), M2 (48h), and M4 (7-day) evidence artifacts fall out of the
hourly snapshot loop automatically.

Closes nullislabs#122

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add '# shellcheck shell=bash' + file-level SC2034 disable to lib.sh
  (constants are used by callers that source the file; shellcheck
  cannot follow the source chain without explicit directives)
- Replace ls glob with find in soak-finish.sh snapshot count (SC2012)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@lgahdl lgahdl requested a review from mfw78 as a code owner July 3, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant