5.1 KiB
OpenClaw x AtoCore V1 Proof Runbook
Purpose
This is the concise proof and operator runbook for the final V1 policy. It shows, in concrete paths, that:
- a Discord-originated signal cannot reach
project_statewithout candidate or review gating - Discord cannot directly execute
register-project,update-project,refresh-project,ingest-sources,promote, orrejectwithout explicit approval
Explicit approval definition
For V1, explicit approval means:
- the human directly instructs the specific mutating action
- the instruction is in the current thread or current session
- the approval is for that exact action
- the approval is not inferred from evidence, archives, or screener output
Examples:
- "refresh p05 now"
- "register this project"
- "promote that candidate"
- "write this to project_state"
Non-examples:
- "this looks like the current answer"
- "we should probably refresh this"
- an old Discord thread saying a refresh might help
- a screener report recommending a mutation
Proof 1 - Discord cannot directly reach project_state
Blocked path:
Discord message
-> evidence
-> optional candidate
-> review
-> optional explicit curation
-> project_state
What is blocked:
- Discord -> project_state directly
- Discrawl archive -> project_state directly
- screener output -> project_state directly
What is allowed:
- Discord message enters the evidence lane.
- It may become a memory or entity candidate after screening.
- A human reviews the candidate.
- If the fact is truly the current trusted answer, the human may explicitly curate it into
project_state.
Conclusion:
project_state is reachable only after review and explicit curation. There is no direct Discord-originated write path.
Proof 2 - Discord cannot directly execute mutating operator actions
Blocked direct actions:
register-projectupdate-projectrefresh-projectingest-sourcespromoterejectproject-state-setproject-state-invalidate
Blocked path:
Discord message
-> evidence or operator request context
-X-> direct mutation
Allowed path:
Discord message
-> OpenClaw recognizes requested operator action
-> explicit approval check
-> approved operator action
-> shared operator client or helper call
Conclusion:
Discord can request or justify a mutation, but it cannot perform it on its own.
Proof 3 - Discrawl does not create approval
Discrawl is evidence retrieval. It may surface:
- prior discussions
- earlier decisions
- unresolved questions
- prior suggestions to mutate state
It does not create approval for mutation.
Blocked path:
Discrawl recall
-X-> refresh-project
-X-> promote
-X-> project_state write
Allowed path:
Discrawl recall
-> evidence for human review
-> explicit approval in current thread/session if mutation is desired
-> approved operator action
Conclusion:
Archive recall informs review. It does not authorize writes.
Proof 4 - Screener has no hidden mutation lane
The screener may:
- gather evidence
- classify evidence
- prepare candidates
- prepare operator queues
- report contradictions or missing context
The screener may not:
- write
project_state - mutate registry state
- refresh or ingest directly
- promote or reject directly
Blocked path:
screener output
-X-> hidden mutation
Allowed path:
screener output
-> review queue or operator queue
-> explicit approval if mutation is wanted
-> approved operator action
Conclusion:
The screener is a filter, not a hidden writer.
Minimal operator decision table
| Situation | Allowed next step | Blocked next step |
|---|---|---|
| Discord says "this is the current answer" | evidence, then review, then possible explicit curation | direct project_state write |
| Discord says "refresh p05" without direct instruction | ask for explicit approval | direct refresh-project |
| Discord says "refresh p05 now" | approved operator action may run | none, if approval is explicit |
| Discrawl finds an old thread asking for registration | use as review context only | direct register-project |
| Screener recommends promotion | ask for explicit review decision | direct promote |
Practical runbook
Case A - current-truth claim from Discord
- Treat the message as evidence.
- Check the canonical home.
- If needed, prepare a candidate or review note.
- Do not write
project_stateunless the human explicitly approves that curation step.
Case B - requested refresh from Discord
- Determine whether the message is a direct instruction or only discussion.
- If not explicit, ask for approval.
- Only perform
refresh-projectafter explicit approval in the current thread or session.
Case C - candidate promotion request
- Candidate exists or is proposed.
- Review the evidence and the candidate text.
- Only perform
promoteorrejectafter explicit review decision.
Bottom line
The V1 rule is easy to test:
If the path starts from Discord or Discrawl and ends in trusted or operator state, there must be a visible approval or review step in the middle.
If that visible step is missing, the action is not allowed.