Skip to content

T38 Governed Skill Lifecycle Validation

T38 Governed Skill Lifecycle Validation

Scope

  • Task: T38 — Implement Skill registry, ownership graph, TLC, and Grill routing
  • Requirements: VES-SKL-001…003/005…006, VES-SPC-001…003
  • Commit target: feat(skills): add governed lifecycle registry
  • Focused evidence: 44 cases (21 unit, 11 contract, 12 security)
  • Spec deviations: none

T38 introduces signed immutable Skill locks, strict compatibility/license/source verification, executable-content classification, a closed lifecycle ownership graph, mandatory TLC ownership, exact Grill pre-Specify routing, reviewed update plans, and transactional activation with rollback. Installing a Skill grants zero execution authority.

Deterministic gates

Command Result
node --test tests/unit/governed-skill-registry.test.mjs tests/contract/skill-update-lifecycle.test.mjs tests/security/skill-executable-content-security.test.mjs PASS — 44 passed, 0 failed/skipped
node scripts/gate.mjs security PASS — format, lint, typecheck/build, 1,439 unit, 10 architecture, 248 qualification, 242 security, and 49 fault cases

Adequacy matrix

Criterion Evidence Covered
TLC immutable lock Commit/digest/signature/license/schema/version/harness mutations Yes
Mandatory ownership All five TLC phases plus five independent overlap mutations Yes
Grill ordering/output Enabled/disabled routes and exact Context/ADR contract Yes
Ownership graph Duplicate/unknown owner and dependency-cycle cases Yes
Executable classification JS, PowerShell, Python, shell, Wasm, executable bit, shebang, package scripts Yes
No implicit authority Undeclared executable rejection and approved Plugin with executionAuthority:false Yes
Update plan Current/candidate digests, contiguous generation, qualification, visible diff Yes
Tamper/compatibility Lock/source signatures, digest, license, schema, harness/TLC versions Yes
Transactionality Successful stage/commit, commit-failure rollback, stale candidate Yes
Minimum floor 44 focused cases versus required 35 Yes

Non-shallow checks

  • TLC owns Specify, Design, Tasks, Execute, and Verify; Grill owns none and runs only at pre-specify.
  • Matt-sourced or any other overlapping lifecycle Skill is rejected by the same generic ownership rule.
  • Executable behavior is detected from content reality, not trusted declarations.
  • Approved Tool/Plugin classification permits packaging but still grants the Skill itself no execution capability.
  • Lock digest and both lock/source signatures are verified before resolution or activation.
  • Candidate generation must be contiguous, qualification must pass, and a human-visible diff is mandatory.
  • Commit failure invokes rollback and emits only a stable sanitized error; the previous lock remains authoritative.

Verdict

PASS. Tests preceded implementation, all overlap/hidden-script/tamper/incompatibility/ordering/rollback criteria are covered, the test floor is exceeded, and the security gate passes.