Skip to content

Compatibility With Python

kadubon edited this page Jun 21, 2026 · 5 revisions

Compatibility With Python

The Python project is canonical.

The TypeScript package is the npm and Node.js compatibility port.

What Compatibility Means

PIC-TS aims to preserve the public behavior that matters to agents:

  • JSON input and output meaning;
  • schema files;
  • conformance fixtures;
  • CLI command families;
  • status fields such as accepted, workflow_usable, operationally_usable, and settled;
  • residual, blocker, and missing obligation fields;
  • phase planner output;
  • safety boundary;
  • non-promotion rules.

What It Does Not Mean

The TypeScript package is not a line-by-line rewrite of the Python internals.

It should not invent new semantics on the TypeScript side. It should not claim stronger settlement than the canonical Python model.

Python-Only Heavy Routes

Some routes in the broader Python project depend on Python-only services, local stores, external verifier authority, or heavy runtime behavior.

In the npm package, these are handled as safe diagnostic compatibility routes when exposed. They fail closed and preserve:

  • operationally_usable=false;
  • settled=false;
  • execution_authority_granted=false;
  • missing obligations;
  • residual ledgers;
  • blockers.

CLI Name Difference

Python uses pic.

This npm package recommends pic-ts to avoid command ambiguity. The npm package also provides pic as a compatibility alias.

Clone this wiki locally