Non-negotiable rules
The boundary applies to every tier and every market.
- No plugin can place, route, cancel, replace, or otherwise mutate a paper or live order.
- Bid/offer interaction and brokerage order management stay outside the plugin boundary; users act through separate means.
- Credentials are read at runtime from the caller environment and are never product files, defaults, logs, receipts, or persisted plugin state.
- A provider must be selected explicitly. Failure never triggers silent fallback to another provider or market track.
- Market observations and research are evidence, not investment, legal, accounting, or tax advice.
- T6 reviews CN, HK, and US transaction-tape capability packets independently; Futu OpenD, Alpaca, IBKR, provider SDKs or gateways, credentials, login state, entitlements, and live certification remain explicit external dependencies.
Allowed vs out of scope
Planning is not execution.
Evidence and review
Resolve identities, read supported market and document sources, inspect receipts, calculate, screen, compare, plan, run deterministic simulations, journal, import bounded holdings, and reconcile caller-owned execution receipts.
Broker interaction
Obtain executable bid/offer from a brokerage endpoint, place or route orders, cancel or replace them, mutate paper or live state, manage brokerage sessions, or persist write-capable credentials.
T6 truth
Complete core does not turn a provider into a bundled dependency.
T6 independently validates bounded CN, HK, and US transaction-tape capability packets: exact market scope and rights, sequence domains, gap/reset and recovery, correction semantics, provider and exchange clocks, conditions, session coverage, backpressure, unsubscribe, shutdown, and limitations.
T6 never requests a live stock quote, bid, offer, or order book through a shipped adapter. A provider umbrella name such as Futu’s quote:read is that vendor’s API label; it does not broaden the product surface. The stock_order_book tool accepts caller-supplied observations only.
Trust and credentials
The extension or server plugin is trusted local code.
- A Pi extension or DSH server plugin runs as trusted local application code with host-process permissions. It is not the agent's command sandbox.
- Only supported, content-locked npm releases should be used. Verify registry integrity and the included SHA256SUMS against release-lock.json.
- Each host package declares its own exact runtime files and host peers. The shared finance core does not make Pi and DSH host APIs interchangeable.
- There are no npm lifecycle scripts. Packaging never reads credential values.
- Report suspected vulnerabilities privately to the repository owner. Revoke any exposed credential before sending a redacted report.
Cancelling is not trading
Lifecycle cleanup stays inside the product.
Cancelling a bounded data acquisition or subscription is request cleanup. It is not an order cancellation. Provider-owned account and order state is never plugin-owned state; it is observed through receipts and reconciled explicitly after the user acts elsewhere.