Small Group Tutorials

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

Learning Castle Portcullis Schema | Hard Stops and Protected Boundaries

Learning Castle Portcullis Schema

This schema defines the hard-stop rules of the eduKateSengkang Learning Castle. A Portcullis does not choose the next destination. It blocks movement when the architecture, evidence, ownership, privacy or return requirements are not satisfied.

schema_id: /learning-castle/0113
schema_version: 0.1
system: eduKateSengkang Learning Castle
object_type: portcullis
runtime_parent: /learning-castle/0100
gate_schema: /learning-castle/0111
key_schema: /learning-castle/0112
state_schema: /learning-castle/0110
validation_schema: /learning-castle/0107
principle: invalid_transition_must_stop_before_traversal

Portcullis Contract

portcullis:
  rule_id: unique_rule_name
  trigger: explicit_condition
  blocks: gate_or_transition_class
  severity: warning | hard_stop
  reason: explicit_architectural_or_evidence_reason
  fallback: gatehouse | validation | canonical_owner | stop
  recoverable: true_or_false
  release_condition: declared_condition_or_not_applicable

Duplicate Ownership Stop

rule.duplicate_owner:
  trigger: new_or_existing_node_claims_primary_intent_already_owned_by_stronger_canonical_owner
  blocks: owner_promotion | new_hub_creation | route_to_duplicate_owner
  severity: hard_stop
  fallback: canonical_owner
  release_condition: genuine_distinct_intent_and_boundary_are_demonstrated

Weak Evidence Stop

rule.insufficient_evidence:
  trigger: prescription_or_high_confidence_route_requires_evidence_but_key.evidence_sufficient_is_missing
  blocks: prescription | confident_state_upgrade | high_confidence_bridge
  severity: hard_stop
  fallback: /learning-castle/0005
  release_condition: sufficient_new_evidence

Unknown-State Stop

rule.unknown_state:
  trigger: learner_state = unknown AND route_requires_specific_intervention
  blocks: direct_intervention
  severity: hard_stop
  fallback: gatehouse
  release_condition: smallest_defensible_state_resolved

Unjustified Bridge Stop

rule.unjustified_bridge:
  trigger: cross_owner_route_without_key.bridge_justified
  blocks: bridge
  severity: hard_stop
  fallback: source_owner
  release_condition: real_handoff_job_and_evidence_are_declared

Forced Service Stop

rule.forced_service:
  trigger: destination_is_tuition_service AND key.service_requested_is_missing
  blocks: service_road
  severity: hard_stop
  fallback: knowledge_owner_or_gatehouse
  release_condition: explicit_service_intent

Knowledge-Service Boundary Stop

rule.service_replaces_knowledge_owner:
  trigger: commercial_service_node_claims_broader_knowledge_ownership
  blocks: owner_transfer
  severity: hard_stop
  fallback: subject_or_knowledge_fort
  release_condition: ownership_boundary_restored

Private Boundary Stop

rule.private_runtime_leak:
  trigger: public_route_requires_exposure_of_private_proprietary_logic
  blocks: disclosure | direct_private_traversal
  severity: hard_stop
  fallback: public_safe_projection
  release_condition: none_for_public_runtime

Missing Return Stop

rule.missing_return:
  trigger: deep_learning_route_or_bridge_has_no_meaningful_return_path
  blocks: route_completion
  severity: hard_stop
  fallback: source_owner_or_validation
  release_condition: return_target_added_and_validated

Archive Ownership Stop

rule.archive_claims_owner:
  trigger: archive_or_index_attempts_to_replace_canonical_hub_owner
  blocks: owner_transfer
  severity: hard_stop
  fallback: canonical_owner_hub
  release_condition: archive_role_restored_to_enumeration

Clinical Overreach Stop

rule.clinical_overreach:
  trigger: educational_observation_is_used_to_make_medical_or_clinical_diagnosis
  blocks: diagnosis_claim
  severity: hard_stop
  fallback: bounded_educational_observation
  release_condition: none_within_learning_castle_scope

State Inflation Stop

rule.state_inflation:
  trigger: evidence_does_not_support_upgrade_to_stronger_state
  blocks: state_upgrade
  severity: hard_stop
  examples:
    one_good_attempt -> independent
    familiar_only -> portable
    bounded_evidence -> verified
  fallback: current_state
  release_condition: stronger_new_evidence

Dead-End Stop

rule.dead_end:
  trigger: learning_route_terminates_without_owner_keep_or_open_gate_return
  blocks: completion_status
  severity: hard_stop
  fallback: nearest_verified_owner
  release_condition: valid_return_added

Portcullis Priority

evaluate_before_gate_open:
  1. private_boundary
  2. duplicate_owner
  3. unknown_state_or_insufficient_evidence
  4. invalid_bridge
  5. forced_service
  6. missing_return
  7. state_inflation
  8. archive_or_service_boundary_collapse

if hard_stop_triggered:
  gate_must_remain_closed

Release Procedure

1. identify triggered rule
2. preserve current safe owner
3. gather missing evidence or repair architecture
4. revalidate state key edge and return
5. release only when declared release_condition_is_met
6. do_not_bypass_hard_stop_by_using_alternate_unvalidated_route

The Portcullis is the Castle’s refusal layer. Gates decide where movement may go; keys justify permission; the Portcullis prevents movement that the architecture has no right to make.