Starlink measurements continuously arrive from heterogeneous applications, regions, time periods, and link conditions. Turning these measurements into reliable data audits, profile descriptions, hard-case benchmarks, risk windows, figures, and case studies requires analysis programs that can evolve with the observed data and remain connected to measurement evidence.
StarCodex is a dynamic coding harness for turning newly available Starlink measurements into executable and validated analysis artifacts. It detects gaps in the current analysis state, formulates a structured coding task, asks Codex to generate or repair an analysis program, and accepts the resulting artifact only after layered validation.
Its core capabilities include:
- state-aware analysis-gap detection;
- structured coding-task construction;
- Codex CLI generation and repair;
- code, data, measurement, and output validation;
- persistent Artifact Memory; and
- streaming preparation of fixed-duration segments from StarNet archives.
For each measurement batch, StarCodex follows five steps:
- Detect missing data, profile, feature, failure, or experiment analysis.
- Formulate the selected gap as a structured coding task and artifact contract.
- Generate an executable analysis program with Codex.
- Validate and repair the program using explicit validation feedback.
- Commit accepted artifacts to Artifact Memory and update the analysis state.
git clone https://github.com/luopeng69131/StarCodex.git
cd StarCodex
python -m pip install -e .StarCodex requires Python 3.10 or later. The reference package has no mandatory third-party Python dependencies.
The deterministic demo backend exercises task construction, artifact execution, validation, state update, and Artifact Memory without requiring an LLM account.
starcodex demo --workspace outputs/demoInstall and authenticate the Codex CLI, then run:
starcodex run \
--batch examples/demo_batch.json \
--workspace outputs/codex \
--backend codex \
--reasoning-effort highThe generated program, validation feedback, accepted output, and state changes remain in the selected workspace for inspection.
Obtain the public measurements by following the instructions in the ConnectedSystemsLab/StarNet repository, place the downloaded ZIP archives in one directory, and run:
starcodex prepare-starnet \
--data-root /path/to/starnet-archives \
--output outputs/starnetThe processor streams the archives and exports:
valid_segments.csv: valid fixed-duration measurement segments and summaries;processing_audit.json: archive, run, rejection, and region counts.
The default protocol uses 10-minute segments with at least 300 throughput and 300 latency samples. See Dataset Protocol for the exact logic.
StarCodex/
├── src/starcodex/ # Core harness and data processor
├── examples/ # Minimal measurement-batch input
├── tests/ # Contract and workflow tests
├── docs/ # Architecture and dataset guides
├── assets/ # Paper concept and framework figures
└── .github/workflows/ # Continuous integration
StarCodex uses measurements released by the StarNet project. Please cite the original StarNet work when using its dataset.


