pontonier
Pontonier is the shared core library for cross-model agent-bridge MCP servers. An agent bridge lets one agent harness call an agent that runs on a different model. Three bridges use this library:
- codex-in-claude — Claude Code → Codex CLI
- moonbridge — Claude Code or Codex → Kimi CLI
- claude-in-codex — Codex → Claude Code CLI
A pontonier is the engineer who builds pontoon bridges: pontonier is not itself a bridge — it is what the bridges are built from.
What is in the box
pontonier.core — backend-agnostic machinery, extracted from the
bridges' _core packages:
| Module | Purpose |
|---|---|
jobs |
Disk-backed, daemonless async job store |
worktree |
Throwaway git worktrees for delegated work |
gitdiff |
Bounded, redacted git diff gathering |
redaction |
Best-effort secret redaction for diffs and prose |
runtime |
Subprocess execution with bounded streams and cleanup |
gitproc |
Hardened git subprocess helpers |
streamcap |
Bounded stream capture |
idempotency |
On-disk idempotency-key index |
workspace |
MCP-root workspace resolution |
jsoncache |
Small JSON file cache |
Rule: pontonier.core never imports from the rest of the package. The gate
enforces this with import-linter; src/pontonier/core/__init__.py says why.
pontonier.conventions — the shared vocabulary bridges are built from:
error taxonomy + repair rules (envelope), host-parameterized prompt
framing (prompts), effect-parameterized tool annotations
(annotations), CLI --help feature detection (preflight), and the
surface-fingerprint invariant (fingerprint). Wire serialization stays
in each bridge.
pontonier.backend — FROZEN (CONTRACT_API_VERSION = 1): the
BackendContract static-facts dataclass, the AgentBackend staged run
lifecycle (validate_request → prepare → finalize/classify_failure),
and a shared failure classifier with fixed precedence. What the freeze
permits is stated once, in src/pontonier/backend/__init__.py — read it
before changing anything in that package.
pontonier.testing — importable, framework-agnostic test kit: surface
honesty (forbidden-phrase scanning against the built wire), adapter and
contract conformance, and sync/async tool-pair parity. Checks return
violation lists; wire them into any harness.
Development
This project uses uv. One command runs the whole gate — the same one CI runs:
uv sync
./scripts/check.sh
Setup, the individual gate steps, and the commit format are in CONTRIBUTING.md. Norms and prohibitions for AI agents working in this repository are in AGENTS.md. Releases: docs/releasing.md.
Metadata
Release files for pontonier 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pontonier-0.9.1.tar.gz | 790.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pontonier-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 941.1 kB
Release files / pontonier-0.9.1.tar.gz
| Download URL | pontonier-0.9.1.tar.gz |
|---|---|
| Size | 790.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a488968638b56f03e0f5968d933cd1de8e5c93c3d16768631bad0f98ab29ec52
|
|
BLAKE2b-256 checksum How to use checksums |
af627a0464ae9e8974469eab72303ad361c9a3f3381860dcadd361f329e0c86c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency logRelease files / pontonier-0.9.1-py3-none-any.whl
| Download URL | pontonier-0.9.1-py3-none-any.whl |
|---|---|
| Size | 150.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e42e37beedbf685198671faa8234c63214fe110e8cc0bc914b1f6792b2a5e4bc
|
|
BLAKE2b-256 checksum How to use checksums |
74b08665b14f224bcd9412ed84f4ca89fa078c9b60c857095e05db300ad93c15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.
Transparency log