diff --git a/docs/roadmap/configkit.md b/docs/roadmap/configkit.md index 3aac64f..85e03a4 100644 --- a/docs/roadmap/configkit.md +++ b/docs/roadmap/configkit.md @@ -48,11 +48,11 @@ and [configuration contract](https://forge.maximumdirect.net/base-layer/configki equivalent private infrastructure. Adopt source diagnostics, explanation, history, normalization, and safe effective output through ckconfig. Account for the provenance label changing from `base` to `main`. -6. Reconcile application configuration fields with PromptKit's native resource - ownership. Do not force PromptKit backend duplication into the Audita schema - simply to preserve today's layout. The [PromptKit outline](promptkit.md) - owns that boundary decision; coordinate any resulting application schema and - credential migration here. +6. Apply the resolved [PromptKit ownership decision](promptkit.md#backend-and-credential-ownership--resolved): + remove Audita's separate backend mapping and LLM credential references from + its application schema. Native PromptKit resources own those settings and + their resolution. Coordinate the hard cutover and examples here; file discovery + and import selection remain open, without reopening semantic ownership. ## Documentation and Acceptance diff --git a/docs/roadmap/library-adoption.md b/docs/roadmap/library-adoption.md index b7342e9..4299558 100644 --- a/docs/roadmap/library-adoption.md +++ b/docs/roadmap/library-adoption.md @@ -113,10 +113,11 @@ for Audita's complete release workflow. concrete upstream requests early; do not postpone CommandKit design until the runtime is done. Reconcile planned changes with the current architecture policy, especially - application-only credential rules and preference for standard-library CLI - parsing. Backend concurrency ownership is resolved in the PromptKit outline: - adopt native behavior and retire Audita's duplicate policy. Update the finite- - admission requirement and other policies with adopted behavior; do not + preference for standard-library CLI parsing. Backend, credential, and + concurrency ownership are resolved in the [PromptKit outline](promptkit.md): + adopt native behavior and retire Audita's duplicate registry and policies. + Update application-only credential rules, the finite-admission requirement, + and other affected contracts with adopted behavior; do not silently treat old integration choices as permanent requirements. Keep stage-specific glossary inputs in view when choosing configuration and CLI contracts; detailed feature design and implementation follow adoption. diff --git a/docs/roadmap/promptkit.md b/docs/roadmap/promptkit.md index 26a37c0..90a3421 100644 --- a/docs/roadmap/promptkit.md +++ b/docs/roadmap/promptkit.md @@ -21,8 +21,8 @@ ckprompt surface described in the [CommandKit outline](commandkit.md). PromptKit owns resources, composition, provider settings and credentials, preparation, transport, structural repair, and backend admission. Audita owns proposal/validation role selection, transcript processing, domain decisions, -response contracts, and truthful partial-success reporting. Review existing -application-only endpoint and credential restrictions against those boundaries. +response contracts, and truthful partial-success reporting. Remove the existing +application-only endpoint and credential restrictions as described below. Use the pinned [migration guide](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/8ff9aa3efdc9f16b9d2729e0a29ea083eb3c3eaf/docs/consumers/configuration-migration.md), [format reference](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/8ff9aa3efdc9f16b9d2729e0a29ea083eb3c3eaf/docs/formats.md), @@ -52,6 +52,38 @@ and CLI integrations. Update the architecture policy's finite-admission wording, runtime documentation, examples, and tests with implementation. Remove superseded behavior directly in the major release, with hard-cutover guidance. +### Backend and Credential Ownership — Resolved + +Native PromptKit backend/profile resources are authoritative for endpoints, +provider settings, and credential selection. No domain-specific requirement has +been identified for a separate Audita ownership policy. + +- Remove Audita's separate `backends` mapping and generated backend override + layer. Remove duplicate registration requirements and checks that force profile + endpoints to match an Audita-owned backend endpoint. Native selection and + validation govern bundled and operator-defined resources. +- Use PromptKit's native credential sources and precedence. Remove Audita's + LLM-specific credential references, automatic direct-key injection, and + rejection of profile-level environment lookups. Backend/profile documents + contain environment-variable names, not credential values; operators may use + the bundled OpenRouter lookup or configure their own names. +- Follow native credential availability timing. Loading and resource inspection + must not require credentials for every configured backend. Preparation and + execution enforce the selected request's native required/optional semantics: + missing optional credentials permit unauthenticated requests. Do not add an + eager all-backend credential check or silently strengthen those semantics. + +Audita retains role/profile selection, operation budgets, domain request +construction, response contracts, and safe handling of its reports and debug artifacts. Native +configuration redaction does not replace redaction at Audita's artifact boundary. +Keep preparing and executing the same captured request while retiring target +checks whose purpose was enforcing the removed application backend registry. + +Remove superseded fields, code, and tests in the major-release cutover and update +the affected policies and current contracts with implementation. The ConfigKit +outline still owns decisions about file locations, discovery, and imports; those +choose how native resources are supplied, not who owns their semantics. + ### Migration Work 1. Move to `go.maximumdirect.net/promptkit` together with ConfigKit's new types. @@ -76,12 +108,11 @@ behavior directly in the major release, with hard-cutover guidance. request. Do not duplicate PromptKit's full resolver or construct synthetic requests merely to reproduce the old profile summary. Inspect bundled and unselected partial resources without requiring them to be runnable. -5. Adopt native credential precedence, including bundled OpenRouter environment - lookup. Migrate any retained application secret references deliberately; - do not blanket-clear library credential sources or reject a valid native - selection merely because it differs from today's Audita backend map. - Preserve secret-safe diagnostics using the library's public boundaries and - Audita's domain artifact redaction; evaluate actual gaps with synthetic keys. +5. Implement the resolved backend and credential ownership decision above. + Replace application backend/credential configuration with native resources + and document the hard cutover. Preserve secret-safe diagnostics using the + library's public boundaries and Audita's domain artifact redaction; evaluate + actual gaps with synthetic keys. 6. Review presence semantics field by field. Null endpoint, credential-source, and whole provider map now allow backend defaults; explicit empty strings clear endpoint/credential sources. Null does not suppress the entire backend @@ -120,6 +151,13 @@ Check that Audita no longer injects an additional limit or rejects native settin under its former finite-cap policy. Keep integration coverage for Audita's wiring; remove tests that only preserve retired local concurrency behavior. +Verify native bundled and custom backend selection without duplicate Audita +registration, supported profile endpoint and credential overrides, and inspection +without credential availability. Use controlled requests to cover required-key +failures and optional unauthenticated execution under native semantics. Check +that no application override layer or direct-key injection defeats native +precedence, and that synthetic keys stay out of Audita diagnostics and artifacts. + No upstream request is yet selected. PromptKit is mature but pre-v1: significant blockers or awkward public boundaries can justify focused requests. Submit the minimal reproducer, desired outcome, and domain justification before building @@ -129,25 +167,6 @@ not a decision to retain Audita's old backend ownership model. ## Open Decisions -### Backend and Credential Ownership - -**Recommendation:** make native PromptKit resources the authoritative backend -configuration and remove duplicate application registration/endpoint enforcement -unless a concrete processing requirement needs it. Keep Audita role selections -and operation budgets. Concurrency ownership is resolved above. -This makes bundled profiles usable and avoids losing operator fields through a -highest-priority application replacement. Plan the existing backend/secret file -migration with the ConfigKit outline. - -**Alternative:** retain a narrow application credential policy and -express it through native derived backends/profiles. The probe shows this can -preserve provider fields while supplying application-owned fields. It is viable -if operational requirements demand it, but introduces naming/reference conventions -and can recreate duplicate ownership. Prefer an upstream facility if a justified -policy cannot be applied cleanly without replacing whole resources or resolver -logic. Blanket preservation of today's restrictions is not the selected default; -this alternative does not reopen the resolved concurrency decision. - ### Existing Curated Profile Summary **Recommendation:** use standard resource inspection and prepared-request preview