Problem
There is no strict validation command for the whole Tink library. tink skill list --library silently skips malformed or unreadable entries, while skillset listing is separate and human-oriented.
During the audit, 1,218 flat roots produced only 1,143 listed skills, with no explanation for omitted entries. External scripts had to reconstruct malformed roots, receipt state, provenance gaps, and name collisions.
Relevant code: src/library.rs, src/check.rs, src/skillsets.rs, and CLI dispatch in src/lib.rs.
Proposed change
Add:
tink library check [--strict] [--format text|json]
Build one typed report and render text or deterministic, versioned JSON from it. Report:
- valid standalone skills;
- valid skillsets and declared members;
- malformed, symlinked, unreadable, and orphan entries;
- missing or invalid skillset receipts;
- flat/member shadowing and cross-skillset name collisions;
- provenance state such as pinned, unrecorded, or invalid;
- stable sorted counts and paths.
Read-only commands should establish the JSON contract before mutation commands gain structured output.
Acceptance
Related
#18 covers a broader tink library list surface; this issue is specifically strict validation and machine-readable evidence.
Priority
P1 — operational integrity and auditability.
Problem
There is no strict validation command for the whole Tink library.
tink skill list --librarysilently skips malformed or unreadable entries, while skillset listing is separate and human-oriented.During the audit, 1,218 flat roots produced only 1,143 listed skills, with no explanation for omitted entries. External scripts had to reconstruct malformed roots, receipt state, provenance gaps, and name collisions.
Relevant code:
src/library.rs,src/check.rs,src/skillsets.rs, and CLI dispatch insrc/lib.rs.Proposed change
Add:
Build one typed report and render text or deterministic, versioned JSON from it. Report:
Read-only commands should establish the JSON contract before mutation commands gain structured output.
Acceptance
schemaVersionand stable sorted arrays.--strictreturns non-zero for integrity failures.Related
#18 covers a broader
tink library listsurface; this issue is specifically strict validation and machine-readable evidence.Priority
P1 — operational integrity and auditability.