Skip to content

design: separate Skill validation evidence from source quality #379

Description

@goatliamia

Problem

SkillRoster's existing EvidenceQuality (observed, inferred, unknown) correctly describes the provenance and completeness of a reported fact. It does not describe whether a Skill's declared capability was checked, nor whether a particular check passed.

Codex exposes two materially different validation signals:

  • skill-creator's quick_validate.py checks SKILL.md structure only: frontmatter, name, description, and unfinished scaffold placeholders. It explicitly does not prove good decisions.
  • Its independent forward-testing guidance evaluates a Skill against a realistic request and observable invariants in an isolated workspace.

SkillRoster's frozen Codex routing experiments make the distinction even sharper: retrieval/load, task oracle, workspace safety, transcript integrity, and control validity can pass or fail independently. A single aggregate score would conceal those facts.

Decision Needed

Define a validation-evidence contract before adding runtime behavior. A record must keep these axes separate:

  1. source evidence quality: the existing observed / inferred / unknown model;
  2. validation scope: for example structure, declared_deterministic_contract, or an explicitly frozen isolated_behavior suite;
  3. execution state: passed, failed, not_run, blocked, or unknown;
  4. reproducibility facts: subject content digest, checker/oracle identity and version, execution time, and scoped diagnostics or artifact reference.

No scalar health score, compliance percentage, or implied semantic quality follows from a passing check.

Proposed First Gate

This issue is design-only. It must decide:

  • whether validation declarations require a SkillRoster-specific sidecar rather than unsupported SKILL.md frontmatter;
  • which declarations are safe to inspect read-only and which require an explicitly authorized isolated execution;
  • how not_run, missing declarations, stale digests, and inaccessible content remain distinct from failure;
  • which existing Codex cold-routing harness receipt fields can be reused rather than creating a second evaluator.

A runtime implementation should begin only after a repeated, classified user need justifies one narrow validation family and its public JSON contract.

Non-goals

  • Executing any Skill-provided script during Scan or Report.
  • Treating structural validity as capability, safety, trust, or task-success proof.
  • Adding an aggregate health score or compliance percentage.
  • Changing Plan, Apply, Undo, routing rank, or Agent activation.
  • Replacing existing frozen Codex or Pi harnesses.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions