Skip to main content

DeepLoop autonomous research autopilot control plane.

Project description

DeepLoop

Structured research missions from a local project folder — with visible autonomy boundaries, durable mission state, and an explicit operator inbox.

DeepLoop helps researchers and operators run structured work from the artifacts already on disk instead of rebuilding everything around one long chat. It keeps the loop moving, pauses only at real safety, authority, or support boundaries, and makes the path legible when you need to inspect or redirect it.

DeepLoop owns behavior and orchestration; substrate repos own reusable domain or science rules.

Why it matters

  • Start from real project artifacts: bootstrap from a plain project folder, not just a prompt.
  • Keep control visible: status, inbox, and resume make the operator inbox explicit when DeepLoop needs a real decision.
  • Inspect the loop: operator-facing summaries expose runtime telemetry, inner-loop progress, stage-kernel activity, reroutes, and temporary gaps instead of hiding them in raw JSON.
  • Keep evidence close to the work: your project folder stays focused on facts, docs, and outputs while DeepLoop keeps durable mission state.
  • Use autonomy with governance: the shipped path includes explicit release boundaries, autonomy governance, and reviewed promotion surfaces.
  • Separate platform from domain logic: DeepLoop runs the loop; substrate repos keep reusable methods, constraints, and science rules.

Getting started

  1. Install DeepLoop

    Fastest supported path:

    pip install deeploop
    

    For the full install matrix — GitHub installs, editable contributor setup, two-clone hybrid workflows, and the documented Conda path — use Getting started.

  2. Prepare the workspace and validate the supported path

    export DEEPLOOP_WORKSPACE_ROOT="$HOME/Workspaces"  # optional; choose before init/start
    make setup
    make public-bootstrap-check
    

    DeepLoop prints the resolved workspace root during deeploop init and deeploop start. If DEEPLOOP_WORKSPACE_ROOT is unset, it uses an existing unambiguous ~/Workspaces, ~/workspace, or ~/workspaces directory, then falls back to ~/workspaces.

  3. Prepare a provider

  4. Run the canonical example or your own plain-folder project

    deeploop run --project-root examples/translation-budget-ladder --until-complete
    

    Note: If <project-folder>/.deeploop/missions/*.yaml files exist, deeploop run automatically uses the first one instead of bootstrapping a blank mission. For a plain folder with no existing config, it bootstraps from the folder's facts. If the folder is rough but still recognizable, DeepLoop can initialize with disclosed clarifications/defaults and keep the project folder unchanged. To target a specific explicit config directly, use deeploop init --config <mission-config.yaml> followed by deeploop start --mission-state <mission-state.json>.

    • discovery / operator path:

      deeploop init --project-root PROJECT_FOLDER --force
      deeploop init --discover --project-root PROJECT_FOLDER --force
      

      Use plain deeploop init --project-root ... when the folder is rough but already recognizable. Add --discover when you want DeepLoop to ask clarifying questions before kickoff.

    On a copied folder, substitute PROJECT_FOLDER in the commands above. If DeepLoop cannot safely bootstrap the folder yet, it stops with bounded bootstrap-repair guidance instead of mutating the project.

  5. Use the operator CLI when a run pauses

    deeploop status --mission-state MISSION_STATE_PATH
    deeploop inbox --mission-state MISSION_STATE_PATH
    deeploop resume --mission-state MISSION_STATE_PATH
    

The deeploop CLI is the single entry point — run, init, status, inbox, resume, and more are all subcommands.

Readiness at a glance

  • Fastest supported path: Linux, Python 3.11+, pip install deeploop, make setup, make public-bootstrap-check, then deeploop run --project-root <project-folder> --until-complete
  • Messy starts are supported: rough plain-folder projects can initialize with disclosed clarifications/defaults, or you can use deeploop init --discover ... for a guided kickoff
  • Repair stays bounded: if the folder is missing the plain-folder bootstrap contract, DeepLoop exits with bootstrap-repair guidance and suggested starter inputs instead of silently rewriting project files
  • Current release gate: make public-bootstrap-check, make docker-release-validate, and make docs-build, with PyPI publish only from a published GitHub Release whose tag matches project.version

Best fit today

DeepLoop is best when you already have:

  • a project folder on disk
  • a clear mission or question
  • an operator who can check status and respond when the operator inbox opens
  • a need for bounded autonomy, durable state, and evidence-aware summaries

Public alpha — best on Linux with Python 3.11; not claiming a fully automatic experience for everyone. See the roadmap for current scope.

Key capabilities

Operating modes

  • sandboxed-yolo for the fastest bounded path when you want DeepLoop to keep moving inside the supported guardrails
  • managed when you want intervention hooks before DeepLoop continues; managed mode can surface a bounded retry, reroute, or downscope step for review
  • human-directed when you want to approve important choices yourself

What you can inspect

  • operator-facing status surfaces runtime telemetry, inner-loop progress, ratchets, reroutes, and temporary-gap recovery hints
  • stage-kernel execution stays visible instead of disappearing behind one opaque agent loop
  • the operator inbox keeps handoffs explicit when DeepLoop reaches a real decision or support boundary

Reusable methods and governance

Documentation

Contributing

Contributions, bug reports, and discussion are welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deeploop-0.1.4.tar.gz (473.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deeploop-0.1.4-py3-none-any.whl (421.0 kB view details)

Uploaded Python 3

File details

Details for the file deeploop-0.1.4.tar.gz.

File metadata

  • Download URL: deeploop-0.1.4.tar.gz
  • Upload date:
  • Size: 473.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deeploop-0.1.4.tar.gz
Algorithm Hash digest
SHA256 1e3cf90e8f31b22c09017f1af9fbfda5f1459ceb0bfe811d69550ebcc16895ac
MD5 d97adacea70a1a9a6c6a43807628d705
BLAKE2b-256 a31be19d7f40a79bb85b654aa7ea3c983bf5fa91b014dfd43e9ac19db0bab8be

See more details on using hashes here.

Provenance

The following attestation bundles were made for deeploop-0.1.4.tar.gz:

Publisher: publish.yml on tnetal/DeepLoop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deeploop-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: deeploop-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 421.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deeploop-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bf79b47487809a251099279de5b3f36593237e47714365531a76bab8ceb76ceb
MD5 6c882f003e098c7e389ff0109d370fbe
BLAKE2b-256 32ec8dfd3c653630118235a2eb0c5f7794b7a0c3cf47f2c7565f00d47c7aad07

See more details on using hashes here.

Provenance

The following attestation bundles were made for deeploop-0.1.4-py3-none-any.whl:

Publisher: publish.yml on tnetal/DeepLoop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page