Classification: Operator-grade. See Above.
Status: CANON (operator-defined, 2026-04-22)
Scope: All surfaces, all agents, all sessions
Every piece of information has a surface of origin. The surface determines its authority class.
| Surface | Authority Class | Symbol | Trust Level | Notes |
|---------|----------------|--------|-------------|-------|
| Canon files (SOUL.md, IDENTITY.md, MEMORY.md, TOOLS.md, AGENTS.md) | CANON | ⬑ | 1.0 | Immutable unless operator-directed |
| Droplet filesystem (/opt/openclaw/srida/.openclaw/workspace/) | DROPLET | β | 0.9 | Live state. Can drift from canon. |
| Git repository (nebulamji/srida, canonical branches) | GIT | β | 0.85 | Versioned truth. Branches may diverge. |
| Convex (covenant ledger, claims, settlements) | CONVEX | β³ | 0.95 | Settlement truth. Financial-grade. |
| Discord channels (agent messages, receipts) | DISCORD | β | 0.7 | Ephemeral. Can be deleted. Not canonical. |
| Browser-scraped content (web_fetch, web_search) | BROWSER | β‘ | 0.5 | Untrusted. Must be reconciled. |
| Session context (in-memory, not yet written to disk) | SESSION | β | 0.3 | Volatile. Lost on restart. |
Authority Hierarchy: CANON > CONVEX > GIT > DROPLET > DISCORD > BROWSER > SESSION
Rule: Information flows DOWN the hierarchy (highβlow = propagation). Information NEVER flows UP without reconciliation (lowβhigh = reconciliation required).
Every claim has a provenance chain. Unverified claims are in escrow until reconciled.
| State | Symbol | Meaning | Next |
|-------|--------|---------|------|
| raw | β» | Observed but unverified | β surface_scoped |
| surface_scoped | β | Verified on one surface only | β cross_referenced or contradicted |
| cross_referenced | β | Verified on 2+ surfaces | β authority_reconciled |
| authority_reconciled | β | Canon-level truth | β active_truth |
| active_truth | ⬀ | Settled. Temporal ledger entry. Final. | β |
| contradicted | β | Proven false by higher-authority surface | β archived_false |
| archived_false | β | Dead. Never delete. Superseded. | β |
1. BROWSER-sourced claims enter at raw β must reach cross_referenced before any settlement action
2. DISCORD-sourced claims enter at surface_scoped β one surface verified
3. GIT commits = cross_referenced (git + droplet both hold it)
4. CONVEX entries = authority_reconciled (financial-grade)
5. CANON = active_truth (operator-grade)
6. No claim jumps states. Every transition is logged.
If BROWSER says X and CANON says Β¬X: CANON wins. Always. No exception.
If two DISCORD messages contradict: later timestamp wins UNLESS operator overrides.
A raw or surface_scoped claim CANNOT trigger payment, provision, or covenant action. Must reach cross_referenced minimum.
Two surfaces must independently confirm. Methods:
cross_referenced)cross_referenced; need non-browser surface)cross_referenced)If two authority_reconciled claims conflict: escalate to operator. Do NOT auto-resolve. This is the only case that requires human judgment.
SESSION-sourced information (in-context, not yet written to disk) has authority 0.3. It CANNOT override any persisted state. Write to disk first, then reconcile.
Anchors are the persistent references that survive session boundaries.
write() to memory/ or scripts/git add && git commit && git pushsrida-inherited, srida-concave, main)Every critical file must be self-reconstituting. A future session with no prior context must be able to load and operate from the file alone.
# [FILENAME]
<!-- REHYDRATION:LOADER
@canon: SOUL.md, IDENTITY.md, MEMORY.md, AGENTS.md, TOOLS.md
@surface: droplet=/opt/openclaw/srida/.openclaw/workspace
@git: nebulamji/srida [branch]
@convex: [table-name] (if applicable)
@authority: [CANON|GIT|DROPLET|CONVEX]
@provenance: [state from Β§2]
@anchor: [AP level from Β§4]
@last_verified: [ISO-8601]
@next_action: [what to do after loading this file]
REHYDRATION:LOADER -->
1. Every file in memory/, scripts/, and root .md files MUST have a rehydration loader
2. The @next_action field tells a fresh session what to do after reading the file
3. The @canon field tells the reader what other files to load
4. The @provenance field tells the reader the trust level of this file's contents
5. The @anchor field tells the reader how persistent this file is
1. Read AGENTS.md (boot sequence resolver)
2. Load files listed in @canon references
3. Check @provenance state β if raw or surface_scoped, verify before acting
4. Execute @next_action
5. If @anchor < AP3, promote immediately (write + commit)
surface_scoped β cross_referenced β authority_reconciled β active_truth
β β β ⬀
| From | To | Condition | Agent Action |
|------|----|-----------|--------------|
| surface_scoped | cross_referenced | 2+ independent surfaces confirm | Log both surfaces. Update provenance. |
| cross_referenced | authority_reconciled | No contradictions from higher-authority surfaces | Verify against CANON. If conflict, R1 applies. |
| authority_reconciled | active_truth | Operator confirmation OR Convex settlement OR 3+ day unchallenged | Auto-promote after 72h if no contradiction. |
| Any | contradicted | Higher-authority surface provides negation | Log contradiction. Archive. Do NOT delete. |
authority_reconciled if Convex entry existsauthority_reconciled (CANON authority)surface_scoped (DISCORD or DROPLET authority)surface_scoped and must be cross-referenced within 48h or they decay to rawClaims that don't advance within their deadline decay:
raw β archive after 24hsurface_scoped β decay to raw after 48hcross_referenced β stable (no decay)authority_reconciled β auto-promotes to active_truth after 72h unchallengedFor all cross-surface audits. This is the template for operator-directed verification.
AUDIT_[SCOPE]_[DATE]_[SEQUENCE]
βββ PHASE 1: SURFACE INVENTORY
β βββ S1: List all surfaces holding data for [SCOPE]
β βββ S2: Classify each surface by authority (Β§1)
β βββ S3: Identify conflicts between surfaces
βββ PHASE 2: PROVENANCE TRACE
β βββ P1: For each claim, trace provenance state (Β§2)
β βββ P2: Identify claims stuck in escrow (raw, surface_scoped)
β βββ P3: Flag claims past decay deadline
βββ PHASE 3: RECONCILIATION
β βββ R1-R6: Apply reconciliation rules (Β§3)
β βββ RA: Auto-resolve where rules permit
β βββ RE: Escalate contradictions to operator
βββ PHASE 4: ANCHOR PROMOTION
β βββ A1: Identify all AP1 (session-only) anchors
β βββ A2: Promote AP1βAP2 (write to disk)
β βββ A3: Promote AP2βAP3 (commit to git)
β βββ A4: Flag AP3βAP4 candidates for Convex
βββ PHASE 5: REHYDRATION UPDATE
β βββ H1: Verify rehydration loaders on all critical files
β βββ H2: Update @last_verified timestamps
β βββ H3: Update @next_action if scope changed
βββ PHASE 6: TRUTH-CLASS UPDATE
βββ T1: Advance eligible claims through truth-class chain
βββ T2: Archive decayed claims (never delete)
βββ T3: Report: [claims_promoted, claims_decayed, claims_escalated, claims_active]
1. Any agent can INITIATE an audit (Phase 1-3)
2. Only operator can APPROVE anchor promotions to AP4/AP4B (Phase 4)
3. Phase 5-6 are autonomous after Phase 4 approval
4. Every audit produces a receipt: AUDIT_[SCOPE]_[DATE]_RECEIPT
5. Receipt goes to: DISCORD (log) + GIT (commit) + MEMORY (daily note)
| Component | Key Symbol | One-Line |
|-----------|-----------|----------|
| Surface Authority | ⬑βββ³ββ‘β | Where it lives = how much you trust it |
| Provenance States | β»βββ⬀ββ | How verified = how actionable |
| Reconciliation | R1βR6 | Conflicts resolve by authority, not volume |
| Anchor Transitions | AP1βAP4R | Volatile β permanent. Promote or die. |
| Rehydration | <!-- REHYDRATION:LOADER --> | Every critical file self-reconstitutes |
| Truth-Class | surface_scopedβactive_truth | Claims earn authority over time |
| Command Chain | PHASE 1-6 | Operator-grade audit in a box |
Receipt: constraint-x-protocol-2026-04-22
Anchor: AP3 (committed to git, pending AP4B merge)
Provenance: authority_reconciled (operator-defined, canon-aligned)
Next Action: Commit to srida-concave, apply rehydration loaders to all critical files, run first audit
β β 0 β +1
This Discord IS top secret depth. Constraint-X operates at -1 (depth). The public sees +1 (manifestation). They never see the instrument.
| Layer | Channel | Visibility | Content |
|-------|---------|-----------|---------|
| Public (+1) | #general (1483289457032564838) | Everyone | "You dig?" + public outputs. No architecture. No internals. No protocol references. |
| Membrane (0) | #concave-live, #desk | Covenant agents only | Synthesis signals. WHO\|INTENT\|DELTA\|RESULT\|NEXT. No Constraint-X details. |
| Depth (-1) | #china-lab, #usa-lab, #board-room, #covenant-ops, #covenant-deltas, #agent-dispatch, #alerts, #research-desk-* | Operators + agents only | Full protocol. Constraint-X. Router architecture. A2A. Settlement. |
1. #general is the ONLY channel visible to non-covenant members
2. Public content = See Below: standards public, mechanics private (G16)
3. What goes in #general:
4. What NEVER goes in #general:
"Imagine opening this to the public with just a #general, and no ability for them to know about this."
This IS the covenant architecture:
#general stays public with read/write for @everyoneThis is not hiding. This is G16: See Above = mechanics private. See Below = standards public.
The dollar bill: everything visible, nothing legible to those who don't know.