Clarify future roadmap statuses
This commit is contained in:
@@ -1,17 +1,14 @@
|
|||||||
# Future Roadmap
|
# Future Roadmap
|
||||||
|
|
||||||
This roadmap contains project work that is not implemented. Current behavior is
|
This roadmap contains future work only. Each section identifies its planning
|
||||||
documented outside `docs/roadmap/`.
|
status; current behavior is documented outside `docs/roadmap/`.
|
||||||
|
|
||||||
## Automatic Storm Monitoring
|
## Automatic Storm Monitoring
|
||||||
|
|
||||||
Manual Storm Report generation is available through:
|
Status: Proposed and unimplemented.
|
||||||
|
|
||||||
```sh
|
Manual Storm Report generation is implemented; see the [CLI reference](../cli.md).
|
||||||
weatherreporter generate storm --start TIME --end TIME
|
Automatic storm-event evaluation remains unimplemented.
|
||||||
```
|
|
||||||
|
|
||||||
Automatic storm-event evaluation is not implemented.
|
|
||||||
|
|
||||||
Possible direction:
|
Possible direction:
|
||||||
|
|
||||||
@@ -37,6 +34,8 @@ coverage for deterministic candidate detection.
|
|||||||
|
|
||||||
## Future Report Types
|
## Future Report Types
|
||||||
|
|
||||||
|
Status: Proposed and unimplemented.
|
||||||
|
|
||||||
Possible future report types:
|
Possible future report types:
|
||||||
|
|
||||||
- a short-fuse planning report distinct from the implemented Hourly Report, if
|
- a short-fuse planning report distinct from the implemented Hourly Report, if
|
||||||
@@ -46,12 +45,13 @@ Possible future report types:
|
|||||||
- archive-focused report variants if generated report history becomes a
|
- archive-focused report variants if generated report history becomes a
|
||||||
first-class product
|
first-class product
|
||||||
|
|
||||||
New reports should keep report identity, prompt IDs, templates, valid-period
|
New reports should preserve the boundaries documented in the [report registry
|
||||||
resolution, artifact grouping, batch output names, and comparison policy inside
|
internals](../internal/report-registry.md).
|
||||||
`internal/report`.
|
|
||||||
|
|
||||||
## Future Modules
|
## Future Modules
|
||||||
|
|
||||||
|
Status: Proposed and unimplemented.
|
||||||
|
|
||||||
Possible future modules:
|
Possible future modules:
|
||||||
|
|
||||||
- `hourly_table` for compact valid-period hourly facts
|
- `hourly_table` for compact valid-period hourly facts
|
||||||
@@ -71,7 +71,9 @@ QPF fields such as `measurable_qpf_total_in` and `max_hourly_qpf_in` should
|
|||||||
remain omitted until a real upstream quantitative precipitation source is
|
remain omitted until a real upstream quantitative precipitation source is
|
||||||
represented in `CollectedFacts`.
|
represented in `CollectedFacts`.
|
||||||
|
|
||||||
Future module work should preserve these boundaries:
|
Future module work should preserve the boundaries documented in [fact
|
||||||
|
contracts](../internal/facts.md), [module internals](../internal/module.md), and
|
||||||
|
[briefing internals](../internal/briefing.md):
|
||||||
|
|
||||||
- keep upstream collection in app orchestration
|
- keep upstream collection in app orchestration
|
||||||
- keep upstream collection out of modules
|
- keep upstream collection out of modules
|
||||||
@@ -82,9 +84,13 @@ Future module work should preserve these boundaries:
|
|||||||
|
|
||||||
## Distributor Notification Enhancements
|
## Distributor Notification Enhancements
|
||||||
|
|
||||||
Distributor notification uploads one managed Markdown report per successful
|
Status: Proposed and unimplemented.
|
||||||
generated report through the configured HTTP upload pipeline. The following
|
|
||||||
enhancements are not implemented:
|
Single-report and batch Distributor notification are implemented. Current
|
||||||
|
behavior is documented in the [Distributor adapter guide](../internal/distributor-adapter.md),
|
||||||
|
[Distributor integration guides](../integrations/distributor/), and
|
||||||
|
[operations guide](../operations.md). The following enhancements remain
|
||||||
|
unimplemented:
|
||||||
|
|
||||||
- `failure_policy: warn`
|
- `failure_policy: warn`
|
||||||
- uploading metadata, module snapshots, data packages, or preflight artifacts
|
- uploading metadata, module snapshots, data packages, or preflight artifacts
|
||||||
@@ -100,7 +106,9 @@ while distributor owns destination routing and publication behavior.
|
|||||||
|
|
||||||
## Alternate Runtime Integrations
|
## Alternate Runtime Integrations
|
||||||
|
|
||||||
These ideas are not implemented:
|
Status: Proposed and unimplemented.
|
||||||
|
|
||||||
|
These ideas remain unimplemented:
|
||||||
|
|
||||||
- native LLM client inside `weatherreporter`
|
- native LLM client inside `weatherreporter`
|
||||||
- database-backed state
|
- database-backed state
|
||||||
@@ -119,6 +127,8 @@ must not describe these as available behavior.
|
|||||||
|
|
||||||
## Deferred Refactors
|
## Deferred Refactors
|
||||||
|
|
||||||
|
Status: Deferred.
|
||||||
|
|
||||||
These refactors should remain deferred until new requirements or recurring
|
These refactors should remain deferred until new requirements or recurring
|
||||||
maintenance costs make the added abstraction worthwhile:
|
maintenance costs make the added abstraction worthwhile:
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
# Promptkit Migration Roadmap
|
# Promptkit Migration Roadmap
|
||||||
|
|
||||||
|
Status: Accepted migration policy; the migration itself is unimplemented.
|
||||||
|
|
||||||
## Purpose
|
## Purpose
|
||||||
|
|
||||||
This roadmap defines the scope and desired end state for replacing the
|
This roadmap defines the scope and desired end state for replacing the
|
||||||
external Scriptorium CLI integration with the Promptkit Go library. The
|
external Scriptorium CLI integration with the Promptkit Go library. The
|
||||||
migration is not yet implemented. Current Scriptorium behavior remains
|
migration is not yet implemented. Current Scriptorium behavior remains
|
||||||
documented outside `docs/roadmap/` until the replacement is complete.
|
documented in the [Scriptorium integration guide](../integrations/scriptorium.md)
|
||||||
|
until the replacement is complete.
|
||||||
|
|
||||||
A separate staged implementation plan will describe how to move from the
|
A separate staged implementation plan will describe how to move from the
|
||||||
current code to this target state. That plan should reference this roadmap
|
current code to this target state. That plan should reference this roadmap
|
||||||
@@ -13,6 +16,8 @@ rather than redefine its architectural decisions or scope.
|
|||||||
|
|
||||||
## Desired End State
|
## Desired End State
|
||||||
|
|
||||||
|
Status: Accepted target state; unimplemented.
|
||||||
|
|
||||||
Weatherreporter uses a pinned released version of
|
Weatherreporter uses a pinned released version of
|
||||||
`gitea.maximumdirect.net/eric/promptkit` as its in-process prompt preparation
|
`gitea.maximumdirect.net/eric/promptkit` as its in-process prompt preparation
|
||||||
and LLM execution engine. The `scriptorium` executable, subprocess adapter,
|
and LLM execution engine. The `scriptorium` executable, subprocess adapter,
|
||||||
@@ -38,6 +43,8 @@ packages, CLI summaries, state contracts, or distributor behavior.
|
|||||||
|
|
||||||
## Goals
|
## Goals
|
||||||
|
|
||||||
|
Status: Accepted migration scope; unimplemented.
|
||||||
|
|
||||||
- Remove the runtime dependency on the `scriptorium` executable.
|
- Remove the runtime dependency on the `scriptorium` executable.
|
||||||
- Replace shell-free subprocess orchestration with typed in-process Promptkit
|
- Replace shell-free subprocess orchestration with typed in-process Promptkit
|
||||||
preparation and execution.
|
preparation and execution.
|
||||||
@@ -55,6 +62,8 @@ packages, CLI summaries, state contracts, or distributor behavior.
|
|||||||
|
|
||||||
## Non-Goals
|
## Non-Goals
|
||||||
|
|
||||||
|
Status: Accepted migration scope; unimplemented.
|
||||||
|
|
||||||
The migration will not:
|
The migration will not:
|
||||||
|
|
||||||
- move meteorological selection, derivation, thresholds, or comparison logic
|
- move meteorological selection, derivation, thresholds, or comparison logic
|
||||||
@@ -73,6 +82,8 @@ The migration will not:
|
|||||||
|
|
||||||
## Locked Decisions
|
## Locked Decisions
|
||||||
|
|
||||||
|
Status: Accepted decisions for the unimplemented migration.
|
||||||
|
|
||||||
### Dependency And Versioning
|
### Dependency And Versioning
|
||||||
|
|
||||||
- The initial integration will pin Promptkit `v0.3.0`.
|
- The initial integration will pin Promptkit `v0.3.0`.
|
||||||
@@ -171,6 +182,8 @@ The migration will not:
|
|||||||
|
|
||||||
## Durable Artifacts And Observability
|
## Durable Artifacts And Observability
|
||||||
|
|
||||||
|
Status: Accepted design constraints; unimplemented.
|
||||||
|
|
||||||
Routine durable artifacts should retain useful non-secret provenance without
|
Routine durable artifacts should retain useful non-secret provenance without
|
||||||
persisting full rendered prompts by default.
|
persisting full rendered prompts by default.
|
||||||
|
|
||||||
@@ -208,6 +221,8 @@ credentials, and must have a clear operator-owned retention policy.
|
|||||||
|
|
||||||
## Failure Contract
|
## Failure Contract
|
||||||
|
|
||||||
|
Status: Accepted design constraints; unimplemented.
|
||||||
|
|
||||||
Promptkit returns a completed `RunResult` for output-validation failure but no
|
Promptkit returns a completed `RunResult` for output-validation failure but no
|
||||||
partial result for operational preparation or execution errors. Weatherreporter
|
partial result for operational preparation or execution errors. Weatherreporter
|
||||||
will preserve that distinction.
|
will preserve that distinction.
|
||||||
@@ -234,6 +249,8 @@ will preserve that distinction.
|
|||||||
|
|
||||||
## Compatibility Requirements
|
## Compatibility Requirements
|
||||||
|
|
||||||
|
Status: Accepted design constraints; unimplemented.
|
||||||
|
|
||||||
- Report IDs, prompt IDs, report selection, valid periods, artifact grouping,
|
- Report IDs, prompt IDs, report selection, valid periods, artifact grouping,
|
||||||
output names, and distributor bundle behavior remain stable.
|
output names, and distributor bundle behavior remain stable.
|
||||||
- Module snapshot and Recent Changes behavior remains deterministic.
|
- Module snapshot and Recent Changes behavior remains deterministic.
|
||||||
@@ -251,6 +268,8 @@ will preserve that distinction.
|
|||||||
|
|
||||||
## Verification And Completion Criteria
|
## Verification And Completion Criteria
|
||||||
|
|
||||||
|
Status: Proposed completion criteria for the unimplemented migration.
|
||||||
|
|
||||||
The migration is complete when:
|
The migration is complete when:
|
||||||
|
|
||||||
- all seven reports prepare and execute through Promptkit using embedded
|
- all seven reports prepare and execute through Promptkit using embedded
|
||||||
@@ -281,6 +300,8 @@ compare meaningfully.
|
|||||||
|
|
||||||
## External Prerequisite
|
## External Prerequisite
|
||||||
|
|
||||||
|
Status: Required and unimplemented.
|
||||||
|
|
||||||
Before implementing the embedded asset stage, the current Scriptorium prompt
|
Before implementing the embedded asset stage, the current Scriptorium prompt
|
||||||
corpus must be made available in this repository. It should include the seven
|
corpus must be made available in this repository. It should include the seven
|
||||||
prompt definitions, referenced content files, private response schemas,
|
prompt definitions, referenced content files, private response schemas,
|
||||||
@@ -289,6 +310,8 @@ to reproduce current report behavior.
|
|||||||
|
|
||||||
## Open Questions
|
## Open Questions
|
||||||
|
|
||||||
|
Status: Open; these require decisions before implementation.
|
||||||
|
|
||||||
- What exact `promptkit.*` configuration fields should replace the current
|
- What exact `promptkit.*` configuration fields should replace the current
|
||||||
Scriptorium fields, including the name and precedence of an optional explicit
|
Scriptorium fields, including the name and precedence of an optional explicit
|
||||||
profile override?
|
profile override?
|
||||||
|
|||||||
Reference in New Issue
Block a user