ponte 0.1.2

Bridges LangChain OpenWiki into the pleme-io fleet: reads the target repo's typescape IR + zoekt hits as context, invokes OpenWiki unmodified as a subprocess, routes the result through the fleet's doc/compliance layers. Never forks OpenWiki.
docs.rs failed to build ponte-0.1.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

ponte

Bridges LangChain OpenWiki into the pleme-io fleet: reads the target repo's typescape IR + zoekt hits as context, invokes OpenWiki unmodified as a subprocess, routes the result through the fleet's doc/compliance layers.

OpenWiki has no plugin API (tools: [] is hardcoded in its own agent loop). ponte never forks it — it shapes the environment OpenWiki's own shell-exploring agent reads (a fresh docs/typescape-summary.md every run) and reconciles what OpenWiki writes back into the repo's CLAUDE.md (a pointer, never a duplicated copy).

Pipeline

Three shigoto Jobs run as one Dag per invocation:

ContextAssembleJob -> InvokeOpenWikiJob -> RouteJob
  • ContextAssembleJob — reads .typescape.yaml (if present) + a best-effort zoekt lookup, writes docs/typescape-summary.md, and persists a content hash so unrelated reruns are true no-ops.
  • InvokeOpenWikiJob — subprocess-execs the openwiki binary, auto-detecting --init vs --update by whether openwiki/ already exists. Skipped entirely when nothing changed upstream.
  • RouteJob — ensures CLAUDE.md points at openwiki/quickstart.md, idempotently.

Every transition is recorded to ~/.ponte/audit/<repo-slug>.jsonl.

Usage

ponte --repo /path/to/target-repo --openwiki-bin /path/to/openwiki

# or, using the flake-packaged OpenWiki directly:
PONTE_OPENWIKI_BIN="$(nix build .#openwiki --no-link --print-out-paths)/bin/openwiki" \
  ponte --repo /path/to/target-repo

Building

nix run .#ponte -- --help

OpenWiki packaging

OpenWiki is locked with pnpm-lock.yaml, not package-lock.jsonmkNpmTool (wraps buildNpmPackage) can't prefetch it. flake.nix packages it via substrate's mkPnpmTool instead, which wraps nixpkgs' own native pnpm.fetchDeps + pnpm.configHook (the pnpm-native equivalent of buildNpmPackage's hermetic fetch-then-offline-install shape). Verified end-to-end: nix build .#openwiki produces a real, running openwiki --help.

One nixpkgs/pnpm gotcha mkPnpmTool works around: upstream projects that pin an exact pnpm via package.json's packageManager field (as OpenWiki does) trip pnpm 10's own self-managed-version-download the instant any pnpm command runs — which fails offline mid-build. mkPnpmTool sets npm_config_manage_package_manager_versions=false as a real env var (not a pnpm config set, which needs a working pnpm call to land — too late for the very first one) to close that gap before it can fire.

License

MIT.