ari-hash-chain-auditor
Verify and manage ARI's SHA-256 hash-chained audit trail
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Verify and manage ARI's SHA-256 hash-chained audit trail
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Discord slash commands, approval routing, channel policy, button interaction patterns for OpenClaw/ARI Discord integration
Obsidian vault integration patterns — vault-analyzer.ts, /ari-vault-* commands, morning briefing snippet, PARA structure, read-only enforcement
OpenClaw plugin development patterns — hooks, manifest structure, plugin SDK, APEX/CODEX enforcement
NOVA's P1 PayThePryce pipeline — market signal ingest, card detection, price monitoring, script generation, thumbnail generation, video assembly, approval gate
CHASE's P2 Pryceless Solutions pipeline — lead discovery, 5-criteria audit, LLM qualification, Prompt Forge 4-pass lock, demo generation, outreach approval gate
NOVA's thumbnail generation pipeline — Ideogram V3 via Fal.ai (primary) + DALL-E 3 fallback, 4-variant strategy, Pokemon TCG copyright rules,
| name | ari-hash-chain-auditor |
| description | Verify and manage ARI's SHA-256 hash-chained audit trail |
| triggers | ["verify audit chain","check audit integrity","audit hash verification","validate audit trail"] |
Verify and manage ARI's tamper-evident SHA-256 hash-chained audit trail (ADR-002).
Genesis Block (0x00...00)
↓
Event 1: hash = SHA256(previousHash + eventData)
↓
Event 2: hash = SHA256(event1.hash + eventData)
↓
Event N: hash = SHA256(eventN-1.hash + eventData)
~/.ari/audit.json
# CLI verification
npx ari audit verify
# Programmatic verification
npm run audit:verify
async verifyAuditChain(): Promise<VerificationResult> {
const audit = await loadAuditFile();
let previousHash = GENESIS_HASH; // 0x00...00
for (const event of audit.events) {
// Verify chain link
if (event.previousHash !== previousHash) {
return { valid: false, error: 'Chain broken', event };
}
// Verify hash computation
const computed = sha256(previousHash + JSON.stringify(event.data));
if (computed !== event.hash) {
return { valid: false, error: 'Hash mismatch', event };
}
previousHash = event.hash;
}
return { valid: true, eventCount: audit.events.length };
}
If verification fails:
security:audit_tampered