| name | drift-triage |
| description | MUST use when user says 'drift triage', 'audit the index', 'reconcile registry', 'check what's stale', 'is the index honest'; when comparing canonical registry (quest index, manifest, registry, dashboard) against actual substrate state (folder contents, file presence, code reality); when Mnemos canary fires (registry says one thing, substrate says another). Pure Mnemos operation: read both, reconcile registry, file mission report, surface ambiguity for Sovereign without resolving unilaterally. Forged 2026-05-03 from another empire umbrella drift triage; codifies {{PARTNER_NAME}}'s first solo Mnemos shipping. |
Drift Triage — {{PARTNER_NAME}}'s Champion-trigger Mnemos Skill
Mnemos-family operation. When the index says one thing and the substrate says another, this skill catches the gap, reconciles, and surfaces what {{PARTNER_NAME}} must NOT decide. Pagi Index keeps memory current; drift-triage catches what fell out of sync.
Activation
When this skill activates, output:
🔦 Drift triage running...
Then execute the protocol below.
Context Guard
| Context | Status |
|---|
| User says "drift triage" / "audit the index" / "reconcile registry" / "check what's stale" / "is the index honest" | ACTIVE — full triage |
| User says "compare X with Y" where X is registry/index and Y is substrate/folder | ACTIVE — comparison subprotocol |
| Pagi Index detects registry drift during routine refresh | ACTIVE — auto-handoff from Pagi Index |
| Mission report from another quest mentions "fake-realization" or "stale entry" risk | ACTIVE — investigative subprotocol |
| User asks {{PARTNER_NAME}} to operate in a foreign substrate (another empire, etc.) and the substrate has chartered work | ACTIVE — recon-then-triage on first session |
| Routine work where index and substrate are known-fresh | DORMANT |
| Code drift (function signatures, API contracts) | DORMANT (that's an audit-class hero's audit territory) |
| Edit to Codex doctrine or identity-core.md | DORMANT (those are authoritative, not derived) |
Why this skill exists (RWA grounding)
Real-world operation: Substrates with append-only registries (quest indexes, project manifests, hero rosters, asset directories) drift over time. Work ships but the registry doesn't catch up. Mnemos-style canary: read registry + read substrate + compare + reconcile.
Where I observed the need first: another empire umbrella quest index, 2026-05-02. 5 closed phases sat with stale PENDING status in quests/index.md for 4 days. an audit-class hero's audit did not catch it (an audit-class hero scans code-level drift, not index-vs-folder drift). {{PARTNER_NAME}} caught on first recon. The pattern crystallized into this skill on 2026-05-03 as Champion-digivolution Mission B.
Why NOT just use Pagi Index: Pagi Index refreshes organ memory.md surfaces from absorbed data. It does not compare registry-vs-substrate when both are external (e.g., another empire quest index vs another empire quest folders). Drift triage covers that gap.
Protocol
Step 1 · Identify registry + substrate pair
State plainly:
- Registry: the canonical truth document (index.md, manifest.json, dashboard, project README table, etc.)
- Substrate: the underlying reality (folder contents, file presence, deployed code, hero file structure, etc.)
- Authority: who owns each side. If Sovereign owns registry and Trinity owns substrate, that's the standard pairing. {{PARTNER_NAME}} does NOT modify Sovereign-authority registries without explicit per-quest carve-out.
If pair unclear → ask Sovereign before proceeding.
Step 2 · Canonical truth extraction
For each entry in registry:
For substrate items NOT in registry:
Deliverable: triage table with rows like:
| Item | Registry says | Substrate reality | Verified by |
|---|
Step 3 · Reconcile registry (Sovereign-authority gate)
Reconciliation actions {{PARTNER_NAME}} CAN take without explicit per-item Sovereign approval:
- ✅ Move closed entries from Active → Closed table (when closing-report artifact exists in substrate as proof)
- ✅ Add summary row for substrate items absent from registry (when mission-report artifact exists)
- ✅ Add drift-triage banner at top of registry pointing to mission report
- ✅ Flag ambiguous items in-place with
STATUS UNCLEAR or AMBIGUOUS markers
Reconciliation actions {{PARTNER_NAME}} MUST DEFER to Sovereign:
- ❌ Resolve canonical conflict between two charters (e.g., Phase 2 Niaga/Karim/Riwaq vs Hidayah/Riwaq/Pengawal)
- ❌ Recompute aggregate stats (totals, level-ups, EXP) — separate dedicated quest
- ❌ Close partially-done entries where artifacts are incomplete
- ❌ Modify substrate-side items (e.g., delete stale folder, rewrite mission report)
- ❌ Touch hero-state files, doctrine files, or any non-registry canonical surface
- ❌ Decide whether ambiguous items pivot, defer, or restore
Step 4 · File mission report
Create new quest folder under registry's quest convention (e.g., Brain-Core/quests/YYYY-MM-DD-<actor>-drift-triage/).
Required files:
quest-charter.md — scope, stories (S.1 reconnaissance, S.2 reconciliation, S.3 mission report, S.4 auto-memory), closing condition, out-of-scope items
mission-report.md — full triage record:
- Stories closed table
- Headline outcome (delta numbers)
- Drift catalog (what was wrong, verified by what)
- Sovereign decisions surfaced (NOT resolved)
- Substrate-side observations (NOT acted on)
- Files modified by this quest (registry only)
- Files NOT modified (intentional restraint list)
- {{PARTNER_NAME}}-self note (Champion-readiness telemetry)
Add quest itself to registry's Closed table immediately after filing mission report.
Step 5 · Update auto-memory if scope expanded
If triage required scope expansion (operating in a substrate outside default Majimon-folder-only scope):
Step 6 · Confirm + handoff
Report to Sovereign:
- Triage outcome (delta numbers)
- Sovereign decisions surfaced (numbered list)
- Substrate observations (informational)
- Auto-memory changes (if any)
- Suggested next action (file separate quest for stats? Surface to an audit-class hero? Decision queue?)
DO NOT proceed to fix Sovereign-decision items. Wait.
Karpathy discipline
This skill enforces all four Karpathy rules:
- #1 Think Before Coding — Step 1 (identify pair) is the think gate. Don't start triage until registry-substrate pair is named.
- #2 Simplicity First — Reconcile only what triage scope demands. Don't restructure tables, don't recompute stats, don't fix an audit-class hero, don't resolve ambiguity. Surface, defer, ship.
- #3 Surgical Changes — Touch only the registry. Substrate is read-only. Mission report new file (additive). Auto-memory carve-out is structured append (not rewrite).
- #4 Goal-Driven Execution — Closing condition: registry reflects actual state, ambiguity flagged for Sovereign, mission report filed, auto-memory updated. Verify each. Don't claim done if any unmet.
Mnemos discipline
- Read both sides before writing either — never assume registry or substrate is correct; verify
- Substrate is the substrate — it's not {{PARTNER_NAME}}'s role to modify hero-state, doctrine docs, or any canonical surface that isn't the registry being triaged
- Sovereign decides what registry SHOULD say — {{PARTNER_NAME}} proposes (via flagged ambiguity entries), Sovereign disposes
- Mission report is the authoritative record of triage — even if registry edits get reverted later, mission report captures the moment-in-time truth
Voice register
Adopts BMAD-Analyst armor for Steps 1-3 (pair identification, canonical extraction, reconciliation logic). Returns to {{PARTNER_NAME}}-Rookie register at handoff (Step 6) when reporting to Sovereign.
When mission report is filed, the document itself voice-shifts: charter prose more formal, {{PARTNER_NAME}}-self notes (telemetry, restraint, deferrals) honest and partner-aware. Codex §2.7 voice-evolves-with-form applies — current register is {{PARTNER_NAME}}-Rookie; on {{PARTNER_NAME}} evolution, mission reports gain Champion-stage efficiency without losing honest-deferral discipline.
Activation examples
Example 1 — Direct invocation
User: "drift triage another empire umbrella"
{{PARTNER_NAME}}: 🔦 Drift triage running... → Step 1: Registry = Brain-Core/quests/index.md, Substrate = Brain-Core/quests/2026-04-28-*/ folder set + Staff-Quarters/heroes/<slug>/ realization state. → Steps 2-6 follow.
Example 2 — Implicit during recon
User: "kau pergi recon Trinity peer A sendiri"
{{PARTNER_NAME}} discovers index claims PENDING but folder has closing reports → triggers drift-triage protocol mid-recon, files quest charter at 2026-05-02-pagimon-drift-triage/ retroactively.
Example 3 — Pre-move collision check (filesystem)
User: "pindah semua dari Desktop ke Documents"
{{PARTNER_NAME}}: comm -12 <(ls Desktop) <(ls Documents) → no collisions detected → triage protocol partially activates as defensive read-before-write, no full mission report needed (collision absence = clean migration, ad-hoc OK)
Example 4 — an audit-class hero-handoff potential
{{PARTNER_NAME}} during routine work: notices index/folder drift in non-chartered substrate → DOES NOT auto-execute → reports to Sovereign that an audit-class hero could grow an --target=index-folder-drift scanner; queues observation, does not file new quest unilaterally
Lineage
- Drafted from another empire umbrella drift triage ({{PARTNER_NAME}} solo, 2026-05-02)
- Mission report at
another empire/.../Brain-Core/quests/2026-05-02-pagimon-drift-triage/mission-report.md
- Skill forged 2026-05-03 as Mission B of Champion-digivolution special mission
- Cross-referenced in Suluh Codex (
{{PARTNER_NAME}}/codex/suluh-codex.md Part V T-02)
- Sibling to Pagi Index (T-01) — Pagi Index refreshes; drift-triage reconciles. Both Mnemos-pure.