Soverbrain Exporter
Tiny companion VS Code extension for one job: steal ephemeral Copilot Chat request bytes and publish immutable spool bundles.
By default, the recorder uses ~/.soverbrain/spool and auto-starts when the extension activates.
Current behavior
The extension is a capture-side producer only. It does not ingest, normalize, or dedupe across recorder runs.
The command Soverbrain: Export Copilot Artifacts:
- activates GitHub Copilot Chat
- asks for a spool root
- exports replay JSON into scratch state
- finds the latest completed request in that replay
- snapshots
ccreq:<id>.copilotmd, ccreq:<id>.json, and ccreq:<id>.request.json
- publishes one immutable bundle into the spool
The command Soverbrain: Start Continuous Recorder:
- activates GitHub Copilot Chat
- uses the configured spool root and polling interval
- mints a fresh per-run producer id
- repeatedly exports replay JSON into scratch state
- parses completed request ids from the bounded replay window
- publishes bundles only for request ids not yet seen in the current run
The command Soverbrain: Stop Continuous Recorder stops polling.
Spool layout
The spool root contains:
tmp/
ingest/
claimed/
quarantine/
done/
.state/
Published bundles are sharded by producer run id:
<spool-root>/ingest/<producer-run-id>/<capture-id>/
manifest.json
payload/
<request-id>.request.json
<request-id>.json
<request-id>.copilotmd
replay.chatreplay.json
Why this shape
This deliberately leans on existing Copilot Chat export/debug surfaces instead of reimplementing request assembly, and stops at the spool boundary so the real ingestion pipeline can live elsewhere.
Configuration
The extension exposes machine-scoped settings:
soverbrain.spoolRoot
- default:
~/.soverbrain/spool
soverbrain.autoStartRecorder
soverbrain.pollIntervalMs
How to try it
- Open the
extensions/soverbrain-exporter folder as a VS Code workspace folder.
- Run
yarn install.
- Run
yarn compile.
- Optionally run
yarn bundle to produce an installable .vsix package.
- Start an Extension Development Host.
- In that dev host, install/sign into GitHub Copilot Chat if needed.
- Make at least one Copilot Chat request.
- The recorder should auto-start, or you can run
Soverbrain: Start Continuous Recorder / Soverbrain: Export Copilot Artifacts manually.
Important caveats
- This is a first capture prototype, not a hardened archive pipeline.
- Replay export appears to skip some untokened/orphan log entries, so it should not yet be treated as a perfectly exhaustive ledger.
- The extension assumes Copilot Chat still exposes the debug/export command ids and
ccreq virtual document scheme found in upstream source.
- Continuous mode uses polling rather than an internal event hook.
- Within-run dedupe lives only in memory; cross-run semantic dedupe is intentionally deferred to the downstream ingester.