Repository navigation
RTerm v3.2.17
Playbook overhaul — 15 improvements
Correctness & safety
- Per-step timeout (
timeoutSeconds) — hung commands no longer block a playbook forever - Parallel targets (
maxParallelTargets, default 1) — fleet runtimes cut proportionally - Per-step retry (
retryAttempts/retryDelaySeconds) — flaky steps retry before failing the run - Dry-run mode (
run_playbook dryRun: true) — see the plan without executing anything - Conditional steps (
when) —"{{env}} == 'prod'"or a check command
New step kinds
template— render a saved config template and write it to the targethealthCheck— poll a URL until the expected statusplaybook— run a sub-playbook as a step (with its own rollback)
Operability
maxRuntimeMinutes— playbook-level circuit breakeronTargetError: stop | continue— default is nowstop(safer)envper step — with{{param}}substitution and quote escapingoutputCapture: 'full'— entire step output instead of the 4k tail- Playbook-level
defaultStepTimeoutSeconds/defaultStepRetryAttempts notifyOnfield (AlertService wiring to follow)approvalGatefield for mid-playbook human gates
Verification
- 39/39 new tests (
v3217Playbook.extreme.spec.ts) covering every feature + 6 regression tests - Existing playbookRunner suite updated for the new
onTargetErrordefault + new test for the default - typecheck:all clean; backend-unit / layout-ui / automation suites green
- Live daemon deployed and verified
npm
neuralos@3.2.17 · rterm-backend@3.2.17 · rterm-cli@3.2.17