<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
commonfabric/labs/spec-audit
──Details
PublishedOctober 23, 2026 at 09:28 AM
Content Hashsha256:078091b11629d358...
Git SHA1208235baa0a
──Files
Files (1 file, 3.7 KB)
SKILL.md3.7 KBactive
SKILL.md · 71 lines · 3.7 KB

version: "1.0.0" name: spec-audit description: Map and verify the CTS/schema documentation corpus against its normative contracts, implementation, tests, fixtures, and runtime consumers. Use for claim-level audits or updates in docs/specs/ts-transformer, docs/specs/schema-generator, package guidance, and author-facing CTS docs, especially after transformer/schema changes or before releases.


Spec audit: docs vs code for the CTS compiler surface

Why this exists

The 2026-07 audit found the current-behavior spec denying an implemented, fixture-pinned CFC ifc.* lowering subsystem. Use this map to distinguish normative disagreement from descriptive drift and to find the repository's load-bearing evidence quickly.

The map

  • Start at docs/specs/ts-transformer/README.md for the corpus and each

document's authority. Normative target-language/lowering contracts win over code; descriptive current-behavior and schema-mapping specs follow code and passing tests.

  • Ground implementation claims in the relevant canonical constant or source,

targeted tests, and—where output shape matters—the packages/ts-transformers/test/fixtures/** input/expected corpus. Inspect live emission with deno task cf check <file> --show-transformed --no-run.

  • Canonical constants the specs cite (spot-check the citations still resolve):

CFC_TRANSFORMER_STAGES (cf-pipeline.ts), COMMONFABRIC_RUNTIME_EXPORT_REGISTRY (+ its runner-factory guard test), CrossStageState, getExpressionContainerKind, SES_SELF_CONTAINED_CALLBACK_BOUNDARIES, wrapper vocabulary in schema-generator/src/typescript/wrapper-names.ts, CFC_CANONICAL_ALIAS_NAMES in packages/api/cfc.ts, and the JSONSchema type in packages/api/index.ts. Mechanical stage claims are pinned by packages/ts-transformers/test/spec-sync.test.ts.

  • Cross-package contracts with no single home (historically the blind spot):

transformer emission ↔ runner sandbox verifier (@commonfabric/utils sandbox contract); pattern-coverage ↔ runner line-offset/cache couplings (runner/harness/engine.ts); bare WeakMap boundary with schema-generator (cross-stage-state.ts header); CFC aliases/policy markers ↔ schema generator ↔ policy compilation ↔ runner fail-closed IFC validation.

Known drift patterns (seeds, not the boundary)

  • Landing-gap: a feature ships, spec sections that deny it stay (grep the spec

for "not implemented", "no …yet", "draft" and test each such claim).

  • Enumeration drift: prose lists (diagnostic ids, registry entries, stages,

fixture suites) vs their constants — including the inverse direction (ids in code the spec never mentions).

  • Rename shadows: file/symbol references in older docs after renames; git touch

dates lie (mechanical rename PRs refresh mtimes without verifying).

  • PR-scoped artifacts aging in place; "Effective date"/status headers nobody

updates.

  • Author-layer contradictions: docs/common, tutorials, and skills teaching

constructs the validators reject — verify against validation.test.ts and the target-language matrix, and check the critic skills especially (their errors get amplified by automation).

Audit values

  • Name the authority direction for every disagreement before deciding which side

changes.

  • Treat source, tests, and emitted output as evidence; another document's claim

is only a lead.

  • Use independent passes to raise confidence, never as a substitute for cited

evidence.

  • Preserve point-in-time records under docs/history/; correct live docs or

implementation according to the task and the authority split.

  • Make load-bearing enumerable facts mechanically checkable when practical.

Historical audit precedents live at docs/history/cfc-spec-audit.md and docs/history/cts-docs-audit-2026-07.md.

All versions