{
  "version": "0.9.7-stage3c.7-safe-plan-actions-gothic-ui",
  "baseline": "0.9.6-stage3c.6-dynamic-dice-envelope-core-v3",
  "package_release": "r4-external-pycache-verification",
  "check_only": true,
  "server": {
    "path": "/home/shire3d/ARMOR/apps/shire-academy/server/shire_academy_server.py",
    "before_sha256": "c7b07e3c2478bfb1cdfdafe74d93ede0de976973d5fdadb6095109e77b61cdc8",
    "after_sha256": "43bc6f13878ac9fb3d6aba49756d881fa89a5dba1b6aa864bbf027d712fd520f",
    "changes": [
      "stage3c7_import",
      "do_GET_route",
      "do_POST_route",
      "version"
    ],
    "prompt_validation": {
      "authoritative_validator": "stage3c7_safe_plans.validate_prompt",
      "authoritative_route": "/api/safe-plan/create",
      "prompt_character_limit": 1000,
      "rejects_character_count": 1001,
      "legacy_server_validator_required": false,
      "legacy_server_validator_rewritten": false,
      "legacy_500_character_hint_detected": false,
      "reason": "Safe Plan requests are validated by Stage 3C.7 before the legacy Fast Builder plan path is used."
    },
    "handler": {
      "class": "AcademyHandler",
      "bases": [
        "BaseHTTPRequestHandler"
      ],
      "do_GET_signature": "def do_GET(self) -> None:  # noqa: N802",
      "do_POST_signature": "def do_POST(self) -> None:  # noqa: N802",
      "syntax_aware_detection": true
    }
  },
  "index": {
    "path": "/home/shire3d/ARMOR/apps/shire-academy/dist/index.html",
    "before_sha256": "2336f768b7d2627b05bc9738256899fcddb5184e6aa574f70290cfc1125e4909",
    "after_sha256": "2f12387cd7018f3c8cdada9c6bc6a18553e62d84e4dc1808e431146bc74a2cb4",
    "changes": [
      "stage3c7_css",
      "stage3c7_js"
    ]
  },
  "legacy_app": {
    "path": "/home/shire3d/ARMOR/apps/shire-academy/dist/app.js",
    "before_sha256": "6a942b5040f3499456e9c7a0b573415bc9d2474ece79d8fdc7ea8697d71ab61b",
    "after_sha256": "6a942b5040f3499456e9c7a0b573415bc9d2474ece79d8fdc7ea8697d71ab61b",
    "changes": [],
    "authoritative_runtime_adapter": "stage3c7-safe-plans.js",
    "runtime_prompt_character_limit": 1000,
    "legacy_guard_remaining": false,
    "legacy_guard_blocking": false
  },
  "boolean_canary_rerun": false
}
