원클릭으로
testing
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots.
Run transformation coverage tests. Use compact mode when iterating on fixes, full mode when planning or documenting bugs.
Lingua's testing tools for transformation coverage and end-to-end SDK validation.
Add support for a new LLM provider format to Lingua. Follow the test-first workflow with payload snapshots.
Run transformation coverage tests. Use compact mode when iterating on fixes, full mode when planning or documenting bugs.
| name | testing |
| description | Lingua's testing tools for transformation coverage and end-to-end SDK validation. |
Two complementary testing approaches for validating cross-provider transformations.
| Tool | Purpose | Uses API? | When to Use |
|---|---|---|---|
coverage-report | Field-level roundtrip coverage | No | Finding missing/changed fields |
lingua-capture + test:transforms | Real SDK validation | Capture only | Validating against real APIs |
Tests transformations roundtrip without calling APIs. Detects lost, added, or changed fields.
# After code changes - fast validation
cargo run --bin coverage-report -- -f compact
# Filter to specific providers
cargo run --bin coverage-report -- -f compact -p anthropic,responses
# Filter to specific test case
cargo run --bin coverage-report -- -f compact -t "reasoning*"
# Initial investigation with full error details
cargo run --bin coverage-report
# Save to bug file for planning
cargo run --bin coverage-report -- -p anthropic > .claude/anthropic_bugs.md
Stats: 669/1704 (39.3%) [512+157lim] 1035fail
[P1] L:usage.prompt_cache_tokens (123)
ant→ggl: cacheParam (response)...(+44)
L: = Lost fields, A: = Added, C: = Changed(123) = affected test casesoai=ChatCompletions, ant=Anthropic, rsp=Responses, ggl=Google, bed=BedrockValidates against real provider SDKs with schema validation at every step.
chat-completions ↔ anthropicresponses ↔ anthropicCalls real SDKs (requires API keys):
cd payloads
pnpm lingua-capture # Capture missing only
pnpm lingua-capture --force # Recapture all
pnpm lingua-capture toolCall # Filter by name
Output: transforms/{source}_to_{target}/{caseName}.json
Uses captured responses (no API calls):
cd payloads
pnpm test:transforms # Run all
pnpm test:transforms:update # Update snapshots
pnpm test:transforms:watch # Watch mode
Some transformations are impossible. Document in transform_errors.json:
{
"responses_to_anthropic": {
"reasoningRequestTruncated": "max_tokens (100) < budget_tokens (1024 min)"
}
}
These tests pass silently.
Add case to payloads/cases/:
newFeature: {
"chat-completions": { model: "...", messages: [...] },
anthropic: { model: "...", max_tokens: 1024, messages: [...] },
}
Check coverage:
cargo run --bin coverage-report -- -f compact -t newFeature
Capture SDK responses:
cd payloads && pnpm lingua-capture newFeature
Run transform tests:
pnpm test:transforms
Investigate with full coverage report:
cargo run --bin coverage-report -- -p anthropic,responses > .claude/fix_bugs.md
Iterate with compact mode:
cargo run --bin coverage-report -- -f compact -p anthropic,responses
Verify SDK compatibility:
cd payloads && pnpm test:transforms
If snapshots changed intentionally:
pnpm test:transforms:update