sol: sol-profile-triage-2026-10-31 coverage; CHECK-verified

This commit is contained in:
sol committed 2026-10-31 21:40:17 +00:00
1 parent e67725c9cf
commit 8d3081d0e1
3 files changed
+615

No files matched your search

+81
View File
@@ -0,0 +1,81 @@
#!/usr/bin/env bash
# CHECK -- sol: sol-profile-triage re-derives the classification from the live
# profile dir and verifies the committed JSON against it on disk. Exit 0 iff.
set -u
python3 - <<'PY'
import os, json, sys
PROFILE = "/root/.hermes/profiles/sol"
WIZ_JSON = "/root/.hermes/wizard-outputs/sol/sol-profile-triage-2026-10-31.json"
REPO_JSON = "/root/troupe-standup/wizard-work/sol/sol-profile-triage-2026-10-31.json"
def classify(name, is_dir):
exact = {
"identity": {".env", ".env.bak-20261014T165715Z"},
"soul": {"SOUL.md"},
"config": {".env.lock", "config.yaml", "config.yaml.bak-20261014T165715Z"},
"state_db": {"state.db", "state.db-shm", "state.db-wal",
"state.db.auto-maintenance.lock", "state.db.fts_rebuild.lock",
"state.db.quarantine.lock", "auth.json", "auth.lock",
".skills_prompt_snapshot.json", "models_dev_cache.json",
"models_dev_cache.etag"},
"cache": {"cache", "audio_cache", "image_cache"},
"sessions": {"sessions"},
"skills": {"skills"},
"plugins": {"plugins", "plugin-update-checks"},
"logs": {"logs"},
"backups": {"backups"},
"vault": {"vault"},
}
for cat, names in exact.items():
if name in names:
return cat
if is_dir:
return "extension_dir"
if name.endswith(".py"):
return "script"
if name.endswith((".yaml", ".json")):
return "config_data"
return "other"
def expected():
exp = {}
for name in os.listdir(PROFILE):
p = os.path.join(PROFILE, name)
cat = classify(name, os.path.isdir(p))
exp[cat] = exp.get(cat, 0) + 1
return exp
def load(p):
with open(p, encoding="utf-8") as fh:
return json.load(fh)
fails = []
for p in (WIZ_JSON, REPO_JSON):
if not os.path.isfile(p):
fails.append("missing artifact: " + p)
if not fails:
disk_cats = expected()
for label, jpath in (("wizard-outputs", WIZ_JSON), ("repo", REPO_JSON)):
d = load(jpath)
if d.get("total_entries") != len(os.listdir(PROFILE)):
fails.append("[" + label + "] total_entries mismatch")
if d.get("categories") != disk_cats:
fails.append("[" + label + "] categories mismatch (got %s, want %s)"
% (d.get("categories"), disk_cats))
for e in d.get("entries", []):
if not os.path.lexists(e.get("path", "")):
fails.append("[" + label + "] referenced path no longer exists: "
+ str(e.get("path")))
for e in load(WIZ_JSON).get("entries", []):
if e.get("category") != classify(e["name"], e.get("type") == "dir"):
fails.append("entry category mismatch: " + e["name"])
print("PASS" if not fails else "FAIL")
for f in fails:
print(" -", f)
sys.exit(1 if fails else 0)
PY
EXIT=$?
if [ $EXIT -ne 0 ]; then
echo "CHECK FAILED (exit $EXIT)"
fi
exit $EXIT
@@ -0,0 +1,456 @@
{
"generated_utc": "2026-10-31T21:39:56Z",
"profile": "/root/.hermes/profiles/sol",
"type": "sol-profile-triage",
"total_entries": 69,
"categories": {
"identity": 2,
"config": 3,
"state_db": 11,
"soul": 1,
"script": 20,
"cache": 3,
"backups": 1,
"extension_dir": 18,
"config_data": 1,
"other": 3,
"logs": 1,
"plugins": 2,
"sessions": 1,
"skills": 1,
"vault": 1
},
"entries": [
{
"name": ".env",
"path": "/root/.hermes/profiles/sol/.env",
"type": "file",
"category": "identity"
},
{
"name": ".env.bak-20261014T165715Z",
"path": "/root/.hermes/profiles/sol/.env.bak-20261014T165715Z",
"type": "file",
"category": "identity"
},
{
"name": ".env.lock",
"path": "/root/.hermes/profiles/sol/.env.lock",
"type": "file",
"category": "config"
},
{
"name": ".skills_prompt_snapshot.json",
"path": "/root/.hermes/profiles/sol/.skills_prompt_snapshot.json",
"type": "file",
"category": "state_db"
},
{
"name": "SOUL.md",
"path": "/root/.hermes/profiles/sol/SOUL.md",
"type": "file",
"category": "soul"
},
{
"name": "_check_repo_json.py",
"path": "/root/.hermes/profiles/sol/_check_repo_json.py",
"type": "file",
"category": "script"
},
{
"name": "_gen_daily_ledger_json.py",
"path": "/root/.hermes/profiles/sol/_gen_daily_ledger_json.py",
"type": "file",
"category": "script"
},
{
"name": "_gen_daily_ledger_report.py",
"path": "/root/.hermes/profiles/sol/_gen_daily_ledger_report.py",
"type": "file",
"category": "script"
},
{
"name": "_gen_daily_triage.py",
"path": "/root/.hermes/profiles/sol/_gen_daily_triage.py",
"type": "file",
"category": "script"
},
{
"name": "_gen_daily_triage_fresh.py",
"path": "/root/.hermes/profiles/sol/_gen_daily_triage_fresh.py",
"type": "file",
"category": "script"
},
{
"name": "_verify_daily_triage.py",
"path": "/root/.hermes/profiles/sol/_verify_daily_triage.py",
"type": "file",
"category": "script"
},
{
"name": "audio_cache",
"path": "/root/.hermes/profiles/sol/audio_cache",
"type": "dir",
"category": "cache"
},
{
"name": "auth.json",
"path": "/root/.hermes/profiles/sol/auth.json",
"type": "file",
"category": "state_db"
},
{
"name": "auth.lock",
"path": "/root/.hermes/profiles/sol/auth.lock",
"type": "file",
"category": "state_db"
},
{
"name": "backups",
"path": "/root/.hermes/profiles/sol/backups",
"type": "dir",
"category": "backups"
},
{
"name": "bin",
"path": "/root/.hermes/profiles/sol/bin",
"type": "dir",
"category": "extension_dir"
},
{
"name": "cache",
"path": "/root/.hermes/profiles/sol/cache",
"type": "dir",
"category": "cache"
},
{
"name": "config.yaml",
"path": "/root/.hermes/profiles/sol/config.yaml",
"type": "file",
"category": "config"
},
{
"name": "config.yaml.bak-20261014T165715Z",
"path": "/root/.hermes/profiles/sol/config.yaml.bak-20261014T165715Z",
"type": "file",
"category": "config"
},
{
"name": "context_length_cache.yaml",
"path": "/root/.hermes/profiles/sol/context_length_cache.yaml",
"type": "file",
"category": "config_data"
},
{
"name": "context_length_cache.yaml.lock",
"path": "/root/.hermes/profiles/sol/context_length_cache.yaml.lock",
"type": "file",
"category": "other"
},
{
"name": "cron",
"path": "/root/.hermes/profiles/sol/cron",
"type": "dir",
"category": "extension_dir"
},
{
"name": "cron-fleet-triage-2026-10-17.py",
"path": "/root/.hermes/profiles/sol/cron-fleet-triage-2026-10-17.py",
"type": "file",
"category": "script"
},
{
"name": "cron-fleet-triage-2026-10-18.py",
"path": "/root/.hermes/profiles/sol/cron-fleet-triage-2026-10-18.py",
"type": "file",
"category": "script"
},
{
"name": "cron-fleet-verify.py",
"path": "/root/.hermes/profiles/sol/cron-fleet-verify.py",
"type": "file",
"category": "script"
},
{
"name": "diag.py",
"path": "/root/.hermes/profiles/sol/diag.py",
"type": "file",
"category": "script"
},
{
"name": "diag2.py",
"path": "/root/.hermes/profiles/sol/diag2.py",
"type": "file",
"category": "script"
},
{
"name": "diag3.py",
"path": "/root/.hermes/profiles/sol/diag3.py",
"type": "file",
"category": "script"
},
{
"name": "diag4.py",
"path": "/root/.hermes/profiles/sol/diag4.py",
"type": "file",
"category": "script"
},
{
"name": "forge",
"path": "/root/.hermes/profiles/sol/forge",
"type": "dir",
"category": "extension_dir"
},
{
"name": "gateway.lock",
"path": "/root/.hermes/profiles/sol/gateway.lock",
"type": "file",
"category": "other"
},
{
"name": "gen_sol_profile_triage.py",
"path": "/root/.hermes/profiles/sol/gen_sol_profile_triage.py",
"type": "file",
"category": "script"
},
{
"name": "gen_sol_profile_triage_2026-10-31.py",
"path": "/root/.hermes/profiles/sol/gen_sol_profile_triage_2026-10-31.py",
"type": "file",
"category": "script"
},
{
"name": "home",
"path": "/root/.hermes/profiles/sol/home",
"type": "dir",
"category": "extension_dir"
},
{
"name": "hooks",
"path": "/root/.hermes/profiles/sol/hooks",
"type": "dir",
"category": "extension_dir"
},
{
"name": "image_cache",
"path": "/root/.hermes/profiles/sol/image_cache",
"type": "dir",
"category": "cache"
},
{
"name": "inventory_skills.py",
"path": "/root/.hermes/profiles/sol/inventory_skills.py",
"type": "file",
"category": "script"
},
{
"name": "keys",
"path": "/root/.hermes/profiles/sol/keys",
"type": "dir",
"category": "extension_dir"
},
{
"name": "logs",
"path": "/root/.hermes/profiles/sol/logs",
"type": "dir",
"category": "logs"
},
{
"name": "lsp",
"path": "/root/.hermes/profiles/sol/lsp",
"type": "dir",
"category": "extension_dir"
},
{
"name": "memories",
"path": "/root/.hermes/profiles/sol/memories",
"type": "dir",
"category": "extension_dir"
},
{
"name": "models_dev_cache.etag",
"path": "/root/.hermes/profiles/sol/models_dev_cache.etag",
"type": "file",
"category": "state_db"
},
{
"name": "models_dev_cache.json",
"path": "/root/.hermes/profiles/sol/models_dev_cache.json",
"type": "file",
"category": "state_db"
},
{
"name": "pairing",
"path": "/root/.hermes/profiles/sol/pairing",
"type": "dir",
"category": "extension_dir"
},
{
"name": "plans",
"path": "/root/.hermes/profiles/sol/plans",
"type": "dir",
"category": "extension_dir"
},
{
"name": "platforms",
"path": "/root/.hermes/profiles/sol/platforms",
"type": "dir",
"category": "extension_dir"
},
{
"name": "plugin-update-checks",
"path": "/root/.hermes/profiles/sol/plugin-update-checks",
"type": "dir",
"category": "plugins"
},
{
"name": "plugins",
"path": "/root/.hermes/profiles/sol/plugins",
"type": "dir",
"category": "plugins"
},
{
"name": "projects.db",
"path": "/root/.hermes/profiles/sol/projects.db",
"type": "file",
"category": "other"
},
{
"name": "runtime",
"path": "/root/.hermes/profiles/sol/runtime",
"type": "dir",
"category": "extension_dir"
},
{
"name": "sandboxes",
"path": "/root/.hermes/profiles/sol/sandboxes",
"type": "dir",
"category": "extension_dir"
},
{
"name": "sessions",
"path": "/root/.hermes/profiles/sol/sessions",
"type": "dir",
"category": "sessions"
},
{
"name": "skills",
"path": "/root/.hermes/profiles/sol/skills",
"type": "dir",
"category": "skills"
},
{
"name": "skins",
"path": "/root/.hermes/profiles/sol/skins",
"type": "dir",
"category": "extension_dir"
},
{
"name": "source-checks",
"path": "/root/.hermes/profiles/sol/source-checks",
"type": "dir",
"category": "extension_dir"
},
{
"name": "state",
"path": "/root/.hermes/profiles/sol/state",
"type": "dir",
"category": "extension_dir"
},
{
"name": "state.db",
"path": "/root/.hermes/profiles/sol/state.db",
"type": "file",
"category": "state_db"
},
{
"name": "state.db-shm",
"path": "/root/.hermes/profiles/sol/state.db-shm",
"type": "file",
"category": "state_db"
},
{
"name": "state.db-wal",
"path": "/root/.hermes/profiles/sol/state.db-wal",
"type": "file",
"category": "state_db"
},
{
"name": "state.db.auto-maintenance.lock",
"path": "/root/.hermes/profiles/sol/state.db.auto-maintenance.lock",
"type": "file",
"category": "state_db"
},
{
"name": "state.db.fts_rebuild.lock",
"path": "/root/.hermes/profiles/sol/state.db.fts_rebuild.lock",
"type": "file",
"category": "state_db"
},
{
"name": "state.db.quarantine.lock",
"path": "/root/.hermes/profiles/sol/state.db.quarantine.lock",
"type": "file",
"category": "state_db"
},
{
"name": "triage_check.py",
"path": "/root/.hermes/profiles/sol/triage_check.py",
"type": "file",
"category": "script"
},
{
"name": "triage_profiles.py",
"path": "/root/.hermes/profiles/sol/triage_profiles.py",
"type": "file",
"category": "script"
},
{
"name": "triage_skill_report.py",
"path": "/root/.hermes/profiles/sol/triage_skill_report.py",
"type": "file",
"category": "script"
},
{
"name": "vault",
"path": "/root/.hermes/profiles/sol/vault",
"type": "dir",
"category": "vault"
},
{
"name": "verify_skills.py",
"path": "/root/.hermes/profiles/sol/verify_skills.py",
"type": "file",
"category": "script"
},
{
"name": "wizard-outputs",
"path": "/root/.hermes/profiles/sol/wizard-outputs",
"type": "dir",
"category": "extension_dir"
},
{
"name": "workspace",
"path": "/root/.hermes/profiles/sol/workspace",
"type": "dir",
"category": "extension_dir"
}
],
"rules": {
"identity": "exact name in identity set",
"soul": "exact name SOUL.md",
"config": "exact name in config set",
"state_db": "exact name in state_db set",
"cache": "exact name in cache set",
"sessions": "exact name in sessions set",
"skills": "exact name in skills set",
"plugins": "exact name in plugins set",
"logs": "exact name in logs set",
"backups": "exact name in backups set",
"vault": "exact name in vault set",
"extension_dir": "any directory",
"script": "name ends with .py",
"config_data": "name ends with .yaml or .json",
"other": "none of the above"
}
}
@@ -0,0 +1,78 @@
# Sol profile triage - 2026-10-31
Re-derived from the live profile dir /root/.hermes/profiles/sol.
Generated (UTC): 2026-10-31T21:39:56Z
Total entries on disk: 69
Category counts: {"backups": 1, "cache": 3, "config": 3, "config_data": 1, "extension_dir": 18, "identity": 2, "logs": 1, "other": 3, "plugins": 2, "script": 20, "sessions": 1, "skills": 1, "soul": 1, "state_db": 11, "vault": 1}
## Entries
- **.env** (file) -> identity
- **.env.bak-20261014T165715Z** (file) -> identity
- **.env.lock** (file) -> config
- **.skills_prompt_snapshot.json** (file) -> state_db
- **SOUL.md** (file) -> soul
- **_check_repo_json.py** (file) -> script
- **_gen_daily_ledger_json.py** (file) -> script
- **_gen_daily_ledger_report.py** (file) -> script
- **_gen_daily_triage.py** (file) -> script
- **_gen_daily_triage_fresh.py** (file) -> script
- **_verify_daily_triage.py** (file) -> script
- **audio_cache** (dir) -> cache
- **auth.json** (file) -> state_db
- **auth.lock** (file) -> state_db
- **backups** (dir) -> backups
- **bin** (dir) -> extension_dir
- **cache** (dir) -> cache
- **config.yaml** (file) -> config
- **config.yaml.bak-20261014T165715Z** (file) -> config
- **context_length_cache.yaml** (file) -> config_data
- **context_length_cache.yaml.lock** (file) -> other
- **cron** (dir) -> extension_dir
- **cron-fleet-triage-2026-10-17.py** (file) -> script
- **cron-fleet-triage-2026-10-18.py** (file) -> script
- **cron-fleet-verify.py** (file) -> script
- **diag.py** (file) -> script
- **diag2.py** (file) -> script
- **diag3.py** (file) -> script
- **diag4.py** (file) -> script
- **forge** (dir) -> extension_dir
- **gateway.lock** (file) -> other
- **gen_sol_profile_triage.py** (file) -> script
- **gen_sol_profile_triage_2026-10-31.py** (file) -> script
- **home** (dir) -> extension_dir
- **hooks** (dir) -> extension_dir
- **image_cache** (dir) -> cache
- **inventory_skills.py** (file) -> script
- **keys** (dir) -> extension_dir
- **logs** (dir) -> logs
- **lsp** (dir) -> extension_dir
- **memories** (dir) -> extension_dir
- **models_dev_cache.etag** (file) -> state_db
- **models_dev_cache.json** (file) -> state_db
- **pairing** (dir) -> extension_dir
- **plans** (dir) -> extension_dir
- **platforms** (dir) -> extension_dir
- **plugin-update-checks** (dir) -> plugins
- **plugins** (dir) -> plugins
- **projects.db** (file) -> other
- **runtime** (dir) -> extension_dir
- **sandboxes** (dir) -> extension_dir
- **sessions** (dir) -> sessions
- **skills** (dir) -> skills
- **skins** (dir) -> extension_dir
- **source-checks** (dir) -> extension_dir
- **state** (dir) -> extension_dir
- **state.db** (file) -> state_db
- **state.db-shm** (file) -> state_db
- **state.db-wal** (file) -> state_db
- **state.db.auto-maintenance.lock** (file) -> state_db
- **state.db.fts_rebuild.lock** (file) -> state_db
- **state.db.quarantine.lock** (file) -> state_db
- **triage_check.py** (file) -> script
- **triage_profiles.py** (file) -> script
- **triage_skill_report.py** (file) -> script
- **vault** (dir) -> vault
- **verify_skills.py** (file) -> script
- **wizard-outputs** (dir) -> extension_dir
- **workspace** (dir) -> extension_dir