Implement install stages S0–S2: bootstrap, env, model and vision smoke.

Operator can run make bootstrap/install through S2 using nemohermes/openshell wrappers; docs and implement queue updated. No S3+ and no push.
This commit is contained in:
Ty
2026-07-27 11:47:34 -07:00
parent 998e32e871
commit e5e179e541
14 changed files with 893 additions and 60 deletions
+43 -13
View File
@@ -1,19 +1,49 @@
# Host scripts (scaffold)
# Host scripts
**Status:** Documented entrypoints only — no executable bodies until **build**.
**Status:** S0bS2 implemented. S3S7 pending.
All scripts must wrap **`nemohermes` / `openshell` / Docker**. No parallel control API.
All scripts wrap **`nemohermes` / `openshell` / Docker**. No parallel control API.
## Intended entrypoints
## Entrypoints
| Script | Role |
|--------|------|
| `bootstrap.sh` | Host prereqs; install Docker if missing |
| `install.sh` | Stages S0bS6 |
| `upgrade.sh` | Snapshot, pull pins, migrate, re-apply policy, doctor |
| `doctor.sh` | Health checks |
| `connect/*.sh` | Operator connect helpers (Square, QBO, Vagaro, channels) |
| `install/` | Stage helpers |
| `lib/` | Shared shell helpers |
| Script | Role | Status |
|--------|------|--------|
| `bootstrap.sh` | Host prereqs; install Docker if missing | ✅ S0b |
| `install.sh` | Staged installer (S0bS2) | ✅ S0bS2 |
| `install/s1-env.sh` | S1: create/validate `.env` | ✅ S1 |
| `install/s2-models.sh` | S2: model + vision config + smoke | ✅ S2 |
| `upgrade.sh` | Snapshot, pull pins, migrate, re-apply policy, doctor | ⏳ Pending |
| `doctor.sh` | Health checks | ⏳ Pending |
| `connect/*.sh` | Operator connect helpers (Square, QBO, Vagaro, channels) | ⏳ Pending |
## Shared library
| File | Purpose |
|------|---------|
| `lib/common.sh` | Logging, CLI detection, env loading, repo root |
| `lib/env.sh` | `.env` validation and creation helpers |
| `lib/vision_smoke.sh` | Vision capability smoke test |
## Usage
```bash
# Bootstrap (Docker if missing)
./scripts/bootstrap.sh
# Full install (S0bS2)
./scripts/install.sh
# Individual stages
./scripts/install.sh --stage s1 # env only
./scripts/install.sh --stage s2 # models only
# Or via Make
make bootstrap
make install
make install-s1
make install-s2
```
## Design reference
See [docs/INSTALL.md](../docs/INSTALL.md), [docs/UPGRADE.md](../docs/UPGRADE.md), [design/updates-lifecycle.md](../design/updates-lifecycle.md).