v0.4.1
Two reliability fixes for the bootstrap path users hit on day one — pip
entry-point detection, network fallback — plus a sharp agent-guidance
warning to stop program call '*.p?dat' from wedging the bridge, which
many existing PFC workflows would otherwise trigger.
Changed
- Bridge startup output is quieter: callback registration,
TaskManager
init, and historical-task counts now only go tobridge.log, not the
PFC IPython console. The status banner shows URL + log path and stops.
Ships when pfc-mcp's pin moves pastitasca-mcp-bridgebc68380. addon.pydrops the interactive upgrade prompt. PFC'spythonfile
host has no usable stdin, so theinput()prompt was effectively
dead — it either hit the EOFError fallback or silently returned an
empty string and skipped the upgrade. A top-of-file
AUTO_UPGRADE = Trueconstant replaces it: the bootstrap now installs
or upgrades to the latestitasca-mcp-bridgeon every start with zero
interaction. Flip toFalseto pin the locally installed version.
Fixed
addon.pyno longer hard-codes pip's entry point topip.main. That
symbol exists in pip <= 9 (what PFC 6.0 ships) and was later restored
as an internal shim, but it was absent in pip 10.0 through ~19.x -- a
PFC interpreter carrying a pip from that range crashed with
AttributeErrorinstead of installing the bridge. The bootstrap now
probespip._internal.cli.main,pip._internal, andpip.mainin
turn, so it works regardless of which pip the embedded Python carries.- A failed bridge install now points at pip's real error output and
offers a manualpip installfallback, instead of surfacing only a
bareexit code 2that hid the underlying cause.
Documentation
pfc_execute_codeandpfc_execute_taskdocstrings now warn agents
offitasca.command("program call '<file>.p?dat'"). PFC's
command-script interpreter blocks the entire bridge for the script's
duration — even bridge-internal calls likepfc_list_taskstime out,
and recovery requires the user to manually stop PFC. If a user asks
to run a.dat/.p3dat/.p2datfile, agents are instructed to
read the file and translate each command into aitasca.command(...)
call in Python instead, which preserves cycle-gap interleaving and
keeps every command inspectable. Lots of existing PFC workflows are
.p?datscripts, so pointing an agent at one was previously a usage
trap that made the toolchain look broken.- The agentic bootstrap guide's Step 3 (agent-driven bridge install)
now documents the PyPI -> Tsinghua mirror fallback, matching the
fallbackaddon.pyalready performs. An agent installing the bridge
for a user on a network that blocks PyPI previously had no documented
retry path and would stall there.