Resolve native backend and credential ownership

This commit is contained in:
2026-11-08 02:05:48 +00:00
parent d4d510a520
commit ec8dffc06e
3 changed files with 56 additions and 36 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -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