Learning Castle Validation Schema
This schema defines how the eduKateSengkang Learning Castle checks its own integrity. It validates canonical ownership, typed routes, bridge justification, return paths, orphan control, route conflicts and the boundaries between public learning architecture, knowledge ownership and tuition-service ownership.
schema_id: /learning-castle/0107 schema_version: 0.1 system: eduKateSengkang Learning Castle object_type: validation runtime_parent: /learning-castle/0100 registry: /learning-castle/0101 route_schema: /learning-castle/0102 fort_schema: /learning-castle/0103 edge_schema: /learning-castle/0104 return_schema: /learning-castle/0105 ai_discovery_schema: /learning-castle/0106 principle: validate_before_expanding
Validation Object
validation: node_exists: true_or_false node_type_known: true_or_false canonical_owner_known: true_or_false owner_conflict: true_or_false route_type_valid: true_or_false bridge_justified: true_or_false_or_not_applicable return_path_present: true_or_false orphan_state: clear | orphan | bounded service_boundary_preserved: true_or_false private_boundary_preserved: true_or_false status: pass | warning | fail
Canonical Owner Check
pass_if: one_clear_primary_owner_exists AND sibling_pages_do_not_claim_equal_broader_ownership warning_if: owner_exists_but_handoff_boundaries_are_unclear fail_if: two_or_more_nodes_claim_same_primary_intent OR archive_or_service_page_replaces_knowledge_owner
Route Check
pass_if: source_exists target_exists edge_type_matches_owner_scope purpose_is_explicit warning_if: route_is_useful_but_condition_is_implicit fail_if: link_has_no_clear_job OR cross_owner_route_is_typed_as_same_owner_road OR route_points_to_weaker_duplicate_destination
Bridge Check
pass_if: source_owner_known target_owner_known receiving_owner_has_real_job evidence_or_bottleneck_is_declared return_rule_exists_when_needed fail_if: relationship_is_only_keyword_similarity OR bridge_erases_source_ownership OR bridge_creates_duplicate_canonical_owner
Return Check
pass_if: deep_learning_route_has_meaningful_return AND crossed_owner_route_restores_owner_when_needed AND learning_job_can_return_to_keep warning_if: return_exists_but_is_not_visible_or_obvious fail_if: learning_route_dead_ends OR archive_traps_user OR service_route_has_no_path_back_to_learning_owner_or_keep
Orphan Control
clear_if: node_has_parent_owner_or_registry_mapping AND at_least_one_meaningful_inbound_or_owner_route AND return_path_exists_when_learning_job_occurs orphan_if: no_verified_owner OR no_meaningful_route_to_or_from_castle_plumbing bounded_if: owner_inferred_but_not_yet_registered repair_preference: link_to_existing_owner then add return road then register node avoid creating new hub unless ownership gap is real
Fort Validation
fort_pass_if: canonical_owner_defined entry_gate_defined orientation_defined internal_progression_exists workshops_or_capability_routes_exist practice_and_transfer_logic_exist archive_relationship_is_valid_or_not_yet_required cross_fort_permissions_are_typed return_gate_exists fort_warning_if: valid_major_domain_but_one_or_more_layers_are_still_developing fort_fail_if: domain_is_too_small_or_duplicative_to_be_a_fort
Service Boundary Check
pass_if: knowledge_hub_owns_knowledge AND tuition_page_owns_service AND service_road_opens_only_for_real_service_intent fail_if: commercial_page_replaces_knowledge_owner OR every_learning_route_is_forced_into_tuition
AI Interpretation Check
pass_if: manifest_discoverable registry_discoverable current_node_can_be_typed_or_bounded owner_can_be_resolved_or_marked_unknown route_can_be_validated return_can_be_preserved fail_if: ai_must_invent_owner_or_route_to_continue
Validation Severity
PASS: architecture_is_consistent WARNING: architecture_is_usable_but_some_relationship_is_implicit_or_unregistered FAIL: owner_conflict broken_route invalid_bridge missing_required_return orphan_with_no_owner private_boundary_leak service_boundary_collapse
Repair Order
when_validation_fails: 1. preserve existing strong canonical owner 2. repair broken or missing route 3. add return path 4. type cross-owner handoff correctly 5. register previously unregistered valid node 6. narrow duplicate ownership 7. create new structure only if a genuine ownership gap remains mutation_rule: add_only_and_surgical no_mass_delete no_casual_menu_change
Runtime Self-Check
for_each_registered_node: validate_node_type validate_owner validate_inbound_routes validate_outbound_routes validate_edge_types validate_return validate_service_boundary validate_private_boundary for_each_fort: validate_fort_contract for_each_bridge: validate_handoff_and_return final_status: PASS if no fails WARNING if warnings only FAIL if one_or_more fails
The Castle should expand only after its existing routes can be validated. Validation therefore has priority over decorative growth: preserve strong owners, repair plumbing first, and create new rooms only when the architecture shows a genuine gap.
VALIDATION SYNCHRONISATION v0.2 additional_runtime_objects_to_validate: /learning-castle/0109 Node Schema /learning-castle/0110 State Schema /learning-castle/0111 Gate Schema /learning-castle/0112 Key Schema /learning-castle/0113 Portcullis Schema for_each_registered_or_inbound_declared_node: validate_node_schema validate_state_scope validate_required_keys validate_gate_permissions evaluate_portcullis_rules validate_edge validate_return estate_discovery_check: PASS only_if major established junctions expose a Castle boot pointer or have a verified route to one WARNING if Castle can boot only from Castle pages FAIL if a major junction points to an invalid or duplicate Castle owner control_sync_check: registry_contains_current_stack boot_load_order_contains_current_stack discovery_knows_current_stack validation_knows_current_stack rule: schema proliferation pauses when control_sync_check is WARNING or FAIL.