summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/greeneye
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 12:41:52 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 12:41:52 -0400
commit14cf2aa59c44a50f9a108b93d58c7cecab17d45f (patch)
tree92076b380791fe650cad54bbd1ca7f4e33c85c35 /debug/risc-v-gsp-rm-vm/greeneye
parent1c99bfbeffff04529f6f669601fdf835a73778da (diff)
downloadopen-iov-14cf2aa59c44a50f9a108b93d58c7cecab17d45f.tar.gz
open-iov-14cf2aa59c44a50f9a108b93d58c7cecab17d45f.zip
debug: risc-v-gsp-rm-debugger final pass - remove in-development notices, complete rename, adversarial-review fixes
Remove the '# TOOL IN DEVELOPMENT - NOT READY YET!' notices from the tool docs/README/scripts and the project docs; record the removal (2026-10-02) against the tool audit (debug/risc-v-gsp-rm-vm/docs/27-TOOL-AUDIT.md), the 194-test suite and the value-validation demos (docs/25-VALUE-VALIDATION.md). Complete the cosmetic rename to risc-v-gsp-rm-debugger in user-facing prose and commands (launcher, roadmap, docs); internal greeneye package and code identifiers unchanged. Adversarial-review fixes: deterministic control-discovery sweep (flaky test root-caused), UUID session dirs + atomic JSON writes for concurrent runs, Ghidra bridge loopback enforcement and clean shutdown, fp register restore in Session.call, version_diff --dry-run, 30 s interrupt budget, dry-run non-destructiveness verified. Docs: flag-removal records, link fixes, command/flag corrections (fdematch arity, port_new_device --out, trace filename), F2 orchestration note in future-eng-ops; STATE-CURRENT status refreshed.
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/greeneye')
-rw-r--r--debug/risc-v-gsp-rm-vm/greeneye/record.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/debug/risc-v-gsp-rm-vm/greeneye/record.py b/debug/risc-v-gsp-rm-vm/greeneye/record.py
index 91c7fb5..b02de26 100644
--- a/debug/risc-v-gsp-rm-vm/greeneye/record.py
+++ b/debug/risc-v-gsp-rm-vm/greeneye/record.py
@@ -11,6 +11,7 @@ from __future__ import annotations
import json
import os
import time
+import uuid
import zlib
FORMAT = "greeneye-session/1"
@@ -49,8 +50,12 @@ class Recorder:
@classmethod
def new(cls, *, base: str | None = None, name: str = "session", meta: dict | None = None) -> "Recorder":
base = base or os.environ.get("GREENEYE_DUMPS") or os.path.join(os.getcwd(), "dumps")
+ os.makedirs(base, exist_ok=True)
stamp = time.strftime("%Y%m%d-%H%M%S")
- return cls(os.path.join(base, f"{stamp}-{name}"), name=name, meta=meta)
+ # A unique infix keeps concurrent sessions (tests, agents, CLI runs)
+ # from sharing one events.jsonl while the name stays the final suffix.
+ unique = uuid.uuid4().hex[:8]
+ return cls(os.path.join(base, f"{stamp}-{unique}-{name}"), name=name, meta=meta)
# -- writing -----------------------------------------------------------