162 lines
8.6 KiB
Markdown
162 lines
8.6 KiB
Markdown
# Future work
|
|
|
|
Status: pending ckprompt publication and future capability proposals.
|
|
No delivery dates are selected here.
|
|
|
|
## Purpose and authority
|
|
|
|
Earlier completed roadmaps, implementation plans, and review findings have been retired.
|
|
This document preserves unfinished work and unselected ideas under the
|
|
[release policy](../policy/release.md#release-documentation-and-preparation).
|
|
The completed PromptKit v0.18.0 adoption roadmap and implementation plan remain
|
|
available in the
|
|
[PromptKit retirement snapshot](https://forge.maximumdirect.net/base-layer/commandkit/src/commit/540e2359d66d604a563df0be1c9fc961588f5b9c/docs/roadmap).
|
|
The completed ConfigKit adoption, reporting, dependency alignment, release-tooling,
|
|
and remediation records remain available at the
|
|
[retirement snapshot](https://forge.maximumdirect.net/base-layer/commandkit/src/commit/260256d722f52bc947103d078cb67a129f4cc9f1/docs/roadmap).
|
|
[Earlier retired records](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/6bc37e7ba64ca0920b4d0cc77039a18d4006b24e/docs/roadmap)
|
|
also remain in Git history. Completed records are not assignments to restart work.
|
|
|
|
Accepted [ADRs](../adr/) and the [architecture policy](../policy/architecture.md)
|
|
govern any future implementation. The [CLI reference](../cli.md), public GoDoc,
|
|
and [consumer guide](../consumers/guide.md) own implemented behavior. Retaining
|
|
an idea here does not select its syntax, API, priority, or delivery date.
|
|
|
|
## Pending release and integration work
|
|
|
|
### ckprompt release
|
|
|
|
The PromptKit v0.20.0 adoption is complete. The
|
|
[ckprompt v0.3.0 candidate](../../integrations/ckprompt/docs/releases/v0.3.0.md)
|
|
remains unpublished. Publication and hosted delivery remain separate operations
|
|
under the [release procedure](../release.md).
|
|
The published ckprompt v0.2.0 retains its earlier dependencies; see the
|
|
[consumer guide](../consumers/guide.md#module-selection) for module selection.
|
|
|
|
## Future capability targets
|
|
|
|
### Comparison extensions
|
|
|
|
General collection-clearing support is deferred pending a concrete consumer need.
|
|
Revisit standardized syntax and binding support for explicitly replacing a
|
|
nonempty application-default selector collection with an empty collection.
|
|
This is separate from clearing configuration lists through transient
|
|
overrides and does not reinstate comparison inheritance. No clearing grammar
|
|
or public helper API is selected.
|
|
|
|
### Configuration inspection extensions
|
|
|
|
Persistent configuration editing remains deferred.
|
|
|
|
Discovery, import defaults, collection identities, and field-level resolution
|
|
recording remain available through application loaders. Discovery tracing,
|
|
resource-context inspection, and secrets-directory bootstrap commands remain
|
|
deferred. Acquired source records do not provide a complete trace of rejected
|
|
discovery candidates; bootstrap and resource contexts primarily serve
|
|
application loading and startup.
|
|
|
|
### PromptKit inspection and selection extensions
|
|
|
|
General-purpose helpers for application-internal PromptKit use remain outside
|
|
CommandKit's ownership boundary. The following CLI extensions are deferred.
|
|
|
|
- **Output-contract override flags.** Deferred from the current adoption. A
|
|
possible future operator task is validating or previewing one prompt with a
|
|
replacement output contract without editing its definition. PromptKit uses
|
|
whole-contract replacement; a complete-contract file option was discussed,
|
|
but no flag spelling or file format is selected. Existing configuration and
|
|
application builders remain available. Revisit when the standard `promptkit`
|
|
commands have a demonstrated need for this workflow.
|
|
|
|
- **Appended-message flags.** Deferred from the current adoption. The potential
|
|
operator task is reproducing a single request with application-added messages
|
|
through `promptkit show prepared` or `promptkit requirements validate`, to
|
|
inspect roles, ordering, and content or check preparation. These commands do
|
|
not test model responses or application workflows. Appended messages follow
|
|
definition messages in supplied order; they are already rendered and do not
|
|
satisfy missing named prompt inputs. Revisit when request reproduction is a
|
|
demonstrated operator requirement. An ordered message-list file is a candidate,
|
|
but no flag syntax, file format, or supported-role selection is decided.
|
|
Deferring flags does not remove native appended messages from preview reports
|
|
when an application builder supplies them.
|
|
|
|
### Alias completion and discovery
|
|
|
|
The delivered [shell completion feature](../cli.md#shell-completion) provides
|
|
canonical suggestions and alias-aware interpretation. Potential future work
|
|
includes suggesting command and flag alias spellings and valid continuations of
|
|
alias-only prefixes. For example, completion could suggest `inspect` after
|
|
`app legacy ` when `legacy inspect` is an installed alias.
|
|
|
|
Alias discovery is outside the initial scope. This deferral does not establish a
|
|
permanent canonical-only completion contract or prohibit future alias discovery.
|
|
A later design should determine how alias suggestions are presented alongside
|
|
canonical suggestions while ensuring inserted continuations form valid next
|
|
steps. No delivery date or final API is selected here.
|
|
|
|
### Reporting extensions
|
|
|
|
XML is outside current consideration; Markdown and other renderers remain
|
|
unselected.
|
|
|
|
Error-conversion helpers such as `WarnError` remain deferred pending demonstrated
|
|
value; applications can already use `report.Warn(err.Error())`. Terminal redraw
|
|
and progress-bar presentation were outside the completed reporting scope and
|
|
remain unselected. Whole-run buffering to make failed runs show only errors
|
|
was also outside that scope. Any later extension needs a deliberate API and
|
|
presentation decision rather than assuming those behaviors are already provided.
|
|
|
|
### Release workflow extensions
|
|
|
|
Historical hosted-page backfilling and automated CI delivery remain separate
|
|
future choices. The current local page-only delivery workflow is implemented;
|
|
these extensions are not prerequisites for using it. The release procedure owns
|
|
delivery, immutable content, and recovery behavior.
|
|
|
|
Additional validation options, including race testing, full vet, compilation
|
|
matrices, size limits, and more forbidden-file paths, can be considered for
|
|
demonstrated needs. None is selected by retaining it here, and the existing
|
|
candidate checks do not become general prohibitions on development workspaces.
|
|
|
|
## Other future proposals
|
|
|
|
These capabilities remain outside the delivered scope and require a concrete
|
|
operator or consumer need and an appropriate ownership/behavior decision:
|
|
|
|
- Additional report renderers as described under [reporting extensions](#reporting-extensions),
|
|
and output-file management or reloadable export.
|
|
- Shell completion extensions, including alias discovery described above and
|
|
dynamic discovery of configured or remote values.
|
|
- Persistent configuration mutation. Transient CLI overrides and field metadata
|
|
inspection are available through the standard configuration suite.
|
|
- Credential diagnostics beyond PromptKit's native smoke checks and additional
|
|
live provider probes.
|
|
- Additional component identity registration and domain artifact catalogs.
|
|
- Additional library families, including possible FeedKit integration; families
|
|
can define suitable verbs without requiring comparison or configuration scopes.
|
|
- Backend selection or replacement, a plugin framework, general dependency
|
|
injection, and concurrent-dispatch guarantees.
|
|
|
|
Execution, serving, and session operations remain application-owned.
|
|
The [architecture policy](../policy/architecture.md#command-and-application-ownership)
|
|
recommends shared vocabulary; the [CLI reference](../cli.md#registered-command-syntax)
|
|
owns implemented grammar.
|
|
Backend replacement remains possible behind the accepted facade, subject to the
|
|
published API/CLI contracts and deliberate compatibility decisions.
|
|
|
|
## Possible further efficiency work
|
|
|
|
Selected-scope memoization and selector-membership indexes were deferred pending
|
|
measurements that justify their bookkeeping. Mutable backend reuse across
|
|
invocations, segmented aggregate YAML delivery, provider caching, consumer-loader
|
|
redesign, and a replacement backend were outside the completed performance
|
|
target. Reconsider them only with concrete motivation and review of ownership,
|
|
invocation state, native reports, and the affected contracts. Retained measurement
|
|
records are historical evidence, not performance guarantees or release gates.
|
|
|
|
## Consumer adoption
|
|
|
|
CommandKit is in alpha with no consumers. No application adoption work or rollout
|
|
order is selected. The [consumer guide](../consumers/guide.md) and maintained
|
|
examples provide integration guidance for future applications.
|