techprotrade/LuunaOS / tests /universal-test-harness.md
techprotrade's picture
|
download
raw
2.16 kB
# Universal Test Harness
Purpose: define the three validation checks every Universal Capability Object (UCA) must pass before it can move from `proposed` to `approved` in the Skill Workshop Queue.
## 1. Schema test
Validate the UCA instance against `schemas/universal-skill.schema.json` using a standard JSON Schema validator.
Pass criteria:
- all `required` fields present
- `id` matches `^[a-z0-9]+(-[a-z0-9]+)*$`
- `category` and `status` are valid enum values
- at least one entry in `adapters.providers` or `adapters.runtimes`
## 2. Dry-run test
Walk through `steps` without executing any real side effects (no filesystem writes, no network calls, no commands). Confirm:
- each step has a clear input/output
- no step depends on a `context_needed` item that isn't declared
- the final step produces every declared item in `outputs`
## 3. Real usage example
Pick one realistic end-user request that should trigger this skill. Run it through the full pipeline:
```
User goal → Capability Detector → Registry Radar → Capability Classifier
→ Trust Scanner → Adapter Generator → Test Runner → Skill Workshop Queue
```
Pass criteria:
- Capability Detector produces the expected `capability intent`
- Registry Radar correctly reports match/no-match against `registry/skills.index.json`
- Adapter Generator produces one adapter file per requested target, each conforming to the format described in `adapters/provider-adapter-map.md` or `adapters/runtime-adapter-map.md`
## Result states
| Result | Next queue state |
|---|---|
| All 3 checks pass | `tested` → eligible for `approved` |
| Schema test fails | stays `proposed`, returned to Adapter Generator for fixes |
| Dry-run fails | stays `inspected`, steps need rewriting |
| Real usage example fails | stays `tested`, logged to Luuna Memory as a self-improvement note (see `agents/luuna-skill-forge.agent.json``self_improving_loop`) |
## Minimal test log format
```json
{
"skill_id": "example-skill",
"version": "0.1.0",
"run_date": "YYYY-MM-DD",
"schema_test": "pass | fail",
"dry_run_test": "pass | fail",
"real_usage_example": "pass | fail",
"notes": ""
}
```

Xet Storage Details

Size:
2.16 kB
·
Xet hash:
75f4d974584ab102610a3abb7c0a9e716008220adc2f32902f61b7e17c70cd1b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.