Skip to content

Bijux Core

bijux-core is the release and verification workspace for the bijux command runtime and the local-first bijux-dag toolchain.

License: Apache-2.0 CI Docs Crates Publish PyPI Publish GHCR Publish GitHub Release Release GHCR packages Public crates

bijux-cli bijux-dag-artifacts bijux-dag-core bijux-dag-runtime bijux-dag-app bijux-dag-cli bijux-cli

bijux-cli bijux-dag-artifacts bijux-dag-core bijux-dag-runtime bijux-dag-app bijux-dag-cli

Repository docs bijux-cli docs bijux-dag-artifacts docs bijux-dag-core docs bijux-dag-runtime docs bijux-dag-app docs bijux-dag-cli docs bijux-cli-python docs

Both products make operational authority visible. bijux resolves a command to one owner and preserves streams and exit semantics. bijux-dag turns a graph into a validated plan, executes it through an explicit backend, and retains the evidence needed to inspect, compare, or replay the result.

The same repository carries private verification surfaces that test release claims against code, schemas, fixtures, and generated evidence. Those maintainer tools validate the products; they are not hidden product APIs.

Two executables, two result models. bijux resolves one command and preserves process semantics. bijux-dag executes one graph and retains an integrity-bearing run record. Repository and maintainer material governs ownership and proof around those products.

Repository

Package boundaries, dependency direction, compatibility, release policy, and shared ownership.

CLI

Command semantics, routing, plugins, configuration, state, REPL behavior, and Python distribution.

DAG

Graph admission, planning, scheduling, backends, retained evidence, cache, comparison, and replay.

Maintainer

Toolchains, repository gates, evidence production, security checks, automation, release, and incident response.

Released Product Boundary

Surface Delivery What you can rely on today
bijux Rust crate, PyPI distribution, release bundles the visible bijux --help runtime, including apps, plugins, layered config, REPL, diagnostics, history, and memory
bijux-dag Rust crates and release bundles the visible bijux-dag --help local DAG surface for validate, plan, run, replay, inspect, compare, cache, and verify workflows
maintainer tooling repository-internal only contributor and release workflows, not end-user product API

bijux-dag is intentionally honest about its current boundary. The stable lane is local-first. Experimental, simulated, and maintainer-only routes exist in the repository, but they are not presented here as the default product story.

Operational Model

flowchart LR
    intent["operator intent"]
    admission["parse · validate · resolve policy"]
    work["owned execution boundary"]
    result["process result or retained run"]
    integrity["diagnose · verify · compare"]
    decision["bounded decision"]

    intent --> admission --> work --> result --> integrity --> decision
    admission -->|"unsupported or unsafe"| refuse["refuse before effects"]
    integrity -->|"missing or inconsistent"| quarantine["preserve and investigate"]

Admission prevents unsupported work from becoming effects. Integrity checks prevent an incomplete or corrupted result from becoming trusted evidence. The CLI and DAG runtimes implement different versions of that lifecycle, while the maintainer control plane applies the same discipline to tests, documentation, packages, and releases.

Two Execution Paths

flowchart TB
    operator["operator or automation"]

    subgraph cli_path["Command runtime"]
        cli_input["CLI, REPL, or Python launcher"]
        cli_route["normalize config and resolve route"]
        cli_run["built-in, mounted app, or plugin execution"]
        cli_result["stdout · stderr · exit status"]
    end

    subgraph dag_path["Workflow runtime"]
        dag_input["graph source"]
        dag_plan["validate, canonicalize, and plan"]
        dag_run["backend execution"]
        dag_result["run directory · traces · artifacts · identity"]
    end

    operator --> cli_input --> cli_route --> cli_run --> cli_result
    operator --> dag_input --> dag_plan --> dag_run --> dag_result

The paths deliberately end differently. A CLI command returns process-facing streams and status. A DAG run also leaves an integrity-bearing record because replay, comparison, and post-run verification depend on durable evidence.

Trust Properties

Property What the repository preserves Where to verify it
owned command routing aliases normalize to canonical routes; delegated processes retain native streams and exit status CLI execution model
explicit configuration layered values can be traced to their source and secret-like fields are redacted by default CLI configuration guide
deterministic graph meaning canonical graph and plan identities are separate from runtime and artifact identity DAG reproducibility model
failure evidence failed, skipped, blocked, cancelled, cached, and successful work remain distinguishable DAG failure recovery
honest isolation enforced checks are separated from host, container, scheduler, and cluster assumptions Execution security
release traceability publication boundaries and required evidence are machine-readable and contract-tested Repository release operations

Choose By Responsibility

If you want to... Open this handbook
run bijux, mount apps, work with plugins, or debug runtime behavior CLI Handbook
author DAGs, run them locally, inspect artifacts, or replay a run DAG Handbook
understand what the repository publishes, how crates divide work, or how release boundaries are enforced Repository Handbook
work on repository gates, release proof, or documentation and automation pipelines Maintainer Handbook

First Operational Journeys

Evidence Strength

flowchart LR
    request["command or graph request"]
    contract["validated route, schema,<br/>graph, or policy"]
    execution["owned execution"]
    outcome["streams, status,<br/>state, or run directory"]
    verification["diagnostics, integrity,<br/>replay, or gate"]
    decision["bounded operational decision"]

    request --> contract --> execution --> outcome --> verification --> decision
    verification -->|"missing or inconsistent evidence"| refuse["refuse or narrow the claim"]
Outcome Trust it for Do not infer
successful bijux result that one route completed under the observed state that delegated code was isolated or all plugins are healthy
accepted DAG validation that graph syntax and semantics passed the active contract that any node executed
finalized run directory that execution reached a retained terminal result that files remain intact or domain output is correct
strict verification that retained structural and integrity contracts pass scientific, business, or workload correctness
replay or semantic comparison the recorded identity and difference classification equivalence outside the selected evidence and environment
green maintainer gate the exact selected suite at the recorded revision omitted platforms, external services, or broader release claims

Evidence becomes stronger only when the next authority is present. A process status establishes completion, retained state establishes what was recorded, integrity establishes whether that state is intact, and replay or comparison establishes only the equivalence claim encoded by its selected contract.

The v0.4.0 Release Notes define the current DAG release. Future Direction is non-binding direction; if it conflicts with the release boundary, the narrower shipped claim wins.