Goal
Add an adapter so watchmen captures Hermes agent sessions alongside the other supported agents. One corpus across tools.
Adapter contract
Per src/watchmen/adapters/init.py, a new adapter is a module exposing:
- NAME: str
- discover() -> Iterable[FileEntry] (walk the install path, yield sessions; return [] when the Hermes agent isn't installed)
- scan(entry) -> (session_dict, prompts, tool_calls)
It registers in the ADAPTERS tuple. claude_code / codex are the cleanest references for a JSONL-on-disk source; cursor.py is the reference for a SQLite key-value store.
Open questions (resolve before coding)
Acceptance criteria
Note: target + storage format are unconfirmed; first task is to pin both down before writing the parser.
Goal
Add an adapter so watchmen captures Hermes agent sessions alongside the other supported agents. One corpus across tools.
Adapter contract
Per src/watchmen/adapters/init.py, a new adapter is a module exposing:
It registers in the ADAPTERS tuple. claude_code / codex are the cleanest references for a JSONL-on-disk source; cursor.py is the reference for a SQLite key-value store.
Open questions (resolve before coding)
Acceptance criteria
Note: target + storage format are unconfirmed; first task is to pin both down before writing the parser.