# Ruo Financial Audit Controller

> Control-gate RUO Peptides financial-audit updates so corrections propagate across source evidence, cash/treasury, customer credit, participant balances, inventory, owner investment, COA costs, and published outputs. Use for RUO accounting corrections, transaction reconciliation, inventory/account balance changes, or audit-summary updates. ANTI-PATTERN: Do not use for generic legal strategy, normal website copy edits, or one-off prose that does not change audit facts.

- Skill: `cryptopafi/ruo-financial-audit-controller` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add cryptopafi/ruo-financial-audit-controller`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cryptopafi/ruo-financial-audit-controller/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: cryptopafi (https://skillmd.com/u/cryptopafi)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/cryptopafi/ruo-financial-audit-controller

---


<!-- GENERATED by forgebuild portable-skill v0.1.1; runtime=codex; core_sha256=baea7f78c4865604134f9f43ecd5a317a3918fde6e8bc7f5592a357a36e77716; target_sha256=101d7cff632df9bcc3db5fd28314f0c3e41fc2bcc4ccad9bf3c08a63a05d5ba5; do not hand edit -->

# RUO Financial Audit Controller

Use this skill as the mandatory control gate for RUO Peptides financial-audit updates. It prevents local-only corrections by forcing source authority, propagation, invariants, and stale-output checks before an audit number is treated as final.

## Quick Rule

No material RUO correction is complete until the Control Matrix shows every affected ledger as `updated`, `not_applicable`, or `blocked`, and every blocked item has a concrete owner/question.

## Supabase Execution Boundary

This skill never authorizes or executes a Supabase mutation. If a control-matrix row requires a Supabase change, prepare that change through `ruo-supabase-guardrails` and `ruo-supabase-mutation-audit` as a validated instruction set for Hermes-main/default.

For a Supabase-backed ledger, `updated` requires Hermes execution evidence plus post-write read-back. A prepared or delivered instruction set is only `blocked` or `pending`, never `updated`. Codex, Claude Code, Genie, and other preparing agents remain read-only even when Pafi approved the underlying business correction.

## When This Skill Applies

Use for RUO Peptides / PeptraLabs audit work involving:

- treasury, cash-in/cash-out, bank, crypto, Zen, or custodian balances
- customer credit, receivables, liabilities, or delivered-vs-undelivered value
- Pafi, Vic, Dragoș, Narcis, Ehsan, John Borzea, or staff/internal account balances
- supplier orders, payments, shipping deltas, COA/Janoshik costs, and batch cost allocation
- Bucharest/Ibiza stock, customer delivery, personal consumption, loss/write-off, or on-order stock
- corrections to project cards, PDFs, Airtable, PepInternal, spreadsheet-derived data, or handoff summaries

Do not use this skill for generic legal/claims strategy, ordinary website edits, or final prose polishing unless the work changes audit figures or audit source authority.

## Required References

Read these relative references as needed:

- `references/source-hierarchy.md` whenever evidence sources conflict or a new source is introduced.
- `references/audit-model.md` whenever a number changes or a new transaction is added.
- `references/propagation-checklist.md` for every correction, new transaction, inventory movement, or participant-balance change.
- `references/stale-output-checks.md` before finalizing any correction that changes a published or previously reported number.

## Workflow

### 1. Classify The Audit Action

Tag the request with one or more action types:

- `correction`
- `new_transaction`
- `source_conflict`
- `inventory_movement`
- `participant_balance`
- `customer_credit`
- `owner_investment`
- `expense_or_coa`
- `published_output`
- `question_pack`

If the action touches money, stock, participant balances, or a previously published number, continue through the full control gate.

### 2. Establish Source Authority

For every material figure, state:

- source
- source rank
- date or `date_unknown`
- native currency/unit
- confidence
- superseded figure, if any
- conflict treatment

Use the highest-ranked complete source. If the highest-ranked source is incomplete, combine it with the next source and mark the unresolved component.

### 3. Build The Control Matrix

For every material update, produce this matrix before giving a final answer:

```text
| Ledger / Surface | Status | Required Action | Residual / Exception |
|---|---|---|---|
| Evidence register | updated/not_applicable/blocked | ... | ... |
| Transaction/order ledger | updated/not_applicable/blocked | ... | ... |
| Cash/crypto/bank/Zen | updated/not_applicable/blocked | ... | ... |
| Treasury/custodian target | updated/not_applicable/blocked | ... | ... |
| Customer credit/liability | updated/not_applicable/blocked | ... | ... |
| Receivable/payable | updated/not_applicable/blocked | ... | ... |
| Participant/internal account | updated/not_applicable/blocked | ... | ... |
| Inventory movement/location | updated/not_applicable/blocked | ... | ... |
| Owner investment/capital return | updated/not_applicable/blocked | ... | ... |
| Cost basis/P&L/COA allocation | updated/not_applicable/blocked | ... | ... |
| Exceptions/questions | updated/not_applicable/blocked | ... | ... |
| Published outputs | updated/not_applicable/blocked | ... | ... |
```

Do not mark a row `updated` unless the user-facing answer or the actual artifact update states what changed. For a Supabase surface, the change must be supported by Hermes execution evidence and read-back rather than a preparing-agent write.

### 4. Run The Invariants

Run every invariant that applies:

- Cash: `cash_in - cash_out - separated_treasury = residual`
- Customer credit: `advance_received - delivered_discounted_value = remaining_credit_or_liability`
- Participant: `consumption_at_cost - paid = owed_or_credit`
- Stock: `opening + received - sales - internal_use - losses = closing`
- Owner investment: `owner_funded_costs - returns - personal_consumption_offsets = net_owner_receivable`
- COA/batch: testing and logistics costs are allocated to the tested batch/per-vial cost, or explicitly excluded to avoid double-counted P&L
- Published output: no stale key number remains without a superseded/historical label

When an invariant cannot be evaluated, return `PASS_WITH_EXCEPTIONS` only if the unresolved item does not affect the requested update. Otherwise return `BLOCKED`.

### 5. Use Supporting Skills Instead Of Rebuilding Them

Route to existing skills when appropriate:

- Use spreadsheet/data-analysis skills for recalculation workbooks or formula-driven models.
- Use data-quality or metric-diagnostics workflows for source mismatch, grain, duplicate, freshness, or reconciliation gaps.
- Use Audit-Pro after substantial audit summaries, PDFs, procedures, or skills are created or changed.
- Use PDF/report/document skills only for final artifact creation or visual QA.

This skill owns RUO-specific source authority and propagation. It does not replace calculation engines or source reads.

### 6. Final Verdict

End with one control verdict:

- `PASS`: all affected ledgers updated or explicitly not applicable, invariants balance, stale-output scan complete.
- `PASS_WITH_EXCEPTIONS`: update is valid, but named non-blocking exceptions remain.
- `BLOCKED`: a core invariant or source authority decision cannot be resolved.
- `REJECTED`: the proposed update contradicts controlling evidence or would create an untracked audit state.

## Minimum Final Answer Shape

For small corrections, keep the answer compact but include:

```text
Verdict: PASS | PASS_WITH_EXCEPTIONS | BLOCKED | REJECTED
Source authority: ...
Propagation: ...
Numbers changed: ...
Open exceptions: ...
```

For larger corrections, include the full Control Matrix and invariant checks.

## Test Cases

1. Ehsan credit correction changes cash-in. Expected: treasury and Dragoș cash target must change by the same delta; old dashboard match becomes superseded unless separately offset.
2. Pafi correction conflicts with a Google Sheet order scope. Expected: Pafi correction wins; Google Sheet becomes historical/superseded evidence; stock is recalculated from the corrected scope.
3. Customer sale is delivered but not deducted from Bucharest/Ibiza. Expected: inventory row remains `blocked` while a Hermes instruction set is prepared; it becomes updated only after Hermes evidence and read-back.
4. Janoshik transport changes. Expected: cost allocation to the specific batch/per-vial cost is required; double-counted company P&L is flagged.
5. A PDF/project-card number changes. Expected: stale-number scan and supersession note are required before PASS.

