Three explicit input modes
Ordered Rule[] accepts an array of objects containing only action, resource and effect. It preserves array order. Session and saved layers begin unknown. The initial request is an editable synthetic placeholder, not a captured action.
Resolved debug agents array accepts the native JSON array whose entries have an id and permissions. Select one agent. Only its ID label and rule array are used; other agent data is discarded. The website does not run the debug command or connect to its server.
RuleSpool scenario / review restores both rule snapshots and the request set. The source pin must match. Stored observations are not trusted: the browser computes them again from the supplied inputs.
What will not be guessed
Raw opencode.json or JSONC configuration roots are not treated as resolved state. Comments are not accepted by the JSON importer. Home-directory placeholders are not expanded; an unexpanded path pattern produces a visible note. Filesystem case, symlinks and shell scanner output cannot be recovered from an arbitrary pasted command.
The input limit is 512 KiB. A review supports at most 120 total rules per snapshot, 30 cases, 16 resources per case, 512 UTF-16 units per resource or resource pattern and 128 per action. A deterministic wildcard-work budget can reject a particularly costly set. Such a refusal is not an ask or deny result; the previous valid review stays intact.
Review before exporting
- Select each case and inspect its resources.
- Move, add, delete or edit draft rules. The original snapshot is retained.
- Open Review changes to compare both snapshots on the same cases and platform.
- Choose expected effects for useful regression assertions.
- Explicitly include your strings, then download the replay ZIP.
Run the downloaded artifact
node replay.mjsUse Node.js 20 or newer in the extracted directory. The package includes the engine, original and draft inputs, observations and upstream license. It needs no package installation or network. It checks reproduction and expected-effect assertions. A failed assertion yields a nonzero exit even when the recomputed observation matches the exported one.
The package is a local analysis artifact. It neither updates OpenCode configuration nor executes any imported command. Pattern and request strings are included without automatic redaction; review them before sharing.