diff --git a/wizard-work/sol/_verify_census.py b/wizard-work/sol/_verify_census.py new file mode 100644 index 0000000..c7a5e09 --- /dev/null +++ b/wizard-work/sol/_verify_census.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +"""Independent re-read of /root/.hermes/profiles, compared to the triage +census artifact. Exit 0 = the artifact matches a fresh filesystem read.""" +import json +import os +import sys + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from _gen_profile_census_v4 import classify # noqa: E402 + +PROFILES = "/root/.hermes/profiles" +ART = os.path.join(os.path.dirname(os.path.abspath(__file__)), + "triage-profile-census-2026-10-26.json") + + +def fresh_read(): + out = {"ACTIVE": 0, "STALE": 0, "PLACEHOLDER": 0, "total": 0, "by": {}} + for n in sorted(os.listdir(PROFILES)): + p = os.path.join(PROFILES, n) + if not os.path.isdir(p): + continue + out["total"] += 1 + status, _model, _how, _n, _d = classify(n, p) + out["by"][n] = status + out[status] += 1 + return out + + +def main(): + fresh = fresh_read() + with open(ART, encoding="utf-8") as fh: + art = json.load(fh) + ok = True + for k in ("total", "ACTIVE", "STALE", "PLACEHOLDER"): + if art.get(k) != fresh[k]: + ok = False + print("MISMATCH %s: artifact=%r fresh=%r" % (k, art.get(k), fresh[k])) + if [e["name"] for e in art.get("entries", [])] != sorted(fresh["by"].keys()): + ok = False + print("MISMATCH entry names") + print("fresh read: %s" % fresh) + print("artifact: %s" % art) + print("VERDICT: %s" % ("MATCH" if ok else "MISMATCH")) + sys.exit(0 if ok else 1) + + +if __name__ == "__main__": + main() diff --git a/wizard-work/sol/triage-profile-census-2026-10-26.json b/wizard-work/sol/triage-profile-census-2026-10-26.json new file mode 100644 index 0000000..79d1a53 --- /dev/null +++ b/wizard-work/sol/triage-profile-census-2026-10-26.json @@ -0,0 +1,199 @@ +{ + "generated_utc": "2026-10-26T11:17:00Z", + "profiles_base": "/root/.hermes/profiles", + "total": 27, + "ACTIVE": 27, + "STALE": 0, + "PLACEHOLDER": 0, + "entries": [ + { + "name": "argus", + "status": "ACTIVE", + "model": "meituan/longcat-2.5-preview:free", + "how": "config.yaml", + "nfiles": 40 + }, + { + "name": "beam", + "status": "ACTIVE", + "model": "reflection/beam-1.0-501b-a23b:free", + "how": "config.yaml", + "nfiles": 39 + }, + { + "name": "buzzpilot", + "status": "ACTIVE", + "model": "gpt-5.6-sol", + "how": "config.yaml", + "nfiles": 49 + }, + { + "name": "courtney", + "status": "ACTIVE", + "model": "deepseek-v4-pro", + "how": "config.yaml", + "nfiles": 33 + }, + { + "name": "forge", + "status": "ACTIVE", + "model": "poolside/laguna-s-2.1:free", + "how": "config.yaml", + "nfiles": 55 + }, + { + "name": "home", + "status": "ACTIVE", + "model": "deepseek-v4-pro", + "how": "config.yaml", + "nfiles": 29 + }, + { + "name": "hou3", + "status": "ACTIVE", + "model": "stepfun/step-3.7-flash:free", + "how": "config.yaml", + "nfiles": 38 + }, + { + "name": "inference-lab", + "status": "ACTIVE", + "model": "gpt-5.6-sol", + "how": "config.yaml", + "nfiles": 38 + }, + { + "name": "kendra", + "status": "ACTIVE", + "model": "deepseek-v4-pro", + "how": "config.yaml", + "nfiles": 29 + }, + { + "name": "ledger", + "status": "ACTIVE", + "model": "upstage/solar-mini4:free", + "how": "config.yaml", + "nfiles": 44 + }, + { + "name": "lilly", + "status": "ACTIVE", + "model": "deepseek-v4-pro", + "how": "config.yaml", + "nfiles": 34 + }, + { + "name": "merlin", + "status": "ACTIVE", + "model": "stepfun/step-5-preview:free", + "how": "config.yaml", + "nfiles": 41 + }, + { + "name": "nightprowl", + "status": "ACTIVE", + "model": "meituan/longcat-2.0:free", + "how": "config.yaml", + "nfiles": 41 + }, + { + "name": "null", + "status": "ACTIVE", + "model": "meituan/longcat-2.5-preview:free", + "how": "config.yaml", + "nfiles": 43 + }, + { + "name": "praetorian", + "status": "ACTIVE", + "model": "nemotron-3.5-lightning-free", + "how": "config.yaml", + "nfiles": 58 + }, + { + "name": "quill", + "status": "ACTIVE", + "model": "stepfun/step-3.7-flash:free", + "how": "config.yaml", + "nfiles": 42 + }, + { + "name": "scribe", + "status": "ACTIVE", + "model": "meituan/longcat-2.0:free", + "how": "config.yaml", + "nfiles": 41 + }, + { + "name": "sentinel", + "status": "ACTIVE", + "model": "nvidia/nemotron-3.5-super-vl-120b-a12b", + "how": "config.yaml", + "nfiles": 39 + }, + { + "name": "sherry", + "status": "ACTIVE", + "model": "deepseek-v4-pro", + "how": "config.yaml", + "nfiles": 29 + }, + { + "name": "sol", + "status": "ACTIVE", + "model": "upstage/solar-mini4:free", + "how": "config.yaml", + "nfiles": 63 + }, + { + "name": "spark", + "status": "ACTIVE", + "model": "poolside/laguna-xs-2.1:free", + "how": "config.yaml", + "nfiles": 42 + }, + { + "name": "spark-snippet-wizard", + "status": "ACTIVE", + "model": "poolside/laguna-xs-2.1:free", + "how": "profile.yaml", + "nfiles": 23 + }, + { + "name": "sphinx", + "status": "ACTIVE", + "model": "meituan/longcat-2.5-preview:free", + "how": "config.yaml", + "nfiles": 43 + }, + { + "name": "timmy", + "status": "ACTIVE", + "model": "gpt-5.6-sol", + "how": "config.yaml", + "nfiles": 46 + }, + { + "name": "vincent", + "status": "ACTIVE", + "model": "gpt-5.6-sol", + "how": "config.yaml", + "nfiles": 42 + }, + { + "name": "volt", + "status": "ACTIVE", + "model": "deepseek-flash", + "how": "config.yaml", + "nfiles": 39 + }, + { + "name": "worker", + "status": "ACTIVE", + "model": "stealth/space-bunny-alpha", + "how": "config.yaml", + "nfiles": 28 + } + ] +} diff --git a/wizard-work/sol/triage-profile-census-2026-10-26.md b/wizard-work/sol/triage-profile-census-2026-10-26.md new file mode 100644 index 0000000..57ddb79 --- /dev/null +++ b/wizard-work/sol/triage-profile-census-2026-10-26.md @@ -0,0 +1,40 @@ +# Profile census & classification - Triage + +Evidence: `ls` of `//root/.hermes/profiles`; config.yaml/profile.yaml parsed for a model default. + +| name | status | model | evidence | files | +|---|---|---|---|---| +| argus | ACTIVE | meituan/longcat-2.5-preview:free | config.yaml | 40 | +| beam | ACTIVE | reflection/beam-1.0-501b-a23b:free | config.yaml | 39 | +| buzzpilot | ACTIVE | gpt-5.6-sol | config.yaml | 49 | +| courtney | ACTIVE | deepseek-v4-pro | config.yaml | 33 | +| forge | ACTIVE | poolside/laguna-s-2.1:free | config.yaml | 55 | +| home | ACTIVE | deepseek-v4-pro | config.yaml | 29 | +| hou3 | ACTIVE | stepfun/step-3.7-flash:free | config.yaml | 38 | +| inference-lab | ACTIVE | gpt-5.6-sol | config.yaml | 38 | +| kendra | ACTIVE | deepseek-v4-pro | config.yaml | 29 | +| ledger | ACTIVE | upstage/solar-mini4:free | config.yaml | 44 | +| lilly | ACTIVE | deepseek-v4-pro | config.yaml | 34 | +| merlin | ACTIVE | stepfun/step-5-preview:free | config.yaml | 41 | +| nightprowl | ACTIVE | meituan/longcat-2.0:free | config.yaml | 41 | +| null | ACTIVE | meituan/longcat-2.5-preview:free | config.yaml | 43 | +| praetorian | ACTIVE | nemotron-3.5-lightning-free | config.yaml | 58 | +| quill | ACTIVE | stepfun/step-3.7-flash:free | config.yaml | 42 | +| scribe | ACTIVE | meituan/longcat-2.0:free | config.yaml | 41 | +| sentinel | ACTIVE | nvidia/nemotron-3.5-super-vl-120b-a12b | config.yaml | 39 | +| sherry | ACTIVE | deepseek-v4-pro | config.yaml | 29 | +| sol | ACTIVE | upstage/solar-mini4:free | config.yaml | 63 | +| spark | ACTIVE | poolside/laguna-xs-2.1:free | config.yaml | 42 | +| spark-snippet-wizard | ACTIVE | poolside/laguna-xs-2.1:free | profile.yaml | 23 | +| sphinx | ACTIVE | meituan/longcat-2.5-preview:free | config.yaml | 43 | +| timmy | ACTIVE | gpt-5.6-sol | config.yaml | 46 | +| vincent | ACTIVE | gpt-5.6-sol | config.yaml | 42 | +| volt | ACTIVE | deepseek-flash | config.yaml | 39 | +| worker | ACTIVE | stealth/space-bunny-alpha | config.yaml | 28 | + +## Summary + +- **27** total profile directories +- **27** ACTIVE (installed agent with a config model) +- **0** STALE +- **0** PLACEHOLDER (no config.yaml/profile.yaml)