A0 — Trusted local provisioning protocol for adopted-principal assistants, MCPs, and skills
Parent and authority
- Program epic:
sparkfn/pc-client#1082
- Team-definition capability:
iOfficeAI/AionCore#798
- This body is the complete protocol/implementation contract. Historical comments and old downstream baselines are non-authoritative.
Current verified baseline — 2026-08-08
- AionCore public
main: 560ffb47b1a058413f60941d0cc559738226eb5a.
- AionUi public
main: 31ec26a902edf7bdda90026b1f9d6f4d0507b706.
- Installed
/Applications/AionUi.app: 2.1.52.
- pc-tools production currently integrates an unversioned internal HTTP surface by spawning a closed-app
aioncore --local; sparkfn/pc-tools#643 is removing the unsafe inference that this can represent an adopted/AionPro principal.
- Public AionCore exposes user-owned assistant, MCP, skill, and adoption behavior, but still does not expose a stable conversation-independent, least-privilege external provisioning protocol with attestation, managed provenance, conditional whole-resource reconcile, and exact readback.
Objective
Provide one vendor-supported local provisioning protocol that pc-tools can use for an exact adopted AionUi principal without port discovery, browser/session credential extraction, conversation authority, direct database access, or system_default_user fallback.
Required capability model
Advertise separately scoped, revocable capabilities for:
- assistant definition/rule/default/placement management;
- MCP registration/configuration management;
- skill registration/activation management.
Possession of one scope must not authorize another. A1 Team-definition authority remains separate.
Required scope
- Stable local discovery/IPC to the correct running or closed installation/profile without caller-provided port.
- Conversation-independent short-lived authorization and attestation of installation, profile, subject/issuer claims, capability version, AionCore version, and AionUi version.
- Vendor-native managed provenance that survives restart and compatible upgrade.
- Conditional/transactional assistant reconcile covering rule, model, permission, thought level, skills, MCPs, and placement as one coherent revision.
- Conditional MCP and skill reconcile with exact readback and preservation of foreign/user resources.
- Structured bounded error/reason vocabulary and explicit account-switch, expiry, revocation, restart, running-app, and closed-app behavior.
- Assistant readback that reports exact Team adjacency or explicit unknown so a Team-referenced assistant cannot be deleted as unreferenced.
Constraints
- Caller cannot select installation/profile/subject/native IDs as authority.
- Account switch exposes a distinct subject and invalidates/blocks old authority; no automatic rebinding.
- Conditional conflict cannot overwrite a concurrent UI edit.
- Failed operations leave the prior coherent resource or an authoritative journal that can safely resume/revert.
- No machine token is sent to AionCore and no vendor credential is placed in AionUi-readable configuration.
- No port scanning, cookies, CSRF, conversation/runtime tokens, direct SQLite/filesystem mutation, or
--local fallback.
- Assistant-only authority cannot mutate Teams; Team adjacency must still be readable enough to block unsafe deletion.
Deliverables
- Versioned protocol and capability specification with schemas, limits, lifecycle, and stable errors.
- Discovery/IPC, authorization, attestation, managed provenance, conditional reconcile, and exact readback implementation.
- Unit/integration/concurrency/failure/revocation/account-switch tests.
- Black-box qualification runner/checklist for downstream pc-tools.
- Exact minimum supported AionCore/AionUi versions.
Acceptance criteria
Mandatory negative cases
Dependencies and blocked-work rule
Downstream pc-tools may land dark interfaces/fakes/contracts before A0 closes, but adopted-principal mutation stays off until all A0 acceptance items have native evidence. If work is blocked, keep the issue open and name the exact unmet acceptance ID, completed evidence, dependency, and next executable step; do not propose an unsafe workaround.
Release boundary
Completion authorizes merge consideration only. It does not authorize a release, deployment, promotion, fleet gate, or secret mutation.
A0 — Trusted local provisioning protocol for adopted-principal assistants, MCPs, and skills
Parent and authority
sparkfn/pc-client#1082iOfficeAI/AionCore#798Current verified baseline — 2026-08-08
main:560ffb47b1a058413f60941d0cc559738226eb5a.main:31ec26a902edf7bdda90026b1f9d6f4d0507b706./Applications/AionUi.app:2.1.52.aioncore --local; sparkfn/pc-tools#643 is removing the unsafe inference that this can represent an adopted/AionPro principal.Objective
Provide one vendor-supported local provisioning protocol that pc-tools can use for an exact adopted AionUi principal without port discovery, browser/session credential extraction, conversation authority, direct database access, or
system_default_userfallback.Required capability model
Advertise separately scoped, revocable capabilities for:
Possession of one scope must not authorize another. A1 Team-definition authority remains separate.
Required scope
Constraints
--localfallback.Deliverables
Acceptance criteria
Mandatory negative cases
system_default_userfallback exists.Dependencies and blocked-work rule
Downstream pc-tools may land dark interfaces/fakes/contracts before A0 closes, but adopted-principal mutation stays off until all A0 acceptance items have native evidence. If work is blocked, keep the issue open and name the exact unmet acceptance ID, completed evidence, dependency, and next executable step; do not propose an unsafe workaround.
Release boundary
Completion authorizes merge consideration only. It does not authorize a release, deployment, promotion, fleet gate, or secret mutation.