dream-rsi
Installation
SKILL.md
dream-rsi inference
Schedule (set by the caller, not by this skill): run as a background agent on the smallest available model at an interval. The subagent reads files and returns one JSON object. It does not edit files or dispatch verbs.
Inputs:
- Storage index:
<repo>/.gm/dream-rsi/index.json(schema_version,files,record_kinds,fields), written by the guest on every persist. Read it first and resolve every Dream-RSI file name and record kind from it; the observation log, the cycle result and their fields are described there. Orchestration verbs anddream-*dispatches are not recorded. A failed record carrieserror_code(the reply's short failure code) orno_match:true(a zero-count failure, scored 0.5 and not counted as a failure); a success carries neither. - Cycle result: the
cycle_resultfile of each session named inindex.json, written by the automaticdream-replay-cycleboundary. - The gm graph:
skills/dream-rsi/gm-graph.json(nodes,edges; nodekindisprinciple,gate,tensionorterminal-- there is no phase node; edgekindisforwardorbackreference). A node is a book when itsbookis non-empty;book_indexnames each anchor book and the node that carries it. - Phase history:
.gm/turn-state.jsonphase_history. - Walk evidence:
.gm/lean-walk/<NODE>.<SESSION>.json, one subagent record per node visit (node,applied,witness); every file matching<NODE>.*.jsonis a visit of that node.
Part A: verb strategy
- Read every observation file. Count records. If there are fewer than
MIN_NEW_OBSERVATIONSacross all sessions, return anInsufficientfor Part A. - Per verb, compute count, failure rate (
exit_code != 0), gate-drift rate, and meanquality. - Treat
qualitywith caution.qualitycan reflect the open PRD/unknown backlog rather than the dispatch outcome. Rank by failure rate weighted by count, not byquality. - Some non-zero exits are valid answers, not failures. A
grepexit 1 with no matches is a no-match result. Classify each failure by the record'serror_codefield; ano_match:truerecord is an answer, not a failure. A failed record with neither isunclassified, because its reply is pruned from.gm/exec-spool/outand cannot be recovered. The agent shall not propose a change for a verb until its failure exits are shown to be real errors. A verb whose failures are all unclassified gets no proposal and is counted inunclassified_failures. - Read the open rows in
.gm/prd/(legacy single file.gm/prd.yml, read only during migration). Drop a candidate when an open row already names its verb and the same change. - For up to
MAX_PART_A_PROPOSALScandidates, write one proposal with the verb, the change, the counts and rates as evidence, and a measurable target on the same log. A change is executable: code, a config value or a verb contract. The paper found that directional prose hints do worse than no hint at equal budget, so a proposal that only adds guidance prose is refused.