Personal QA Operating System built on Claude Code and Obsidian. v3.0 — HARDFORK v3 (2026-04-30).
Architecture v2.1 — see System/Knowledge/Architecture-v3.md. Pre-v3 architecture preserved at
System/Knowledge/Architecture-v2.md.
PR #1 open → miozu-com/jera #1 4-layer component testing framework contributed to the Jera open-source library. 65 components tested · 96 violations found · 81 regression specs generated
A multi-project, multi-team, agent-based QA system for professional QA work. Built by Tim — QA Lead at Selify.ai.
Each session runs inside Claude Code. Agents load context on demand via semantic search (gnosis-mcp + Ollama). Findings are saved to Obsidian. Reports are exported to PDF.
HARDFORK v3 (2026-04-30 → 2026-05-01): All 17 agent prompts refactored to a 200-word standard, 5 new global rules + 1 updated rule, 18 new Snippets, ~75% prompt token reduction (13,802 → 3,507 words). Tagged v3.0 on 2026-05-01.
Full diagram: System/Knowledge/Architecture-v3.md
| Pipeline | Status | Purpose |
|---|---|---|
| Flow Pipeline | Active | Smoke testing (session gate) + UX analysis |
| Component Pipeline | Active | Jera library testing — WCAG, interaction, props, responsive |
| API Pipeline | ⏸ Standby | Shopify, Instagram, Supabase, Selify API — waiting for dev tunnel |
| Performance | Backlog | k6 / Locust load testing |
Master Orchestrator (1)
master-orchestrator— session routing, Auto-Sync trigger, gnosis-mcp re-index · opus
Pipeline Orchestrator (1)
pipeline-orchestrator—run X pipelinetriggers; FULL/INCREMENTAL/REGRESSION mode auto-detection · opus
Shared Services (5) — called by any pipeline
test-architect— Test Plans (strategy, scope, risk areas) · opustest-case-writer— TC-XXX test cases, checklists, automation specs · sonnetbug-classifier— S1–S4 severity, dedup, cross-component patterns · haikubug-writer— bug reports by template, fix recommendations · sonnetreport-formatter— session summaries, shareable reports, PDF export · haiku
Flow Pipeline (3)
smoke-tester— session gate: 6 checks before any pipeline runs · haikuux-analyzer— full-page UX analysis: 22 pages × 7 checks · opusvisual-regression-agent— cross-browser (Chromium + Firefox + WebKit) pixel-diff regression for pages and components; HTML diff report · sonnet
Component Pipeline (3)
storybook-navigator— auth, sidebar parsing, variant extraction · sonnetcomponent-tester— runscomponent-test-runner.js, axe, contrast, screenshots · sonnetresults-analyzer— dedup violations, root cause, routes to bug-classifier · opus
API Pipeline (5) — ⏸ standby
api-orchestrator— coordinates API agents, manages sequencing · sonnetshopify-agent— product sync, catalog, webhooks · sonnetinstagram-agent— DM automation, catalog, webhooks · sonnetsupabase-agent— database, auth, edge functions (always runs first) · sonnetselify-api-agent— Kong gateway at api.jko.ai, platform endpoints · sonnet
Each agent has a persistent memory file in System/Agents/Memory/ — queried via search_docs().
All prompts follow System/Knowledge/prompt-standard-v2.md (max ~200 words body).
Planned agents (13) and future phases: see ROADMAP.md
| Model | Agents |
|---|---|
| Opus | Master Orchestrator, Pipeline Orchestrator, Test Architect, Results Analyzer, UX Analyzer |
| Sonnet | Component Tester, Bug Writer, Test Case Writer, API Orchestrator, Storybook Navigator, Shopify, Instagram, Supabase, Selify API |
| Haiku | Bug Classifier, Smoke Tester, Report Formatter |
Rule: System/Agents/Rules/model-assignment.md
| Tool | Purpose |
|---|---|
| Claude Code | AI agent runtime |
| Obsidian | Knowledge base and session memory |
| gnosis-mcp + Ollama | Semantic search — agents query context on demand |
| Playwright MCP | Browser automation and login |
| Postman MCP | API testing and collections |
| GitHub MCP | Codebase access |
| Mac Keychain | Secure credential storage (no hardcoded secrets) |
| generate-pdf-markdown.js | Stakeholder-ready PDF reports |
Four Claude Code hooks run automatically on every session:
| Hook | Trigger | Action |
|---|---|---|
| PostToolUse | After Write / Edit / MultiEdit | Classifies changed file, logs required sync action to System/Logs/auto-sync.log |
| SessionEnd | End of each assistant turn | If changes: git add -u (tracked files only) → commit → push → gnosis-mcp ingest |
| PrePush | Before any git push |
Scans .md files for Obsidian artifacts; enforces only on miozu-com/jera (private repos like QA-System are skipped) |
| CostAlert | End of each assistant turn | Reads session cost; alerts at each 10% budget threshold (red at 80%) |
Hook scripts: .claude/hooks/ · Rule: System/Agents/Rules/auto-sync-protocol.md
# 1. Open Mac Terminal
cd ~/Desktop/QA-System
# 2. Launch Claude Code
claude
# The system will automatically:
# - Check Ollama is running
# - Load System/CLAUDE.md
# - Load project context via search_docs()
# - Run Smoke Tester (session gate)
# - Ask for session goal
# - Act as Master Orchestrator| Tool | Status | Notes |
|---|---|---|
| Playwright | Active — auto-connects | Storybook and dashboard automation |
| Postman | Authenticate via /mcp each session |
OAuth via browser — run in Terminal, not VS Code |
| GitHub | Active | PAT stored in Keychain |
| gnosis-mcp | Active — auto-connects | Semantic search across all system docs |
| Project | Status | Location |
|---|---|---|
| Selify.ai | Active | System/Projects/Selify.ai/ |
Selify uses the @miozu/jera Svelte 5 component library.
| Stage | Count | QA action |
|---|---|---|
| stable | 38 | ✅ Test (L1–L4) |
| beta | 28 | ✅ Test (L1–L4) |
| draft | 2 (DatePicker, TagInput) | ⏸ Skip |
| deprecated | 22 (legacy Sidebar/Nav) | ⏸ Skip |
Key knowledge: System/Knowledge/jera-library.md
Ready list: System/Projects/Selify.ai/TestPlans/components-ready.md
Skip list: System/Projects/Selify.ai/TestPlans/components-stub.md
Color system note: Jera uses oklch() CSS tokens. axe-core cannot resolve these — always run canvas pixel sampling (L1 contrast check). Canvas result is authoritative. See Rules/severity-scale.md for the canvas-oklch → S2 rule.
QA-System/
├── .claude/
│ ├── hooks/ — 4 auto-sync hooks (PostToolUse, SessionEnd, PrePush, CostAlert)
│ └── settings.json — hook registration
├── System/
│ ├── Agents/
│ │ ├── Prompts/ — 18 agent role definitions (refactored to prompt-standard-v2)
│ │ ├── Memory/ — per-agent persistent memory (queried via search_docs)
│ │ ├── Rules/ — 15 rules
│ │ │ Agent behavior (6): memory-protocol, rag-access-pattern, s1-escalation,
│ │ │ approval-gate, postman-collection-creation, severity-scale
│ │ │ Code/repo (5): no-hardcoded-urls, no-obsidian-artifacts-in-public-repos,
│ │ │ git-commit-convention, qa-reports-branch-strategy,
│ │ │ typescript-over-javascript
│ │ │ System/process (4): auto-sync-protocol, ci-mode-requirements,
│ │ │ storybook-mode-selection, model-assignment
│ │ ├── Skills/ — 17 reusable techniques
│ │ ├── Snippets/ — 22 templates and decision matrices (18 new in v3 + 4 pre-existing)
│ │ └── Tools/ — scripts (component-test-runner.js, ux-analyzer.js, smoke-tester.js, selify-login.js)
│ ├── Projects/
│ │ └── Selify.ai/
│ │ ├── Assets/Screenshots/ — failure screenshots only
│ │ ├── Bugs/ — filed bug reports (S1/S2)
│ │ ├── Components/ — component analysis outputs
│ │ ├── Reports/ — JSON results + session summaries
│ │ ├── Shared/ — PDFs for founders/stakeholders
│ │ ├── TestPlans/ — approved test plans + components-ready.md
│ │ ├── TestCases/ — TC-XXX test case files
│ │ └── Memory/ — project-level memory (incl. ux-pages.md)
│ ├── Knowledge/
│ │ ├── Architecture-v3.md — current architecture (post-HARDFORK v3)
│ │ ├── prompt-standard-v2.md — agent prompt standard
│ │ ├── hardfork-v3-plan.md — HARDFORK v3 plan + before/after metrics
│ │ ├── Pipeline-Architecture.md — pipeline sequencing diagrams
│ │ ├── jera-library.md — Jera component library knowledge base
│ │ ├── Patterns/ — recurring issues (escalated at 3+ occurrences)
│ │ └── Decisions/ — agreed rules and QA decisions
│ ├── Architecture-v2.md — historical reference (pre-HARDFORK v3, preserved)
│ ├── CLAUDE.md — system identity (read at session start)
│ ├── Logs/ — auto-sync.log (hook activity)
│ └── Templates/ — bug-report, test-plan, test-case templates
├── ROADMAP.md — planned agents (13) and future phases
├── CHANGELOG.md — version history
├── LICENSE — MIT
├── CLAUDE.md — root entry point (rules index, key files, last session)
└── README.md — this file
| Level | Name | SLA |
|---|---|---|
| S1 | Critical | Fix same working day |
| S2 | High | Fix within 1–3 working days |
| S3 | Medium | Fix within current or next sprint |
| S4 | Low | Batch and address in cleanup sprint |
Full scale: System/Agents/Rules/severity-scale.md (includes axe-core impact mapping + canvas oklch → S2 rule)
| Artifact | Location |
|---|---|
| Test Plan (TP-JERA-001) | System/Projects/Selify.ai/TestPlans/2026-04-13_full-4layer-suite-test-plan.md |
| Test Cases (244 TCs) | System/Projects/Selify.ai/TestCases/2026-04-13_full-4layer-suite-test-cases.md |
| Ready components (66) | System/Projects/Selify.ai/TestPlans/components-ready.md |
| Skip list (24) | System/Projects/Selify.ai/TestPlans/components-stub.md |
| Tag | Date | What |
|---|---|---|
v3.0 |
2026-05-01 | HARDFORK v3 — prompt refactor (75% token reduction), 5 new rules, 18 new snippets |
v2.0 |
(pre-2026-04-30) | Pre-HARDFORK architecture — see System/Knowledge/Architecture-v2.md |
Full history: CHANGELOG.md
Repository: github.com/TimofeyZhivenok/QA-System (private)
Latest tag: v3.0 (2026-05-01)