Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
f950c14
docs: define digital evolution reboot
powerball0x2a Jul 10, 2026
b5502aa
docs: plan deterministic evolution kernel
powerball0x2a Jul 10, 2026
2306003
docs: make cleanup worktree-safe
powerball0x2a Jul 10, 2026
9fb41d3
docs: pin isolated implementation runtime
powerball0x2a Jul 10, 2026
04d8d33
chore: reboot repository for digital evolution
powerball0x2a Jul 10, 2026
a97f97f
docs: correct staged cleanup workflow
powerball0x2a Jul 10, 2026
fde7374
fix: align bootstrap verification paths
powerball0x2a Jul 10, 2026
995b2bc
docs: defer cli registration until implementation
powerball0x2a Jul 10, 2026
4337e1f
fix: harden bootstrap package metadata
powerball0x2a Jul 10, 2026
32b6d5c
feat: add deterministic fixed-point geometry
powerball0x2a Jul 10, 2026
1ecd251
feat: add deterministic config and random streams
powerball0x2a Jul 10, 2026
1cb3e0a
test: strengthen random stream contracts
powerball0x2a Jul 10, 2026
82268b3
feat: add inherited fixed-point genomes
powerball0x2a Jul 10, 2026
da4e4a4
fix: reject malformed genome serialization
powerball0x2a Jul 10, 2026
80fb34b
docs: close controller type boundary
powerball0x2a Jul 10, 2026
a4692d1
feat: add bounded organism controller
powerball0x2a Jul 10, 2026
63b16c2
fix: close controller frame inheritance bypasses
powerball0x2a Jul 10, 2026
c215b43
feat: add organism world snapshot types
powerball0x2a Jul 10, 2026
9995531
fix: freeze spatial organism snapshots
powerball0x2a Jul 10, 2026
f167e8f
fix: validate frozen organism state
powerball0x2a Jul 10, 2026
594a874
feat: add movement and energy physics
powerball0x2a Jul 10, 2026
8697971
fix: harden physics energy accounting
powerball0x2a Jul 10, 2026
ee63d28
feat: add heritable reproduction and death
powerball0x2a Jul 10, 2026
eec9526
feat: add deterministic population initialization
powerball0x2a Jul 10, 2026
ae228ab
feat: run deterministic evolutionary ticks
powerball0x2a Jul 10, 2026
9006254
fix: harden evolutionary tick invariants
powerball0x2a Jul 10, 2026
554e306
feat: write canonical evolution artifacts
powerball0x2a Jul 10, 2026
c84c086
fix: harden canonical artifact validation
powerball0x2a Jul 10, 2026
aafabbc
fix: make artifact snapshots truly immutable
powerball0x2a Jul 10, 2026
9489280
feat: run headless evolution experiments
powerball0x2a Jul 11, 2026
ca97ed2
perf: index food reach queries
powerball0x2a Jul 11, 2026
20770eb
perf: cache immutable genome validation
powerball0x2a Jul 11, 2026
f594765
perf: fast-path full-field sensing
powerball0x2a Jul 11, 2026
83c9d35
perf: close deterministic kernel gate
powerball0x2a Jul 12, 2026
d37dadd
chore: close phase a merge readiness
powerball0x2a Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 0 additions & 26 deletions .env.example

This file was deleted.

97 changes: 56 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,54 +7,69 @@ on:
branches: [main]

jobs:
backend:
runs-on: ubuntu-latest
timeout-minutes: 15

kernel:
name: kernel-${{ matrix.machine }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-24.04
machine: x86_64
- runner: macos-14
machine: arm64
runs-on: ${{ matrix.runner }}
timeout-minutes: 20
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.12"

- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"

- name: Create venv and install deps
cache-dependency-glob: "uv.lock"
- name: Assert runtime architecture
env:
EXPECTED_MACHINE: ${{ matrix.machine }}
run: python -c "import os, platform; actual = platform.machine(); expected = os.environ['EXPECTED_MACHINE']; assert actual == expected, f'expected {expected}, got {actual}'"
- run: uv sync --extra dev --frozen
- run: uv lock --check
- run: uv run ruff check antelab tests scripts
- run: uv run mypy antelab scripts
- run: uv run pytest -q
- name: Verify 500-tick golden repeatability
shell: bash
run: |
uv venv .venv --python 3.12
uv pip install -e ".[dev]" --python .venv/bin/python
tmp_dir="$(mktemp -d)"
trap 'rm -rf "$tmp_dir"' EXIT
uv run antelab run experiments/foraging-genesis.yaml --ticks 500 --output "$tmp_dir/run-a.json"
uv run antelab run experiments/foraging-genesis.yaml --ticks 500 --output "$tmp_dir/run-b.json"
cmp "$tmp_dir/run-a.json" "$tmp_dir/run-b.json"
uv run python - "$tmp_dir/run-a.json" tests/golden/foraging-genesis-500.json <<'PY'
import hashlib
import json
import sys
from pathlib import Path

- name: Ruff check
run: uv run ruff check antelab/ tests/

- name: Pytest
run: uv run pytest tests/

frontend:
runs-on: ubuntu-latest
timeout-minutes: 15

steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: frontend/package-lock.json

- name: Install deps
run: npm ci
working-directory: frontend

- name: Typecheck
run: npm run typecheck
working-directory: frontend

- name: Build
run: npm run build
working-directory: frontend
artifact_path, golden_path = (Path(value) for value in sys.argv[1:])
artifact_bytes = artifact_path.read_bytes()
artifact = json.loads(artifact_bytes)
golden = json.loads(golden_path.read_text(encoding="utf-8"))
actual = {
"artifact_sha256": hashlib.sha256(artifact_bytes).hexdigest(),
"config_version": artifact["config"]["schema_version"],
"engine_version": artifact["engine_version"],
"final_checksum": artifact["final_checksum"],
"ticks": artifact["ticks_completed"],
}
if actual != golden:
raise SystemExit(f"golden mismatch: actual={actual!r} expected={golden!r}")
PY
- name: Build and install wheel smoke
shell: bash
run: |
uv build --out-dir "$RUNNER_TEMP/dist"
uv venv "$RUNNER_TEMP/wheel-venv" --python 3.12
uv pip install --python "$RUNNER_TEMP/wheel-venv/bin/python" "$RUNNER_TEMP"/dist/*.whl
"$RUNNER_TEMP/wheel-venv/bin/antelab" --help
"$RUNNER_TEMP/wheel-venv/bin/antelab" run experiments/foraging-genesis.yaml --ticks 10 --output "$RUNNER_TEMP/installed-smoke.json"
57 changes: 0 additions & 57 deletions .github/workflows/frontend-ci.yml

This file was deleted.

Loading
Loading