Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

Learning Castle Edge Schema | Roads, Bridges and Return Paths

Learning Castle Edge Schema

This schema defines how one Learning Castle object may connect to another. It governs the typed edges used by the Castle Machine Manifest, Castle Registry, Route Schema and Fort Schema.

schema_id: /learning-castle/0104
schema_version: 0.1
system: eduKateSengkang Learning Castle
object_type: edge
runtime_parent: /learning-castle/0100
route_schema: /learning-castle/0102
fort_schema: /learning-castle/0103
principle: every_connection_has_a_job

Edge Contract

edge:
  id: unique_edge_id
  from: canonical_castle_object_or_live_url
  to: canonical_castle_object_or_live_url
  type: road | bridge | return_road | gate_road | archive_road | service_road | expedition_path
  owner_scope: same_owner | cross_owner
  purpose: explicit_learning_or_navigation_job
  condition: explicit_condition_or_always_within_scope
  evidence_required: true_or_false
  canonical_target: true_or_false
  bidirectional: true_or_false
  return_required: true_or_false
  return_target: castle_object_or_live_owner
  status: active | proposed | blocked
  confidence: verified | bounded | unknown

Road

type: road
scope: same_owner
job: normal progression within a Fort, hub, roadmap or coherent domain
condition: destination remains inside source owner scope
return_required: recommended_for_deep_rooms
examples:
  science_hub -> primary_science
  mathematics_fort -> algebra_route
  learning_runtime -> mindos_state
block_if: destination_is_actually_owned_by_another_domain

Bridge

type: bridge
scope: cross_owner
job: temporary or explicit capability handoff
condition: receiving_owner_has_real_job
required:
  - bottleneck
  - evidence
  - handoff_job
  - source_owner
  - target_owner
  - return_rule_when_source_remains_primary
block_if: only_shared_keyword_or_loose_similarity

examples:
  science_fort -> english_fort
    condition: science_concept_secure AND language_precision_is_bottleneck

  mathematics_fort -> english_fort
    condition: mathematical_structure_secure AND mathematical_language_is_bottleneck

  subject_fort -> examination_fort
    condition: subject_capability_secure AND constrained_deployment_is_weak

Return Road

type: return_road
scope: owner_restoration_or_learner_return
job: restore route after child page, workshop, bridge or intervention
preferred_targets:
  - canonical_owner_hub
  - source_fort
  - /learning-castle/0019
  - /learning-castle/0020
rule: every_deep_route_should_have_a_meaningful_return
block_if: return_creates_new_competing_owner

Gate Road

type: gate_road
scope: entry_or_narrowing
job: move actor from arrival state to the correct decision junction
examples:
  learner_gate -> gatehouse
  parent_gate -> gatehouse
  unknown_state -> first_weak_link_route
condition: routing_question_is_unresolved
return: canonical_owner_or_keep_after_resolution

Archive Road

type: archive_road
scope: owner_to_enumeration_layer
job: discovery, completeness, orphan control and reference
ownership_transfer: false
examples:
  science_fort -> complete_science_index
  future_math_fort -> complete_mathematics_index
return_required: true
return_target: owner_hub

Service Road

type: service_road
scope: knowledge_or_need_to_teaching_service
job: route genuine service intent without collapsing knowledge ownership
open_if:
  intent = tuition_service
  OR learner_or_parent_explicitly_requests_teaching_help
rules:
  knowledge_hub_remains_knowledge_owner
  tuition_page_remains_service_owner
  commercial_intent_does_not_rewrite_learning_architecture
return: great_hall_or_subject_owner_as_context_requires

Expedition Path

type: expedition_path
scope: bounded_multi_hop
job: connect several owners for one complex learning question
required:
  - origin
  - purpose
  - bounded_hops
  - owner_at_each_hop
  - reason_for_each_transition
  - final_return
block_if:
  path_is_unbounded
  OR purpose_is_only_exploration_without_learning_job
  OR owner_boundaries_are_lost

Edge Validation Rules

validate_edge:
  source_exists = true
  target_exists = true
  source_owner_known = true
  target_owner_known = true
  type_matches_owner_scope = true
  purpose_is_explicit = true
  condition_is_valid = true
  evidence_present_if_required = true
  return_present_if_required = true
  no_duplicate_canonical_owner_created = true
  no_private_runtime_exposed = true

fail_if_any_required_field_is_false

Edge Priority

when_multiple_edges_are_possible:
  1. prefer canonical owner road
  2. prefer smallest correct gate
  3. prefer verified bridge over speculative relationship
  4. prefer return road over dead end
  5. prefer archive road for enumeration only
  6. use service road only for genuine service intent
  7. use expedition path only when single-owner routing is insufficient

Live Plumbing Interpretation

The existing eduKateSengkang menu and hub links are not treated as untyped historical links. Where they correspond to the Castle Registry, they should be interpreted as public Castle plumbing. A subject hub normally acts as an owner junction; I Am Brave acts as a main learner road; the Learning Runtime acts as Great Hall/runtime plumbing; the Science Index acts as an archive road destination; tuition hubs act as service-road destinations when service intent is explicit.

AI Edge Resolution Procedure

1. resolve source owner
2. resolve target owner
3. ask whether ownership changes
4. if no -> road
5. if yes and receiving owner has a real job -> bridge
6. if returning to owner or learner -> return_road
7. if entering a decision system -> gate_road
8. if enumerating -> archive_road
9. if explicit tuition intent -> service_road
10. if several justified hops are required -> expedition_path
11. otherwise do_not_create_edge