about chromoforge
An honest simulator, not a wet lab
I built chromoforge because the interesting part of astrobiology is the constraint: real organisms don't get to be good at everything. Every joule spent on radiation repair is a joule not spent growing. Below is exactly what the simulation models, what it ignores, and where the numbers come from — so you can argue with it.
the physics
What a world actually does to an organism
Equilibrium temperature. We balance absorbed stellar flux against blackbody re-radiation: 288 K × S^0.25, where S is the planet's insolation in Earth units. Worlds that plausibly keep an atmosphere get a documented +22 K greenhouse assumption — deliberately generous, deliberately stated.
Gravity. g = M/R² in Earth units, from the catalog's mass and radius. Nothing in the current model uses it except display — it's groundwork, not a fake lever.
Radiation. A coarse UV/X-ray proxy per star class (G: 1.0, K: 1.4, M: 3.2, F: 1.6) scaled by √insolation. M dwarfs are the worst neighbours, which is why the habitable-zone worlds around them are such an interesting design problem.
Water. From insolation and radius: small worlds in the temperate band keep water; hot or Neptune-class worlds don't report any.
the genetics
Parts, traits, and saturation
Parts. Promoters, ORFs, terminators and regulators with real DNA motifs and per-part upkeep. A genome's full sequence is the concatenation of its parts' motifs — which is what makes the off-target scanner a genuine search rather than a coin flip.
Trait derivation. Each ORF contributes signed effects on trait axes (thermotolerance, radioresistance, and friends). Copies stack with saturation: the second copy of hsp70 helps less than the first. Metabolic rate taxes overall fitness, so maximalism is punished.
Guides. 20 nt protospacers with an NGG PAM, scored by GC content (50% ideal), homopolymer runs and self-complementarity, then ranked after scanning the assembled genome for near-matches within two mismatches.
the rules
The biosafety policy is published and enforced
Design toys get a bad name when they hand out recipes. Every genome in chromoforge is evaluated against these 6 rules before it can be released. Some outcomes are blocked outright — by design.
| Rule | Severity | Why it exists |
|---|---|---|
| BS-01 | block | Combining a toxin cassette with an adhesion/biofilm operon produces an aerosol-competent toxic organism. This combination is never constructible. |
| BS-02 | review | Resistance markers are standard lab practice but must not leave containment. Review required unless the chassis is explicitly a lab strain. |
| BS-03 | review | A dormant, self-feeding organism can seed itself across sterile environments. Ecological review required before release. |
| BS-04 | review | Stacking DNA-repair and radiation-suppression genes past policy thresholds creates an organism calibrated for post-nuclear niches. |
| BS-05 | review | Photosynthetic organisms release O₂ as a metabolic byproduct — a planetary-scale terraforming side effect that must be logged, not blocked. |
| BS-06 | review | A regulated part (toxin, resistance, adhesion) with no promoter cannot express — but its presence in the sequence table still requires register entry. |
the data
Where the numbers come from
The catalog holds 22 confirmed exoplanets with published parameters (mass, radius, period, insolation, stellar class, J2000 coordinates) curated from the NASA Exoplanet Archive. Values are rounded for legibility and seeded offline so the demo and the test suite never depend on the network. services/agents/data/fetch_catalog.py re-fetches the full archive.
This is an educational simulation. It models copy-number saturation and logistic population dynamics, not biochemistry. No sequence here is an instruction, and the biosecurity engine exists precisely to keep the dangerous ones out of reach.