Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Master guide for mathematical formal verification, SMT solver constraints (Z3 WebAssembly, Python Z3, TLA+, Dafny), invariant theorem proving for FinTech billing, RBAC authorization, and zero-violation architectures / Panduan utama verifikasi formal matematis, batasan SMT solver (Z3 WASM, Python Z3, TLA+, Dafny), pembuktian teorema invarian billing FinTech, otorisasi RBAC, dan arsitektur zero-violation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
<a name="english"></a>
Unit tests sample points along an execution curve: $N$ tests cover $N$ scenarios. However, in financial ledgers, subscription state machines, multi-tenant boundaries, and cryptographic custody, edge-case race conditions exist in the infinitely large space of untested inputs ($O(\infty)$).
Formal Specification & SMT Verification shifts quality assurance from empirical sampling to mathematical theorem proving. By encoding software constraints into formal first-order logic and Satisfiability Modulo Theories (SMT), we use automated theorem provers (Microsoft Z3, TLA+, Dafny) to exhaustively prove that:
saas-billing, doku-payment-gateway, payment-gateway-expert, agentic-m2m-settlement.authentication-identity-expert, saas-multi-tenant, zero-trust-secret-vault.database-orm-expert, spec-driven-development-expert.property-mutation-testing-expert, autonomous-tdd-debugger, autonomous-red-teamer, anti-slop.brainstorming, zero-to-prod-orchestrator, session-memory-manager.┌────────────────────────────────────────────────────────────────────────┐
│ FORMAL VERIFICATION & THEOREM PROVING FLOW │
├────────────────────────────────────────────────────────────────────────┤
│ 1. Define Mathematical Invariants (Conservation, Monotonicity, Leak) │
│ │ │
│ ▼ │
│ 2. Encode into SMT / Formal Logic (Z3 First-Order Logic, TLA+, Dafny) │
│ │ │
│ ▼ │
│ 3. Automated SMT Solver Check (solver.check() -> SAT or UNSAT) │
│ ┌─────────────────┴─────────────────┐ │
│ ▼ ▼ │
│ [UNSAT: Theorem Proven] [SAT: Bug Found!] │
│ │ │ │
│ │ Extract Counter-Example │
│ │ (Exact attack/failure state) │
│ ▼ │ │
│ 4. Emit Verified PostgreSQL Constraints ▼ │
│ (CHECK, Row-Level Locks, Types) Patch Business Logic & Rerun │
└────────────────────────────────────────────────────────────────────────┘
Instead of manual assertion loops, use the real Microsoft Z3 theorem prover. Define symbolic integer/boolean variables, assert preconditions and transition rules, and invert the invariant:
solver.add(Not(Invariant))).unsat (unsatisfiable), the property is mathematically proven for all possible inputs.sat, Z3 generates the exact counter-example model exposing the bug.Models concurrent states, temporal properties, and step transitions without implementation noise. Proves absence of deadlocks and state corruption across distributed payment microservices.
Compiles mathematically proven algorithms directly to C#, Java, or JavaScript with built-in preconditions (requires), postconditions (ensures), and loop invariants.
Every proven invariant must be compiled directly into database-enforced schemas: PostgreSQL domain types, CHECK constraints, foreign keys, and exclusion constraints (EXCLUDE USING).
engine/z3-ledger-prover.ts)Uses the official WebAssembly build of Microsoft Z3 (z3-solver):
import { init } from 'z3-solver';
export interface LedgerVerificationResult {
isSound: boolean;
theoremProven: boolean;
counterExample?: Record<string, string>;
diagnosticMessage: string;
}
export class Z3LedgerProver {
public static async verifyAtomicTransfer(
maxAccounts: number = 4
): Promise<LedgerVerificationResult> {
const { Context } = await init();
const { Solver, Int, And, Or, Not } = new Context('main');
const solver = new Solver();
// 1. Symbolic Variables: Balances before and after transaction
const initialSource = Int.const('initial_source');
const initialDest = Int.const('initial_dest');
const transferAmount = Int.const('transfer_amount');
const finalSource = Int.const('final_source');
const finalDest = Int.const('final_dest');
// 2. Preconditions & Domain Rules
// All currency must be represented in integer atomic units (cents/satoshis >= 0)
solver.add(initialSource.ge(0));
solver.add(initialDest.ge(0));
solver.add(transferAmount.gt(0)); // Transfers must be strictly positive
solver.add(initialSource.ge(transferAmount)); // Source must have sufficient funds
// 3. State Transition Logic
solver.add(finalSource.eq(initialSource.sub(transferAmount)));
solver.add(finalDest.eq(initialDest.add(transferAmount)));
// 4. Invariant: Conservation of Total Money (Sum Before == Sum After)
const initialTotal = initialSource.add(initialDest);
const finalTotal = finalSource.add(finalDest);
const moneyConservation = initialTotal.eq(finalTotal);
// 5. Invariant: Solvency (No balance drops below zero)
const solvency = And(finalSource.ge(0), finalDest.ge(0));
const totalSystemInvariant = And(moneyConservation, solvency);
// 6. Negation Mode: Ask Z3 to prove that a violation is POSSIBLE
solver.add(Not(totalSystemInvariant));
const checkResult = await solver.check();
if (checkResult === 'unsat') {
return {
isSound: true,
theoremProven: true,
diagnosticMessage:
'THEOREM PROVEN: Double-entry money conservation and solvency hold for all infinite integer inputs.',
};
}
// Violation found: Extract exact counter-example
const model = solver.model();
const counterExample: Record<string, string> = {
initialSource: model.eval(initialSource).toString(),
initialDest: model.eval(initialDest).toString(),
transferAmount: model.eval(transferAmount).toString(),
finalSource: model.eval(finalSource).toString(),
finalDest: model.eval(finalDest).toString(),
};
return {
isSound: false,
theoremProven: false,
counterExample,
diagnosticMessage: 'COUNTEREXAMPLE DETECTED: Ledger invariant violated under model state.',
};
}
}
verifier/billing_state_prover.py)from z3 import (
Datatype,
Solver,
EnumSort,
Function,
Int,
Bool,
And,
Or,
Not,
Implies,
ForAll,
sat,
unsat
)
def verify_subscription_lifecycle():
"""
Formally verifies that a canceled subscription can NEVER reach
the Active state without a verified payment confirmation token.
"""
solver = Solver()
# Define State Enum Sort
State, (TRIAL, ACTIVE, PAST_DUE, CANCELED) = EnumSort(
'State', ('TRIAL', 'ACTIVE', 'PAST_DUE', 'CANCELED')
)
# State variables across step N and N+1
s_current = State('s_current')
s_next = State('s_next')
payment_verified = Bool('payment_verified')
admin_override = Bool('admin_override')
# Legal Transition Rules
transition_legal = Or(
# Trial can transition to Active with payment
And(s_current == TRIAL, s_next == ACTIVE, payment_verified),
# Active can become PastDue if recurring billing fails
And(s_current == ACTIVE, s_next == PAST_DUE),
# PastDue can recover to Active upon payment
And(s_current == PAST_DUE, s_next == ACTIVE, payment_verified),
# Any state can transition to Canceled
s_next == CANCELED,
# Re-activation from Canceled strictly requires explicit payment verification
And(s_current == CANCELED, s_next == ACTIVE, payment_verified)
)
solver.add(transition_legal)
# Invariant to test:
# "A user in CANCELED state can NEVER become ACTIVE if payment_verified is False"
# To prove: (s_current == CANCELED and s_next == ACTIVE) -> payment_verified
desired_invariant = Implies(
And(s_current == CANCELED, s_next == ACTIVE),
payment_verified
)
# Negate the invariant to search for illegal exploits
solver.add(Not(desired_invariant))
result = solver.check()
if result == unsat:
return {
"status": "PROVEN",
"message": "Mathematical proof holds: Unauthorized re-activation is impossible."
}
else:
model = solver.model()
return {
"status": "VIOLATION",
"counter_example": {
"s_current": str(model[s_current]),
"s_next": str(model[s_next]),
"payment_verified": str(model[payment_verified])
}
}
if __name__ == "__main__":
result = verify_subscription_lifecycle()
print(f"Formal Verification: {result}")
spec/Ledger.tla)---------------------------- MODULE Ledger ----------------------------
EXTENDS Naturals, FiniteSets
CONSTANTS Accounts, MaxBalance
VARIABLES balances, pendingTransfers
TypeOK ==
/\ balances \in [Accounts -> 0..MaxBalance]
/\ pendingTransfers \subseteq (Accounts \X Accounts \X 1..MaxBalance)
Init ==
/\ balances = [a \in Accounts |-> 1000]
/\ pendingTransfers = {}
InitiateTransfer(src, dst, amt) ==
/\ amt > 0
/\ balances[src] >= amt
/\ balances' = [balances EXCEPT ![src] = balances[src] - amt]
/\ pendingTransfers' = pendingTransfers \cup {<<src, dst, amt>>}
CompleteTransfer(src, dst, amt) ==
/\ <<src, dst, amt>> \in pendingTransfers
/\ balances' = [balances EXCEPT ![dst] = balances[dst] + amt]
/\ pendingTransfers' = pendingTransfers \ {<<src, dst, amt>>}
Next ==
\/ \E s, d \in Accounts, a \in 1..MaxBalance: InitiateTransfer(s, d, a)
\/ \E s, d \in Accounts, a \in 1..MaxBalance: CompleteTransfer(s, d, a)
\* Crucial Invariant: Money Conservation (Sum of Balances + In-Flight Transfers)
TotalSystemWealth ==
LET SumBalances == balances[Accounts]
IN SumBalances
Spec == Init /\ [][Next]_<<balances, pendingTransfers>>
=============================================================================
spec/Transfer.dfy)class Account {
var balance: nat
constructor(initial: nat)
ensures balance == initial
{
balance := initial;
}
}
method AtomicTransfer(source: Account, dest: Account, amount: nat)
requires source != dest
requires source.balance >= amount
modifies source, dest
ensures source.balance == old(source.balance) - amount
ensures dest.balance == old(dest.balance) + amount
ensures source.balance + dest.balance == old(source.balance) + old(dest.balance)
{
source.balance := source.balance - amount;
dest.balance := dest.balance + amount;
}
Once verified by SMT solvers, the invariants are translated directly into PostgreSQL schemas:
-- Production PostgreSQL DDL compiled from Z3 verified constraints
CREATE DOMAIN monetary_cents AS BIGINT
CHECK (VALUE >= 0);
CREATE TABLE ledger_entries (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
transaction_id UUID NOT NULL,
account_id UUID NOT NULL,
debit_cents monetary_cents NOT NULL DEFAULT 0,
credit_cents monetary_cents NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
-- Invariant 1: Single direction per entry
CONSTRAINT chk_single_direction CHECK (
(debit_cents > 0 AND credit_cents = 0) OR
(credit_cents > 0 AND debit_cents = 0)
)
);
-- Transaction balanced invariant enforcement via deferred trigger
CREATE OR REPLACE FUNCTION verify_transaction_balance()
RETURNS TRIGGER AS $$
DECLARE
total_debit BIGINT;
total_credit BIGINT;
BEGIN
SELECT COALESCE(SUM(debit_cents), 0), COALESCE(SUM(credit_cents), 0)
INTO total_debit, total_credit
FROM ledger_entries
WHERE transaction_id = NEW.transaction_id;
IF total_debit <> total_credit THEN
RAISE EXCEPTION 'Ledger balance invariant violated: Debits (%) != Credits (%)',
total_debit, total_credit;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE CONSTRAINT TRIGGER trg_verify_transaction_balance
AFTER INSERT OR UPDATE ON ledger_entries
DEFERRABLE INITIALLY DEFERRED
FOR EACH ROW
EXECUTE FUNCTION verify_transaction_balance();
<a name="bahasa-indonesia"></a>
Unit test konvensional hanya mengambil sampel titik acak: $N$ pengujian hanya mencakup $N$ skenario. Namun pada buku besar FinTech, state machine penagihan langganan, batas isolasi multi-tenant, dan pengelolaan kunci kriptografi, celah race condition tersembunyi di dalam ruang tak terhingga dari skenario yang belum diuji ($O(\infty)$).
Spesifikasi Formal & Verifikasi SMT mengubah paradigma penjaminan kualitas dari sampel empiris menjadi pembuktian teorema matematis. Dengan memformulasikan batasan logika tingkat pertama dan SMT (Satisfiability Modulo Theories), kita memanfaatkan mesin pembuktian teorema otomatis (Microsoft Z3, TLA+, Dafny) untuk membuktikan secara tuntas bahwa:
saas-billing, doku-payment-gateway, payment-gateway-expert, agentic-m2m-settlement.authentication-identity-expert, saas-multi-tenant, zero-trust-secret-vault.database-orm-expert, spec-driven-development-expert.property-mutation-testing-expert, autonomous-tdd-debugger, autonomous-red-teamer, anti-slop.brainstorming, zero-to-prod-orchestrator, session-memory-manager.┌────────────────────────────────────────────────────────────────────────┐
│ ALUR VERIFIKASI FORMAL & PEMBUKTIAN TEOREMA │
├────────────────────────────────────────────────────────────────────────┤
│ 1. Definisikan Invarian Matematis (Konservasi Saldo, Monotonik) │
│ │ │
│ ▼ │
│ 2. Enkode ke Logika SMT / Formal (Z3 Logika Orde-1, TLA+, Dafny) │
│ │ │
│ ▼ │
│ 3. Pengecekan Mesin Solver SMT (solver.check() -> SAT atau UNSAT) │
│ ┌─────────────────┴─────────────────┐ │
│ ▼ ▼ │
│ [UNSAT: Teorema Terbukti] [SAT: Bug Ditemukan!] │
│ │ │ │
│ │ Ekstrak Counter-Example │
│ │ (State persis kegagalan) │
│ ▼ │ │
│ 4. Terapkan Constraint Database PostgreSQL ▼ │
│ (CHECK, Row-Level Locks, Types) Perbaiki Logika & Uji Ulang │
└────────────────────────────────────────────────────────────────────────┘
Gunakan mesin pembukti teorema Microsoft Z3 asli. Definisikan variabel simbolik, masukkan kondisi awal serta aturan transisi, lalu balikkan invarian (Not(Invariant)):
unsat (tidak dapat dipenuhi), properti tersebut terbukti benar secara matematis untuk semua kemungkinan input.sat, Z3 secara otomatis memberikan model counter-example yang membongkar skenario kegagalan spesifik.Memodelkan state konkuren dan transisi langkah tanpa gangguan detail implementasi. Membuktikan ketiadaan deadlock dan desinkronisasi pada sistem pembayaran terdistribusi.
Menghasilkan kode terverifikasi matematis dengan prasyarat (requires) dan pascasyarat (ensures) yang terbukti benar sebelum kompilasi.
Setiap invarian yang terbukti wajib dikompilasi langsung ke skema database: domain PostgreSQL, klausa CHECK, foreign key, dan trigger penundaan transaksi (deferred triggers).
// TODO atau fungsi yang belum diimplementasikan.node scripts/check-anti-slop.js.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Expert guide for automated and manual Web Accessibility (a11y) testing — axe-core, Pa11y, Playwright a11y, screen reader testing, and WCAG 2.2 Level AA/AAA compliance / Panduan ahli pengujian aksesibilitas web.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Fast (Composer 2.5, Grok 4.7/4.6) to Medium (Gemini 4 Argon, GPT-5.6 Sol, Claude Opus 5.5) and High (Claude Sonnet 5.5, Claude Fable 5.1, Muse Wonder) / Panduan ahli untuk kaskade dan routing model cerdas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for intelligent model cascading and routing — complexity-scored task routing from Flash/Haiku to Sonnet/Opus/Astra, dynamic escalation with quality gates, 40-60% token cost reduction while maintaining output quality / Panduan ahli untuk kaskade dan routing model cerdas — routing tugas berbasis skor kompleksitas dari Flash/Haiku ke Sonnet/Opus/Astra, eskalasi dinamis dengan gerbang kualitas, pengurangan biaya token 40-60% dengan kualitas output terjaga.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Master guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan utama komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for Affective Computing, emotional AI, and real-time sentiment analysis through native multimodal tokens (voice intonation and facial micro-expressions) / Panduan ahli komputasi afektif, AI emosional, dan analisis sentimen real-time melalui token multimodal native.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Expert guide for AI-assisted coding workflows — agentic code generation, multi-agent code swarms, self-healing CI/CD, automated PR review, spec-to-code pipelines, codebase knowledge graphs, and human-in-the-loop approval gates / Panduan ahli untuk workflow pengkodean berbasis AI — generasi kode agentic, code swarm multi-agen, CI/CD self-healing, review PR otomatis, pipeline spec-to-code, knowledge graph codebase, dan gate persetujuan human-in-the-loop.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.