Skip to content

ThalesGroup/agilab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

460 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AGILAB

AGILAB is an anti-lock-in reproducibility workbench for AI/ML engineering. It turns notebooks and scripts into executable, portable, evidence-backed apps with a stable agi-core handoff, optional MLflow tracking, and local or distributed execution behind the same run evidence contract.

AGILAB Space agi-core notebook

One-Minute Proof

Run the smallest public proof first. It installs the examples profile, executes the packaged flight_telemetry_project, writes run_manifest.json, and then checks whether the evidence is a safe baseline before you move to notebooks, private apps, MLflow, or cluster execution.

uv --preview-features extra-build-dependencies tool install --upgrade "agilab[examples]"
agilab first-proof --json --max-seconds 60
agilab adoption-report --strict

That loop is the product in miniature: controlled environment, reproducible execution, artifacts, run evidence, and a portable handoff path without needing the Streamlit UI or a cluster.

Golden ML Loop

The strongest AGILAB path is intentionally small and evidence-first:

  1. Import or create a notebook, script, or app project.
  2. Run it through a controlled local environment first.
  3. Capture artifacts plus run_manifest.json evidence.
  4. Inspect and compare outputs in ANALYSIS, notebook export, MLflow handoff, or proof-pack tools.
  5. Promote the result only when the evidence, package contract, and release proof are coherent.

That is the center of gravity: make exploratory ML work replayable before moving it into a heavier tracker, registry, cluster, or production platform.

That means you do not lose your work if the AGILAB UI or distributed runtime is no longer the right interface. The stable core runtime remains the smallest supported handoff surface and is release-gated core runtime handoff technology.

Agent Entry Point

For MCP clients, start agilab-mcp and call agent_quickstart first. It is read-only and returns the safety boundary, recommended workflow, live tool list, and compact capability overview. The same entry point is advertised by the MCP initialize response and agenticweb.md.

PyPI version Wheel: yes Supported Python Versions Latest proven release proof Supply chain: SBOM, audit, provenance First proof: passing License: BSD 3-Clause Docs

Repo guardrails Coverage workflow agilab coverage

More project badges

GitHub AI scraper discoverable GitHub stars PyPI downloads Open issues Commit activity Skills Standard: Agent Skills Works with Codex Claude Aider OpenCode and Mistral Vibe Agent API: CLI Python Language Python free-threaded and Cythonized PRs welcome Repo size Style guard: Ruff changed-files ORCID agi-gui coverage agi-web coverage agi-env coverage agi-node coverage agi-cluster coverage agi-core coverage

AGILAB also preserves a notebook export path. That export is an agi-core runtime handoff: you can continue to run the saved project and stage contract through the stable core runtime, without depending on the AGILAB UI or distributed worker layer. Apps can run locally or on distributed workers, then export back to an agi-core notebook, inspect or adapt the Python stages, and hand off tracking evidence to MLflow when that integration is enabled. Apps can also declare multiple UI surfaces, so an app can keep the same runtime and evidence contract while exposing Streamlit, hosted Hugging Face, or browser-native agi-web UI islands with React-ready component contracts.

You do not need a cluster to get AGILAB's core value. The primary adoption path is local: turn a notebook or script into a replayable app with evidence, artifacts, analysis views, and a notebook or MLflow handoff. Cluster execution is a scale-out option after that local proof works.

Use it to keep experimental AI work:

  • one-command setup
  • controlled environments
  • local or distributed execution
  • reviewable run evidence
  • runnable outside the AGILAB UI as agi-core notebooks
  • optional MLflow integration

AGILAB complements MLflow and production MLOps platforms. It owns the reproducible execution and analysis layer around them. In short: MLflow tracks experiments; AGILAB transforms notebooks and scripts into executable, portable, evidence-backed AI applications.

Core Flow

Notebook/script -> AGILAB app -> controlled execution -> artifacts + evidence -> notebook / MLflow / UI handoff

The flow is reversible where it matters for long-term reuse: WORKFLOW can export the saved pipeline as a runnable agi-core supervisor notebook, so the code, stage order, runtime hints, and review context remain usable outside the workbench.

Demo Routes

Start with the route that matches the proof you want to show:

Goal Demo route What it proves
Try AGILAB in the browser AGILAB Space Hosted PROJECT -> ORCHESTRATE -> WORKFLOW -> ANALYSIS path.
Choose by objective Demo chooser Public router for notebook, UI, proof-pack, and performance demos.
Migrate a notebook into an app Weather notebook migration Notebook stages, lab_stages.toml, artifacts, and reusable analysis views.
Keep Excel as the front end Excel workbook proof Workbook inputs plus CSV and JSON evidence without an Office add-in.
Keep a notebook dashboard Voila notebook proof Hide-code notebook dashboard path plus widget-to-args and app-view evidence.
Publish run evidence Quarto bridge agilab export quarto turns a run manifest into a publishable .qmd report.
Prove database access locally SQLite connector proof Local schema, parameterized SQL query, result CSV, and JSON evidence hashes.
Gate candidate data Data Quality Gate Contract, drift, leakage, and promotion decision evidence before training.
Show performance engineering Cython worker speedup demo Worker execution model plus checksum-matched typed-kernel speedup evidence.
Show a native extension boundary Rust/PyO3 native worker preview Generated PyO3/maturin worker skeleton with explicit evidence handoff.
Explore an opt-in app PyTorch Playground Reproducible classifier playground with live play/pause training, replayable teaching route, evidence ZIPs, generated PyTorch/Lightning code, multi-UI surface declarations, and loss-landscape analysis.
Go deeper after first proof Advanced Proof Pack Mission decision, execution playground, UAV queue, service, MLflow, and release-proof routes.

Use the local quick start when you want to run the product locally, the demo capture guide when preparing screenshots or video, and the 50-star promotion kit when sharing the project publicly.

If AGILAB helps you make AI/ML experiments reproducible, please star the repository so other engineers can find it.

For spreadsheet-first users, the packaged excel_workbook_proof preview keeps Excel as the familiar interface and writes a proof workbook, Power Query-friendly CSV files, and JSON hash evidence without requiring an Office add-in.

For notebook-dashboard users, the packaged voila_notebook_proof preview keeps the notebook dashboard flow and writes a hide-code manifest, widget-to-args hints, an app-view plan, and JSON evidence without requiring Voila in the base install.

Featured Opt-In App

  • Data Quality Gate is the deterministic data-readiness gate: baseline/candidate datasets, contract checks, drift metrics, leakage detection, and promotion evidence without external services.
  • PyTorch Playground is the opt-in classifier playground app for synthetic datasets, real play/pause training, hidden-layer activation maps, network diagnostics, a replayable teaching route, and the Loss landscape view. It keeps the instant visual learning loop of classic neural playgrounds, then adds PyTorch-native evidence, replay tokens, and reusable PyTorch or Lightning code. It demonstrates the reusable app-surface contract: inspect backends with agilab app surface pytorch_playground_project --list, open the local UI with agilab app surface pytorch_playground_project --ui streamlit, or open the hosted backend with agilab app surface pytorch_playground_project --ui hf. The shortcut agilab pytorch-playground remains for convenience. It is a reproducible app project, not a generic app-agnostic analysis page, and loss landscape is part of that project.

Featured Performance Demo

  • Execution Pandas Project is the Cython worker speedup demo. It keeps Pandas I/O and reducer evidence in Python, then isolates the hot scoring loop as a typed contiguous float64 kernel so AGILAB can compare Python and Cython execution honestly. The versioned local kernel proof reports 0.620s Python vs 0.002s Cython on 100,000 rows x 32 passes, a checksum-matched 306x speedup. That is a focused hot-loop result, not an end-to-end runtime promise.
  • Flight Telemetry Project is the real-world worker-only Cython example: the Polars ingestion and artifact contract stay in Python, while the per-row haversine distance kernel reports speed_kernel_runtime, speed_dtype_contract, and checksum evidence in the reducer summary.

Open in HuggingFace Open In Kaggle

Local PyPI Proof

uv --preview-features extra-build-dependencies tool install --upgrade "agilab[examples]"
agilab first-proof --json
agilab adoption-report

Use the UI profile only when you also want the local Streamlit pages:

uv --preview-features extra-build-dependencies tool install --upgrade "agilab[ui]"
agilab

For a zero-install browser preview, open the public AGILAB Space. It opens the lightweight flight_telemetry_project path by default and exposes the weather_forecast_project notebook-migration demo with forecast analysis views. Advanced scenarios such as mission_decision_project, the execution_pandas_project Cython worker speedup demo, execution_polars_project, and uav_relay_queue_project are collected in the Advanced Proof Pack. For the full project/package/status matrix, see the Public App Catalog. The default hosted flight journey covers PROJECT, ORCHESTRATE, WORKFLOW, and ANALYSIS, including bundled flight analysis views.

If startup fails, run a progressive fallback:

agilab dry-run
agilab first-proof --json
agilab adoption-report

agilab dry-run is the fast alias for agilab first-proof --dry-run; it verifies CLI/core readiness only. agilab first-proof --json does the local onboarding contract and writes the manifest without requiring Streamlit. Add --with-ui only when you intentionally want the proof to boot the packaged Streamlit pages too. agilab adoption-report reads the manifest and tells you whether the first proof is a safe baseline before trying notebooks, private apps, or cluster work.

Maturity snapshot

Capability Status
Local run Stable
Distributed (Dask) Stable
UI Streamlit Beta
MLflow Beta
Production Experimental
RL examples Example available

AGILAB is most mature in the bridge between notebook experimentation and reproducible AI applications: local execution, environment control, and analysis. Distributed execution is mature in the core runtime; remote cluster mounts, credentials, and hardware stacks remain environment-dependent. Production-grade MLOps features are delivered through integrations and are not yet a packaged platform claim.

Production Boundary

AGILAB should be adopted as an experimentation and validation workbench first. Use this boundary before deploying it in sensitive environments:

Boundary Status Required controls
Go for controlled local use Local research sandboxes, internal demos, notebook-to-app migration, reproducible validation with non-sensitive data. Normal repository hygiene and local proof evidence.
Go for hardened shared use Shared team workspaces, SSH/Dask clusters, reviewed external apps, LLM connectors, local/offline LLMs, or sensitive internal datasets when the hardening gate passes. Per-user isolation, strict agilab security-check gate, explicit secrets management, TLS/auth for exposed services, pinned/allowlisted external apps, SBOM plus vulnerability scan evidence for deployed install profiles, bounded resources, and a deployment threat model.
Not safe as-is Sole production MLOps control plane, public Streamlit exposure, regulated production model serving, enterprise governance, online monitoring, drift detection, or audit-trail ownership. Pair AGILAB with a hardened production stack such as MLflow/Kubeflow/SageMaker/Dagster/Airflow or an internal platform.

For shared adoption, run agilab security-check --profile shared --json and use --strict or AGILAB_SECURITY_CHECK_STRICT=1 when missing controls should block the gate. The stricter profiles check app-repository allowlists, public UI bind controls, cluster-share isolation, generated-code execution boundaries, plaintext local secrets, and profile-specific SBOM / pip-audit evidence. Treat a clean strict report plus profile-specific SBOM / pip-audit evidence as the documented go gate for hardened shared/team use. To persist the combined decision, write the gate artifact:

uv --preview-features extra-build-dependencies run python tools/shared_go_gate.py \
  --security-check-json test-results/security-check.json \
  --supply-chain-dir test-results/supply-chain \
  --output test-results/shared_go_gate.json

Security Reporting

Do not use public GitHub issues, discussions, pull requests, or comments for suspected vulnerabilities. Use the private reporting path in SECURITY.md; if GitHub Private Vulnerability Reporting is not available to you, request a private AGILAB security intake through a maintainer contact or another private channel listed by the project. The public issue tracker is only for non-sensitive bugs, support questions, and post-fix follow-up.

For adoption boundaries and the shared-use hardening checklist, see Security and adoption.

Dependency And Supply-Chain Boundaries

The public package is intentionally profile-based so operators can install only what they need:

Profile Dependency scope Use when
Base package Lightweight agilab command shell plus Python 3.13 stdlib shims. It does not install the core runtime, UI, apps, pages, notebooks, or model stacks by default. Version/help checks, package/app management commands, and metadata/reporting helpers that do not execute AGILAB runtime code.
core extra agi-core, which wires agi-env, agi-node, and agi-cluster for compact local/distributed runtime smoke checks. CLI proof, source-checkout validation, notebook/API runtime, and worker-runtime development without the UI or packaged examples.
ui extra Streamlit UI, page helpers, portable agi-web Canvas2D/WebGL and React-ready UI-island contracts, pandas/network graph utilities, agi-apps, and the agi-pages provider. Promoted app and page payload packages are on PyPI; unpromoted app payloads remain release artifacts until publication is enabled. Running the local product UI with the packaged runtime and optional public demo assets.
examples extra agi-apps app catalog/examples plus notebook/demo helper dependencies such as JupyterLab and optional plotting packages. Running packaged notebooks, demos, learning examples, and package first-proof routes.
notebook extra Notebook execution helpers such as nbclient, nbformat, and ipykernel. Running agilab run notebook to execute a local notebook and write AGILAB evidence.
pages extra agi-pages page-provider helpers without the full UI profile. Installing or validating sidecar page-bundle discovery separately from built-in app projects.
proof extra Optional cryptography dependency for detached Ed25519 proof-capsule signatures. Signing .agipack archives and verifying them against local trust policies.
agents extra API client dependency boundary for packaged agent workflow helpers. Reproducible coding-agent and assistant-backed workflows.
mlflow extra MLflow tracking integration. Recording runs, metrics, artifacts, or model registry handoff evidence.
ai and viz extras API LLM clients and optional plotting packages. Assistant-backed workflows or richer visual analysis.
local-llm / offline extras Local/offline model stacks such as Torch, Transformers, GPT-OSS, and MLX where supported. Isolated local-model experiments; expect a larger supply-chain and hardware footprint.
dev extra Contributor test/build/audit tooling only. Validating a source checkout or release candidate; avoid it for runtime installs.

Agent workflows can now produce AGILAB evidence directly. Use agilab agent-run --agent codex --permission-level standard --label "Review current diff" --tag review --metadata branch=main -- codex review to execute a local coding-agent command and write a redacted agilab.agent_run.v1 manifest plus local stdout/stderr artifacts under ~/log/agents/. Each run also writes an append-only agilab.agent_trace.v1 stream in agent_events.ndjson, with typed events for session, command/tool, permission, compaction, rewind, and completion evidence. Command arguments are redacted by default and represented by an argv hash; pass --include-command-args only when the prompt/arguments are safe to store. Output artifact files redact obvious secret assignments, supported secret refs, and common standalone API-token patterns by default; pass --include-raw-output only for safe local diagnostics. Destructive executable names and obvious destructive shell, Python, Git, Docker, Kubernetes, or package-manager command content are operator-gated, but this permission layer is an evidence guard, not a process sandbox. Add --protocol-adapter mcp or --capability app-as-tool as metadata-only labels when experimenting with agent protocol bridges; the base package records those labels and lifecycle events without depending on the protocol stacks. Use agilab agent-run list --agent codex --json or the Python helpers agilab.agent_run.trace_agent_run() and agilab.agent_run.list_agent_runs() to create or consume run evidence from automation. Provider/model capability context can be stamped with --provider, --model, project-local .agilab/agents.json, or global ~/.agilab/agents/agents.json.

Cluster/Dask support is intentionally part of the base runtime through agi-core. AGILAB keeps local, pool, and distributed back planes behind the same reproducible execution contract; moving agi-cluster behind an extra would be only an install-footprint optimization if measured adoption data ever justifies the added conditional paths.

Release and adoption supply-chain evidence is explicit: Dependabot watches Python and GitHub Actions manifests, release tooling publishes per-profile pip-audit JSON and CycloneDX SBOM artifacts, and tools/profile_supply_chain_scan.py can regenerate the same profile evidence locally. Keep detailed package upload, trusted-publisher, reuse, retention, and hosted-demo sync rules in the package publishing policy, where they belong as maintainer tooling rather than a development component. The README only summarizes the evidence boundary and links to release proof.

Evidence Taxonomy

AGILAB separates public claims by evidence type:

Evidence type What it proves What it does not prove
Automated proof Commands such as agilab first-proof --json, workflow parity checks, coverage, release proof, and UI robot evidence ran successfully. Independent certification or coverage of every deployment topology.
Integration tests A specific source path, package route, app, or workflow contract is exercised by tests. Production SLA, security certification, or external operator acceptance.
Benchmarks Timings for declared hardware, datasets, modes, and benchmark scripts. General performance across arbitrary hardware, networks, or datasets.
Self-assessment KPI scores such as production readiness and strategic potential are maintained from repository evidence. External validation or third-party certification.
External validation Only claimed when a named external artifact, reviewer, CI provider, or hosted demo proof is linked. Implied endorsement beyond the linked evidence.

Proof Capsule Direction

The north-star product primitive is an AGILAB proof capsule: one portable, reviewable bundle for a run or app promotion decision. It should collect the run manifest, app/stage metadata, exported notebook handoff, MLflow handoff metadata when enabled, UI robot screenshots/traces/HAR/video when captured, artifact hashes, dependency locks, SBOM, pip-audit, wheel hashes, provenance, and a short human/machine summary.

AGILAB already ships many of those pieces separately through first-proof manifests, notebook export, release proof, supply-chain scans, robot artifacts, and adoption reports. The first public proof-pack layer now adds agilab prove, agilab verify, agilab replay, agilab export-lineage, agilab export-traces, agilab policy-check, agilab cards, and agilab metadata-store for run_manifest.json evidence, plus a hash-verifiable .agipack archive for portable handoff with agilab prove --export proof.agipack. The proof extra adds detached Ed25519 signing with agilab sign proof.agipack --key signer.pem --signature proof.agipack.sig.json and trust-policy verification with agilab verify proof.agipack --signature proof.agipack.sig.json --trust-policy policy.toml. For fail-closed evidence, maintainers can run ./dev robust; it executes a P0 robustness matrix of synthetic bad states covering cluster shares, public UI binds, service health gates, evidence manifests, notebook import, app settings, and Streamlit route contracts. A scenario passes only when the bad state is rejected with a clear remediation and replay command. For adoption-surface evidence, maintainers can run ./dev app-contracts; it checks that built-in apps, worker manifests, reducer expectations, promoted PyPI app packages, the app catalog, and public app docs stay aligned. The same guard runs in release validation, CI, and targeted pre-push checks when those inputs change. For style tooling, maintainers should run ./dev lint; it executes Ruff through the repo dev extra so a fresh checkout provisions the tool instead of relying on an already-synced local environment. External Sigstore/SLSA attestation binding, native lineage or observability transport, durable ML metadata, rich app-authored cards, and enterprise governance integrations remain roadmap work. See the proof capsule contract for the intended boundary.

Repository Map And Stability Boundaries

AGILAB is a monorepo, but it is not a single stability surface:

Use three planes to read the repository:

Plane Owns Main roots
Control plane Product entry points, runtime APIs, environment resolution, worker packaging, and local/distributed execution. src/agilab/core/*, src/agilab/lib/agi-gui, src/agilab/lib/agi-web, src/agilab/pages
Payload plane Apps, page bundles, templates, notebooks, examples, and PyPI payload umbrellas. src/agilab/apps/builtin, src/agilab/apps-pages, src/agilab/lib/agi-apps, src/agilab/lib/agi-pages, src/agilab/examples
Evidence plane Proof, audits, release contracts, supply-chain evidence, UI robot outputs, docs mirror, and agent/runbook automation. tools, .github, docs/source, .codex, .claude, badges

This is why AGILAB can look broader than a normal Python package: the runtime, its reusable app/page payloads, and the evidence proving those paths are kept in the same releaseable tree.

Area Role Stability contract
src/agilab/core/agi-env, agi-node, agi-cluster, agi-core Runtime packages for environment setup, worker packaging, distributed execution, and the compact API. Stable where documented; changes require focused regression evidence.
src/agilab/lib/agi-gui, src/agilab/lib/agi-web, src/agilab/pages Main web UI, Streamlit page helpers, portable Canvas2D/WebGL and React-ready UI-island contracts, and app-surface launch adapters. Beta product surface; useful for operators, still evolving. App runtime contracts should not depend on one UI backend.
src/agilab/lib/agi-apps PyPI umbrella that carries app catalog/example assets and exact-pins the app payload packages already promoted to PyPI. Packaged asset surface for the ui and examples extras.
src/agilab/lib/agi-pages PyPI provider package for public analysis page discovery. Published agi-page-* payload packages are distributed independently; agi-pages supplies the discovery/provider surface. Packaged page-provider surface for the ui and pages extras.
src/agilab/apps/builtin Public built-in apps used for first proof, demos, workflow examples, and regression coverage. Packaged examples, not enterprise deployment templates.
src/agilab/examples Learning scripts, notebooks, and preview examples. Educational material; optional helper dependencies live behind extras.
tools, .github, pycharm, .codex, .claude, dev Contributor, release, agent, and IDE automation. Maintainer tooling, not runtime API.
docs/source Public documentation mirror. Published docs source; canonical docs are synchronized before release.

This split is intentional. Treat AGILAB as an AI engineering reproducibility workbench first: stable runtime contracts, beta UI, packaged examples, and maintainer automation live together so release proof can validate the same source tree users install from.

Package Surface Contract

Local source checkouts can grow after runs because built-in apps can create .venv directories, build outputs, caches, datasets, and local logs. Those local artifacts are not the package contract. Public wheels are bounded by pyproject.toml package data rules and exclude virtual environments, tests, docs/html, build directories, generated C files, __pycache__, .pyc, and .egg-info artifacts.

Current packaging policy is conservative:

  • Base agilab keeps the command shell separate from core runtime, UI, page bundles, examples, agents, MLflow, visualization, local-LLM, offline, and dev profiles; use agilab[core] when CLI proof/runtime smoke checks are needed.
  • Promoted app payloads live in per-app packages such as agi-app-mission-decision, agi-app-pandas-execution, agi-app-polars-execution, agi-app-flight-telemetry, agi-app-multi-dag, agi-app-weather-forecast, agi-app-pytorch-playground, agi-app-tescia-diagnostic, and agi-app-uav-relay-queue; agi-apps is the umbrella catalog/example package pulled in by the ui and examples extras.
  • Public analysis page bundles use decoupled agi-page-* package names such as agi-page-feature-attribution; agi-pages is the provider package pulled in by the ui and pages extras.
  • Rich app-owned browser views should use agi-web contracts when they need a stable payload that can render in Streamlit/static HTML now through bundled Canvas2D/WebGL adapters and keep a React-ready component boundary without changing the app evidence contract.
  • The optional PyTorch playground lives in src/agilab/apps/builtin/pytorch_playground_project. It is a reproducible app project rather than a generic app-agnostic analysis page; its loss-landscape projection is part of that project, not a separate view_loss_landscape bundle.
  • Larger optional stacks must stay behind extras, and release evidence must include SBOM / pip-audit data for the actual enabled profile.
  • agi-cluster remains in the base runtime by design. A separate minimal runtime profile should only be considered if measured install-footprint or adoption data justifies the new conditional package contract.

Choose Your Path

  1. Preview the product quickly: AGILAB Space
  2. Understand notebook-to-app migration: Notebook Migration Demo
  3. Prove the full source-checkout flow: Source Checkout
  4. Verify a CLI-only package install: Published Package
  5. Contribute safely: Contributor onboarding
  6. Audit external apps and evidence: App Repository Updates and Release Proof

For a single-page adoption checklist, use ADOPTION.md.

Source Version vs Package Version

AGILAB publishes from this repository, but each public surface has a distinct role:

Surface Meaning Source of truth
main branch and root pyproject.toml Active source checkout and next release candidate. It can move after a package has already been published. GitHub source tree
Release tag Immutable source snapshot used for a public release. Use this for reproducible source installs. GitHub tag and GitHub Release
PyPI package Latest installable public wheel/sdist for agilab and the agi-* packages. PyPI project and PyPI version badge
Release proof Public evidence tying the release tag, PyPI package version, docs, CI, coverage, and demo proof together. Release Proof

For development, use main. For reproducible release validation, use the release tag or the PyPI package version recorded in the release proof.

AGILAB uses date-based public versions. The dense .postN history in April-May 2026 records public-beta packaging hardening, provenance refreshes, and dependency-pin alignment across the split package set. It is kept visible for auditability, but it is not the target steady-state release rhythm; normal feature or behavior changes should advance to a deliberate new date-based release. Emergency public .postN versions are maintainer-gated and must be justified in release evidence; rehearsal builds should happen before final public release artifacts are cut.

Source Checkout

Run the installable product path with the built-in flight_telemetry_project:

CHECKOUT="${AGILAB_CHECKOUT:-$HOME/agilab-src}"
git clone https://github.com/ThalesGroup/agilab.git "$CHECKOUT"
cd "$CHECKOUT"
./install.sh --install-apps
uv --preview-features extra-build-dependencies run --extra ui streamlit run src/agilab/main_page.py

On native Windows, prefer the published package route below. The source checkout installer uses POSIX shell scripts, so run that path from WSL2 until native installer parity is published.

Follow the in-app pages from PROJECT to ORCHESTRATE, WORKFLOW, and ANALYSIS. To collect the same check as JSON:

uv --preview-features extra-build-dependencies run agilab first-proof --json
uv --preview-features extra-build-dependencies run agilab adoption-report

The JSON proof writes run_manifest.json under ~/log/execute/flight_telemetry/. For installer flags, IDE run configs, and troubleshooting, use the Quick Start docs.

Published Package

For a CLI-only package smoke without Streamlit:

uv --preview-features extra-build-dependencies tool install --upgrade "agilab[examples]"
agilab first-proof --json --max-seconds 60

App Repository Updates

When APPS_REPOSITORY points at an external apps repository, rerun the installer after app changes:

./install.sh --non-interactive --apps-repository /path/to/apps-repository --install-apps all

During an update, the apps repository is treated as the source of truth. If the target app/page already exists as a real directory instead of a symlink, AGILAB backs it up as <name>.previous.<timestamp>, then links the repository copy in its place. After the update, AGILAB runs the repository version; the .previous directory is kept only for manual recovery. See Service mode and paths for the full path contract.

Evidence And Scope

The README is only the entry page. Detailed capability evidence, compatibility status, and roadmap scope live in:

Evaluation Snapshot

Current public evaluation summary, refreshed from the public KPI bundle:

  • 4.0 / 5 for ease of adoption, research experimentation, and engineering prototyping.
  • 3.2 / 5 for production readiness.
  • 4.2 / 5 for strategic potential.
  • Overall public evaluation, rounded category average: 3.8 / 5.

These are public experimentation-workbench scores, not production MLOps claims. They cover project setup, environment management, execution, and result analysis. The evidence and limits are maintained in the compatibility matrix and MLOps positioning. The strategic evidence criteria and strategic score movement rule are tracked in the strategic scorecard.

Read Next