- Fix critical name collision: shuffle+pop for unique NPC names (#3) - Validate population_density >= 1 in generator and validator (#4) - Guard against empty given_names/roles with validator warnings (#5) - Extract filler word cap to MAX_FILLER_WORDS constant (#6) - Fix cultural behavior gate checking wrong field (#7) - Document intentional one-directional relationships (#8) - Validate min_npcs <= max_npcs in validator (#9) - Fix validate-ron script realpath error handling (#10) - Add TODO comments for spike-specific code duplication (#11, #12, #13) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
948 B
Bash
Executable File
34 lines
948 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# RON content validator — wrapper for the Rust validate_ron binary (#611).
|
|
#
|
|
# Usage:
|
|
# tooling/validate-ron <file.ron> <zone|culture>
|
|
#
|
|
# Examples:
|
|
# tooling/validate-ron content/global/zone-identity-spec.example.ron zone
|
|
# tooling/validate-ron content/global/culture-krenn.example.ron culture
|
|
|
|
set -euo pipefail
|
|
|
|
if [ $# -lt 2 ]; then
|
|
echo "Usage: tooling/validate-ron <file.ron> <zone|culture>"
|
|
echo ""
|
|
echo "Validates a RON file against the Rust struct schema."
|
|
echo "Schema types:"
|
|
echo " zone — ZoneSpec (zone identity spec)"
|
|
echo " culture — CultureProfile (culture profile)"
|
|
exit 1
|
|
fi
|
|
|
|
# Check file exists before resolving — realpath gives unhelpful errors otherwise
|
|
if [ ! -f "$1" ]; then
|
|
echo "Error: file not found: $1"
|
|
exit 1
|
|
fi
|
|
|
|
FILE="$(realpath "$1")"
|
|
SCHEMA="$2"
|
|
|
|
cd "$(dirname "$0")/../server"
|
|
exec cargo run --quiet --bin validate_ron -- "$FILE" "$SCHEMA"
|