|
| 1 | +# helioscope → helios-cli absorption assessment |
| 2 | + |
| 3 | +**Status:** Blocked (do not subtree-merge full repo) |
| 4 | +**Plan reference:** `phenotype-registry/RATIONALIZATION_PLAN.md` — helioscope retires to helios-cli (canonical codex fork) |
| 5 | +**Date:** 2026-05-31 |
| 6 | + |
| 7 | +## Verdict |
| 8 | + |
| 9 | +| Criterion | Result | |
| 10 | +|-----------|--------| |
| 11 | +| Same upstream (openai/codex) | Yes — both are codex-monorepo forks | |
| 12 | +| Canonical absorber | **helios-cli** (`main`) — active Phenotype fork with CVE/workspace fixes | |
| 13 | +| Retire candidate | **helioscope** (`master`) — legacy fork; README still references `heliosCLI` | |
| 14 | +| `git merge-base` | **None** — unrelated histories after divergent rebases | |
| 15 | +| Unique commits on helioscope | ~283 (sample: harness version bumps, deny.toml, fleet docs) | |
| 16 | +| Unique commits on helios-cli | ~4169 ahead of helioscope tip | |
| 17 | +| Full-tree `git subtree add --squash` | **Mechanically succeeds** but adds **~5,134 files** (~790k LOC) — duplicate codex monorepo, not consolidation | |
| 18 | + |
| 19 | +## Why full subtree merge is rejected |
| 20 | + |
| 21 | +1. **No merge-base** — cannot do a normal merge; only squash-subtree of entire tree. |
| 22 | +2. **Duplicate payload** — subtree places a second full codex workspace under `vendor/` with no deduplication against existing `codex-rs/`. |
| 23 | +3. **Plan intent** — Step 2 in `RATIONALIZATION_PLAN.md` lists helioscope retirement as **`gh repo archive` + husk README**, not code merge. |
| 24 | +4. **helios-cli is strictly ahead** — Phenotype-specific security and workspace fixes (#522–#527) live on helios-cli only. |
| 25 | + |
| 26 | +## Recommended path (reversible, PR-only) |
| 27 | + |
| 28 | +1. **Archive** `KooshaPari/helioscope` with README redirect → `KooshaPari/helios-cli` (separate ops PR; not done in code-absorb PR). |
| 29 | +2. **Cherry-pick audit** — if any of the ~283 helioscope-only commits contain unique fixes not on helios-cli, open targeted cherry-pick PRs (do not bulk subtree). |
| 30 | +3. **Optional:** add `helioscope` to `phenotype-registry` redirect table when archive lands. |
| 31 | + |
| 32 | +## Build verification (absorber) |
| 33 | + |
| 34 | +Run on `helios-cli` `main` (or this branch) with target dir on `E:`: |
| 35 | + |
| 36 | +```powershell |
| 37 | +$env:CARGO_TARGET_DIR = 'E:\cargo-target\helios-cli' |
| 38 | +cargo check --workspace --manifest-path codex-rs/Cargo.toml |
| 39 | +``` |
| 40 | + |
| 41 | +CI on this repo (`rust-ci.yml`) is the authoritative green gate before any archive. |
| 42 | + |
| 43 | +**Local check (2026-05-31, Windows):** `cargo check --workspace` in `codex-rs/` failed on pre-existing `codex-windows-sandbox` parse error (`setup_orchestrator.rs:838` unclosed delimiter) — not introduced by this assessment doc. Linux CI remains the merge gate. |
| 44 | + |
| 45 | +## helioscope-only commit sample (for cherry-pick triage) |
| 46 | + |
| 47 | +``` |
| 48 | +32e097e docs(fleet): branch protection audit report |
| 49 | +028627f fix(pheno-cli): add missing README; fix(guardis): correct repo URL |
| 50 | +0e0ae3d chore(helioscope): update harness crate versions |
| 51 | +74be1c4 fix(helioscope): remove broken symlink CONSTITUTION.yaml |
| 52 | +``` |
0 commit comments