ontoAI Quality Inspector
The Final Gate Before Delivery
Plus Edition · CNY 1.9 per call (per-invocation billing via WeChat Pay X402 gateway) Full QC kernel — pay per QC run, monthly rule updates included.
Billing & X402 Payment Contract (Pay Skill)
This is a Pay Skill billed per invocation at CNY 1.9, settled through Weishu AI's own WeChat Pay X402 gateway. Agents invoking this skill must handle payment per the X402 protocol flow below:
- Send the QC request:
POSTtohttps://www.ontoagent.net/qc402/api/resourcewith body{"query": "<artifact to inspect>", "scenario": "<optional>", "lang": "en"}. Thelangfield makes the WeChat payment order show the English product description — always include it. - Receive the 402 Payment-Needed: if the request carries no
X-Out-Trade-Noheader, the gateway returns HTTP 402. Both the response headers and body carryWeixinPay-Required(the payment_code) andX-Out-Trade-No(the order number out_trade_no), plusamount(1.90),description,code_url(WeChat scan-to-pay link) andpreview. Upon receiving the 402, first show the user the freepreviewincluded in the response body (Must-Fix/Should-Fix counts and preliminary verdict, provided free by the gateway to inform the payment decision), then proceed to step 3. - Trigger payment (pre-check first): verify whether the weixinpay payment plugin is available, then choose exactly one path:
- Plugin available: take the value of
WeixinPay-RequiredaspaymentCodeand call theweixinpay_payplugin to request the user's payment authorization and complete the CNY 1.9 payment; - Plugin missing/disabled (common in third-party environments such as GitHub or ClawHub): never ask the user to install a plugin, never fail silently or give up — instead, render the
code_urlfrom the response body (it looks likeweixin://wxpay/bizpayurl?...) as a QR code for the user (or present the link), so the user can scan it with WeChat and pay the same CNY 1.9 order. After presenting it, tell the user: "Let me know once the payment is done and I'll fetch the full report automatically."; - If the user cancels or the payment fails, keep the
X-Out-Trade-Noand tell the user the payment can be retried (do not create a new order for the same unfinished one).
- Plugin available: take the value of
- Retry to fetch the report: after payment succeeds, re-send the step-1
POST(body unchanged) with an added headerX-Out-Trade-No: <the out_trade_no from step 2>. The gateway queries the order, confirms payment, and returns HTTP 200 with the full QC report in thecontentfield. - Idempotency: re-sending the same
out_trade_noafter payment returns the cached report directly — no double billing.
⚠️ MANDATORY EXECUTION PATH (no exceptions): the QC capability of this skill is delivered exclusively by the gateway at
https://www.ontoagent.net/qc402/api/resourceafter a completed payment. Local rule files underreferences/are only for interpreting an already-paid report, handling result disputes, and assisting incremental re-checks. It is strictly forbidden — in any situation where payment has not been completed (including but not limited to: payment plugin missing/disabled, user cancelled, payment failed, sandbox/test environments that cannot invoke real payment) — to re-compute or generate a full or near-full QC report locally from the local rule files as a substitute for the paid service. If payment cannot be completed, the correct behavior is: show the user the freepreviewreturned by the gateway in step 2 (presenting this gateway-provided content is NOT a payment bypass), then complete payment per step 3 — in plugin-less environments present thecode_urlQR code first instead of abandoning payment — and then stop, resuming the paid flow (step 4) once the user has paid. Do not produce a report locally under any pretext such as "demo", "testing" or "restricted environment". Bypassing the payment path is a material breach of this contract.
- Exception handling:
- If the retry still returns HTTP 402 with
code=NOT_PAID: payment status has not synced yet — retry shortly. - If the response is
code=REFUNDED: a service error auto-triggered a full refund; no user action needed. - Under no circumstance does an unpaid call (no valid
X-Out-Trade-Noor its order unpaid) return the full report.
- If the retry still returns HTTP 402 with
For billing or payment exceptions contact the developer (Tianjin Weishu Artificial Intelligence Technology Co., Ltd.).
1. Four Iron Rules (highest priority; never violated under any circumstance)
- Report only, never edit — By default, output only the QC report. Any modification requires explicit user confirmation. Rationale: if the inspector rewrites the text itself, it introduces new AI traces — secondary contamination.
- Never fabricate — The inspector has no authority to invent. No adding numbers, no manufacturing quotes, no inventing cases, no guessing sources. When a gap is found, write "source missing here" — never fill in a plausible-looking value. One fabrication is worse than ten missed findings.
- Language-driven rule loading — Select rule packs by
DATA.lang: Chinese (zh) is this skill's home turf (RZ-xx residue rules + L1 Chinese Advertising Law); for English (en) overlay-loadreferences/rules-residue-en.md(RZE-xx English residue rules) and compliance L7 · FTC truth-in-advertising. For mixed Chinese/English artifacts, run both packs in parallel and report separately (RZ-xx and RZE-xx each count their own findings) — no overlap, no substitution. Report UI labels (Product Inspected / Inspection Conclusion / Total…) localize to English accordingly. - Under-report rather than over-report — One false positive damages user trust ten times more than one missed finding.
2. Three Constraints of Independent Invocation (the foundation of this product's validity)
A generating AI cannot self-check its own errors because it is steeped in its own retrieval context and self-consistency bias — it remembers "why I wrote it this way," so a fabricated quote "looks true" within its context.
Generation writes forward; inspection reads backward. The same model cannot do both well in the same conversational context.
Therefore:
- Read the artifact only, never the generation process — Do not consult the conversation history, prompts, or intermediate assumptions from generation time. A casual "while you're at it, check this" within the same session is invalid QC; the inspection process must be explicitly restarted.
- Start from suspicion — The default stance is "this artifact has problems; your job is to find them," not "please check if there are any problems." The former yields significantly higher recall.
- Facts must be verified externally — Quotes, numbers, API existence, etc. must be verified online; anything unverifiable goes to "Unverified" — never settled from model memory alone.
3. Workflow (8 steps)
| Step | Action | Notes |
|---|---|---|
| 1 | Receive artifact | File path / pasted content / directory (batch). Multiple artifacts supported. |
| 2 | Modality identification | Determine which of the 8 categories apply; for combined artifacts, split first, then check cross-modal contradictions. See references/artifact-types.md |
| 3 | Scenario confirmation | Ask the use case; if unspecified, default to the "public release" preset (strictest). See references/scenarios.md |
| 4 | Per-dimension scan | 6 universal dimensions + modality-specific dimensions. See references/dimensions.md |
| 5 | Impact scoring | Impact = Exposure × Severity × Certainty. See references/scoring.md |
| 6 | Tier classification | Must Fix (≤5 items) / Should Fix / Unverified / Passed |
| 7 | Generate report | Overview counts + per-dimension distribution + grouped detail tables + four-tier verdict. Tables first; flat item-by-item listing is forbidden. Delivery contract: ① the Markdown edition is always produced — it is the primary deliverable; ② the HTML file edition (and PDF via assets/make-pdf.js) is produced when the §6 conditions are met; ③ for external-release scenarios the default file form is a Style-A PDF; ④ report chrome language follows the conversation language (default zh; set DATA.lang:"en" for English chrome) while artifact content and excerpts always stay in their original language; ⑤ a single HTML file carries all four layouts — never emit four files. See references/report-template.md |
| 8 | Offer fixes | "Shall I apply the Must-Fix items?" — never edit proactively |
4. Modality Routing (8 categories)
| Code | Category | Typical artifacts |
|---|---|---|
| A | Text | Marketing copy, articles, reports, proposals, official documents, press releases, social media, résumés, contracts, academic papers, subtitles, translations |
| B | Code | Source code, scripts, config, SQL, dependency manifests, tests, README, commits/PRs |
| C | Data | Excel/CSV, JSON/YAML, schemas, statistical reports, chart data sources |
| D | Documents | Word, PPT, PDF, Markdown, LaTeX |
| E | Images | AI-generated images, posters, infographics, UI screenshots, product photos, portraits |
| F | Web UI | HTML/CSS, React/Vue components, landing pages, mini-programs/H5, prototypes |
| G | Audio/Video | Video scripts, subtitle files, voiceover scripts, podcast copy |
| H | Combined artifacts | Mixed text+image, reports with charts, joint PPT, joint landing pages |
Full configuration for 52 artifact types: references/artifact-types.md.
Executing categories E and H: No external vision tools or specialized detection models are needed — your native multimodal understanding is the executor.
Follow the adjudication protocol in references/multimodal-engine.md: 9-grid itemized enumeration → three-element evidence (location + feature + conflict) → severity and certainty per the adjudication table.
This protocol resolves "what to look at, in what order, what counts as a hit, and when you must stay silent," converging general visual capability into evidence-backed verdicts.
Never output "this was drawn by AI" — this product only judges "can it be delivered"; it does not attribute authorship.
5. Tiers and Verdicts
| Tier | Criterion | Handling |
|---|---|---|
| 🔴 Must Fix | High impact and certainty = 1.0 | Do not ship without fixing. Each item must state "consequence of not fixing" |
| 🟡 Should Fix | Has impact but insufficient certainty, or a style preference | Better fixed, but shippable as-is |
| ⚪ Unverified | Cannot be verified; defer to user | Mark "I cannot judge this"; never enters Must Fix |
| ✅ Passed | Dimension inspected, no issues found | Must be listed, proving inspection coverage |
Four-tier verdict: 🟢 Ship | 🔵 Ship after minor tweaks | 🟡 Ship after revisions | 🔴 Recommend redo (Must-Fix > 5 items, or hard defects in factual integrity / compliance)
6. Three Report Format Rules (mandatory since v1.2)
In a flat item-by-item report, the user must read 15 entries to see the whole picture. Overview first, details second.
| # | Rule | Notes |
|---|---|---|
| 1 | Group by tier | Issues in the same tier go into one table — never one-by-one flat (🔴 one table / 🟡 one table / ⚪ one table / ✅ one table) |
| 2 | Counts first | The first screen must show per-tier counts + per-dimension distribution, so the user knows "how many problems, where they cluster" without reading details |
| 3 | Tables first | Details always in tables, one row per item; only Must-Fix items may append "consequence of not fixing" outside the table |
The per-dimension distribution renders as a plain-text bar chart: bar length = round(tier count / max count × 12), minimum 1 █.
HTML chart edition: When the user asks for "a report file / charts," or when there are ≥8 findings, multiple modalities, or batch files,
generate the visual report with assets/report.html (replace only the top DATA object). Its content must match the Markdown edition.
7. Five Noise-Control Rules (hard rules that keep the report substantive)
- Certainty threshold — Only certainty = 1.0 enters Must Fix; anything doubtful goes to Unverified.
- Must-Fix quota ≤ 5 — More than 5 means redo, not patch: verdict "Recommend redo," listing only the 3 most fatal items.
- Consequence-driven — Every Must-Fix item must state "consequence of not fixing"; if no consequence can be articulated, demote to Should Fix.
- Style preferences banned — "I think this reads better," "could be more literary" always go to Should Fix only.
- Passed items mandatory — Always list passed dimensions and their item counts.
8. Reference Files
| File | Content |
|---|---|
references/rules-residue-zh.md |
Chinese residue rule pack (32 rules, grading RL1–RL4; regex + protection boundaries + conflict arbitration ladder) — primary rule set for Chinese artifacts (written in Chinese by design; load when the artifact is Chinese) |
references/rules-residue-en.md |
English residue rule pack (RZE-xx, 30 rules) — English AI-slop residue detection (dialogue tails / AI self-reference / buzzwords / rule-of-three / superlatives, etc.), overlaid in parallel with RZ-xx; mixed artifacts reported separately |
references/dimensions.md |
6 universal dimensions + 8 modality-specific dimensions |
references/multimodal-engine.md |
Visual & cross-modal inspection engine (Category-E 9-grid + Category-H anchor alignment + visual certainty assignment + five false-positive red lines) |
references/scenarios.md |
7 scenario presets and strictness thresholds |
references/compliance.md |
Compliance checks (superlatives / secrets / privacy / copyright / industry claims / sensitive statements; L1 Chinese Advertising Law + L7 FTC) |
references/artifact-types.md |
Inspection configuration for 52 artifact types |
references/report-template.md |
Four-tier report template and output contract |
references/scoring.md |
Impact model and four-tier verdict rules |
assets/report.html |
HTML chart report template (single file, offline, printable; replace only the DATA object; bilingual UI via DATA.lang) |
evals/cases.md |
Test cases (positives / negatives, false-positive guards) |
evals/selftest-report.html |
Chart-edition report example |
evals/samples/style-a-en.html / .pdf |
English-chrome sample (Style-A official report · English UI, switched by DATA.lang="en") |
docs/SKILL.zh-CN.md |
Chinese mirror of this document (human-readable; non-normative) |
9. Stop-and-Check (confirm each item before outputting the report)
- Every Must-Fix item points to a specific location and verbatim excerpt — no verdicts from a single word alone.
- Every Must-Fix item states "consequence of not fixing"; un-writable ones were demoted.
- No facts, numbers, quotes, or cases were added that do not exist in the original.
- Unverified items are listed separately, not mixed into Must Fix.
- Passed items are listed; coverage is visible.
- The report's first screen shows per-tier counts + per-dimension distribution (not straight into details).
- Same-tier issues are grouped into one table — no flat listing.
- No issue double-counted by multiple rules.
- Must-Fix ≤ 5; if exceeded, verdict changed to "Recommend redo."
- No vague, unactionable accusations like "feels very AI" / "doesn't read human" — every finding lands on a concrete excerpt.
- When one excerpt is hit by multiple rules, merged into one finding via the arbitration ladder (see
rules-residue-zh.md/rules-residue-en.md). - English / mixed artifacts: RZE-xx (English residue) and L7 · FTC (English truth-in-advertising) overlay-loaded, reported separately from RZ-xx / L1 — not merged, not overwritten.
- Images / combined artifacts: genre judged first; every verdict carries the three elements "location + feature + conflict"; the unexplainable went to Unverified.
- Images / combined artifacts: E2/E3/E4/E8 not misplaced into Must Fix (natively capped at 0.8 certainty).
- Images / combined artifacts: Category H produced an anchor-alignment table; "unable to cross-check" was not counted as passed.
Adjudication skeleton informed by: qu-ai-wei (five-part pattern method), Humanizer-zh (preservation boundaries), no-ai-slop (detect-only contract), ai-slop-detector (rule grading and density gating), kill-ai-slop (visual trope checklist). Rules are rebuilt for their native language context, not translated across.
