Repository navigation
Releases: ymao31196-blip/plus-local-agent
Release list
PLA Desktop v1.0.0 (Windows x64)
PLA Desktop v1.0.0 · Windows x64
PLA Desktop connects ChatGPT to a user-controlled Windows computer through Secure MCP Tunnel. The Windows installer includes the core MCP Runtime and an independent Execution Runner.
Included in v1.0.0
- Windows 10/11 x64 graphical installation, first-time setup, Runtime/Tunnel connection and lifecycle controls.
- Explicit workspace controls and user-managed executable permissions using exact .exe paths; enable, disable and revoke through Desktop Settings.
- Core file/process MCP operations, diagnostics and an independent Execution Runner.
- Optional browser, Office, Skill Library and external MCP integrations remain separately installable/configurable, outside the core stability guarantee.
- PLA-owned source and independently maintained Skill Library are Apache-2.0 licensed. Third-party components retain their original licenses; WPS compatibility patches preserve upstream MIT attribution.
Download and verify
Download the Windows x64 setup EXE from Assets, together with SHA256SUMS.txt. GitHub may normalize spaces in asset names.
Installer SHA-256: ccb99f92eebdcebf111a1c98bb8ca4df7668201c682a94f73dce94b7e8f6fb80
On Windows, run:
Get-FileHash -Algorithm SHA256 -LiteralPath "<downloaded-installer-file>"Normal users do not need to clone the source or install Python, Node or Rust. Configure your own Tunnel ID and dedicated runtime API key inside PLA Desktop, and separately authorize the MCP connection in ChatGPT.
Read the Chinese installation guide or English guide.
Verification and limitations
- 991 Python tests, 11 packaged MCP checks and eight component checks passed locally.
- Exact source commit
ce6b9b1b135aa907660f10df56b0cdcc50ed5f5fpassed the GitHub Windows CI, including source tests, Desktop UI smoke, runtime freezing, packaged checks and NSIS installer build. - The owner confirmed desktop upgrade and real ChatGPT/Tunnel E2E; a live independent Runner probe returned exit code 0.
- The owner consciously waived separate clean-Windows first-install testing and full reboot/GUI permissions-persistence acceptance for this initial release. These cases are not independently certified.
- The EXE is unsigned, updates are manual, and PLA is not an operating-system sandbox. Local processes execute with the Windows user's permissions. Grant access only to trusted directories and programs.
中文说明
PLA Desktop v1.0.0是Windows桌面稳定版,包含图形安装、Runtime/Tunnel连接管理、工作区与程序权限设置,以及可选MCP组件。普通用户只需下载安装包,无需另行安装Python、Node或Rust。
请在Assets中下载安装包及SHA256SUMS.txt,确认校验值后安装。安装包未签名、需要手动更新、没有操作系统级沙箱;引入的第三方软件遵守各自的许可条款。
项目所有者选择跳过独立干净Windows安装和完整重启/GUI授权持久化人工验收,这两项不应被视为已验证。详情参阅仓库中文安装教程。
Tag: desktop-v1.0.0 · Source commit: ce6b9b1b135aa907660f10df56b0cdcc50ed5f5f
PLA Desktop v1.0.0-rc.18 (Windows x64)
PLA Desktop v1.0.0-rc.18 Windows x64 预发布。
本版整合了桌面端界面与组件管理改进,并修复后台进程密集输出的事件持久化性能问题及Windows构建环境兼容性问题。
验证:GitHub Windows CI 972项Python测试通过,Desktop UI检查、Runtime冻结和NSIS构建全部通过。
安装包未进行代码签名,自动更新未启用。安装前可使用SHA256SUMS.txt校验文件完整性。
PLA Desktop v1.0.0-rc.16 (Windows x64)
PLA Desktop v1.0.0-rc.16(Windows x64 预发布)
RC16 将 Skill 列表和 Skills 管理合并为一个轻量化 Skill Library 界面。安装后请先在「组件与 MCP 插件」安装并连接 Skill Library,再添加自己的来源。
本次更新
- 统一管理界面:直接查看缓存 Skill 列表与正文,按来源、名称和启停状态筛选,支持单项启用/停用、同步及仅刷新缓存。
- 本地与 GitHub 来源:「管理来源与权限」提供来源添加、自动生成 ID、重复来源识别、同步、整体启停与移除登记。移除登记清理缓存和单项状态,保留原始文件与远端仓库。
- 授权与同步状态:读取、写入分别授权;默认不导入个人 Skill、不自动授予本地访问权限。同步失败明确提示沿用旧缓存,停用来源不显示为同步成功。权限调整需停用并重新连接 Provider;工作区移除或缩减权限继续撤销失效 Skill 授权。
- 智能体负责创作:GUI 聚焦浏览、启停、同步和来源管理。Skill 创建、编辑、删除、恢复、发布与转移继续由 ChatGPT 智能体通过原有 17 项 MCP 能力完成,保留计划预览、SHA-256、确认和受控目录边界。
- 服务安装:包含固定 SHA-256 的 Skill Library v0.5.0 服务 Wheel,普通用户无需下载服务端源码。安装不自动启用;修复/升级在新环境校验后替换,失败恢复旧环境,来源与权限数据单独保留。构建使用临时源码快照,不修改独立 Skill Library 仓库。
- 状态反馈:增加仅含工具元数据的近期活动,修正旧会话活动误判当前调用验证的问题;通知固定显示、可关闭并自动隐藏。
安装与校验
下载 Assets 中的 Windows x64 setup.exe、SHA256SUMS.txt 和 build-manifest.json。请勿将 GitHub 自动生成的 Source code 压缩包当作安装包。运行安装程序前,用 PowerShell Get-FileHash -Algorithm SHA256 -LiteralPath <安装包路径> 核对校验文件。构建清单记录本次版本、源码提交和 source_dirty=false。
安装包未签名,自动更新关闭;建议先在测试环境验证,再手动升级。升级与卸载保留用户数据和凭据。
当前限制与已知问题
- 这是 Windows x64 Pre-release,并非正式稳定版。未完成全新 Windows 10/11、真实系统重启及完整托盘场景的本轮验收。
- GUI 的来源同步状态只保留本次 WebView 会话;跨重启的历史同步时间尚未提供。GitHub 来源需网络和对应仓库访问权限,私有仓库不会自动获得授权。
- 本地来源必须位于明确登记且授权的工作区;写入需独立授权。变更权限前停用 Skill Library,保存后重新连接。
- Skill 是建议性工作流,不能扩张 PLA 权限或自动执行其中脚本。Python 依赖环境隔离不等同于操作系统沙箱;哈希校验不等同于发布者身份认证。
- 创建 GitHub 仓库、提交和推送仍经受控 Git/GitHub 能力单独执行,Skill 发布准备或复制不会自动推送。
- 可选组件的安装与可用性依赖各自环境。历史版本通过的安装、Tunnel 和远程 ChatGPT 验证不替代 RC16 本轮证据;本轮结果参见 RC16 验收记录。
本轮验证
- 完整源码回归:956 项通过;RC16 专项复测 78 项通过;四项界面验收通过。
- 冻结 Runtime MCP:10 项通过,覆盖文件读写、受控进程、独立执行 Runner、事务变更、浏览器、越界拒绝和重启。
- 冻结 Manager + 独立 Skill 服务:17 项真实能力与 schema 均可用,完成来源管理、同步、搜索、正文/资源读取、校验、单项启停、草稿与确认写入、改名、删除归档与恢复、发布预览和本地转移;独立核对文件内容,未对外创建仓库、提交或推送测试 Skill。
- 冻结安全/生命周期:7 项通过;专用网络断网场景未测。真实 ChatGPT 云端、完整 Tunnel 正常连接、全新 Windows 安装矩阵和真实系统重启不计为本轮通过。
- 默认系统 Python 缺 pytest、打包测试环境缺可选 lxml,已通过切换到项目完整 Python 环境解决。首次两个测试清单失败已修正并完整复测;未关闭权限检查或跳过构建验收。
构建标识
源码提交:cfc5ebc0b6d9f162d9cd01e28254eedac38c23e0;source_dirty=false。
安装包 SHA-256:a481e1fbf85f0f9711d4cb4488d5c3cd423f1650b221d26d9b3ff91fc18e3fb7。
GitHub 可能将附件文件名中的空格规范化为点;请以 SHA-256 核对文件内容。安装包构建中的静态运行库配置弃用和 updater 标记警告未导致构建失败;自动更新继续关闭。
PLA Desktop v1.0.0-rc.13 (Windows x64)
PLA Desktop v1.0.0-rc.13 (Windows x64)
Experimental Pre-release — unsigned installer, manual updates. PLA lets ChatGPT call permission-controlled local tools on your Windows PC using Secure MCP Tunnel. The installer bundles the desktop Runtime and Tunnel client; normal desktop users do not need to clone the repository or install Python/Node/Rust.
Download
Installer SHA-256: 4f884bcd2e1bea483a1508a1d7dfed3b5a958648fcb12b9cbda703bbe0e00763. Note that GitHub may replace spaces in uploaded asset filenames with dots; the checksum value is unchanged.
Installation and first-time configuration
Follow the full English installation and setup tutorial or 中文软件下载与配置教程. The tutorials cover installation, device-specific Tunnel ID/runtime API key, explicit workspace permissions, local MCP diagnostics, ChatGPT authorization, and an end-to-end test.
Limits and provenance
The executable has no Authenticode signature and automatic updates are disabled. Windows may show an unknown publisher / SmartScreen warning; verify the release origin and SHA-256 before installing. PLA workspace permissions are not an OS sandbox; grant the minimum needed access. Optional browser, Office and Skills components may require separate installation and review.
- Executable built from source commit:
ea8b0f547fc3abee495633b89a788433f13f85d6 - RC.13 tag:
c6386b8f3b98823601a10c44bf8d6a8e86e3cfce(README-only change after executable build). - Later README updates do not alter the already published installer or tag.
PLA Desktop 1.0.0-rc.9 (Windows x64)
PLA Desktop 1.0.0-rc.9 (Windows x64, pre-release)
首次提供可下载的 PLA Desktop 候选安装包。使用现有 ChatGPT / Secure MCP Tunnel 作为交互与连接入口,Desktop 提供本地 Runtime、受控文件操作、独立执行 Runner、MCP Provider 与 Skill 管理界面。
已在现有 Windows 开发机的安装版完成真实 ChatGPT + PLA-TEST E2E:
- 受控文件写入、读取、SHA-256 校验与 apply_changeset 事务修改;
- Candidate Runner 运行 Python --version;
- MCP Provider 发现、热启用与新建测试 MCP 的真实工具调用;
- 本地 Skill 新建、同步、发现、加载与 GUI 列表/正文展示。
重要限制
- 这是未签名的预发布安装包,请核对 SHA256SUMS.txt;Windows SmartScreen 可能提示未知发布者。
- 自动更新尚未启用;更新需手动下载安装。
- 干净 Windows 10/11、重启后持久化以及完整托盘菜单仍待独立验收。
- 某些可选组件需自行安装或配置;GUI 优化及组件安全卸载后续推进。
- PLA 不提供操作系统级沙箱,请合理设置授权工作区。
Source commit: 57fa388
Installer SHA-256: 28b1642ff5280aaab99602f5bfe9df2d3359c2d3a698dbce9c2e517d6294b2d9
PLA v2.0.1
PLA v2.0.1
PLA v2.0.1 is a maintenance release on top of v2.0.0. It packages the Source Layout Refactor (Phases 1–9), startup lifecycle repairs, and Execution Runner test isolation. The Control Plane / Execution Plane architecture introduced in v2.0.0 remains unchanged.
Source layout and startup reliability
- Moved previously flat Python modules into focused packages under
src/: agent, reasoning, execution, runtime, capabilities, routing, provider, browser, artifacts, tooling, host, project, transactions, hooks, diagnostics and MCP runtime integration. - Kept
src/server.pyas the stable startup entry point. - Corrected import paths, repository-root resolution, PowerShell launcher targets and subprocess Python paths after the package moves.
- Consolidated shared startup helpers, repaired Browser/HTTP/Execution Runner lifecycle references, and improved start/stop verification without changing the public MCP tool surface.
- Preserved the distinction between internal
src/provider/management and concreteproviders/servers. The third-partymcpPython package remains unshadowed.
Execution Runner test isolation
- Changed the Windows Execution Runner mutex identity to derive from the canonical durable state file path. A production state file retains single-owner protection; isolated test instances use independent state files, authentication keys and Named Pipes.
- Added regression checks for same-state mutex exclusivity, different-state coexistence, and preservation of the live production Runner identity.
- Made tests that verify local temporary workspace, in-process streaming/cancellation and raw output counts explicitly select the in-process backend.
- Kept tests of real out-of-process Runner behavior on isolated Runner instances and verified pre-submit fallback separately.
- Kept the default generic
run_processroute on the production Execution Runner. No protocol, tool schema, authentication, root permission or confirmation-policy relaxation is part of this release.
Validation
- Full repository regression with the production Execution Runner running throughout: 803 passed in 125.75s, zero failures and zero skips.
- Windows startup lifecycle and complete 802-test regression were recorded during the earlier source-layout checkpoint, prior to the additional test-isolation regression check.
- Independent focused Runner / Canary / Candidate regression: 17 passed.
- Source/test/provider Python compilation passed.
- The production Runner remained healthy with unchanged process identity throughout the test-isolation work.
Operational notes
- Restart PLA after updating to load the new server version and runtime code. Stop active tasks safely before restarting.
- A release tag is a source-code checkpoint; it does not automatically restart an already running local installation.
- Current workspace checks remain wrapper-level controls; PLA does not claim a general OS sandbox.
- The Release version is
v2.0.1; the FastMCP server version is2.0.1. Protocol compatibility is unchanged.
References
docs/source_layout.md— current package layout and compatibility contracts.docs/startup_layout_regression.md— source-refactor startup lifecycle validation.docs/runner_test_isolation.md— Runner and test workspace isolation contract.docs/release_v2.0.0.md— prior execution-plane release.
PLA v2.0.0
PLA v2.0.0
PLA v2.0.0 promotes the local execution architecture from an HTTP-process-bound runtime to a split Control Plane / Execution Plane model. ChatGPT remains the Agent Brain; PLA keeps capability routing, semantic policy, task state and confirmation in the Control Plane, while default generic one-shot processes execute through an authenticated out-of-process Windows Execution Runner.
This is a major release because the default process ownership and restart model changes while preserving PLA's existing workspace, Git, confirmation, transaction and Provider boundaries.
Production Execution Runner
Generic run_process now resolves to the production Execution Runner by default.
The Runner:
- runs as an independent Windows process;
- communicates with PLA through an authenticated Named Pipe protocol;
- records a stable Runner instance identity, PID, Windows process creation time and executable image path;
- uses a PLA-root-scoped Windows mutex to prevent multiple Runner instances from claiming the same runtime;
- revalidates workspace/root execution policy, program allowlist, protected environment overrides and command semantics before spawning a child;
- retains bounded execution results by exact
execution_request_id; - exposes no arbitrary PID-kill surface.
backend="in_process" remains available as a diagnostic/emergency compatibility path. Persistent process sessions and structured PowerShell retain their specialized runtimes and are not migrated in this release.
Restart-safe task ownership
Every production one-shot request receives an exact 32-hex execution_request_id.
After Runner acceptance, PLA never blindly replays potentially mutating work on another backend. If the HTTP Control Plane is replaced while a production task is still running, the new TaskStore owner can reattach to the retained Runner ledger using the original request ID and complete the original task record without resubmitting the command.
The recovery path is intentionally narrow. Only a persisted running single-action production run_process task with an exact accepted request ID is eligible. Other interrupted tasks keep the previous conservative no-replay behavior.
Request-ID cancellation
Runner protocol v4 adds request-ID-scoped cancellation.
The Runner stores only the child process handle it owns for a submitted request. cancel_task(task_id) can forward the exact production execution_request_id; the Runner terminates that owned child tree and records a cancelled result. Callers never provide a PID to this interface.
Semantic execution governance
Command semantics are classified before generic execution. Policy provenance is recorded with stable policy_id / policy_version metadata.
Governed routes include:
- external writes ->
runtime.external_process+ explicitINVOKE; - Python environment mutations such as pip install/uninstall ->
runtime.environment_process+ explicitINVOKE; - high-risk local Git operations ->
runtime.local_mutation_process+ explicitINVOKE; - specialized PLA-source Git operations ->
core.git_*capability surface.
The production Runner rechecks the applicable low-level policy and cannot be used as a route around Capability Steering.
Persistent process sessions and ConPTY
v2.0.0 adds the persistent session runtime introduced during the Runtime parity work:
- pipe sessions;
- native Windows ConPTY sessions;
- bounded incremental output reads;
- stdin writes and EOF;
- resize / terminate / close;
- stable
session_idandexecution_id; - monotonic operation sequence;
- process-tree ownership.
Interactive Python code input is governed separately. Unconfirmed executable REPL input is blocked; runtime.confirmed_session_write requires explicit INVOKE and re-evaluates the live session policy before writing.
Persistent sessions intentionally remain on their specialized runtime instead of being forced through the production one-shot Runner.
Execution observability
The runtime now records a connected trace across:
- task ID;
- capability correlation / causation IDs;
- execution request ID;
- Runner identity;
- session / execution IDs where applicable;
- operation sequence.
Execution permission metadata records the selected root, route, program policy, semantic classification, confirmation state and the actual sandbox boundary.
PLA explicitly reports sandbox_mode=none. Workspace/root checks are wrapper policy, not an OS filesystem/process sandbox.
Shadow and canary validation path
Before default cutover, PLA introduced explicit candidate, shadow and canary backend modes.
Shadow execution was restricted to deterministic local read-only Git structure queries and recorded comparison telemetry using return codes, lengths and SHA-256 values rather than duplicating raw shadow output. Canary routing proved candidate-first execution with fallback only for explicitly safe repeatable reads.
These compatibility/diagnostic backend names remain available after v2.0.0, but the production default is now the independent Runner.
Office补强 and Provider surface
v2.0.0 also includes the Office补强 (office-enhancement) Provider:
- structured
@oai/artifact-tooleditable PowerPoint overlays; zipfile + lxmlOOXML surgical merge;- Microsoft PowerPoint COM rendering and text-overflow inspection;
- PyMuPDF PDF image extraction and page/region rendering.
The live v2.0.0 environment has 10 active external Providers. WPS Office exposes 250 capabilities and Skill Library exposes four.
The stable direct MCP surface remains 23 top-level tools; specialized operations continue to be discovered through the Capability Registry. At the live release validation point, the Registry contains 412 dynamic capabilities.
Documentation
README.mdis the English main documentation.README.zh-CN.mdis a complete Simplified Chinese counterpart, including installation, architecture, governance, Provider, Runtime lifecycle and validation sections.docs/codex_runtime_parity_audit.mdrecords the Runtime evolution from the unified execution seam through production Runner cutover.
Validation
Automated validation before release:
- Phase-S focused production Runner / recovery / cancellation suite: 65 / 65 passed.
- Final full repository regression: 762 / 762 passed in 117.71 s.
- Live Capability Registry: 412 dynamic capabilities.
- Active external Providers: 10.
- WPS Office Provider: 250 capabilities, ready.
- Skill Library Provider: 4 capabilities, ready.
Live ChatGPT -> Secure MCP Tunnel -> PLA graduation E2E verified:
- Default
run_processresolved to the production Runner rather than the HTTP process. - Production Runner protocol v4 ran as an independent process and spawned a separate child.
- A running task survived HTTP replacement; the new Control Plane recovered the same task ID using the same execution request ID without replaying the command.
cancel_taskforwarded the exact request ID, terminated the Runner-owned child tree and produced a retainedcancelledRunner result.pip installremained routed to the confirmation-gated environment capability.git pushagainst PLA source remained routed to the governed Git capability surface.
Security boundary and non-goals
v2.0.0 does not claim a general OS sandbox. The current generic filesystem boundary remains a PLA wrapper policy, and allow-listed interpreters can have capabilities that exceed path arguments supplied through PLA unless the operating system separately constrains them.
This release also does not migrate persistent ConPTY sessions into the out-of-process one-shot Runner, add multi-Runner scheduling, containers, remote execution workers or a second autonomous planning model. Those remain future work only if real usage justifies them.
PLA v1.8.0
PLA v1.8.0
PLA v1.8.0 consolidates the runtime around a smaller top-level MCP surface while expanding the dynamic Capability Registry. It also adds source-backed WPS Office integration, the Skill Library Provider, governed WSL/LaTeX execution, and formally removes the retired MCP Sampling path.
Smaller top-level MCP surface
The runtime now exposes 23 top-level MCP tools instead of 55.
The direct surface is reserved for hot-path and recovery-friendly operations such as:
- capability search/describe/invoke;
- common file reads and writes;
- bounded process and PowerShell execution;
- artifact export;
- task submission/result/cancellation;
- Git status and diff;
- runtime diagnostics.
Lower-frequency or specialized operations are discovered dynamically through the Capability Registry.
At the v1.8.0 release point, the live registry contains 393 dynamic capabilities.
Core capability consolidation
Git, Project, Transaction and Artifact-management operations have been moved behind stable core.* capability IDs.
Notable Git routes include:
core.git_stagecore.git_removecore.git_commitcore.git_tagcore.git_push
core.git_remove stages only explicit tracked files that are already absent from the worktree and requires an exact expected HEAD plus a clean index.
Artifact management is also dynamic. Read-only cleanup preview is separated from destructive cleanup/revocation, and destructive operations require explicit confirmation.
WPS Office and source-backed Providers
PLA now supports source-backed Git/npm Provider installation with:
- exact upstream Git commit pinning;
- repository-owned compatibility patches;
- fixed build entrypoints;
- fresh-install support through the normal Provider setup path.
The reviewed WPS Office Provider is based on lc2panda/wps-skills and exposes 250 capabilities through the Capability Registry.
PLA applies a tracked Windows COM compatibility patch before build. WPS Office is now the primary Office automation surface; the legacy standalone DOCX Provider remains available in source form but no longer autostarts.
Skill Library Provider
The Skill Library Provider exposes four capabilities for listing, searching, reading and refreshing reusable SKILL.md guidance.
Skills are advisory experience rather than an execution gate. They are intended to reduce recurring mistakes, preserve stable workflows and surface easy-to-forget conventions while leaving current user instructions, task facts and ChatGPT's judgment in control.
Local execution additions
The governed local process surface now includes:
- WSL /
wsl.exe; latexmk/latexmk.exe;xelatex/xelatex.exe.
These continue to run through PLA's bounded process policy rather than arbitrary shell execution.
MCP Sampling retired
The MCP Sampling experiment has been removed from the runtime.
Removed components include:
probe_sampling;run_agent_task;- the Sampling backend;
- Sampling-specific tests and runtime state.
PLA no longer contains a server-side model loop. ChatGPT remains the Agent Brain and decides the next tool or capability call; PLA remains the bounded local execution runtime.
Historical release documents continue to record that Sampling experiments existed in earlier versions.
Validation
- Full regression: 658 / 658 passed.
- Live runtime: 23 top-level MCP tools.
- Live Capability Registry: 393 dynamic capabilities.
- External Providers active at release: 9.
- WPS Office Provider: 250 capabilities, healthy.
- Skill Library Provider: 4 capabilities, healthy.
- WPS E2E verified workbook creation, range write, formatting, formula evaluation, save and read-back.
- Python compilation checks passed for modified runtime, Git, routing and Provider modules.
PLA v1.7.0
PLA v1.7.0
PLA v1.7.0 adds governed browser downloads, capability routing/steering, routing coverage audit, and declarative dynamic routing for hot-pluggable providers while keeping ChatGPT as the Agent Brain and PLA as the bounded local runtime.
Governed Browser downloads
The Browser Provider gains a dedicated browser.download capability for authenticated browser-session downloads.
- Download metadata is extracted through a fixed semantic browser helper rather than caller-supplied code.
- Download requests reuse the managed browser session's user agent, referer, and cookies.
- Loopback/private download targets are rejected.
- Size limits and content-integrity checks are enforced before an artifact is accepted.
- Browser download output is returned through the Artifact Plane instead of exposing arbitrary filesystem destinations.
Capability Steering
PLA now routes overlapping execution paths through a deterministic steering layer.
- PLA-source Git through generic
run_processis rejected with structured suggestions for the governed Git surface. - Windows service state changes through generic
run_powershellare rejected with structured suggestions for the governed service-control flow. - Routing decisions are explicit:
specialized_required,specialized_preferred,specialized_recommended, orgeneric_allowed. - Steering never silently invokes the suggested replacement; ChatGPT remains responsible for the next action.
Routing Audit and Catalog
The dynamic read-only core.routing_audit capability inspects the complete Capability Registry rather than the bounded search view.
- Static routing rules are checked for catalog/runtime drift and missing target capabilities.
- Cross-provider overlap candidates are classified as
covered,reviewed_parallel, oruncovered. - Reviewed WinGet/software-migration install and uninstall overlaps are retained as intentional parallel capability surfaces.
- Broad unrelated search operations are filtered to reduce duplicate-detection noise.
Declarative Dynamic Routing
External Provider manifests can now declare routing metadata directly.
Supported relations:
preferred_overfallback_forsupersedes
Relations may include case-insensitive argument conditions using contains_any or equals_any.
External providers are limited to recommendation or preferred routing authority. enforced authority remains reserved for PLA built-in policy, so a third-party supersedes declaration cannot promote itself to an enforced route.
Routing resolves against the live Capability Registry snapshot on every query. Provider add/change/enable/disable/remove operations therefore update routing after normal hot-rescan without restarting the routing layer.
The Browser Provider is the first production user of manifest-driven routing: seven Browser-over-Computer relationships are declared in browser-playwright.json instead of being hard-coded in the steering registry.
Validation
- Full v1.7.0 split regression: 665 / 665 passed.
- Python compilation checks passed for capability, routing, provider, browser, artifact, runtime, and server modules.
- Loaded-runtime E2E verified:
- 116 capabilities across 11 providers;
- eight external providers ready after HTTP restart;
- Browser-over-Computer routing resolved through
declared_capability_routing; - static routing catalog reduced to the two built-in enforced rules: PLA-source Git and Windows service writes;
- seven manifest-declared Browser relations reported as covered;
- three reviewed parallel install/uninstall overlaps;
- zero uncovered routing candidates.
- Hot-plug regression verified that a provider routing declaration can be added, disabled, re-enabled, and removed without restarting the routing layer.
- No browser click, Git write, Windows service state change, software installation, or software uninstallation was executed during routing validation.