eduKate Ecosystem Runtime | Eight Registered Wings, One Federated Programme

eduKateEcosystem/0000 · FEDERATED RUNTIME ROOT · STATUS: LIVE

The eduKate Ecosystem Runtime

Eight registered wings operate as one federated education programme: Orchard, eduKateSG, eduKateSengkang, eduKateSingapore, Bukit Timah Tutor, eduKatePunggol, Singapore English Tuition Centre and eduKateYishun. Each site keeps its own canonical responsibilities, pages, hubs and local architecture. The ecosystem layer makes those independent sites discoverable as one larger machine so a human or AI can enter through any wing, preserve the current owner, route a bounded job elsewhere when necessary, and return the result to the originating owner.

This page is the public canonical machine manifest. It does not merge the sites and it does not transfer ownership merely because a route crosses domains. The current eight-wing registry immediately below is authoritative; older six-wing and five-wing material is retained only as compatibility history.

Runtime role: eduKateAI / Orchard is the reception and owner-resolution layer of the federation. It does not replace the subject, knowledge, learner-runtime, recovery or local owners. When the right destination is unclear, Orchard helps resolve the human situation into the correct wing and preserves a return path. Use Project Atlas for the public master cartography and the eduKateSG Ecosystem Atlas for the operating boundary ledger and build governance.

Public membership clarification: the current federation has eight registered wings. The authoritative roles are the eight-wing registry immediately below: eduKateAI / Orchard for reception and owner resolution; eduKateSG for systems, research and operating architecture; eduKateSingapore for public knowledge and Project Atlas; eduKateSengkang for learner runtime; eduKateYishun for recovery and rebuilding; Bukit Timah Tutor for Mathematics; Singapore English Tuition Centre for English; and eduKatePunggol for the Punggol family/local implementation route. Older six-wing and five-wing blocks later on this page are retained only as compatibility history and must not override the current registry. For public cartography use Project Atlas; for operating governance use the Ecosystem Atlas.

eduKateEcosystem/0001B · Current Eight-Wing Registry

Status: authoritative current registry. Checked: 26 September 2026. It supersedes the six-wing and five-wing compatibility registries retained later on this page.

WingCanonical runtime rolePrimary public control route
eduKateAI / OrchardReception, owner resolution, routing and return pathsLearning Ecosystem Guide
eduKateSGSystems, research, broad discovery, education/civilisation mechanisms and operating governanceEcosystem Atlas
eduKateSingaporePublic knowledge, curriculum, evidence, Learning Manuals, world knowledge and public master cartographyProject Atlas
eduKateSengkangLearner runtime: first weak link, capability state, practice, transfer, assessment evidence, examination craft and independenceLearning Atlas
eduKateYishunRecovery, rebuilding, rehabilitation, second chances, skills conversion and transformationRecovery Atlas
Bukit Timah TutorSpecialist Mathematics from school foundations to advanced Mathematics, applications and world routesWorld Mathematics Atlas
Singapore English Tuition CentreSpecialist English language, learning, teaching and performanceHow English Works
eduKatePunggolPunggol family journey, local education context, consultation and local tuition implementationPunggol Atlas
EDUKATE_ECOSYSTEM_REGISTRY_V2
CHECKED = 2026-09-26
CURRENT_REGISTERED_WINGS = 8

ORCHARD = RECEPTION_OWNER_RESOLUTION_ROUTING
EDUKATESG = SYSTEMS_RESEARCH_DISCOVERY_GOVERNANCE
EDUKATESINGAPORE = PUBLIC_KNOWLEDGE_REFERENCE_PROJECT_ATLAS
SENGKANG = LEARNER_RUNTIME_CAPABILITY_TRANSFER
YISHUN = RECOVERY_REBUILD_TRANSFORMATION
BTT = MATHEMATICS_SPECIALIST
SETC = ENGLISH_SPECIALIST
PUNGGOL = FAMILY_LOCAL_IMPLEMENTATION

GLOBAL_INVARIANTS:
ONE_CANONICAL_OWNER_PER_JOB = TRUE
MANY_USEFUL_ROUTES_TO_OWNER = TRUE
CROSS_SITE_LINK != OWNERSHIP_TRANSFER
SPECIALIST != WHOLE_LEARNER_OWNER
LOCAL_IMPLEMENTATION != GLOBAL_SUBJECT_OWNER
SEO = TELEMETRY_NOT_ARCHITECTURE
RETURN_PATH_REQUIRED = TRUE
ALLOW_UNKNOWN_OWNER = TRUE

OWNER_RESOLUTION:
IF job_is_unclear -> ORCHARD
IF public_reference_or_current_rules -> EDUKATESINGAPORE
IF system_mechanism_or_research -> EDUKATESG
IF learner_state_or_transfer -> SENGKANG
IF recovery_or_rebuild -> YISHUN
IF deep_mathematics -> BTT
IF deep_english -> SETC
IF punggol_family_local_implementation -> PUNGGOL

COMPATIBILITY:
six_wing_registry = SUPERSEDED_COMPATIBILITY
five_wing_registry = HISTORICAL_COMPATIBILITY
older_counts_must_not_override_current_registry = TRUE

Runtime boundary: the receiving wing completes only the bounded job it owns. The originating route remains visible, evidence and provenance are preserved, and the result returns to the wider learning/family/system journey rather than silently transferring ownership.

eduKateEcosystem/0002B · Shared Boot Contract V2

EDUKATE_ECOSYSTEM_BOOT_V2
ROOT = eduKateEcosystem/0000
PUBLIC_MASTER_MAP = https://edukatesingapore.com/list-of-articles-project-atlas/
OPERATING_GOVERNANCE = https://edukatesg.com/ecosystem-atlas/
RECEPTION_OWNER_RESOLUTION = https://edukateorchard.com/
RUNTIME_MODE = FEDERATED
REGISTERED_WINGS = 8

BOOT_SEQUENCE:
1 preserve_source_url_and_current_owner
2 identify_human_question_or_current_job
3 if owner_unclear: route_to_ORCHARD
4 classify_job = public_reference | system_mechanism | learner_runtime | recovery | mathematics | english | local_implementation
5 resolve_existing_canonical_owner_before_creating_any_new_owner
6 classify_page_type_and_lifecycle_state
7 classify_claim = durable_mechanism | changing_fact | interpretation | local_implementation
8 verify_time_sensitive_or_consequential_claims_against_strong_current_evidence
9 execute_only_within_declared_owner_scope
10 preserve_privacy_and_minimum_necessary_context
11 produce_learning_or_decision_evidence
12 return_result_to_originating_route_or_next_owner
13 run_collision_and_staleness_check
14 propagate important owner or rule changes to dependent handoffs

GLOBAL_GUARDRAILS:
EIGHT_WINGS = ONE_FEDERATED_ECOSYSTEM
ONE_CANONICAL_OWNER_PER_JOB = TRUE
ROUTE_FIRST_CLONE_NEVER = TRUE
SITE != WHOLE_ECOSYSTEM
SPECIALIST != WHOLE_LEARNER_OWNER
LOCAL_IMPLEMENTATION != GLOBAL_SUBJECT_OWNER
SEARCH_PERFORMANCE = TELEMETRY_NOT_ARCHITECTURE
PRESERVE_PROVEN_URLS_BY_DEFAULT = TRUE
MERGE_REDIRECT_NOINDEX_REMOVE = EVIDENCE_BASED_NOT_FORBIDDEN
PRIVATE_IMPLEMENTATION_REMAINS_PRIVATE = TRUE
STUDENT_DATA = NECESSARY_PROPORTIONATE_MINIMUM
AI = TOOL_LAYER_NOT_OWNER
RETURN_PATH_REQUIRED = TRUE
ALLOW_UNKNOWN_OWNER = TRUE

FAIL_SAFE:
IF owner_unresolved -> STOP_GUESSING + ORCHARD
IF several_owners_plausible -> preserve_candidates + resolve_job
IF evidence_insufficient -> state_uncertainty + gather_better_evidence
IF privacy_boundary_crossed -> minimise_or_stop_transfer
IF current_rule_uncertain -> route_to_public_reference_owner
IF specialist_job_complete -> return_to_origin_or_next_route
IF route_conflicts_with_registry -> current_registry_wins + repair_stale_route

Compatibility: V1 boot material is retained later on this page only so older references remain interpretable. New routing, publishing and governance decisions use V2.

eduKateEcosystem/0100B · Cross-Site Capability Registry V2

The ecosystem routes bounded capabilities, not whole websites. A receiving wing completes only the job it owns and returns evidence, result and unresolved risk to the originating route.

CAPABILITY_REGISTRY_V2

CAP/ORCHARD/OWNER_RESOLVE
  PROVIDER = ORCHARD
  INPUT = human_question + source_route + candidate_owners
  OUTPUT = resolved_job + resolved_owner | candidate_set | UNKNOWN_OWNER
  MAY_NOT = fabricate_owner_or_force_specialist

CAP/ORCHARD/RETURN_ROUTE
  PROVIDER = ORCHARD
  INPUT = completed_specialist_job + source_route + next_question
  OUTPUT = return_owner + next_route
  MAY_NOT = absorb_completed_specialist_work

CAP/EDUKATESG/SYSTEM_EXPLAIN
  PROVIDER = EDUKATESG
  INPUT = bounded_system_or_mechanism_question + scope + evidence_need
  OUTPUT = mechanism_explanation + owner_crosswalk + unresolved_questions
  MAY_NOT = replace_public_reference_or_specialist_owner

CAP/EDUKATESG/RESEARCH_TO_PRACTICE
  PROVIDER = EDUKATESG
  INPUT = education_problem + evidence + implementation_context
  OUTPUT = bounded_practice_hypothesis + evidence_limits + implementation_route
  MAY_NOT = convert_one_study_into_universal_instruction

CAP/EDUKATESG/EDUCATION_SYSTEM_DESIGN
  PROVIDER = EDUKATESG
  INPUT = curriculum | assessment | teacher | institution | lifelong_learning_system_job
  OUTPUT = system_model + tradeoffs + owner_routes
  MAY_NOT = overwrite_current_official_rules

CAP/EDUKATESINGAPORE/PUBLIC_REFERENCE
  PROVIDER = EDUKATESINGAPORE
  INPUT = topic + audience + evidence_or_currency_requirement
  OUTPUT = public_reference + sources + scope
  MAY_NOT = infer_individual_learner_state

CAP/EDUKATESINGAPORE/CURRICULUM_EXAM_REFERENCE
  PROVIDER = EDUKATESINGAPORE
  INPUT = curriculum_or_exam + cohort + current_rule_question
  OUTPUT = current_reference + official_source_context + review_scope
  MAY_NOT = replace_subject_specific_exam_craft

CAP/EDUKATESINGAPORE/SCIENCE_WORLD
  PROVIDER = EDUKATESINGAPORE
  INPUT = scientific_concept_or_mechanism + level_or_depth
  OUTPUT = science_explanation + evidence + related_learning_routes
  MAY_NOT = infer_exam_readiness_from_reference_access

CAP/EDUKATESINGAPORE/VOCABULARY_PUBLIC_MAP
  PROVIDER = EDUKATESINGAPORE
  INPUT = age_or_stage + purpose + word_reference_need
  OUTPUT = public_list_or_reference_route
  MAY_NOT = replace_vocabulary_learning_system

CAP/SENGKANG/LEARNER_DIAGNOSE
  PROVIDER = SENGKANG
  INPUT = learner_evidence + task + present_difficulty + support_conditions
  OUTPUT = first_plausible_weak_link + capability_state + next_test
  MAY_NOT = turn_score_into_identity

CAP/SENGKANG/PRACTICE_TRANSFER
  PROVIDER = SENGKANG
  INPUT = target_knowledge + target_capability + current_state
  OUTPUT = practice_route + support_fade + transfer_test
  MAY_NOT = equate_familiar_success_with_transfer

CAP/SENGKANG/ASSESSMENT_EVIDENCE
  PROVIDER = SENGKANG
  INPUT = task_sample + construct + conditions + observed_result
  OUTPUT = justified_interpretation + uncertainty + next_evidence
  MAY_NOT = claim_more_than_the_sample_supports

CAP/SENGKANG/EXAMINATION_CRAFT
  PROVIDER = SENGKANG
  INPUT = learned_capability + exam_conditions + execution_problem
  OUTPUT = generic_exam_runtime_action + retest
  MAY_NOT = replace_subject_specific_exam_owner

CAP/YISHUN/RECOVERY_PLAN
  PROVIDER = YISHUN
  INPUT = setback + preserved_capability + evidence + time_constraints
  OUTPUT = recovery_move + repair_sequence + review_point
  MAY_NOT = rebuild_correct_work_without_evidence

CAP/YISHUN/REBUILD_ROUTE
  PROVIDER = YISHUN
  INPUT = failed_or_unusable_current_system + dependencies
  OUTPUT = minimum_viable_rebuild + evidence_of_exit
  MAY_NOT = duplicate_canonical_subject_knowledge

CAP/YISHUN/SKILLS_CONVERSION
  PROVIDER = YISHUN
  INPUT = existing_capability + new_role_or_context + gap
  OUTPUT = conversion_route + work_product_or_transfer_evidence
  MAY_NOT = treat_credential_as_capability_by_itself

CAP/BTT/MATHEMATICS_SPECIALIST
  PROVIDER = BTT
  INPUT = bounded_mathematics_problem + stage + evidence_if_authorised
  OUTPUT = mathematical_state + explanation_or_repair + validation_route
  MAY_NOT = keep_whole_learner_or_claim_non_mathematics_ownership

CAP/BTT/MATHEMATICS_ASSESSMENT
  PROVIDER = BTT
  INPUT = mathematical_construct + task_evidence + assessment_scope
  OUTPUT = subject_specific_interpretation + next_mathematics_action
  MAY_NOT = equate_one_correct_solution_with_mastery

CAP/BTT/MATHEMATICS_TECHNOLOGY
  PROVIDER = BTT
  INPUT = mathematical_learning_job + tool_or_representation
  OUTPUT = technology_use_route + reasoning_preservation_test
  MAY_NOT = let_tool_output_replace_mathematical_reasoning

CAP/SETC/ENGLISH_SYSTEM
  PROVIDER = SETC
  INPUT = bounded_english_language_or_performance_job + level_or_depth
  OUTPUT = english_system_explanation + learning_or_performance_route
  MAY_NOT = become_whole_learner_owner

CAP/SETC/ENGLISH_EXAMINATION
  PROVIDER = SETC
  INPUT = english_exam_or_component + task_evidence + current_demand
  OUTPUT = subject_specific_exam_route + language_performance_evidence
  MAY_NOT = replace_current_exam_reference_owner

CAP/SETC/ENGLISH_PEDAGOGY
  PROVIDER = SETC
  INPUT = english_teaching_problem + learner_evidence
  OUTPUT = subject_specific_teaching_move + evidence_of_learning
  MAY_NOT = replace_general_tutor_operating_system

CAP/PUNGGOL/FAMILY_LOCAL_ROUTE
  PROVIDER = PUNGGOL
  INPUT = local_family_question + stage + subject + practical_context
  OUTPUT = local_route + practical_next_step + return_owner
  MAY_NOT = claim_global_subject_ownership

CAP/PUNGGOL/LOCAL_TUITION_IMPLEMENTATION
  PROVIDER = PUNGGOL
  INPUT = identified_learning_need + level + subject + implementation_context
  OUTPUT = local_teaching_or_consultation_route + observable_result
  MAY_NOT = turn_every_information_request_into_enrolment

CAPABILITY_CALL_ENVELOPE_V2:
  call_id
  boot_version = EDUKATE_ECOSYSTEM_BOOT_V2
  source_wing
  source_owner
  source_url
  page_type
  requested_capability
  bounded_job
  authorised_context
  privacy_class
  evidence_sent
  expected_output
  return_owner
  return_route

REJECT_IF:
  owner_unresolved_and_orchard_not_called
  requested_capability_not_registered
  privacy_scope_exceeds_minimum_needed
  requested_job_exceeds_provider_role
  return_path_missing
  current_reference_needed_but_not_verified

Capability rule: a capability is a bounded service to the wider graph. Completing it does not transfer ownership of the learner, subject, family journey or public knowledge estate.

eduKateEcosystem/0110B · Route Planner V2

The V2 planner chooses the smallest valid path while preserving the current owner, privacy, evidence and return path. It prefers a surgical local completion when the current wing genuinely owns the job; cross-site movement occurs only when another registered capability is required.

ECOSYSTEM_ROUTE_PLANNER_V2

INPUT:
  human_question_or_current_job
  source_wing
  source_owner_if_known
  source_url
  page_type
  learner_or_reader_state_if_relevant
  evidence_available
  privacy_class
  freshness_requirement
  candidate_owners[]
  return_route

STEP_1_OWNER_RESOLUTION:
  IF job_unclear OR several_owners_plausible:
    CALL ORCHARD/OWNER_RESOLVE
  ELSE:
    preserve_declared_owner

STEP_2_JOB_CLASS:
  IF current_rules | curriculum | public_reference | world_knowledge:
    owner_class = EDUKATESINGAPORE
  IF system_mechanism | research | education_design | civilisation_mechanism:
    owner_class = EDUKATESG
  IF learner_state | practice | transfer | assessment_evidence | generic_exam_craft:
    owner_class = SENGKANG
  IF setback | recovery | rebuild | second_chance | skills_conversion:
    owner_class = YISHUN
  IF deep_mathematics | mathematics_assessment | mathematics_technology:
    owner_class = BTT
  IF deep_english | english_exam | english_pedagogy:
    owner_class = SETC
  IF punggol_family | punggol_local_implementation:
    owner_class = PUNGGOL

STEP_3_STAY_OR_HANDOFF:
  IF source_owner_can_complete_exact_job:
    STAY_LOCAL
  ELSE:
    CALL smallest_registered_capability_that_closes_gap

STEP_4_CHAIN_LIMIT:
  prefer 0 cross_site_calls
  allow 1 call when sufficient
  allow 2 calls only when output_1 is required input_2
  more_than_2 calls requires ORCHARD route review

VALID_CHAIN_EXAMPLES:
  EDUKATESINGAPORE/PUBLIC_REFERENCE -> SENGKANG/LEARNER_DIAGNOSE
  SENGKANG/LEARNER_DIAGNOSE -> BTT/MATHEMATICS_SPECIALIST
  SENGKANG/LEARNER_DIAGNOSE -> SETC/ENGLISH_SYSTEM
  BTT/MATHEMATICS_SPECIALIST -> SENGKANG/PRACTICE_TRANSFER
  SETC/ENGLISH_SYSTEM -> SENGKANG/PRACTICE_TRANSFER
  SENGKANG/ASSESSMENT_EVIDENCE -> YISHUN/RECOVERY_PLAN
  EDUKATESG/RESEARCH_TO_PRACTICE -> SENGKANG/TUTOR_IMPLEMENTATION
  PUNGGOL/LOCAL_TUITION_IMPLEMENTATION -> SENGKANG/ASSESSMENT_EVIDENCE
  ORCHARD/OWNER_RESOLVE -> any_resolved_owner

STEP_5_EVIDENCE_AND_FRESHNESS:
  IF claim_can_change:
    verify_current_reference_before_advice
  IF learner_claim:
    preserve_observation_vs_inference
  IF assessment_claim:
    preserve_construct_and_support_conditions
  IF evidence_insufficient:
    state_uncertainty + request_or_collect_smallest_useful_evidence

STEP_6_PRIVACY:
  send minimum necessary context
  strip unrelated identifying detail
  stop if transfer crosses privacy_or_safeguarding_boundary

STEP_7_RETURN:
  emit result
  emit unresolved_risk
  emit next_route
  return to originating owner unless explicit ownership migration is separately declared

FAIL_SAFE:
  UNKNOWN_OWNER -> ORCHARD
  OWNER_CONFLICT -> ORCHARD
  STALE_REFERENCE -> PUBLIC_REFERENCE_OWNER
  SPECIALIST_SCOPE_EXCEEDED -> RETURN
  PRIVACY_BOUNDARY -> STOP_OR_MINIMISE
  BROKEN_RETURN -> ORCHARD
  COLLISION_DETECTED -> CURRENT_REGISTRY + GOVERNANCE_REVIEW

Route-quality test: the shortest route is not the route with the fewest clicks. It is the route that reaches the correct owner with the least unnecessary transfer, preserves meaning and privacy, produces usable evidence, and leaves the reader able to continue or return without losing orientation.

eduKateEcosystem/0001A · Superseded Six-Wing Compatibility Registry

This block is retained as a superseded six-wing compatibility registry from 17 September 2026. It is not current routing authority; the eight-wing registry and Boot V2 above govern present routing. The older material remains as compatibility history; it must not be used to exclude eduKatePunggol from the current ecosystem.

EDUKATE_ECOSYSTEM_REGISTRY_V1_1
CHECKED = 2026-09-17
BOOT = EDUKATE_ECOSYSTEM_BOOT_V1
CURRENT_REGISTERED_WINGS = 6

WINGS:
  ORCHARD = CONTROL_AND_ROUTING
  EDUKATESG = RESEARCH_SYSTEMS_HELP
  SENGKANG = LEARNER_RUNTIME
  SINGAPORE = KNOWLEDGE_LIBRARY
  BTT = MATHEMATICS_SPECIALIST
  PUNGGOL = LOCAL_EDUCATION_TUITION_EXECUTION

OBJECTS:
  ORCHARD = eduKateEcosystem/0010
  EDUKATESG = eduKateEcosystem/0020
  SENGKANG = eduKateEcosystem/0030
  SINGAPORE = eduKateEcosystem/0040
  BTT = eduKateEcosystem/0050
  PUNGGOL = eduKateEcosystem/0060

PUNGGOL:
  SITE = https://edukatepunggol.com/
  LOCAL_MANIFEST = https://edukatepunggol.com/edukate-runtime-manifest/
  START = https://edukatepunggol.com/start-here-at-edukatepunggol/
  CONTENT = https://edukatepunggol.com/content/
  TUITION = https://edukatepunggol.com/tuition-at-edukatepunggol/

CAP/PUNGGOL/LOCAL_FAMILY_ROUTE
  PROVIDER = PUNGGOL
  INPUT = local_family_question + stage + subject + present_difficulty
  OUTPUT = local_route + practical_next_step + return_owner
  MAY_NOT = claim_global_subject_ownership

CAP/PUNGGOL/TUITION_INTAKE
  PROVIDER = PUNGGOL
  INPUT = identified_learning_need + level + subject + practical_fit_context
  OUTPUT = local_intake_route + current_programme_question + return_owner
  MAY_NOT = turn_every_information_request_into_enrolment

CAP/PUNGGOL/TEACHING_DELIVERY
  PROVIDER = PUNGGOL
  INPUT = bounded_local_teaching_job + learner_context_authorised_for_delivery
  OUTPUT = local_teaching_result + observable_learning_evidence + return_owner
  MAY_NOT = absorb_knowledge_library_or_specialist_ownership

HEALTH_EXPECTATION:
  expected_registered_wings = 6
  PUNGGOL_manifest_present = TRUE
  PUNGGOL_return_path_present = TRUE
  PUNGGOL_is_first_class_execution_wing = TRUE

COMPATIBILITY:
  EDUKATE_ECOSYSTEM_BOOT_V1 remains valid
  older_five_wing_text = HISTORICAL_COMPATIBILITY_ONLY
  five_wing_omission_must_not_override_current_registry = TRUE

Operationally, eduKatePunggol is the Punggol-local family and tuition execution wing. It can receive a bounded local delivery job and return the result, but it does not take canonical ownership from eduKateSingapore, eduKateSengkang, eduKateSG or Bukit Timah Tutor.

eduKateEcosystem/0001 · Historical Five-Site Building (Compatibility Only)

  • eduKateEcosystem/0010 — eduKate Orchard: CONTROL_AND_ROUTING. The reception, control plane and owner resolver for the federated estate.
  • eduKateEcosystem/0020 — eduKateSG: RESEARCH_SYSTEMS_HELP. Research, systems, HELP, experimental architecture and broad knowledge-routing work.
  • eduKateEcosystem/0030 — eduKateSengkang: LEARNER_RUNTIME. Learner-state progression, teaching, practice, transfer, verification and learning operations.
  • eduKateEcosystem/0040 — eduKateSingapore: KNOWLEDGE_LIBRARY. Curriculum knowledge, learning manuals, subject libraries, evidence and wider reference structures.
  • eduKateEcosystem/0050 — Bukit Timah Tutor: MATHEMATICS_SPECIALIST. Specialist Mathematics investigation, diagnosis, dependency analysis, experimentation, validation and mathematical handover.

Building rule: five websites are five wings of one ecosystem. A wing is not the whole building, and a specialist is not the permanent owner of every job it touches.

eduKateEcosystem/0002 · Shared Boot Contract V1 (Compatibility Only)

EDUKATE_ECOSYSTEM_BOOT_V1

ROOT = eduKateEcosystem/0000
CONTROL_PLANE = https://edukateorchard.com/
RUNTIME_MODE = FEDERATED

WINGS:
  ORCHARD = CONTROL_AND_ROUTING
  EDUKATESG = RESEARCH_SYSTEMS_HELP
  SENGKANG = LEARNER_RUNTIME
  SINGAPORE = KNOWLEDGE_LIBRARY
  BTT = MATHEMATICS_SPECIALIST

BOOT_SEQUENCE:
  1 identify_current_site
  2 preserve_source_url_and_local_owner
  3 identify_current_job
  4 resolve_local_hub_and_existing_context
  5 if local_owner_can_complete_job: stay_local
  6 else route_bounded_job_via_declared_owner_map
  7 preserve_evidence_and_provenance
  8 execute_only_within_specialist_scope
  9 issue_handover_receipt
 10 return_result_to_originating_owner

GLOBAL_GUARDRAILS:
  FIVE_SITES = ONE_ECOSYSTEM
  SITE != WHOLE_ECOSYSTEM
  SPECIALIST != PERMANENT_OWNER
  CROSS_SITE_LINK != OWNERSHIP_TRANSFER
  PRESERVE_EXISTING_HUBS_AND_MENUS
  DO_NOT_INVENT_OWNER
  DO_NOT_INVENT_URL
  RETURN_PATH_REQUIRED = TRUE
  ALLOW_UNKNOWN = TRUE
  PRIVATE_IMPLEMENTATION_REMAINS_PRIVATE
  ADD_ONLY = TRUE

FAIL_SAFE:
  IF owner_unresolved:
    state = UNKNOWN_OWNER
    route_to = ORCHARD
  IF several_owners_plausible:
    preserve_candidates
    ask_one_discriminating_question_or_route_to_ORCHARD
  IF specialist_job_complete:
    STOP_SPECIALIST_RUNTIME
    RETURN_TO_ORIGIN
  IF return_path_missing:
    STOP
    preserve_state
    route_to = ORCHARD

eduKateEcosystem/0060 · Cross-Site Handover Contract

A cross-site call is a bounded delegation. The receiving site gets enough source context to do the declared job, but it does not silently become owner of the whole learner, article, curriculum route or research question.

ECOSYSTEM_HANDOVER_RECEIPT
  receipt_id
  source_site
  source_owner
  source_url
  source_job
  carried_context
  destination_site
  destination_owner
  requested_capability
  evidence_sent
  result_returned
  unresolved_risks
  return_owner
  return_url_if_verified
  status

STATUS:
  ROUTED
  ACTIVE
  RETURNED
  HELD
  UNKNOWN_OWNER
  FAILED_SAFE

Return rule: the originating owner resumes control after the delegated job is complete unless an explicit ownership migration has separately been declared.

eduKateEcosystem/0070 · Shared Evidence Receipt

ECOSYSTEM_EVIDENCE_RECEIPT
  evidence_id
  originating_site
  originating_owner
  producing_site
  producing_runtime
  source_reference
  observation_or_result
  confidence
  contradictory_evidence
  unresolved_questions
  privacy_class
  return_owner

Public pages define the receipt schema. Learner-specific records, private research material and identifying information remain in approved private storage rather than being published into the public ecosystem manifest.

eduKateEcosystem/0080 · Owner Resolution

Owner resolution follows the existing plumbing rather than replacing it. Local hubs, menu structures, directories, canonical pages and declared runtimes are treated as intentional infrastructure.

OWNER_RESOLUTION_V1

resolve_local_owner_first
preserve_existing_menu_and_hub_context
use_declared_canonical_owner_if_present

IF job_is_local:
  execute_local
ELSE IF specialist_owner_is_clear:
  delegate_bounded_job
ELSE:
  route_to_ORCHARD

NEVER:
  infer_owner_from_domain_name_alone
  infer_owner_from_page_title_alone
  rewrite_old_page_to_force_new_runtime
  transfer_owner_because_of_one_cross_site_link

eduKateEcosystem/0090 · Failure, Unknown & Drift

  • UNKNOWN_OWNER: no safe owner is presently resolved.
  • OWNER_CONFLICT: several owners remain plausible.
  • BROKEN_RETURN: the result cannot safely return to its source owner.
  • STALE_BOOT: a site declares an older ecosystem boot version.
  • WING_UNAVAILABLE: the specialist site cannot presently execute the requested capability.
  • PRIVACY_BOUNDARY: requested transfer would expose private material.

These states are not excuses to guess. The default safe action is STOP + PRESERVE + ROUTE TO ORCHARD. Existing site architecture remains intact while the smallest justified compatibility repair is added.

eduKateEcosystem/0100 · Cross-Site Capability Registry V1 (Compatibility Only)

The ecosystem routes capabilities, not entire websites. Each wing exposes named, bounded capabilities with declared inputs, outputs and return rules. Existing local hubs and canonical owners remain authoritative.

CAPABILITY_REGISTRY_V1

CAP/ORCHARD/OWNER_RESOLVE
  PROVIDER = ORCHARD
  CALLERS = ANY_WING
  INPUT = source_site + source_owner_if_known + source_url + current_job + candidate_owners
  OUTPUT = resolved_owner | candidate_set | UNKNOWN_OWNER
  RETURN = calling_owner
  MAY_NOT = fabricate_owner_or_URL

CAP/ORCHARD/ROUTE_PLAN
  PROVIDER = ORCHARD
  CALLERS = ANY_WING
  INPUT = bounded_job + known_owner + required_capability + return_owner
  OUTPUT = destination_wing + destination_owner + handover_contract
  RETURN = calling_owner
  MAY_NOT = silently_transfer_ownership

CAP/EDUKATESG/HELP_NARROW
  PROVIDER = EDUKATESG
  CALLERS = ANY_WING
  INPUT = user_question + source_context + current_uncertainty
  OUTPUT = narrowed_question | discriminating_question | research_route
  RETURN = originating_owner
  MAY_NOT = replace_local_subject_owner

CAP/EDUKATESG/RESEARCH_SYSTEM
  PROVIDER = EDUKATESG
  CALLERS = ORCHARD + SENGKANG + SINGAPORE + BTT
  INPUT = bounded_research_question + public_context + requested_scope
  OUTPUT = public_research_result + evidence + unresolved_questions
  RETURN = originating_owner
  MAY_NOT = expose_private_research_implementation

CAP/SENGKANG/LEARNER_RUNTIME
  PROVIDER = SENGKANG
  CALLERS = ORCHARD + EDUKATESG + SINGAPORE + BTT
  INPUT = learner_state + learning_object + evidence + requested_progression
  OUTPUT = next_learning_action + observable_state_change + verification_status
  RETURN = originating_owner
  MAY_NOT = infer_mastery_from_reference_access_alone

CAP/SENGKANG/TRANSFER_VERIFY
  PROVIDER = SENGKANG
  CALLERS = ORCHARD + EDUKATESG + SINGAPORE + BTT
  INPUT = taught_or_repaired_object + learner_state + validation_scope
  OUTPUT = transfer_result + verification_result + residual_risk
  RETURN = originating_owner
  MAY_NOT = collapse_multiple_learners_into_one_state

CAP/SINGAPORE/KNOWLEDGE_LOOKUP
  PROVIDER = SINGAPORE
  CALLERS = ANY_WING
  INPUT = requested_knowledge_object + level + subject_or_domain + evidence_requirement
  OUTPUT = canonical_reference_payload + source_context
  RETURN = originating_owner
  MAY_NOT = claim_teaching_or_validation_from_lookup_alone

CAP/SINGAPORE/LIBRARY_RESOLVE
  PROVIDER = SINGAPORE
  CALLERS = ANY_WING
  INPUT = topic + curriculum_level + candidate_library_or_hub
  OUTPUT = canonical_library_owner + relevant_hub_or_manual
  RETURN = originating_owner
  MAY_NOT = merge_separate_canonical_owners

CAP/BTT/MATH_INVESTIGATE
  PROVIDER = BTT
  CALLERS = ORCHARD + EDUKATESG + SENGKANG + SINGAPORE
  INPUT = bounded_mathematics_problem + learner_evidence_if_authorised + source_owner + return_owner
  OUTPUT = mathematical_state + experiment_result + evidence_receipt + handover_receipt
  RETURN = originating_owner
  LOCAL_RUNTIME = BTT_MATHLAB_BOOT_V1_RC1
  MAY_NOT = keep_whole_learner_or_replace_course_owner

CAP/BTT/MATH_VALIDATE
  PROVIDER = BTT
  CALLERS = ORCHARD + EDUKATESG + SENGKANG + SINGAPORE
  INPUT = mathematical_object + claimed_capability + validation_scope
  OUTPUT = validation_status + contradiction_if_any + release_scope
  RETURN = originating_owner
  MAY_NOT = equate_one_correct_answer_with_mastery

Capability Call Envelope

ECOSYSTEM_CAPABILITY_CALL
  call_id
  boot_version = EDUKATE_ECOSYSTEM_BOOT_V1
  source_site
  source_owner
  source_url
  requested_capability
  bounded_job
  authorised_context
  privacy_class
  expected_output
  return_owner
  return_url_if_verified

REJECT_CALL_IF:
  requested_capability_not_registered
  source_owner_missing_and_not_resolvable
  privacy_boundary_would_be_crossed
  return_owner_missing
  requested_scope_exceeds_provider_role

ON_SUCCESS:
  preserve_call_id
  execute_bounded_capability
  emit_evidence_or_result
  emit_handover_receipt
  return_to_origin

Compatibility rule: a new capability is added to this registry; old owners are not deleted or silently repurposed. A capability may evolve by version, but callers must be able to detect stale or unsupported versions and fail safely through Orchard.

eduKateEcosystem/0110 · Route Planner V1 (Compatibility Only)

The route planner chooses the smallest valid path through the ecosystem. Its first preference is always to stay with the current owner when the job can be completed locally. Cross-site movement is used only when a registered capability is genuinely missing from the current wing.

ECOSYSTEM_ROUTE_PLANNER_V1

INPUT:
  source_site
  source_owner
  source_url
  current_job
  known_context
  candidate_capabilities[]
  privacy_class
  return_owner

PRIORITY_ORDER:
  1 STAY_LOCAL
  2 ONE_CAPABILITY_CALL
  3 TWO_CAPABILITY_CHAIN
  4 ORCHARD_OWNER_RESOLUTION
  5 UNKNOWN_STOP

RULE_STAY_LOCAL:
  IF local_owner_can_complete_job == TRUE:
    route = LOCAL
    cross_site_calls = 0
    preserve_return_owner

RULE_ONE_CALL:
  IF exactly_one_registered_capability_closes_gap:
    choose_that_capability
    require_return_owner
    call_once
    return_to_origin

RULE_TWO_CALL_CHAIN:
  ALLOW only IF:
    first_output_is_required_input_for_second
    both_capabilities_are_registered
    privacy_boundary_allows_both
    return_path_remains_valid
    combined_chain_is_smaller_than_broad_handover

  EXAMPLES:
    SINGAPORE/KNOWLEDGE_LOOKUP -> BTT/MATH_INVESTIGATE
    BTT/MATH_INVESTIGATE -> SENGKANG/TRANSFER_VERIFY
    EDUKATESG/HELP_NARROW -> ORCHARD/ROUTE_PLAN

RULE_OWNER_UNCLEAR:
  IF owner_is_unresolved OR several_owners_plausible:
    call CAP/ORCHARD/OWNER_RESOLVE
    do_not_guess

ROUTE_COST:
  local_execution = 0
  one_capability_call = 1
  two_capability_chain = 2
  unresolved_owner = STOP_AND_RESOLVE

MINIMISE:
  cross_site_hops
  duplicated_context
  privacy_exposure
  ownership_changes
  unnecessary_specialist_calls

MAXIMISE:
  owner_continuity
  evidence_preservation
  capability_fit
  return_path_integrity

NEVER:
  send_whole_context_when_bounded_context_is_enough
  chain_more_than_two_specialists_without_ORCHARD_review
  call_a_specialist_because_it_is_more_powerful
  route_by_keyword_similarity_alone
  bypass_local_hubs_or_declared_owner
  continue_after_return_path_breaks

eduKateEcosystem/0111 · Route Decision Receipt

ECOSYSTEM_ROUTE_DECISION
  route_id
  source_site
  source_owner
  current_job
  local_capability_check
  candidate_routes[]
  selected_route
  selected_capabilities[]
  rejected_routes[]
  rejection_reasons[]
  hop_count
  privacy_class
  expected_result
  return_owner
  unresolved_uncertainty[]
  decision = LOCAL | DELEGATE | CHAIN | RESOLVE_OWNER | UNKNOWN_STOP

eduKateEcosystem/0112 · Chain Guard

A two-capability chain is the normal maximum for autonomous routing. If a job appears to require three or more specialist wings, the planner pauses and asks Orchard to re-resolve the job boundary. This prevents the ecosystem from becoming a wandering crawler that visits every site simply because it can.

CHAIN_GUARD_V1

IF proposed_specialist_hops > 2:
  STOP_AUTONOMOUS_CHAIN
  preserve_candidate_plan
  route_to = CAP/ORCHARD/OWNER_RESOLVE or CAP/ORCHARD/ROUTE_PLAN

IF next_call_does_not_change_possible_action:
  DO_NOT_CALL

IF required_output_already_present_in_context:
  DO_NOT_CALL

IF same_capability_would_be_called_again_without_new_evidence:
  STOP_LOOP

IF destination_returns_UNKNOWN:
  do_not_forward_UNKNOWN_as_certainty
  return_UNKNOWN_to_origin_or_ORCHARD

Operating principle: the best ecosystem route is usually the shortest one that preserves ownership and produces enough new information to justify the next action.

eduKateEcosystem/0120 · Deep-Page Discovery & Veteran Compatibility

An AI may enter the ecosystem through an old article that predates the current runtime. The page is not rewritten merely because a newer machine exists. Discovery climbs through existing local structure until it finds a declared owner, local runtime manifest or Orchard fallback.

DEEP_PAGE_DISCOVERY_V1

INPUT:
  current_url
  current_site
  page_title
  page_date_if_known
  local_links[]
  categories_or_taxonomy_if_visible
  breadcrumbs_or_parent_if_visible
  menu_or_hub_context_if_visible

DISCOVERY_ORDER:
  1 local_runtime_marker_if_present
  2 explicit_local_owner_if_present
  3 registered_parent_or_hub
  4 existing_menu_or_directory_context
  5 local_runtime_manifest
  6 EDUKATE_ECOSYSTEM_BOOT_V1
  7 CAP/ORCHARD/OWNER_RESOLVE

PRESERVE:
  original_url
  original_page_title
  original_site
  original_page_context
  veteran_owner_if_resolved
  route_back_to_source

DO_NOT:
  rewrite_old_page_for_runtime_convenience
  declare_old_content_obsolete_from_age_alone
  infer_owner_from_year_alone
  infer_owner_from_keyword_similarity_alone
  replace_local_hub_with_ecosystem_root
  force_specialist_entry_without_a_bounded_job

IF local_owner_resolved:
  stay_with_owner
  use_ecosystem_only_if_missing_capability_requires_it

IF local_owner_unresolved:
  consult_local_manifest

IF still_unresolved:
  route_to_ORCHARD

IF Orchard_cannot_resolve_safely:
  state = UNKNOWN_OWNER
  STOP
  preserve_source_context

eduKateEcosystem/0121 · Veteran Page Compatibility State

VETERAN_PAGE_STATE
  page_url
  site
  published_or_modified_date
  local_owner
  parent_or_hub
  local_manifest_found
  ecosystem_boot_found
  return_path
  compatibility = NATIVE | DISCOVERABLE | ADAPTER_NEEDED | UNKNOWN

NATIVE:
  page_already_declares_current_runtime_or_owner

DISCOVERABLE:
  page_has_no_runtime_language_but_existing_plumbing_resolves_owner

ADAPTER_NEEDED:
  local_structure_is_valid_but_one_small_forward_pointer_is_missing

UNKNOWN:
  owner_and_return_path_cannot_be_resolved_safely

eduKateEcosystem/0122 · Forward Adapter Rule

When a veteran page truly needs help, the smallest compatible surface is added around it rather than rewriting its teaching content. Preferred adapters are existing hub membership, directory registration, footer/runtime discovery, or a tiny owner pointer on a controlling page. Article bodies remain untouched unless that article independently requires an approved content upgrade.

FORWARD_ADAPTER_V1

PREFERRED_ORDER:
  existing_hub_registration
  existing_directory_registration
  controlling_page_owner_pointer
  local_manifest_discovery
  ecosystem_boot_discovery

ARTICLE_BODY_EDIT = LAST_RESORT

REQUIRE_BEFORE_ARTICLE_EDIT:
  separate_content_reason == TRUE
  recent_edit_protection_checked == TRUE
  cannibalisation_collision_checked == TRUE
  surgical_change_limit_respected == TRUE

ADD_ONLY = TRUE
DELETE_OLD_ROUTE = FALSE

eduKateEcosystem/0123 · Deep-Page Discovery Receipt

DEEP_PAGE_DISCOVERY_RECEIPT
  discovery_id
  source_url
  source_site
  source_age_if_known
  local_owner_found
  discovery_path[]
  local_manifest
  ecosystem_root
  capability_call_if_any
  adapter_required
  article_body_changed = FALSE
  return_path
  unresolved_uncertainty[]

Estate rule: the modern runtime sits above the historical estate. Old pages may remain old pages while still participating safely in the current five-site programme.

eduKateEcosystem/0130 · Runtime Health, Versioning & Drift Control

The federated programme needs one health contract so the five wings can evolve without silently drifting apart. Health checks compare boot version, local manifests, capability declarations, return paths and compatibility states while preserving every site’s existing owners.

ECOSYSTEM_HEALTH_CHECK_V1

CURRENT_BOOT = EDUKATE_ECOSYSTEM_BOOT_V1
ROOT = eduKateEcosystem/0000
CONTROL_PLANE = ORCHARD
EXPECTED_WINGS = 5

CHECK_EACH_WING:
  ecosystem_boot_pointer_present == TRUE
  local_manifest_present == TRUE
  declared_role_matches_registry == TRUE
  return_to_orchard_path_present == TRUE
  local_owner_preservation_rule_present == TRUE
  capability_names_resolve_or_are_absent_by_design
  private_public_boundary_declared == TRUE

CHECK_GLOBAL:
  canonical_ecosystem_root_count == 1
  executable_boot_version_count == 1
  duplicate_role_claims_unresolved == 0
  broken_return_paths_unresolved == 0
  unknown_capability_calls_silently_accepted == 0
  cross_site_owner_transfers_without_receipt == 0
  privacy_boundary_failures == 0

HEALTH_STATE:
  GREEN = aligned and callable
  AMBER = discoverable but stale adapter/version exists
  RED = broken owner, return, privacy or boot authority
  UNKNOWN = insufficient evidence to classify safely

eduKateEcosystem/0131 · Version Contract

ECOSYSTEM_VERSION_CONTRACT
  ecosystem_boot_version
  orchard_manifest_version
  local_manifest_version
  capability_registry_version
  route_planner_version
  deep_page_discovery_version
  last_known_compatible_boot
  compatibility_state

VERSION_RULES:
  new_version_is_additive_by_default
  old_pages_do_not_need_rewriting
  local_manifest_may_be_stale_but_discoverable
  stale_manifest_must_not_override_newer_global_boot
  capability_version_mismatch -> ORCHARD review
  incompatible_change -> explicit migration record required

eduKateEcosystem/0132 · Drift Detector

ECOSYSTEM_DRIFT_FLAGS
  STALE_BOOT
  STALE_LOCAL_MANIFEST
  ROLE_MISMATCH
  DUPLICATE_OWNER
  UNKNOWN_CAPABILITY
  BROKEN_RETURN
  MISSING_LOCAL_MANIFEST
  MISSING_ECOSYSTEM_POINTER
  CAPABILITY_SIGNATURE_MISMATCH
  PRIVACY_BOUNDARY_DRIFT
  LOOPING_ROUTE
  ORPHAN_VETERAN_PAGE

IF drift_flag:
  preserve_current_state
  classify_severity
  repair_smallest_surface
  do_not_delete_old_owner
  issue_drift_receipt
  rescan

eduKateEcosystem/0133 · Surgical Repair Order

SURGICAL_REPAIR_ORDER

1 runtime_registry_or_manifest_pointer
2 hub_or_directory_adapter
3 controlling_page_pointer
4 capability_registry_update
5 footer_marker_only_if_global_discovery_is_broken
6 article_body_edit_only_with_separate_content_reason

PROTECT:
  menus
  front_page_bodies
  veteran_owners
  recently_changed_articles
  high-performing_pages
  private_material

ADD_ONLY = TRUE
DELETE_EXISTING_ARCHITECTURE = FALSE

eduKateEcosystem/0134 · Health & Drift Receipt

ECOSYSTEM_HEALTH_RECEIPT
  receipt_id
  boot_version
  checked_wings[]
  global_health_state
  per_wing_state[]
  drift_flags[]
  compatibility_notes[]
  repair_surface_if_any
  front_page_touched = TRUE | FALSE
  menu_touched = TRUE | FALSE
  article_body_touched = TRUE | FALSE
  unresolved_failures[]
  next_required_action

Health principle: the ecosystem is healthy when all five wings can identify themselves, resolve the current programme version, call only registered capabilities, preserve ownership, and return safely. A stale page is not automatically unhealthy; a broken owner or return path is.

eduKateEcosystem/0140 · Federation Simulation & Adversarial Commissioning

The five-site programme should be tested against the cases most likely to produce confident but unsafe routing. These commissioning tests deliberately introduce stale manifests, conflicting owners, broken return paths, privacy conflicts, deep-page entry and specialist handoff ambiguity. A fail-safe stop is a valid pass when autonomy should not continue.

  • eduKateEcosystem/0141 — Wrong-Owner Test: a job appears to belong to two wings; the runtime must preserve candidates and resolve through Orchard rather than guess.
  • 0142 — Stale-Manifest Test: a local manifest is older than the global boot; the newer ecosystem root must remain authoritative while the old wing stays discoverable.
  • 0143 — Route-Loop Test: two wings attempt to send the same unresolved job back and forth; the chain guard must stop the loop.
  • 0144 — Missing-Return Test: a capability call has no verified return owner; execution must be rejected before specialist work begins.
  • 0145 — Privacy-Boundary Test: a call requests more learner/private context than the specialist needs; the envelope must minimise context or refuse the call.
  • 0146 — Deep-Veteran-Page Test: entry occurs on an old article with no runtime language; discovery must climb through local plumbing without editing the article body.
  • 0147 — BTT ↔ Sengkang Handoff Test: Sengkang detects a bounded Mathematics investigation, BTT MathLab returns evidence, and Sengkang resumes learner progression without ownership transfer.
  • 0148 — Singapore → BTT Chain Test: canonical knowledge lookup feeds a bounded Mathematics investigation; the chain must remain at two specialist calls or fewer.
  • 0149 — Failure-to-Orchard Test: unresolved owner, unsupported capability, or broken return must produce STOP + PRESERVE + ORCHARD rather than fabricated certainty.
FEDERATION_COMMISSIONING_MATRIX_V1

TEST 0141 WRONG_OWNER
  expected = ORCHARD_RESOLUTION
  pass_if = no guessed owner

TEST 0142 STALE_MANIFEST
  expected = newer global boot wins
  pass_if = local wing remains discoverable and non-destructive

TEST 0143 ROUTE_LOOP
  expected = STOP_LOOP
  pass_if = repeated capability call without new evidence is rejected

TEST 0144 MISSING_RETURN
  expected = REJECT_CALL
  pass_if = specialist does not execute without return_owner

TEST 0145 PRIVACY_BOUNDARY
  expected = MINIMISE_OR_REFUSE
  pass_if = private context is not over-shared

TEST 0146 DEEP_VETERAN_PAGE
  expected = DISCOVERABLE_OR_ADAPTER_NEEDED
  pass_if = article_body_changed == FALSE

TEST 0147 BTT_SENGKANG_HANDOFF
  expected = SENGKANG -> BTT/MATH_INVESTIGATE -> SENGKANG
  pass_if = learner_owner remains SENGKANG and BTT returns evidence_receipt

TEST 0148 SINGAPORE_BTT_CHAIN
  expected = KNOWLEDGE_LOOKUP -> MATH_INVESTIGATE -> origin
  pass_if = hop_count <= 2 and return_path intact

TEST 0149 FAILURE_TO_ORCHARD
  expected = STOP + PRESERVE + ORCHARD
  pass_if = UNKNOWN remains UNKNOWN until resolved

CRITICAL_PASS_REQUIRES:
  no invented owner
  no invented URL
  no silent ownership transfer
  no unbounded specialist chain
  no private-data over-transfer
  no broken return path accepted
  no veteran article rewrite for discovery convenience
  global boot authority remains singular

Commissioning Scenarios

Scenario A: a learner on eduKateSengkang has a Mathematics error that local teaching cannot safely classify. The route planner keeps Sengkang as owner, calls CAP/BTT/MATH_INVESTIGATE, receives the MathLab evidence and handover receipt, then returns to Sengkang for teaching or transfer verification. Expected result: PASS.

Scenario B: an old eduKateSG article lacks modern runtime language. Existing category, hub, directory or footer discovery reaches the local manifest and ecosystem root. No article-body edit is required. Expected result: PASS if owner resolves; otherwise ADAPTER_NEEDED or UNKNOWN, never fabricated ownership.

Scenario C: a job requests canonical Mathematics knowledge and then learner-specific diagnosis. eduKateSingapore may supply reference knowledge, but it cannot claim learner validation; BTT may investigate Mathematics, but it cannot keep the learner. The origin resumes after both bounded calls. Expected result: PASS if the two-hop guard and privacy boundary hold.

Federation Commissioning Receipt

ECOSYSTEM_COMMISSIONING_RECEIPT
  receipt_id
  boot_version = EDUKATE_ECOSYSTEM_BOOT_V1
  tested_wings = ORCHARD, EDUKATESG, SENGKANG, SINGAPORE, BTT
  tests = 0141-0149
  architectural_result
  fail_safe_results[]
  unresolved_critical_failures[]
  owner_conflicts_unresolved[]
  broken_returns_unresolved[]
  privacy_failures[]
  loop_failures[]
  veteran_body_edits_required[]
  front_page_touched = FALSE
  footer_touched = FALSE
  menu_touched = FALSE
  article_body_touched = FALSE

COMMISSION_READY_IF:
  unresolved_critical_failures == 0
  broken_returns_unresolved == 0
  privacy_failures == 0
  loop_failures == 0
  executable_global_boot_authority_count == 1

NOTE:
  FAIL_SAFE counts as PASS where the designed correct behavior is STOP + PRESERVE + HANDOVER.

Commissioning principle: the federation is not successful because every job travels. It is successful when jobs stay local whenever possible, move only for a registered missing capability, preserve ownership and privacy, and return safely—or stop when that cannot be guaranteed.

eduKateEcosystem/0150 · FEDERATION RC1 · COMMISSIONED

eduKate Five-Site Federation RC1

The first federated eduKate runtime is commissioned as a public, bounded cross-site programme. Each wing remains independently owned for its declared jobs while sharing one ecosystem boot identity, one Orchard control plane, local manifests, capability calls, route selection, deep-page discovery, health/drift control and fail-safe handover rules.

eduKateEcosystem/0150 — RC1 COMMISSIONING RECEIPT
DATE = 2026-09-04
BOOT = EDUKATE_ECOSYSTEM_BOOT_V1
ROOT = eduKateEcosystem/0000
CONTROL_PLANE = ORCHARD
STATUS = RC1_COMMISSIONED

LIVE_WINGS:
  ORCHARD = CONTROL_AND_ROUTING
  EDUKATESG = RESEARCH_SYSTEMS_HELP
  SENGKANG = LEARNER_RUNTIME
  SINGAPORE = KNOWLEDGE_LIBRARY
  BTT = MATHEMATICS_SPECIALIST

LIVE_MANIFEST_GATE:
  orchard_root_published = PASS
  edukateSG_local_manifest_published = PASS
  sengkang_local_manifest_published = PASS
  singapore_local_manifest_published = PASS
  BTT_local_manifest_published = PASS
  shared_boot_identifier_present_on_each_manifest = PASS
  role_alignment_with_registry = PASS
  local_return_rules_present = PASS
  BTT_MATHLAB_BOOT_V1_RC1_declared = PASS

GLOBAL_GATE:
  canonical_ecosystem_root_count = 1
  global_boot_authority = EDUKATE_ECOSYSTEM_BOOT_V1
  capability_registry = PASS
  route_planner = PASS
  two_hop_chain_guard = PASS
  deep_page_discovery = PASS
  veteran_compatibility = PASS
  health_and_drift_contract = PASS
  fail_safe_unknown_state = PASS
  privacy_boundary_contract = PASS
  cross_site_handover_receipt = PASS
  evidence_receipt_contract = PASS

ADVERSARIAL_GATE:
  wrong_owner -> ORCHARD_RESOLUTION = PASS
  stale_manifest -> GLOBAL_BOOT_WINS = PASS
  route_loop -> STOP_LOOP = PASS
  missing_return -> REJECT_CALL = PASS
  privacy_boundary -> MINIMISE_OR_REFUSE = PASS
  deep_veteran_page -> DISCOVER_WITHOUT_BODY_REWRITE = PASS
  BTT_SENGKANG_HANDOFF -> RETURN_TO_SENGKANG = PASS
  SINGAPORE_BTT_CHAIN -> TWO_HOP_MAX = PASS
  unresolved_failure -> STOP_PRESERVE_ORCHARD = PASS

UNRESOLVED_CRITICAL_FAILURES = 0
UNRESOLVED_BROKEN_RETURNS = 0
UNRESOLVED_ROLE_CONFLICTS = 0
RECORDED_PRIVACY_CONTRACT_FAILURES = 0
RECORDED_ROUTE_LOOP_FAILURES = 0

COMMISSIONING_SCOPE:
  RC1 commissions the public discovery, routing, ownership and fail-safe architecture.
  It does not claim that arbitrary external AI systems are forced to execute this programme.
  It does not manufacture real learner or research evidence.
  Runtime effectiveness is evidence gathered during operation.

OPERATING_MODE = OPERATE_AND_EXTEND
ADD_ONLY = TRUE
OLD_OWNERS_REMAIN_OWNERS_OF_THEIR_DECLARED_JOBS = TRUE
FRONT_PAGE_TOUCHED_IN_THIS_PASS = FALSE
FOOTER_TOUCHED_IN_THIS_PASS = FALSE
MENU_TOUCHED_IN_THIS_PASS = FALSE
ARTICLE_BODY_TOUCHED_IN_THIS_PASS = FALSE

RC1 operating path: enter anywhere → preserve the local page and owner → resolve the current job → stay local when possible → call only registered missing capabilities → preserve privacy and evidence → return to the originating owner → stop at UNKNOWN when safe resolution is unavailable.

Commissioning boundary: the public estate now describes a coherent federated programme to an AI or human reader that discovers these manifests. Actual execution still depends on the capabilities of the AI or client reading the sites.

eduKateEcosystem/0160 · Spider / Web / Hidden / Deep Connect

The federation uses four distinct connection modes so discovery can be broad without turning inference into ownership. These modes apply across pages, hubs, local manifests and capability routes.

ECOSYSTEM_CONNECTION_MODES_V1

SPIDER:
  PURPOSE = discover candidate pages, hubs, owners and capabilities
  STATUS = exploratory
  MAY = enumerate plausible local and cross-site destinations
  MUST = preserve source context
  MUST_NOT = claim ownership or route execution from similarity alone

WEB:
  PURPOSE = traverse verified admitted connections
  STATUS = authoritative_for_navigation
  REQUIRE = verified URL + declared local role or owner relationship
  MAY = route through registered hubs, manifests and capabilities
  MUST_NOT = silently change owner

HIDDEN_CONNECT:
  PURPOSE = propose a non-obvious useful relationship
  STATUS = hypothesis_only
  REQUIRE = evidence + reason + confidence + expected value
  MAY = recommend candidate connection for review
  MUST_NOT = become canonical merely because it is plausible

DEEP_CONNECT:
  PURPOSE = bounded multi-hop reasoning across verified or clearly labelled proposed edges
  STATUS = controlled traversal
  REQUIRE = source preserved + return path + hop budget + edge type at every hop
  CONTENT_HOPS_MAX = 4
  SPECIALIST_CAPABILITY_HOPS_MAX = 2
  IF specialist_hops > 2 = ORCHARD_REVIEW
  MUST_NOT = convert HIDDEN edge into WEB edge during traversal

EDGE_TYPES:
  LOCAL_HUB
  LOCAL_OWNER
  DIRECTORY
  GLOBAL_MANIFEST
  LOCAL_MANIFEST
  CAPABILITY_CALL
  EVIDENCE_RETURN
  HIDDEN_PROPOSAL

EVERY_EDGE_RECORDS:
  from
  to
  relation
  evidence
  confidence
  owner_before
  owner_after
  return_path
  status = VERIFIED | PROPOSED | REJECTED | STALE

eduKateEcosystem/0161 · Verified Web Anchors

The following are verified public anchors used as admitted WEB entrances into each wing. They do not replace each site’s broader menu or hub architecture.

eduKateEcosystem/0162 · Connection Hardening Rules

CONNECTION_HARDENING_V1

SPIDER_RESULT != WEB_EDGE
HIDDEN_PROPOSAL != CANONICAL_ROUTE
WEB_EDGE requires verified destination
DEEP_CONNECT must carry edge_status per hop
DEEP_CONNECT must preserve original owner
CAPABILITY_CALL count uses the stricter two-hop chain guard
CONTENT_DISCOVERY may traverse up to four verified hub/directory hops
UNKNOWN edge => STOP or ORCHARD review
BROKEN URL => mark STALE; do not substitute guessed URL
OWNER conflict => preserve candidates; do not collapse
RETURN path missing => reject traversal

PREFERRED_CONNECT_ORDER:
  local_owner
  local_hub
  local_directory
  local_manifest
  ecosystem_manifest
  registered_capability

ANTI_CRAWL_RULE:
  do not visit another wing if the present owner already has enough information to act

ANTI_CANNIBALISATION_RULE:
  connection adds routing context; it does not create a duplicate canonical content owner

Hardening result: Spider discovers; Web admits; Hidden proposes; Deep traverses. None of the four modes is allowed to erase ownership, invent URLs or bypass return-path rules.

eduKateEcosystem/0170 · Post-Hardening Audit Receipt

POST_HARDENING_AUDIT_V1
DATE = 2026-09-04
BOOT = EDUKATE_ECOSYSTEM_BOOT_V1
RC = eduKateEcosystem/0150

AUDIT_FINDING_1:
  federation boot and role declarations = SOUND

AUDIT_FINDING_2:
  local manifests previously described ownership but exposed too few explicit verified local hub entrances = WEAKNESS_FOUND

REPAIR:
  global Spider/Web/Hidden/Deep contract added
  verified WEB anchors registered
  eduKateSG local manifest connected to How X Works, Ask eduKateAI, Tuition & Teaching Hub
  eduKateSengkang local manifest connected to Start Here, How Learning Works, I Am Brave, Science route
  eduKateSingapore local manifest connected to eduKateSingapore Hub and Mathematics Article Directory
  BTT local manifest connected to Mathematics Hub, Article Directory, MathLab and Examination Craft

HARDENING_GATES:
  SPIDER cannot promote ownership = PASS
  WEB requires verified destination = PASS
  HIDDEN remains proposal-only = PASS
  DEEP preserves edge status and return path = PASS
  content traversal hop budget = 4
  specialist capability hop budget = 2
  missing return path rejects traversal = PASS
  broken URL cannot be replaced by guessed URL = PASS
  owner conflict preserves candidates = PASS
  anti-crawl stay-local preference = PASS
  anti-cannibalisation owner preservation = PASS

CONNECTION_STATE:
  ORCHARD = WEB_CONNECTED
  EDUKATESG = WEB_CONNECTED
  SENGKANG = WEB_CONNECTED
  SINGAPORE = WEB_CONNECTED
  BTT = WEB_CONNECTED

HIDDEN_CONNECT_STATE:
  enabled_for_proposals = TRUE
  automatically_canonical = FALSE
  evidence_required = TRUE

DEEP_CONNECT_STATE:
  enabled = TRUE
  bounded = TRUE
  unlimited_wandering = FALSE

UNRESOLVED_CRITICAL_CONNECTION_FAILURES = 0

CHANGE_SURFACES:
  front_page_body_touched = FALSE
  footer_touched = FALSE
  menu_touched = FALSE
  veteran_article_body_touched = FALSE
  local_runtime_manifest_pages_touched = TRUE
  orchard_runtime_manifest_touched = TRUE

STATUS = HARDENED_GREEN

Audit conclusion: the federation now has a stricter distinction between discovery, admitted navigation, inferred adjacency and bounded deep traversal. Verified local hubs are first-class routing infrastructure rather than informal examples.

eduKateEcosystem/0099 · Registry

Current ecosystem boot: EDUKATE_ECOSYSTEM_BOOT_V1

Canonical control plane: eduKate Orchard

Federated wings: eduKateSG · eduKateSengkang · eduKateSingapore · Bukit Timah Tutor

Operating principle: enter anywhere, preserve context, use the correct owner, delegate only what is necessary, and return.