## Why Plugin manifests already describe runtime profiles, but platform registration discards those declarations and runtime bindings live only in an in-memory repository that is absent from durable snapshots. As a result, server creation cannot select a real profile or persist its logical bindings, and action gating incorrectly treats a server with no bindings as complete. ## What Changes - Persist the complete safe runtime-profile contract from plugin manifest registration through domain, DTO, model, repositories, and durable file/MySQL snapshots. - Add authorized server runtime-binding APIs and service operations for listing and updating one selected profile with validated logical values or secret references. - Extend server creation to select a declared lifecycle profile and submit its initial logical bindings atomically with the instance workflow. - Gate lifecycle and distribution actions on the selected profile and its required binding keys, returning only safe logical missing reasons. - Add server creation and detail UI for choosing, reviewing, completing, and changing runtime bindings without displaying raw host paths, sockets, credentials, or secret storage details. - Add plugin, platform, persistence, API, and frontend regression coverage for manifest projection, reload durability, invalid/missing binding rejection, action gating, and non-disclosure. ## Capabilities ### New Capabilities - `runtime-profile-bindings`: Persist plugin-declared runtime profiles and provide server-scoped profile selection, logical binding management, secure projections, and action readiness. ### Modified Capabilities ## Impact - `plugins/`: manifest/SDK validation and fixtures remain the source contract and gain persistence-oriented regression coverage where needed. - `platform/`: runtime profile domain/DTO/model validation, store snapshots, server lifecycle creation, binding services/routes, authorization, and action gating. - `platform_web/`: API contracts, create-server form, server-detail binding workflow, and focused tests. - Public platform API requests and responses gain runtime profile and binding fields/routes; no raw machine location or credential data crosses into the web or plugin page boundary.