Selfhost and contributing
Change GenesisCode without weakening its semantic identity or trust boundaries.
Preserve the language while replacing the implementation
Read before changing
AGENTS.mdfor non-negotiable invariants.- Selfhost boundary for authority ownership.
- Translation validation for tier equivalence.
- Value/effect hashing before any hash-visible change.
- Versioning before modifying a serialized contract.
Change protocol
- Identify the normative authority and compatibility surface.
- Add or update executable semantic evidence first.
- Implement in libraries rather than adding kernel special forms.
- Prove native, WASI, WASM, compiled, and selfhost parity where applicable.
- Keep generated artifacts behind explicit update commands; checks must be read-only.
- Run no-panic, determinism, topology, and source-size controls.
- Record migration and rollback when identity changes are unavoidable.
Selfhost principle
Rust stage0 remains a bootstrap and host boundary, not semantic authority for migrated domains. Demotion requires differential parity, bootstrap fixpoint, target portability, and a clear deletion/rollback gate.