# What Are the Verification Checks (V1, V2, V3) in Stage 1.5 of cangjie-skill?

> Understand V1, V2, and V3 verification checks in Stage 1.5 of cangjie-skill. Learn about evidence support, predictive power, and non-commonsense uniqueness for your technical projects.

- Repository: [kangarooking/cangjie-skill](https://github.com/kangarooking/cangjie-skill)
- Tags: deep-dive
- Published: 2026-08-15

---

**The three verification checks in Stage 1.5 (Triple Verification) are V1 (evidence support from at least two independent sources), V2 (predictive power on novel questions), and V3 (non-commonsense uniqueness).**

Stage 1.5 is the **Triple Verification** step in the cangjie-skill pipeline, a critical quality-control gate that filters candidate skill entries before they enter the final repository. This stage ensures every skill meets rigorous standards for reliability, applicability, and value. The primary keyword—**verification checks V1 V2 V3 in Stage 1.5 cangjie-skill**—refers to this three-layer validation system implemented in the kangarooking/cangjie-skill open-source project.

## Overview of Stage 1.5: Triple Verification

Stage 1.5 sits between candidate generation and final skill acceptance in the cangjie-skill workflow. According to [`methodology/03-stage1.5-triple-verify.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md), this stage applies three independent checks to every candidate skill. Only entries passing all three verifications are promoted from the candidate pool to the final skill repository.

The design philosophy emphasizes **cross-domain validation** and **practical utility** over simple pattern matching or memorization.

## V1: Evidence Support Verification

**V1** requires that every candidate skill be backed by **at least two independent passages** from different domains or sources.

This check prevents over-reliance on single-source claims that may reflect bias, error, or narrow context. The independence requirement—enforced through domain attribution in the evidence pool—ensures corroboration across distinct knowledge contexts.

Key implementation details from [`README.en.md`](https://github.com/kangarooking/cangjie-skill/blob/main/README.en.md):

- Sources must originate from **different domains** (e.g., technical documentation vs. academic paper vs. community forum)
- Simple string matching is insufficient; the supporting passages must substantively address the skill's core claim

## V2: Predictive Power Verification

**V2** tests whether the skill can **answer a novel, previously unseen question** correctly.

This verification distinguishes extractive knowledge from genuinely applicable understanding. A skill that merely reproduces memorized text fails V2; it must demonstrate **generative applicability** to new situations.

The assessment workflow:

1. Generate a **novel question** not present in the original source material
2. Apply the candidate skill's knowledge representation
3. Evaluate answer correctness against ground truth or expert judgment

As noted in the [`README.en.md`](https://github.com/kangarooking/cangjie-skill/blob/main/README.en.md) Triple Verification section, this "tests whether the extracted knowledge can be applied to new situations rather than merely reproducing memorised text."

## V3: Uniqueness Verification

**V3** filters out trivial or obvious claims by requiring **non-commonsense uniqueness**.

A skill passes V3 only if it provides information that:

- Is **not obvious** to a domain-knowledgeable reader
- Adds **discriminating value** beyond generic statements
- Cannot be derived through simple inference from common knowledge

This check prevents repository bloat with low-value entries like "Python is a programming language" while preserving specific, actionable insights like "In Cangjie (仓颉), the `@Spawn` macro auto-generates coroutine dispatch tables that must be manually linked when targeting bare-metal RISC-V targets."

## Implementation Example

While the cangjie-skill pipeline uses markdown-driven workflows, the verification logic translates directly to code. Below is a Python illustration matching the repository's specification:

```python
def triple_verify(candidate, evidence_pool):
    # V1 – require two independent sources from different domains

    supporting_sources = [e for e in evidence_pool if e.substantiates(candidate)]
    distinct_domains = {s.domain for s in supporting_sources}
    if len(distinct_domains) < 2:
        return False, "V1_FAILED: insufficient independent evidence"

    # V2 – test predictive power with novel question generation

    novel_question = generate_unseen_question(candidate)
    generated_answer = candidate.apply_to(novel_question)
    if not evaluate_correctness(generated_answer, novel_question.ground_truth):
        return False, "V2_FAILED: no predictive power demonstrated"

    # V3 – filter obvious/commonsense claims

    if is_commonsense(candidate.core_claim):
        return False, "V3_FAILED: claim lacks non-commonsense uniqueness"

    return True, "ALL_CHECKS_PASSED"

```

## Where Verification Results Are Recorded

Verified skills propagate through the pipeline with status tracking:

| File | Purpose |
|------|---------|
| [`methodology/03-stage1.5-triple-verify.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md) | Defines the complete Triple Verification workflow |
| [`README.en.md`](https://github.com/kangarooking/cangjie-skill/blob/main/README.en.md) ( lines 34-38) | Documents the three checks for V1, V2, V3 requirements |
| [`SKILL.md`](https://github.com/kangarooking/cangjie-skill/blob/main/SKILL.md) template | Contains metadata fields for verification status |
| `templates/` directory | Embeds verification results into final skill artifacts |

## Summary

- **V1 (Evidence Support)**: Requires ≥2 independent sources from different domains—ensures claim reliability through cross-corroboration
- **V2 (Predictive Power)**: Mandates successful answering of novel questions—validates practical applicability beyond memorization
- **V3 (Uniqueness)**: Enforces non-commonsense distinctiveness—maintains repository quality by filtering trivial entries

All three **verification checks in Stage 1.5 of cangjie-skill** must pass for candidate promotion. This architecture, implemented in kangarooking/cangjie-skill, balances thoroughness with automation suitability.

## Frequently Asked Questions

### What happens if a candidate skill fails one of the three verification checks?

The candidate is rejected and returned to the pool for potential refinement or discarded entirely. According to the methodology documentation, there is no partial credit—**all three checks (V1, V2, V3) are mandatory**. Failed candidates may trigger feedback loops to improve upstream generation stages.

### How does V1 distinguish "different domains" for source independence?

Domain classification relies on source metadata tags applied during Stage 1 (candidate generation). The [`README.en.md`](https://github.com/kangarooking/cangjie-skill/blob/main/README.en.md) specifies that domain boundaries follow **functional criteria** rather than simple URL patterns—for example, official language documentation, academic publications, production codebase comments, and community Q&A each constitute distinct domains even if hosted on similar platforms.

### Can the verification thresholds be adjusted for specific skill categories?

The base implementation uses fixed thresholds (2+ sources for V1, strict correctness for V2, binary uniqueness for V3). However, the `templates/` directory contains **category-specific overlays** that relax or tighten certain checks. For instance, experimental API documentation may accept single-source V1 verification with elevated V2 requirements.

### Where in the codebase is the actual verification logic implemented?

The core definitions reside in [`methodology/03-stage1.5-triple-verify.md`](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md). Concrete verification orchestration appears in the pipeline configuration files, while [`README.en.md`](https://github.com/kangarooking/cangjie-skill/blob/main/README.en.md) lines 34-38 provide the authoritative specification for the three checks. The repository follows a **docs-as-code** approach where markdown specifications drive executable workflow definitions.