Diagnostics Auto-Remedy & Precondition Self-Healing Engine
Overview
The Diagnostics Auto-Remedy Engine provides deterministic, non-destructive, and automated recovery recipes for developer workspace anomalies, stale synchronization locks, and orphaned filesystem artifacts in zqk.
It bridges system health checks (zqk system check) and ambient program management discovery (zqk workflow whats-next) directly to executable recovery paths, eliminating manual triage loops for recurring environment blockers.
Architectural Principles
- Deterministic Diagnosis: Every diagnosed anomaly maps to an unambiguous, typed
RemedyPlanwith a confidence score, human description, and executable action. - Safe Auto-Execution Boundary:
- Automated remediation (
--auto-remedy) only operates on verified safe targets within the.zqkproject boundary (e.g. stale.lockfiles older than expiration thresholds, abandoned temporary files in.zqk/tmp/). - Invasive changes or mutations to business objects require explicit human/agent confirmation. - Dual-Plane Availability:
-
zqk system check --auto-remedy: Full diagnostics scan with automated remediation output. -zqk workflow whats-next: Ambient display of active remedy recipes, with--auto-remedysupport on the zero-cost hot path.
Component Layout
pkg/system/
├── auto_remedy.go # DiagnosticsRemedyEngine, RemedyPlan, RemedyOutcome
└── auto_remedy_test.go # Unit test suite verifying stale lock, temp reap, and seeding hooks
cmd/zqk/system/
├── check.go # CLI flag: --auto-remedy
└── check_impl_output.go # Rendering engine integrating remedy summaries and auto-fix reports
cmd/zqk/workflow/
└── whats_next.go # Ambient whats-next enrichment and CLI flag --auto-remedy
Supported Remedy Actions
| Issue Type | Action Type | Default Resolution | Auto-Apply Safe |
|---|---|---|---|
| Stale Scheduler/Session Lock | ActionRemoveFile |
Remove file matching .zqk/**/*.lock exceeding age threshold |
Yes |
| Orphaned Temp File | ActionRemoveFile |
Remove abandoned .zqk/tmp/*.tmp |
Yes |
| Unseeded Default Policy Pack | ActionSeed |
Invoke registered PolicySeeder (zqk system init --force) |
Safe in greenfield |
| Unseeded Agent Seating Pack | ActionSeed |
Invoke registered PersonaSeeder (zqk system agent-onboard) |
Safe in greenfield |
| Object Validation Issue | ActionRunCommand |
Prescriptive zqk system check --auto-fix --ids <id> |
Manual/Confirmed |
Verification
- Unit test suite:
go test -v ./pkg/system/... - Integration verification:
bash zqk workflow whats-next --auto-remedy zqk system check --auto-remedy --fast