Governance & validation

Astral Omnidominion

Explore the Astral operating-system scenario and its governance architecture.

A CLOSER LOOK

Which underlying workflow does this mission actually launch?

For operators: understand the preserved mission wrapper, its prerequisites and the shared implementation it calls.

Inspect the shared entry point

Find demo:agi-os:first-class in scripts and follow its actual target. The wrapper name and marketing narrative should not be confused with a distinct verified engine.

package.json ↗

REAL REPOSITORY MATERIAL

Inspect. Understand. Reproduce.

Reading the exact source at revision 5b4cebb3.
This browser inspection does not execute the demo.

Repository source3,604 bytesDownload source ↓View on GitHub ↗

demo/astral-omnidominion-operating-system/run_demo.py

Select a walkthrough step to explore its source.

Full source text
"""Entry point for the Astral Omnidominion Operating System demo.

This wrapper keeps the execution experience consistent with other demos by
invoking the underlying TypeScript implementation via ``npm run``. It is
intentionally lightweight: the Python layer only assembles the command,
ensures we execute from the repository root, and forwards any user-supplied
arguments verbatim.
"""
from __future__ import annotations

import os
import subprocess
import sys
from pathlib import Path
from typing import Callable, Iterable, Protocol


class _Runner(Protocol):
    def __call__(self, cmd: list[str], *, check: bool, cwd: str | os.PathLike[str]) -> subprocess.CompletedProcess:
        ...


REPO_ROOT = Path(__file__).resolve().parents[2]
DEFAULT_ARGS = ["--network", "localhost", "--yes", "--no-compose", "--skip-deploy"]
AUTO_FLAG = "--auto"
AUTO_ENV = "ASTRAL_OS_AUTO"


def build_command(args: Iterable[str]) -> list[str]:
    """Construct the npm command that drives the demo."""

    return ["npm", "run", "demo:agi-os:first-class", "--", *args]


def run(
    argv: Iterable[str] | None = None,
    *,
    runner: _Runner | None = None,
    is_interactive: Callable[[], bool] | None = None,
) -> int:
    """Execute the Astral Omnidominion demo through npm.

    Args:
        argv: Optional iterable of CLI arguments to forward to the demo.
        runner: Optional callable used to execute the command. Defaults to
            :func:`subprocess.run` and primarily exists to keep tests fast and
            deterministic.

    Returns:
        The exit code from the underlying npm script.
    """

    args = list(argv) if argv is not None else sys.argv[1:]

    normalized_args, _ = _normalize_args(args, is_interactive)
    cmd = build_command(normalized_args)
    runner = runner or subprocess.run
    result = runner(cmd, check=False, cwd=str(REPO_ROOT))
    return result.returncode


def _normalize_args(
    args: list[str], is_interactive: Callable[[], bool] | None
) -> tuple[list[str], bool]:
    """Apply automation defaults while respecting explicit caller intent."""

    is_interactive = is_interactive or sys.stdin.isatty

    requested = _auto_requested(args)
    args = [arg for arg in args if arg != AUTO_FLAG]

    if not args:
        # Default to the automation-friendly profile even in interactive
        # shells so ``python run_demo.py`` never blocks on nested prompts.
        # The caller can still override the behavior by explicitly passing
        # interactive flags.
        return DEFAULT_ARGS, requested or not is_interactive()

    if requested:
        args = _merge_defaults(args)

    return args, requested


def _auto_requested(args: Iterable[str]) -> bool:
    env_value = os.environ.get(AUTO_ENV, "").strip().lower()
    env_requested = env_value in {"1", "true", "yes", "on"}
    return AUTO_FLAG in args or env_requested


def _merge_defaults(args: list[str]) -> list[str]:
    """Ensure automation defaults are present without clobbering overrides."""

    def _has_flag(flag: str, values: list[str]) -> bool:
        if flag == "--network":
            return any(value == flag or value.startswith(f"{flag}=") for value in values)
        return flag in values

    merged: list[str] = []
    merged.extend(args)

    if not _has_flag("--network", merged):
        merged.extend(["--network", "localhost"])
    for flag in ["--yes", "--no-compose", "--skip-deploy"]:
        if not _has_flag(flag, merged):
            merged.append(flag)

    return merged


def main() -> None:
    raise SystemExit(run())


if __name__ == "__main__":
    main()

SHA-256 a4432275d3d6eda552aaf21b569dc32a02567413cf96d908e8cb2475750acc4d

FROM READING TO A REPRODUCIBLE RUN

Try the selected path.

Configured operator environment

Start with the linked setup and component runbooks. This experience crosses several services or network-aware scripts; the first command below is labeled with its actual scope. Prepare local addresses, services and output paths before invoking the broader launcher.

Complete environment setup ↗
SELECTED EXECUTION PATH
npm run demo:onebox:doctor

What you should observe

Start with the shared environment diagnostic. Fix missing configuration and services before using this mission’s source launcher; the diagnostic itself does not run the mission.

The source inspector above reads bundled repository material. Local commands run separately on your computer. Recorded examples may contain historical timestamps, placeholders and simulated metrics.

MAKE IT YOUR OWN

One useful experiment.

Follow every command in the wrapper and classify it as configuration, deployment, local execution or reporting. Confirm that all stages point to the same intended environment.

THE SYSTEM, MADE VISIBLE

Architecture & relationships

Architecture diagram · source preserved below
View original Mermaid source
flowchart LR
    Operators((Mission Owners)) --> demo_astral_omnidominion_operating_system[[Demo → Astral Omnidominion Operating System]]
    demo_astral_omnidominion_operating_system --> Core[[AGI Jobs v0 (v2) Core Intelligence]]
    Core --> Observability[[Unified CI / CD & Observability]]
    Core --> Governance[[Owner Control Plane]]

WHEN SOMETHING DOESN’T MATCH

Troubleshooting

A command or service fails

Start at the first error, confirm the working directory and pinned toolchain, then follow the linked component guide. Optional packages and provider services have separate prerequisites.

A report looks successful but lacks evidence

Check its source revision, configuration, timestamps and underlying events. Historical fixtures and generated plans do not prove a fresh execution.

TRACE THE CHECKS

Verification & next steps

1 tracked test source files are available in this directory. Inspect the tests and their environment before choosing a suite; file counts do not establish test results.

Browse the test sources

For live commissioning, consult the production readiness record.

EVERY VARIANT, PRESERVED

Complete document library

REPRODUCE & INSPECT

Registered commands

Run commands from the repository root after following this demo's guide. Network and owner actions require their documented setup.

No root-level launch command is associated with this source path. Follow the guide or source directory for its own entry point.

Full command catalog and troubleshooting ↗

ORIGINAL DIRECTORYdemo/astral-omnidominion-operating-systemView on GitHub ↗