Close

Pulpo Autonomous — Bounded Authority for Robots

mike-diegelMike Diegel wrote 5 days ago • • 3 min read • Like

A governance and evidence layer exploring how autonomous machines handle lost communication, expired permissions, and uncertain command outcomes.


Project details

What happens when a robot loses contact?

A machine sends a command, loses communication, and receives no confirmation. Did the command fail—or did it execute without the acknowledgment reaching the operator?

Automatically retrying can repeat a physical action. Continuing indefinitely can exceed the operator’s original permission. Stopping also needs a defined behavior appropriate to the machine.

Pulpo Autonomous explores how to keep execution inside explicitly delegated authority when communication and observations become unreliable.

It is a governance and evidence layer for autonomous physical systems, with a shared core and domain-specific modules for robotics, drones, vehicles, industrial systems, and spacecraft.

The central rule is:

Pulpo may enforce and translate delegated authority. It may never become a second authority source.

How it works

An execution envelope identifies the permitted action, target, machine, and expiry. The offline layer adds a bounded mission lease, with limits on disconnected operation and an optional command budget.

The system models connection loss, reconnection, and reconciliation. Its journal records commands, observations, vetoes, and uncertain outcomes.

The important boundaries are:

What exists today

The repository includes a Python governance kernel, offline protocol, execution tracking, a hash-chained evidence journal, domain safety checks, and a reproducible simulator evaluation.

Additional repository work covers expiring one-use permits, restart-safe replay state, tamper-detecting audit storage, bounded untrusted inputs, and proposal-only handling of vision and audio observations.

These capabilities have specific test and deployment boundaries. They should be evaluated against the exact source commit and environment being used.

Try the simulator

No physical robot is required for the initial evaluation.

From the repository root, run:

python scripts/run_gtm_evaluation.py --output evidence/gtm-evaluation.json
python -m unittest tests.test_offline_autonomy -v

The simulator exercises:

  1. Execution of an exact permitted command.
  2. An offline command budget reaching its pre-authorized fallback.
  3. An uncertain outcome being recorded as UNKNOWN.
  4. Detection of evidence-journal tampering.

The generated evaluation records the source commit, scenario results, and limitations. It is a simulation artifact, not a hardware-safety certificate.

What Pulpo does not replace

Navigation, stabilization, collision avoidance, braking, flight control, actuator interlocks, and emergency-stop hardware remain the responsibility of the existing platform.

Pulpo’s admission checks must remain subordinate to those controls.

The project does not claim certified physical safety, universal hostile-code containment, rollback-proof host storage, or production readiness. Successful simulator tests do not establish that a real vehicle or robot is safe.

Help test the boundaries

I’m looking for reproducible failures, missing cases, and feedback from people building autonomous systems.

Useful scenarios include:

Begin with simulation and synthetic data. When reporting results, include the commit, platform, command, expected behavior, actual behavior, and a minimal reproduction. Keep credentials, private keys, sensitive telemetry, and mission data out of public reports.

What failure scenario would you test first?

Links

Like

Discussions