feat(sleep): marketplace manifest, install docs, final report shell, sweep flush

- skillopt-sleep-plugin/.claude-plugin/marketplace.json so the plugin is
  installable via `/plugin marketplace add ./skillopt-sleep-plugin`.
- README install section (clone -> add marketplace -> install -> /sleep status).
- docs/sleep/FINAL_REPORT.md: the consolidated presented results doc (real
  Claude+Codex, transfer, and the honest thorough-analyst failure + fix).
- sweep.py flushes stdout for live monitoring.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This commit is contained in:
Yifan Yang
2026-06-08 14:31:51 +00:00
parent a0419bfdbb
commit 233b619555
4 changed files with 182 additions and 2 deletions
+2 -2
View File
@@ -132,13 +132,13 @@ def main(argv=None) -> int:
if key in done:
print(f"[sweep] ({i}/{len(plan)}) skip (done): {cfg}")
continue
print(f"[sweep] ({i}/{len(plan)}) running: {cfg}")
print(f"[sweep] ({i}/{len(plan)}) running: {cfg}", flush=True)
try:
row = run_one(cfg, data_root, args.codex_path, args.limit_replay, args.limit_holdout)
except Exception as e: # never let one config kill the sweep
row = {"cfg": cfg, "cfg_key": key, "error": f"{type(e).__name__}: {e}"}
_append(args.out, row)
print(f"[sweep] -> {json.dumps({k: v for k, v in row.items() if k not in ('cfg','cfg_key')})}")
print(f"[sweep] -> {json.dumps({k: v for k, v in row.items() if k not in ('cfg','cfg_key')})}", flush=True)
print(f"[sweep] done. rows in {args.out}: {len(_load_done(args.out))}")
return 0