Initial commit: project structure and task graph
This commit is contained in:
@@ -0,0 +1,68 @@
|
|||||||
|
# Hermes Portable Rescue
|
||||||
|
|
||||||
|
An **autonomous AI-driven Windows PC diagnostic & repair toolkit** that lives on a USB drive. Boot any Windows PC from this USB and Hermes Agent takes over — diagnosing BSODs, testing hardware, updating drivers, and handling backup/restore — all with LLM-powered reasoning.
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
| Capability | How |
|
||||||
|
|-----------|-----|
|
||||||
|
| 🔍 **BSOD Analysis** | Parses minidumps, interprets stop codes with LLM, correlates with known fixes |
|
||||||
|
| 💾 **RAM Test** | Auto-runs MemTest86+/stress tests and interprets results |
|
||||||
|
| 🔥 **CPU/GPU Diagnostics** | Stress testing, thermal monitoring, benchmark comparison |
|
||||||
|
| 🖴 **Disk Health** | SMART analysis (smartmontools), bad sector scan, S.M.A.R.T. attribute interpretation |
|
||||||
|
| ⬆️ **Driver Updates** | Hardware inventory → vendor API lookup → guided download/install |
|
||||||
|
| 📦 **Backup/Restore** | Disk imaging, file-level backup, guided restore with AI oversight |
|
||||||
|
| 💬 **Natural Language** | Describes what it found and what it's doing — no manual tool hunting |
|
||||||
|
|
||||||
|
## Why this is different from existing tools
|
||||||
|
|
||||||
|
Existing USB rescue tools (Hiren's BootCD PE, Medicat, SystemRescue, 2k10 Live WinPE, S.A.K. Utility) are **static tool collections**. You boot in, know which tool to run, interpret results yourself.
|
||||||
|
|
||||||
|
**Hermes Portable Rescue** is an **agent** — it thinks through problems the way a senior tech would:
|
||||||
|
1. Boot → launch Hermes agent
|
||||||
|
2. Agent detects the problem space (BSOD? Won't boot? Hardware failure?)
|
||||||
|
3. Chains diagnostics: RAM first, then disk, then CPU/GPU
|
||||||
|
4. Interprets all results together
|
||||||
|
5. Suggests or executes fixes
|
||||||
|
6. Documents everything
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
USB Drive
|
||||||
|
├── boot/ — Bootable ISO or Ventoy config
|
||||||
|
├── hermes/ — Portable Hermes Agent runtime
|
||||||
|
│ ├── agent/ — Hermes core
|
||||||
|
│ ├── tools/ — Portable diagnostic executables
|
||||||
|
│ │ ├── smartmontools/
|
||||||
|
│ │ ├── memtest86+/
|
||||||
|
│ │ ├── prime95/ (or equivalent)
|
||||||
|
│ │ └── ...
|
||||||
|
│ ├── models/ — LLM model (if local) or API config
|
||||||
|
│ └── scripts/ — Diagnostic scripts & automation
|
||||||
|
├── rescue.iso — Bootable rescue environment
|
||||||
|
└── autorun.inf — Auto-launch on supported systems
|
||||||
|
```
|
||||||
|
|
||||||
|
## Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
~/nas-projects/hermes-portable-rescue/
|
||||||
|
├── README.md ← This file
|
||||||
|
├── docs/ — Architecture docs, design decisions
|
||||||
|
├── research/ — Research findings from Phase 1
|
||||||
|
├── src/ — Build scripts and source
|
||||||
|
└── build/ — Build output (ISOs, packages)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Storage
|
||||||
|
|
||||||
|
NAS (pve at 192.168.0.144, 3.6TB HDD), mounted via SSHFS at `~/nas-projects/`.
|
||||||
|
|
||||||
|
## Gitea Repo
|
||||||
|
|
||||||
|
`hermes-portable-rescue` at gitea.ourpad.casa
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
AGPL-3.0
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
# Hermes Portable Rescue — Task Graph
|
||||||
|
|
||||||
|
This is the decomposition of the Hermes Portable Rescue project. The board is active at `hermes-portable-rescue`.
|
||||||
|
|
||||||
|
## Phase 1: Foundation
|
||||||
|
|
||||||
|
```
|
||||||
|
research:boot-env ──┐
|
||||||
|
├── workstream:arch-decision
|
||||||
|
research:llm-strat ──┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## Phase 2: Core Agent Build
|
||||||
|
|
||||||
|
```
|
||||||
|
research:arch-decision ──> build:hermes-runtime ──> build:hardware-inventory
|
||||||
|
```
|
||||||
|
|
||||||
|
## Phase 3: Diagnostic Modules (parallel after hardware-inventory)
|
||||||
|
|
||||||
|
```
|
||||||
|
build:hardware-inventory ─┬──> build:bsod-analyzer
|
||||||
|
├──> build:driver-updater
|
||||||
|
├──> build:backup-restore
|
||||||
|
└──> build:stress-tests
|
||||||
|
```
|
||||||
|
|
||||||
|
## Phase 4: Integration & Polish
|
||||||
|
|
||||||
|
```
|
||||||
|
build:bsod-analyzer ──┐
|
||||||
|
build:driver-updater ──┤
|
||||||
|
build:backup-restore ──┤──> build:usb-image
|
||||||
|
build:stress-tests ──┘
|
||||||
|
|
||||||
|
build:usb-image ──> test:real-hardware
|
||||||
|
|
||||||
|
test:real-hardware ──> fix:issues (may loop)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task Descriptions
|
||||||
|
|
||||||
|
### T1 — research:boot-env [research profile]
|
||||||
|
What boots? Evaluate WinPE vs Linux live (Alpine/Arch) vs hybrid Ventoy approach for hosting a portable Python + Hermes agent. Key questions: Can Hermes run in WinPE? What's the minimum Linux live environment? What about driver support for NTFS access? Deliverable: comparison matrix in `research/boot-env.md`.
|
||||||
|
|
||||||
|
### T2 — research:llm-strat [research profile]
|
||||||
|
How does the agent think? Options: local GGUF model on the USB (4-bit quantized ~4GB), API-based (needs network), or hybrid (local for diagnosis, API for complex reasoning). Evaluate memory constraints, speed, offline capability. Deliverable: recommendation in `research/llm-strategy.md`.
|
||||||
|
|
||||||
|
### T3 — workstream:arch-decision [kanban/orchestrator]
|
||||||
|
Synthesize T1+T2 findings into a concrete architecture document. Define: boot env, LLM stack, USB filesystem layout, tool packaging, auto-launch flow. Deliverable: `docs/architecture.md`.
|
||||||
|
|
||||||
|
### T4 — build:hermes-runtime [coder profile]
|
||||||
|
Build the portable Hermes agent package for USB. Includes: minimal Python venv, Hermes core, diagnostic tool collection, auto-launch script, config. Deliverable: `src/` with build scripts.
|
||||||
|
|
||||||
|
### T5 — build:hardware-inventory [coder profile]
|
||||||
|
Hardware enumeration and health checks: CPU model/speed, RAM capacity/slots, GPU model/VRAM, disk SMART health. Wraps `smartmontools`, `dmidecode`, `lshw`. Deliverable: `src/diagnostics/hardware.py`.
|
||||||
|
|
||||||
|
### T6 — build:bsod-analyzer [coder profile]
|
||||||
|
Parse Windows minidump files, extract stop codes and parameters, feed to LLM for interpretation, correlate with known fixes. Deliverable: `src/diagnostics/bsod.py`.
|
||||||
|
|
||||||
|
### T7 — build:driver-updater [coder profile]
|
||||||
|
Hardware ID inventory → vendor API or database lookup → find latest driver → guided download/install. Deliverable: `src/diagnostics/drivers.py`.
|
||||||
|
|
||||||
|
### T8 — build:backup-restore [coder profile]
|
||||||
|
Disk imaging (DD/Clonezilla orchestration), file-level backup, restore with LLM-guided workflow. Deliverable: `src/diagnostics/backup.py`.
|
||||||
|
|
||||||
|
### T9 — build:stress-tests [coder profile]
|
||||||
|
RAM (MemTest86+ execution/report parsing), CPU (stress-ng), GPU (basic stress/info). Deliverable: `src/diagnostics/stress.py`.
|
||||||
|
|
||||||
|
### T10 — build:usb-image [coder profile]
|
||||||
|
Assemble the final USB image: combine boot env + Hermes runtime + all tools. Build script, Ventoy config, ISO generation. Deliverable: `build/usb-image.sh`.
|
||||||
|
|
||||||
|
### T11 — test:real-hardware [kanban/orchestrator]
|
||||||
|
Test on Shawn's gaming PC and other Windows machines. BSOD injection, simulated drive failures, RAM errors. Bug reports → fix loop.
|
||||||
|
|
||||||
|
### T12 — research:windows-pc-repair-workflows [research profile]
|
||||||
|
Research common Windows PC repair workflows and how to automate them with the agent. What are the most common BSODs? What repair sequences do techs follow? Common failure patterns for gaming vs business PCs.
|
||||||
Reference in New Issue
Block a user