From d4d510a520d207f2e13dea6aa754ca08e211b2de Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Sun, 8 Nov 2026 01:48:50 +0000 Subject: [PATCH] Resolve backend concurrency ownership and plan redundant code removal --- docs/roadmap/library-adoption.md | 17 +++++++++++-- docs/roadmap/promptkit.md | 42 ++++++++++++++++++++++++-------- 2 files changed, 47 insertions(+), 12 deletions(-) diff --git a/docs/roadmap/library-adoption.md b/docs/roadmap/library-adoption.md index c4c251d..b7342e9 100644 --- a/docs/roadmap/library-adoption.md +++ b/docs/roadmap/library-adoption.md @@ -58,6 +58,10 @@ They do not select unrelated work in [future.md](future.md). dual formats, transition modes, or legacy-behavior tests merely to ease adoption. Release guidance may require a hard cutover. Domain requirements still guide the target, but existing implementations and contracts are open to redesign. +- **Remove redundant code:** reducing Audita's maintenance burden is an explicit + adoption goal. Retire local mechanisms, settings, wrappers, and tests superseded + by supported upstream behavior. Keep the domain logic and integration code that + Audita needs; retaining existing code is not a success criterion. - Audita continues to own transcript formats, correction ordering, domain validation, structured-response contracts, and truthful partial-success behavior. Inspect each other restriction against a concrete domain need. @@ -109,8 +113,10 @@ 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, finite admission, and preference for - standard-library CLI parsing. Update policies with adopted behavior; do not + 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 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. @@ -124,6 +130,8 @@ for Audita's complete release workflow. identities and their exchanged types together, then implement native resource formats, configuration semantics, runtime checks, and standard inspection providers. Avoid a permanent replacement or dual configuration engine. + Identify and remove local code made redundant by the adopted facilities as + part of each migration, rather than leaving cleanup as an unspecified follow-up. 4. **Integrate CommandKit and both standard integrations.** Complete the previously designed operator interface, adapting Audita domain handlers and resolving upstream issues. This is required target scope, not an optional @@ -201,6 +209,11 @@ preserving superseded behavior. Upstream requests need an explicit disposition before calling the dependent behavior complete. Any temporary workaround must name its reason and removal condition; it is not architecture by default. +Completion also includes retiring superseded local machinery and its obsolete +configuration, documentation, and tests. Preserve evidence for the selected +domain behavior and real integration boundaries without duplicating upstream +implementation tests. Code removal is a desired result, with no deletion quota. + Refresh [attribution](../oss/attribution.md) for the exact selected dependencies and toolchain under [OSS policy](../policy/oss.md). The reviewed library grants remain LGPL-3.0-or-later; remove old catalog entries when no longer incorporated diff --git a/docs/roadmap/promptkit.md b/docs/roadmap/promptkit.md index 6400550..26a37c0 100644 --- a/docs/roadmap/promptkit.md +++ b/docs/roadmap/promptkit.md @@ -33,6 +33,27 @@ execution profile or make provider calls during construction. ## Agreed Direction and Migration Work +### Backend Concurrency Ownership — Resolved + +Adopt PromptKit's native per-backend concurrency behavior, including backend +defaults and supported configuration and CLI overrides. The purpose is to keep +requests within the concurrency a backend can accommodate; no separate Audita +domain requirement has been identified for an additional limit. + +Remove Audita-owned concurrency settings, default injection, validation, and +enforcement wherever they duplicate or override that native behavior. Do not +retain a second limiter or impose an Audita-specific finite-cap requirement on +otherwise valid PromptKit configuration. Use the shared PromptKit engine so +proposal and validation work for the same backend share its admission control. +Audita still owns cancellation and deterministic processing around model calls. + +Verify the exact upstream override APIs while wiring the adopted configuration +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. + +### Migration Work + 1. Move to `go.maximumdirect.net/promptkit` together with ConfigKit's new types. Remove the old external catalog dependencies when no longer incorporated; retain PromptKit's built-in catalog rather than disabling it. @@ -93,6 +114,12 @@ admission, retry/repair budgets, cancellation, and partial success. Standard inspection must work without model calls; library presence alone does not prove successful Audita integration. +Verify backend defaults and explicit concurrency overrides through the assembled +application, including shared admission across proposal and validation roles. +Check that Audita no longer injects an additional limit or rejects native settings +under its former finite-cap policy. Keep integration coverage for Audita's wiring; +remove tests that only preserve retired local concurrency behavior. + 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 @@ -102,29 +129,24 @@ not a decision to retain Audita's old backend ownership model. ## Open Decisions -### Backend, Credential, and Admission Ownership +### 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, and use native backend capacity settings for workloads. +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. -The current architecture policy requires finite shared admission. Determine -whether that remains a domain requirement and how native configuration satisfies -it for bundled and custom selections. Do not silently reject the bundle, impose -an arbitrary cap, or weaken the policy during implementation. Any selected -exception needs a documented reason and an explicit policy update. - -**Alternative:** retain a narrow application capacity or credential policy and +**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. +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