• # Promptkit v0.16.0

    eric released this 2026-10-17 14:36:18 +00:00 | 0 commits to main since this release

    This release adds explicit smoke diagnostics, configuration collections,
    namespace-scoped engine views, and expanded resource discovery. It also makes
    intentional breaking changes to configuration ownership and prompt selection.
    The minimum supported Go version remains 1.26.0.

    Configuration Collections And Discovery

    Applications can compose caller-selected collections of backends, profiles,
    and prompts. Collection resources have qualified identities such as
    support/answer; root resources retain unqualified identities. CollectionInput
    provides a convenience for mounting a selected ConfigKit input into a collection.
    Promptkit now uses ConfigKit v0.8.0, including its optional source specification
    header support.

    Engine.WithNamespaces creates an immutable view with separate prompt, profile,
    and backend scopes for short caller-supplied IDs. Views share the underlying
    configuration, clients, capacity pools, and prepared-execution owner. Explicitly
    qualified IDs and configured references keep their exact identities.

    ListProfiles and ListPrompts support namespace filters. New ListBackends,
    ListNamespaces, and ListCollections methods expose captured resource and
    collection inventories. See the collection format,
    scoped-view guide, and
    discovery guide.

    Explicit Smoke Diagnostics

    Engine.SmokeTest provides backend reachability, authentication, text inference,
    and structured-output inference diagnostics. Reports provide factual
    observations, timing, and available usage rather than an overall readiness
    verdict. Optional Boolean facts distinguish negative observations from unknown
    or inapplicable checks; matching a JSON schema does not prove that a provider
    enforced it.

    A concluded diagnostic can report failure with a nil Go error. Invalid requests
    return ordinary errors, and caller cancellation can return partial observations
    with a recognizable context error. Diagnostics can contact providers and incur
    inference costs only when explicitly invoked; they are not automatic execution
    or release checks. See the smoke diagnostic guide
    and API GoDoc.

    Breaking Changes And Upgrade

    Consumers upgrading from v0.15.0 should follow the
    configuration and API migration guide:

    • Supply backend and profile definitions explicitly. Promptkit no longer bundles
      provider catalogs or the promptkit-openrouter-standard and
      promptkit-openrouter-auto profiles. Conventional backend names do not install
      definitions automatically. Applications choose and maintain their sources.
    • Convert version-keyed prompt mappings into one definition per prompt ID.
      Prompt version is now an optional descriptive label, not a selector.
      Choose deliberately which former definition to install.
    • Remove PromptVersion selectors from RunRequest,
      RequirementInspectionRequest, and SmokeTestRequest, where applicable.
      Change prompt inspection calls to InspectPrompt(ctx, promptID). Update code
      consuming version-bearing inspection, identity, result, or observation fields
      to handle optional labels, including nil and explicitly empty labels.
    • When moving resources into collections, update stored backend, profile, and
      diagnostic-default references to their intended qualified IDs. Mounting a
      source does not rewrite references; profile inheritance remains within its
      sibling mapping. Root configuration version, when supplied, is now a source
      specification header, distinct from descriptive resource labels.

    The migration guide includes identity mappings and before/after prompt examples.
    The maintained offline example
    demonstrates explicit composition, source-relative content, scoped preparation,
    and inventory without contacting a provider.

    After adapting configuration and API calls:

    go get gitea.maximumdirect.net/eric/promptkit@v0.16.0
    

    Correctness And Efficiency

    Collection prompt materialization shares one lazy origin-metadata snapshot,
    avoiding repeated full metadata copies across collections. Internal prepared
    snapshots detach optional prompt labels. Smoke diagnostics preserve caller
    cancellation and report actual inference destinations and known-zero usage when
    no generation request was dispatched.

    COPYRIGHT | LICENSE | ATTRIBUTION

    Downloads