Select report formats automatically from content and templates
This commit is contained in:
@@ -70,8 +70,8 @@ subcommands. The roadmap records the agreed explanation modes and help behavior;
|
|||||||
[OD-6](promptkit-v0.19.0.md#od-6-failure-evidence-and-structured-diagnostic-delivery)
|
[OD-6](promptkit-v0.19.0.md#od-6-failure-evidence-and-structured-diagnostic-delivery)
|
||||||
selects optional validation details, a concise default, and available evidence
|
selects optional validation details, a concise default, and available evidence
|
||||||
on failure. OD-8 selects focused display, source selection, and report filters.
|
on failure. OD-8 selects focused display, source selection, and report filters.
|
||||||
Initial report content, default preferences, and filter spellings are selected
|
Initial report content, text templates, and filter spellings are selected
|
||||||
in the roadmap; core owns universal format selection. The
|
in the roadmap; core owns universal and automatic format selection. The
|
||||||
remaining layout details will be evaluated through implementation and beta use.
|
remaining layout details will be evaluated through implementation and beta use.
|
||||||
It also includes focused effective display,
|
It also includes focused effective display,
|
||||||
source-ID selection, metadata/diagnostic filters, independent comparison
|
source-ID selection, metadata/diagnostic filters, independent comparison
|
||||||
@@ -164,11 +164,13 @@ steps. No delivery date or final API is selected here.
|
|||||||
The [shared core report output prerequisite](promptkit-v0.19.0.md#shared-core-report-output-prerequisite)
|
The [shared core report output prerequisite](promptkit-v0.19.0.md#shared-core-report-output-prerequisite)
|
||||||
is now part of the working adoption roadmap. It records application-owned
|
is now part of the working adoption roadmap. It records application-owned
|
||||||
content selection, core-owned rendering, a text fallback with optional templates,
|
content selection, core-owned rendering, a text fallback with optional templates,
|
||||||
universal format availability, and optional command defaults that otherwise
|
and universal format availability. Explicit operator selection wins; otherwise
|
||||||
defer to core policy. Plain text, YAML, and JSON are the target formats;
|
core selects text for a supplied template or chooses from the logical report
|
||||||
representation, template, native-document, and delivery-staging details remain
|
shape. Command-specific format defaults are omitted from the initial API.
|
||||||
there. XML is removed from current consideration. Markdown and other potential
|
Plain text, YAML, and JSON land together; representation, template, and
|
||||||
formats are not selected for this adoption; new core formats will work with
|
native-document details remain there. XML is removed from current consideration.
|
||||||
|
Markdown and other potential formats are not selected for this adoption; new
|
||||||
|
core formats will work with
|
||||||
existing commands without per-command adoption.
|
existing commands without per-command adoption.
|
||||||
|
|
||||||
Error-conversion helpers such as `WarnError` remain deferred pending demonstrated
|
Error-conversion helpers such as `WarnError` remain deferred pending demonstrated
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ The completed v0.18.0 adoption is not reopened.
|
|||||||
|
|
||||||
| Component | Current baseline | Target |
|
| Component | Current baseline | Target |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Core | `go.maximumdirect.net/commandkit`; Go 1.26.0 minimum | Public report output API with universal format selection, optional command defaults, and text/YAML/JSON targets, as a prerequisite. Flag collections and scoped aliases still use existing core APIs. |
|
| Core | `go.maximumdirect.net/commandkit`; Go 1.26.0 minimum | Public report output API with universal format choices and automatic selection; text/YAML/JSON land together as a prerequisite. Flag collections and scoped aliases still use existing core APIs. |
|
||||||
| `ckconfig` | ConfigKit v1.1.0; Go 1.27.0; core v0.3.0 | Adopt the new core reporting API, shared CLI inspection extensions, and an appropriate module release. |
|
| `ckconfig` | ConfigKit v1.1.0; Go 1.27.0; core v0.3.0 | Adopt the new core reporting API, shared CLI inspection extensions, and an appropriate module release. |
|
||||||
| `ckprompt` | PromptKit v0.18.0; ConfigKit v1.1.0; ckconfig/core v0.3.0; Go 1.27.0 | Adopt the new core reporting API, PromptKit v0.19.0, and the ckconfig version delivering the shared work. |
|
| `ckprompt` | PromptKit v0.18.0; ConfigKit v1.1.0; ckconfig/core v0.3.0; Go 1.27.0 | Adopt the new core reporting API, PromptKit v0.19.0, and the ckconfig version delivering the shared work. |
|
||||||
| Candidate | [ckprompt v0.3.0](../../integrations/ckprompt/docs/releases/v0.3.0.md), recorded as unpublished | Update the unpublished candidate after checking its status during implementation. |
|
| Candidate | [ckprompt v0.3.0](../../integrations/ckprompt/docs/releases/v0.3.0.md), recorded as unpublished | Update the unpublished candidate after checking its status during implementation. |
|
||||||
@@ -162,8 +162,8 @@ cause identity. Native errors and their categories remain upstream-owned.
|
|||||||
|
|
||||||
### Preview and request flags
|
### Preview and request flags
|
||||||
|
|
||||||
Expose preview as `promptkit show prepared PROMPT_ID`, defaulting to YAML and
|
Expose preview as `promptkit show prepared PROMPT_ID`, using core's automatic
|
||||||
accepting core's universal format choices, through an independently available
|
selection and universal format choices, through an independently available
|
||||||
capability alongside existing suite callbacks. The native adapter calls
|
capability alongside existing suite callbacks. The native adapter calls
|
||||||
`Engine.Prepare` and projects its returned snapshot; a preliminary
|
`Engine.Prepare` and projects its returned snapshot; a preliminary
|
||||||
`ValidateRequest` call is unnecessary. Use existing typed selection, acquisition
|
`ValidateRequest` call is unnecessary. Use existing typed selection, acquisition
|
||||||
@@ -316,17 +316,18 @@ Centralize formatting and translation machinery to the greatest practical
|
|||||||
extent so commands share output conventions and avoid repeated infrastructure.
|
extent so commands share output conventions and avoid repeated infrastructure.
|
||||||
Core remains independent of ConfigKit and PromptKit types and domain semantics.
|
Core remains independent of ConfigKit and PromptKit types and domain semantics.
|
||||||
|
|
||||||
Focus the capability on plain text, YAML, and JSON. YAML remains the first
|
Deliver plain text, YAML, and JSON together in the same core feature release,
|
||||||
structured encoding target; text and JSON are near-term targets, with delivery
|
implemented in separate reviewable units as useful. Exercise all three before
|
||||||
staging to be settled during implementation planning. XML is removed from
|
downstream integration additions depend on the API, so representation decisions
|
||||||
current consideration. Markdown is not selected for this adoption. New core
|
are validated across formats. XML is removed from current consideration.
|
||||||
formats must work with existing commands without handler refactoring or
|
Markdown is not selected for this adoption. New core formats must work with
|
||||||
|
existing commands without handler refactoring or
|
||||||
per-command encoder registration. This supersedes both the optional YAML-helper
|
per-command encoder registration. This supersedes both the optional YAML-helper
|
||||||
proposal and earlier YAML-only report restrictions. Keep implementation
|
proposal and earlier YAML-only report restrictions. Keep implementation
|
||||||
proportionate; exact public names, signatures, and internal representation remain
|
proportionate; exact public names, signatures, and internal representation remain
|
||||||
design work.
|
design work.
|
||||||
|
|
||||||
### Agreed command declarations and format selection
|
### Agreed universal and automatic format selection
|
||||||
|
|
||||||
Core owns the universal `--format` flag, its available options, help, input
|
Core owns the universal `--format` flag, its available options, help, input
|
||||||
validation, and renderer selection. Commands do not maintain format allowlists;
|
validation, and renderer selection. Commands do not maintain format allowlists;
|
||||||
@@ -334,20 +335,46 @@ adding a renderer and format option in core makes it available to existing
|
|||||||
commands automatically. An unknown format is a usage error before acquisition
|
commands automatically. An unknown format is a usage error before acquisition
|
||||||
or other command work. Use one format flag rather than separate format flags.
|
or other command work. Use one format flag rather than separate format flags.
|
||||||
|
|
||||||
Commands may optionally declare a default output format. Resolve the effective
|
The initial public API does not offer command-specific format defaults. Resolve
|
||||||
format in this order:
|
the effective format in this order:
|
||||||
|
|
||||||
1. The operator's explicit `--format` choice.
|
1. The operator's explicit `--format` choice.
|
||||||
2. The command's declared default, if supplied.
|
2. Text when the report handoff includes a text template.
|
||||||
3. CommandKit's centrally chosen default.
|
3. Core's automatic selection from the shared report representation below.
|
||||||
|
|
||||||
An unset command default means "CommandKit chooses," not "plain text." Preserve
|
| Report content, without a text template | Automatic format |
|
||||||
that distinction in the public API rather than making the unspecified value an
|
| --- | --- |
|
||||||
alias for text. Core can deliberately change its default in a future release;
|
| String | Text |
|
||||||
commands with explicit defaults retain their preference. A command default does
|
| Nonempty sequence containing only strings | Text, one item per line |
|
||||||
not restrict operator choices or prevent automatic adoption of new formats.
|
| Number or boolean | Text |
|
||||||
`config show` declares YAML as its default. Plain text is recommended as the
|
| Mapping, including an empty mapping | YAML |
|
||||||
initial core default, but that policy is not yet selected.
|
| Sequence of mappings, nested sequences, or mixed values | YAML |
|
||||||
|
| Empty sequence or null | YAML, keeping the empty result visible |
|
||||||
|
|
||||||
|
Inspect the logical report representation after the selected serialization and
|
||||||
|
adaptation rules, not just the original Go type. A struct normally represents a
|
||||||
|
mapping, while a custom serializer may represent that value as a string. Use the
|
||||||
|
outer shape; do not search inside mappings for a presumed primary field. Select
|
||||||
|
once for the complete logical report, not independently for each item in a
|
||||||
|
result collection.
|
||||||
|
|
||||||
|
Omitting `--format` means "CommandKit chooses," not a fixed text default. The
|
||||||
|
choice can vary with the result: a populated string list yields text, while an
|
||||||
|
empty list yields YAML `[]`. Explicit selection provides a predictable format
|
||||||
|
when needed, including `config show --format yaml` for a configuration document
|
||||||
|
even when the selected value is a string. Core can deliberately evolve its
|
||||||
|
automatic policy in a future release.
|
||||||
|
|
||||||
|
This supersedes optional command defaults and the proposed per-command default
|
||||||
|
inventory, including explicit YAML defaults for `config show`, `config diff`,
|
||||||
|
and prepared-request preview. Applications choose report content and optional
|
||||||
|
text templates; core selects the format. Reconsider command overrides only for
|
||||||
|
a concrete demonstrated requirement.
|
||||||
|
|
||||||
|
For `config show`, hand off the selected logical configuration value, not a
|
||||||
|
string containing serialized YAML or a snapshot metadata wrapper. With no text
|
||||||
|
template, a configuration mapping naturally selects YAML and a selected string
|
||||||
|
value selects text. Native snapshot adaptation must preserve that distinction.
|
||||||
|
|
||||||
### Agreed format-independent reporting operation
|
### Agreed format-independent reporting operation
|
||||||
|
|
||||||
@@ -393,10 +420,12 @@ framework is not selected by this decision.
|
|||||||
### Agreed plain-text rendering
|
### Agreed plain-text rendering
|
||||||
|
|
||||||
Core provides a default plain-text fallback and accepts an optional template
|
Core provides a default plain-text fallback and accepts an optional template
|
||||||
from the application or integration as part of the report handoff. With a
|
from the application or integration as part of the report handoff. When text is
|
||||||
template, core renders the chosen text arrangement; without one, it renders the
|
selected, core uses the template if supplied and otherwise renders the selected
|
||||||
selected report data using its standard fallback. YAML and JSON use the same
|
report data using its standard fallback. A template selects text automatically
|
||||||
selected content and shared representation rules, independently of the text
|
only when the operator omits `--format`; explicit YAML or JSON takes precedence.
|
||||||
|
YAML and JSON use the same selected content and shared representation rules,
|
||||||
|
independently of the text
|
||||||
template. Applications do not supply separate YAML/JSON writers.
|
template. Applications do not supply separate YAML/JSON writers.
|
||||||
|
|
||||||
Recommend a readable hierarchical fallback with named fields, nested values,
|
Recommend a readable hierarchical fallback with named fields, nested values,
|
||||||
@@ -412,11 +441,6 @@ per-format application renderers are not the selected mechanism.
|
|||||||
|
|
||||||
### Remaining core reporting decisions
|
### Remaining core reporting decisions
|
||||||
|
|
||||||
- **Initial defaults and staging.** Confirm the initial central default
|
|
||||||
(recommend text), which standard commands pin a default versus inherit core
|
|
||||||
policy, and whether text/YAML/JSON land together or in successive core units.
|
|
||||||
`config show` explicitly defaults to YAML; the existing selected text/YAML
|
|
||||||
presentations are starting targets, not format restrictions.
|
|
||||||
- **Shared representation contract.** Specify field/tag and custom-marshaling
|
- **Shared representation contract.** Specify field/tag and custom-marshaling
|
||||||
precedence, omission and scalar rules, supported Go report values, and how
|
precedence, omission and scalar rules, supported Go report values, and how
|
||||||
unsupported values are reported. Keep adapters explicit and avoid silent
|
unsupported values are reported. Keep adapters explicit and avoid silent
|
||||||
@@ -434,7 +458,8 @@ per-format application renderers are not the selected mechanism.
|
|||||||
|
|
||||||
Exact public signatures, flag integration/collision handling, and replacement
|
Exact public signatures, flag integration/collision handling, and replacement
|
||||||
of existing format plumbing are implementation design tasks. The decisions
|
of existing format plumbing are implementation design tasks. The decisions
|
||||||
above do not reopen content selection, universal formats, or default precedence.
|
above do not reopen content selection, universal formats, automatic selection,
|
||||||
|
or delivery of all three initial formats together.
|
||||||
|
|
||||||
## Initial report implementation approach
|
## Initial report implementation approach
|
||||||
|
|
||||||
@@ -477,18 +502,18 @@ incidental formatting detail in tests.
|
|||||||
|
|
||||||
## Work sequence
|
## Work sequence
|
||||||
|
|
||||||
1. **Confirm remaining implementation choices.** Use the accepted flags and
|
1. **Confirm remaining implementation choices.** Use the accepted flags, report
|
||||||
report content and default preferences as the MVP target. Resolve the
|
content, and automatic format policy as the MVP target. Resolve the remaining
|
||||||
remaining core representation, text-template, native-document, and initial
|
core representation, text-template, and native-document decisions; specify
|
||||||
default/staging decisions; specify the public API.
|
the public API.
|
||||||
Resolve outstanding acquisition/binding grammar and flag collisions; use
|
Resolve outstanding acquisition/binding grammar and flag collisions; use
|
||||||
concrete examples to review report details during implementation rather than
|
concrete examples to review report details during implementation rather than
|
||||||
reopening accepted scope.
|
reopening accepted scope.
|
||||||
2. **Implement shared core report output.** Deliver the agreed command output
|
2. **Implement shared core report output.** Deliver the agreed automatic format
|
||||||
defaults, universal `--format` selection, format-independent Reporter
|
policy, universal `--format` selection, format-independent Reporter
|
||||||
operation, writer-based API, and shared representation/encoding machinery.
|
operation, writer-based API, and shared representation/encoding machinery.
|
||||||
Deliver YAML encoding, text fallback/templates, and JSON encoding according
|
Deliver YAML encoding, text fallback/templates, and JSON encoding together
|
||||||
to the selected staging. Exercise the public API with core reporting
|
in the core feature release. Exercise the public API with core reporting
|
||||||
and an application-owned command example, and consolidate suitable existing
|
and an application-owned command example, and consolidate suitable existing
|
||||||
integration reports onto it. Cover the selected contracts and update their
|
integration reports onto it. Cover the selected contracts and update their
|
||||||
canonical documentation with the implementation. Complete this prerequisite
|
canonical documentation with the implementation. Complete this prerequisite
|
||||||
@@ -537,16 +562,22 @@ CommandKit to retest PromptKit rendering, schema, namespace, or ConfigKit
|
|||||||
resolution algorithms.
|
resolution algorithms.
|
||||||
Default tests remain offline and independent of real credentials.
|
Default tests remain offline and independent of real credentials.
|
||||||
|
|
||||||
- [ ] Remaining representation, text-template, native-document, and initial
|
- [ ] Remaining representation, text-template, and native-document decisions
|
||||||
default/staging decisions are recorded. Public signatures and shared
|
are recorded. Public signatures and shared representation conventions are
|
||||||
representation conventions are documented with implementation.
|
documented with implementation.
|
||||||
- [ ] Core owns universal `--format` options, help, validation, and selection.
|
- [ ] Core owns universal `--format` options, help, validation, and selection.
|
||||||
Added core formats work with existing commands without refactoring or local
|
Added core formats work with existing commands without refactoring or local
|
||||||
allowlists. Unknown selections fail before acquisition, and selected formats
|
allowlists. Unknown selections fail before acquisition, and selected formats
|
||||||
do not leak between invocations.
|
do not leak between invocations.
|
||||||
- [ ] Explicit operator selection overrides a declared command default, which
|
- [ ] Explicit operator selection overrides automatic selection. Without it,
|
||||||
overrides core policy. An unspecified default remains distinct from text.
|
a text template selects text; otherwise core selects from the shared report
|
||||||
`config show` defaults to YAML without restricting other format choices.
|
shape. Cover scalars, nonempty string lists, mappings, mixed/nested lists,
|
||||||
|
empty collections, and null. The initial API has no command format defaults.
|
||||||
|
- [ ] Automatic selection uses the logical report after adaptation, once per
|
||||||
|
complete report. Native YAML source strings are not mistaken for string
|
||||||
|
configuration values. Focused configuration values follow the same rules.
|
||||||
|
- [ ] Plain text, YAML, and JSON ship together; representative reports exercise
|
||||||
|
shared representation and explicit selection across all three.
|
||||||
- [ ] Plain text uses the supplied template or core's fallback. Core owns
|
- [ ] Plain text uses the supplied template or core's fallback. Core owns
|
||||||
rendering and errors in both cases. The integration chooses concise/detailed
|
rendering and errors in both cases. The integration chooses concise/detailed
|
||||||
content; changing format does not implicitly change the selected detail level.
|
content; changing format does not implicitly change the selected detail level.
|
||||||
@@ -570,8 +601,8 @@ Default tests remain offline and independent of real credentials.
|
|||||||
operational outcomes, including the no-report case; no model dispatch is
|
operational outcomes, including the no-report case; no model dispatch is
|
||||||
introduced by CommandKit to handle them.
|
introduced by CommandKit to handle them.
|
||||||
- [ ] `promptkit show prepared PROMPT_ID` forwards the intended request and
|
- [ ] `promptkit show prepared PROMPT_ID` forwards the intended request and
|
||||||
faithfully reports native fields, defaulting to YAML and accepting universal
|
faithfully reports native fields, using automatic selection and accepting
|
||||||
format choices.
|
universal format choices.
|
||||||
Help identifies the argument as a prompt ID and explains resource I/O and
|
Help identifies the argument as a prompt ID and explains resource I/O and
|
||||||
rendered content disclosure. Its CLI path makes no model call and does not
|
rendered content disclosure. Its CLI path makes no model call and does not
|
||||||
create/execute retained prepared handles.
|
create/execute retained prepared handles.
|
||||||
@@ -609,11 +640,11 @@ Default tests remain offline and independent of real credentials.
|
|||||||
- [ ] Bare `config explain` displays help successfully, presenting `--list` and
|
- [ ] Bare `config explain` displays help successfully, presenting `--list` and
|
||||||
`--path` as the two alternatives. Selecting both modes is a usage error;
|
`--path` as the two alternatives. Selecting both modes is a usage error;
|
||||||
explicitly supplied `--path ""` selects root explanation rather than help.
|
explicitly supplied `--path ""` selects root explanation rather than help.
|
||||||
- [ ] Discovery retains its initial text default preference, with universal
|
- [ ] Discovery supplies a compact text template, which core selects when no
|
||||||
format choices, compact path/presence/explicitness fields, and the selected
|
format is requested, with compact path/presence/explicitness fields and the
|
||||||
`--historical`, `--under`, and `--explicit` behavior. Historical-only paths and
|
selected `--historical`, `--under`, and `--explicit` behavior. Historical-only
|
||||||
unavailable discovery are not
|
paths and unavailable discovery are not misreported as current implicit
|
||||||
misreported as current implicit values or an empty configuration.
|
values or an empty configuration.
|
||||||
- [ ] Metadata discovery through `config explain` distinguishes effective and
|
- [ ] Metadata discovery through `config explain` distinguishes effective and
|
||||||
historical paths, retains available history on absent lookup, and projects
|
historical paths, retains available history on absent lookup, and projects
|
||||||
native field/change records.
|
native field/change records.
|
||||||
@@ -627,9 +658,9 @@ Default tests remain offline and independent of real credentials.
|
|||||||
- [ ] Focused display preserves native snapshot content and distinguishes
|
- [ ] Focused display preserves native snapshot content and distinguishes
|
||||||
missing/historical-only paths from explicit null. Whole-document display
|
missing/historical-only paths from explicit null. Whole-document display
|
||||||
retains native YAML semantics when that format is selected. Focused display
|
retains native YAML semantics when that format is selected. Focused display
|
||||||
uses one scope and defaults to the native YAML value without a snapshot
|
uses one scope and hands off the logical value without a snapshot wrapper or
|
||||||
wrapper; other formats use the shared representation. Absent effective paths
|
text template; core applies automatic or explicit selection. Absent effective
|
||||||
and unknown source IDs produce clear operational failures.
|
paths and unknown source IDs produce clear operational failures.
|
||||||
- [ ] Source-ID selection works on successful and failed acquisitions. Path,
|
- [ ] Source-ID selection works on successful and failed acquisitions. Path,
|
||||||
explicitness, severity, and code filters preserve the selected evidence and
|
explicitness, severity, and code filters preserve the selected evidence and
|
||||||
source references without masking the acquisition outcome.
|
source references without masking the acquisition outcome.
|
||||||
@@ -645,8 +676,9 @@ Default tests remain offline and independent of real credentials.
|
|||||||
selected comparison-side behavior, native errors, and returned provenance
|
selected comparison-side behavior, native errors, and returned provenance
|
||||||
preserved. No tests independently re-establish ConfigKit override semantics.
|
preserved. No tests independently re-establish ConfigKit override semantics.
|
||||||
- [ ] Default validation remains concise; `--details` selects the additional
|
- [ ] Default validation remains concise; `--details` selects the additional
|
||||||
diagnostic report, with an initial text default preference and universal
|
diagnostic report with a text template. Core automatically selects text when
|
||||||
format choices. Changing format alone does not enable detailed mode.
|
that template is supplied, while explicit formats still win. Changing format
|
||||||
|
alone does not enable detailed mode.
|
||||||
Severity/code filters, evidence availability, no-match presentation, and
|
Severity/code filters, evidence availability, no-match presentation, and
|
||||||
known duplicate-warning handling preserve the underlying validation outcome.
|
known duplicate-warning handling preserve the underlying validation outcome.
|
||||||
- [ ] `config sources` and `config validate --details` report
|
- [ ] `config sources` and `config validate --details` report
|
||||||
@@ -697,8 +729,7 @@ completion, and unrelated deferred proposals are not added by this roadmap.
|
|||||||
The [shared core API](#shared-core-report-output-prerequisite) targets text,
|
The [shared core API](#shared-core-report-output-prerequisite) targets text,
|
||||||
YAML, and JSON, with automatic availability of newly added core formats.
|
YAML, and JSON, with automatic availability of newly added core formats.
|
||||||
XML is removed from current consideration; Markdown is not selected for this
|
XML is removed from current consideration; Markdown is not selected for this
|
||||||
adoption. Exact delivery staging for the three target formats remains to be
|
adoption. The three initial formats land together in the core feature release.
|
||||||
settled, rather than retaining JSON as an unrelated deferred proposal.
|
|
||||||
Transient acquisition overrides are included under OD-11.
|
Transient acquisition overrides are included under OD-11.
|
||||||
Output-contract override and appended-message flags are deferred under OD-2
|
Output-contract override and appended-message flags are deferred under OD-2
|
||||||
and retained in
|
and retained in
|
||||||
@@ -713,9 +744,9 @@ These decisions concern significant choices within the proposed scope. Resolved
|
|||||||
items retain their numbers and record the agreed decision. OD numbers are local
|
items retain their numbers and record the agreed decision. OD numbers are local
|
||||||
to this roadmap, not the retired adoption documents.
|
to this roadmap, not the retired adoption documents.
|
||||||
|
|
||||||
The core ownership, text fallback/template, universal-format, and default
|
The core ownership, text fallback/template, universal-format, automatic-selection,
|
||||||
precedence decisions are now agreed above. Their remaining design details are
|
and joint format-delivery decisions are now agreed above. Their remaining design
|
||||||
listed under [remaining core reporting decisions](#remaining-core-reporting-decisions).
|
details are listed under [remaining core reporting decisions](#remaining-core-reporting-decisions).
|
||||||
Outstanding integration choices are provider JSON decoding in OD-2, namespace
|
Outstanding integration choices are provider JSON decoding in OD-2, namespace
|
||||||
applicability in OD-3, empty comparison collections and binding design in OD-9,
|
applicability in OD-3, empty comparison collections and binding design in OD-9,
|
||||||
and override grammar/acquisition details in OD-11. Exact helper names and report
|
and override grammar/acquisition details in OD-11. Exact helper names and report
|
||||||
@@ -723,9 +754,11 @@ layouts otherwise remain ordinary implementation choices, not unresolved scope.
|
|||||||
|
|
||||||
### OD-1: Preview command and report presentation
|
### OD-1: Preview command and report presentation
|
||||||
|
|
||||||
**Agreed:** use `promptkit show prepared PROMPT_ID`, with YAML as its default
|
**Agreed:** use `promptkit show prepared PROMPT_ID` with the complete relevant
|
||||||
and the complete relevant `PreparedRun` projection. Universal core format
|
`PreparedRun` projection. The structured mapping, without a dedicated text
|
||||||
selection supersedes the earlier YAML-only restriction. The argument names
|
template, selects YAML through core's automatic policy. Universal format choices
|
||||||
|
and automatic selection supersede both the earlier YAML-only restriction and
|
||||||
|
the command-specific default proposal. The argument names
|
||||||
the prompt to prepare, not a saved prepared object. A single native preparation
|
the prompt to prepare, not a saved prepared object. A single native preparation
|
||||||
supplies both validation and preview evidence.
|
supplies both validation and preview evidence.
|
||||||
|
|
||||||
@@ -737,8 +770,8 @@ calling the model."
|
|||||||
Document resource I/O and rendered content disclosure directly in help and CLI
|
Document resource I/O and rendered content disclosure directly in help and CLI
|
||||||
guidance. The report is an inspection snapshot, not a saved execution handle or
|
guidance. The report is an inspection snapshot, not a saved execution handle or
|
||||||
a guarantee that later execution uses the same snapshot or succeeds. Core's
|
a guarantee that later execution uses the same snapshot or succeeds. Core's
|
||||||
text fallback supplies text output without requiring a dedicated preview
|
text fallback supplies explicit `--format text` output without requiring a
|
||||||
template; a specialized template is not required for initial delivery.
|
dedicated preview template; a specialized template is not required for initial delivery.
|
||||||
|
|
||||||
### OD-2: Request controls and provider-parameter grammar
|
### OD-2: Request controls and provider-parameter grammar
|
||||||
|
|
||||||
@@ -911,8 +944,9 @@ the root explanation, not help. This deliberately replaces the current
|
|||||||
missing-path usage error; automatic discovery on a bare invocation is not
|
missing-path usage error; automatic discovery on a bare invocation is not
|
||||||
selected.
|
selected.
|
||||||
|
|
||||||
**Agreed initial presentation:** use a compact text discovery report by default,
|
**Agreed initial presentation:** supply a compact text discovery template, which
|
||||||
with alternatives through core's universal `--format`, and one scope at a time.
|
core selects automatically when no format is requested. Explicit alternatives
|
||||||
|
use core's universal `--format`. Operate on one scope at a time.
|
||||||
List current effective paths by default; `--historical` adds historical-only paths
|
List current effective paths by default; `--historical` adds historical-only paths
|
||||||
rather than selecting only removed paths. Show path, current/historical-only
|
rather than selecting only removed paths. Show path, current/historical-only
|
||||||
presence, and available explicitness. Do not equate non-explicit values with
|
presence, and available explicitness. Do not equate non-explicit values with
|
||||||
@@ -953,9 +987,11 @@ presence so missing and null remain distinct. Show redaction and concealed-chang
|
|||||||
annotations where relevant; omission of an optional annotation has a defined
|
annotations where relevant; omission of an optional annotation has a defined
|
||||||
meaning and never relies on recognizing a marker-looking string. Prefer ordinary
|
meaning and never relies on recognizing a marker-looking string. Prefer ordinary
|
||||||
Go fields and serialization tags to custom omission logic. An empty comparison
|
Go fields and serialization tags to custom omission logic. An empty comparison
|
||||||
has an explicit empty difference list. Retain YAML as the default preference;
|
has an explicit empty difference list. Both concise and detailed comparison
|
||||||
universal core formats supersede the earlier YAML-only detailed restriction.
|
hand off structured mappings without a text template; core's automatic policy
|
||||||
The same selected comparison evidence is handed to core in every format.
|
selects YAML. Universal format choices supersede the earlier YAML-only detailed
|
||||||
|
restriction. The same selected comparison evidence is handed to core in every
|
||||||
|
format; explicit text uses core's fallback.
|
||||||
|
|
||||||
Keep the projection close to native report values, using the
|
Keep the projection close to native report values, using the
|
||||||
[shared reporting approach](#initial-report-implementation-approach) rather than
|
[shared reporting approach](#initial-report-implementation-approach) rather than
|
||||||
@@ -997,9 +1033,9 @@ error. Unlike detailed comparison, the existing adapters need to carry additiona
|
|||||||
structured evidence through to reporting. Use current core reporting and outcome
|
structured evidence through to reporting. Use current core reporting and outcome
|
||||||
handling; no generic cross-family diagnostics framework is required.
|
handling; no generic cross-family diagnostics framework is required.
|
||||||
|
|
||||||
**Agreed initial presentation:** detailed validation uses text by default, with
|
**Agreed initial presentation:** supply a detailed validation text template,
|
||||||
alternatives through core's universal `--format`. Supply a text template that
|
which core selects automatically unless the operator requests another format.
|
||||||
begins with scope and outcome, then shows readable findings with their available
|
The template begins with scope and outcome, then shows readable findings with their available
|
||||||
messages, severities, codes, configuration paths, and source locations. Place
|
messages, severities, codes, configuration paths, and source locations. Place
|
||||||
useful locations near messages;
|
useful locations near messages;
|
||||||
YAML may use a source legend shared by multiple findings.
|
YAML may use a source legend shared by multiple findings.
|
||||||
@@ -1052,10 +1088,11 @@ does not authorize publication.
|
|||||||
Keep reports unfiltered by default. The purpose is to reduce noise for a human
|
Keep reports unfiltered by default. The purpose is to reduce noise for a human
|
||||||
operator investigating a known part of the configuration.
|
operator investigating a known part of the configuration.
|
||||||
|
|
||||||
`config show` explicitly defaults to YAML. In that format, focused show emits
|
`config show` hands off the selected logical configuration value without a text
|
||||||
the selected native effective YAML directly, without a snapshot wrapper
|
template. Core selects from its shape: a mapping yields YAML, while a selected
|
||||||
containing presence/redaction/YAML fields. Other core formats render the selected
|
string yields text. Explicit `--format yaml` always requests native effective
|
||||||
value through the shared representation; YAML is a default, not a restriction.
|
YAML, without a snapshot wrapper containing presence/redaction/YAML fields.
|
||||||
|
All formats render the selected value through the shared representation.
|
||||||
Use the existing explanation capability to obtain the native snapshot. An absent
|
Use the existing explanation capability to obtain the native snapshot. An absent
|
||||||
effective path or unknown source ID produces a clear operational failure. Explicitly present
|
effective path or unknown source ID produces a clear operational failure. Explicitly present
|
||||||
null remains a valid value; historical-only paths are not effective values.
|
null remains a valid value; historical-only paths are not effective values.
|
||||||
|
|||||||
Reference in New Issue
Block a user