Skip to content

Phase Ecology Lab

kadubon edited this page Jun 22, 2026 · 2 revisions

Phase Ecology Lab

Phase Ecology Lab is the v0.5.0 local workbench for looking at several PIC reports together.

Instead of asking only whether one answer passed a check, it asks a broader question:

Across this small window of work, what useful packet flow exists, what is blocked, and what still has to be verified?

It is useful for AI agent teams, coding agents, CI reports, local experiments, and research workflows that need a clear record of evidence, missing checks, and next diagnostic tasks.

What It Reads

Phase Lab stores existing reports and packet files as inert data. Typical inputs are:

  • pic agent check reports;
  • pic agent intake or runtime reports;
  • packet envelopes;
  • local demo files created by pic demo bootstrap;
  • JSON or YAML reports from your own workflow.

It does not execute report text, embedded commands, safe_commands, tool traces, shell snippets, or network requests.

What It Produces

Phase Lab can produce:

  • PhaseWindow: a small stored window of report or packet events;
  • PhaseComponentObservation: metrics for that window;
  • EffectivePacketGraph: a graph of packet support, evidence, and residuals;
  • AutocatalyticClosureReport: diagnostic closure candidates;
  • ExecutionAvailablePathReport: paths that look available but remain not executed;
  • ASIProxyThresholdStatus: protocol-relative threshold status;
  • CollectivePhaseCertificate: a certificate candidate or abstention report;
  • export bundles with sanitized paths and preserved residuals.

These records are diagnostic-only unless a narrower verifier contract settles a smaller claim.

Pip Demo Path

This path works from a normal PyPI install:

python -m pip install percolation-inversion-compiler
pic demo installed-smoke --profile development
pic demo bootstrap --output-dir pic-demo
pic phase lab init --output-dir pic-demo/phase-lab
pic phase lab ingest --store pic-demo/phase-lab --report pic-demo/phase_lab_runtime_report.json
pic phase lab observe --store pic-demo/phase-lab --window latest
pic phase lab graph --store pic-demo/phase-lab
pic phase lab closure --store pic-demo/phase-lab
pic phase lab executable-paths --store pic-demo/phase-lab
pic phase lab certify --store pic-demo/phase-lab --threshold pic-demo/phase_lab_threshold.json

The commands use explicit file names. They do not depend on shell wildcard behavior, so the same examples are easier to run on Windows, macOS, Linux, CI jobs, and programmatic CLI runners.

Source Checkout Path

Use a source checkout when you want the full examples/... tree:

uv run pic phase lab init --output-dir pic-phase-lab
uv run pic phase lab ingest --store pic-phase-lab --report examples/phase_lab/runtime_report_1.json
uv run pic phase lab ingest --store pic-phase-lab --report examples/phase_lab/runtime_report_2.json
uv run pic phase lab list-windows --store pic-phase-lab
uv run pic phase lab observe --store pic-phase-lab --window latest
uv run pic phase lab graph --store pic-phase-lab --output effective_graph.json
uv run pic phase lab closure --store pic-phase-lab
uv run pic phase lab executable-paths --store pic-phase-lab
uv run pic phase lab threshold-status --store pic-phase-lab --threshold examples/thresholds/asi_proxy_development.json
uv run pic phase lab certify --store pic-phase-lab --threshold examples/thresholds/asi_proxy_development.json
uv run pic phase lab compare-window --store pic-phase-lab --baseline previous --candidate latest
uv run pic phase lab export --store pic-phase-lab --output-dir phase-lab-export

Related Diagnostics

After building an effective graph, these commands inspect different kinds of blockage:

uv run pic bit diagnose --graph effective_graph.json
uv run pic sqot diagnose-queue --graph effective_graph.json
uv run pic sqot salience-obstruction --graph effective_graph.json
uv run pic alt ecpt-lift --packets examples/packet_exchange/packet_envelope.example.json --graph effective_graph.json
uv run pic trc trace-adapter --input examples/trc_adapter/tool_trace_input.example.json

Plain-language roles:

  • BIT: find missing evidence or witnesses that would unlock useful next work.
  • SQOT: show attention pressure, stale work, obstruction, and reserve.
  • ALT lift: ask whether reusable abstraction value helps the packet graph.
  • TRC adapter: turn action traces into typed diagnostic records.

How To Read Results

Use these fields first:

  • accepted: the finite report envelope passed checks.
  • workflow_usable: the report can be used for routing or inspection.
  • settled: all required obligations for the scoped claim are discharged.
  • residual_summary: unresolved work grouped by kind.
  • candidate_only_reasons: why a packet or edge is not capital yet.
  • safety_boundary: what the report does not authorize.

settled=false is expected for many Phase Lab reports. It is not a failed command. It means the report kept missing work visible.

Safety Boundary

Phase Lab does not prove real ASI, external-world truth, physical outcomes, policy outcomes, legal authority, or safe action. It does not promote raw packet volume into progress.

It also does not execute commands, run tools, mutate repositories, install packages, send messages, perform background crawling, or change model weights.

For the release boundary and residual counts, see the repository document docs/v050-audit.md.

Clone this wiki locally