Bundle Entry:
docs/spec/HOST_RUNTIME_BUNDLE_v0.1.md
Full-Selfhost Cutover Profile v0.1
Status: normative release-candidate profile for proving the final selfhost boundary contract and closure path.
Purpose
Define a single verification profile that proves GenesisCode is operating in selfhost-first mode with zero explicit Rust semantic/runtime exception carve-outs.
This profile is intended to answer one question deterministically:
What remains before the project can close the bootstrap era and treat Rust as non-semantic host glue only?
Remaining Exceptions (Explicit)
- none
Exception Ownership + No-Semantic-Drift Proofs
The no-exception closure contract is only valid while ownership boundary and no-drift proofs stay green. The full-cutover gate requires all of the following reports to exist, match expected kinds, and be ok=true.
- kernel TCB ownership (
gc_coreform+gc_kernel+gc_prelude):.genesis/perf/kernel_tcb_contract_report.json- explicit producer:
bash scripts/update_kernel_tcb_contract_report.sh
- explicit producer:
.genesis/perf/selfhost_symbol_ownership_report.json- explicit producer:
bash scripts/update_selfhost_symbol_ownership_report.sh
- explicit producer:
- host capability/runtime bridge (
gc_effects):.genesis/perf/host_api_evolution_contract_report.json- explicit producer:
bash scripts/update_host_api_evolution_contract_report.sh
- explicit producer:
- operation/driver contract stability (
gc_cli_driver):.genesis/perf/vcs_selfhost_contract_report.json- explicit producer:
bash scripts/update_vcs_selfhost_contract_report.sh
- explicit producer:
.genesis/perf/gcpm_operation_contract_pack_report.json- explicit producer:
bash scripts/update_gcpm_operation_contract_pack_report.sh
- explicit producer:
If any proof report fails, the cutover profile fails closed.
Closure Path
The closure path to a full selfhost posture is:
- Keep production command routing selfhost-only (
docs/status/SELFHOST_CUTOVER.mdremains fully selfhost-routed). - Keep bootstrap retirement guard green (
scripts/check_bootstrap_retirement_gate.sh).- retained E0 producer:
bash scripts/update_bootstrap_retirement_gate_report.sh
- retained E0 producer:
- Keep strict selfhost boundary guard green (
scripts/check_selfhost_boundary.sh --strict). - Keep production rust frontend references at zero (
scripts/check_no_production_rust_frontend_refs.sh). - Drive unresolved upgrade-plan blockers to zero and re-run this profile.
Gate Contract
Primary gate:
scripts/check_full_selfhost_cutover_profile.sh
The gate is read-only and renders its result into private temporary paths. To retain the aggregate E0 report and history after all prerequisite evidence is current, run:
bash scripts/update_full_selfhost_cutover_profile_report.sh
This gate must verify:
- This document contains explicit exceptions and closure steps.
scripts/check_selfhost_boundary.sh --strictremains compliant.- The bootstrap retirement report produced by
scripts/update_bootstrap_retirement_gate_report.shis valid and non-failing. scripts/check_selfhost_dashboard_fresh.shreport is valid.- explicit producer:
bash scripts/update_selfhost_dashboard_fresh_report.sh
- explicit producer:
- The readiness report produced by
scripts/update_selfhost_readiness_scorecard_report.shis valid and only blocked by unresolved upgrade IDs, if any. - Exception proof reports are present and pass:
scripts/check_kernel_tcb_contract.shscripts/check_host_api_evolution_contracts.shscripts/check_gcpm_operation_contract_pack.shscripts/check_vcs_selfhost_contract.shscripts/check_selfhost_symbol_ownership.sh
- Stage2 minima in
selfhost/toolchain.gcare policy-enforced against refreshed generative corpus coverage:.genesis/perf/agent_generative_workloads_report.jsonmust beok=true- explicit producer:
bash scripts/update_agent_generative_workloads_report.sh :stage2-requirements/:min-supported-modulesand:min-validated-modulesmust be at leastrequired_domains + 2.
Health Profile Wiring
scripts/check_upgrade_plan_health.sh supports a dedicated profile:
--profile full-selfhost-cutover
This profile runs the full-selfhost gate contract as a single lane.