SuperAPI AI Directory

skyrim-distr-kid-validation

Testing & quality

View repository

Updated 10-30 16:19

About this skill

Framework configuration validation

This skill validates SPID, KID, BOS, SkyPatcher, and source-locked CDF rules.

Commands

python scripts\lint_framework_configs.py <files-or-directories>
python scripts\verify_framework_truth.py
python ..\skyrim-base-object-swapper\scripts\audit_bos_configs.py <bos-directory>
python ..\skyrim-container-distribution\scripts\lint_cdf_json.py <json>

Contract coverage

SPID

  • standard, Death<Type>, ExclusiveGroup, and linked key families;
  • key-specific field layouts;
  • one-to-seven normal fields and one-to-four linked fields;
  • field-aware LevelFilters, TraitFilters, count/index, and Chance;
  • trailing semicolon comments;
  • Weapon = rejection while Item = remains valid.

KID

  • ordinary Keyword two-to-five fields;
  • required human-readable type for ordinary rows;
  • record signatures and blank ordinary types rejected;
  • special ExclusiveGroup grammar;
  • trailing semicolon comments.

BOS

  • section and field count;
  • transform/property/chance grammar;
  • whitespace inside invocations rejected by both the general linter and the BOS auditor;
  • duplicate targets reported without inventing a semantic winner.

Validator disagreement protocol

A published config is evidence, not proof. A validator result is also evidence, not proof. When the linter conflicts with the exact parser, accepted runtime log, or a known-positive deployed behavior:

  1. do not rewrite the mod merely to satisfy the linter;
  2. reproduce the disagreement with the exact line;
  3. inspect the parser/version and runtime log;
  4. mark the validator finding as disputed;
  5. repair the validator first when its contract is wrong;
  6. add the real line as a production-path regression fixture.

A claimed regression test is insufficient when it tests a helper that the actual CLI/auditor never calls. verify_framework_truth.py executes the production entry points against production-shaped fixtures.

Limits

Static validation cannot prove form resolution, semantic BOS coordinates, intended actor selection, hook safety, or in-game behavior.