Clarify future roadmap statuses

This commit is contained in:
2026-07-31 01:39:33 +00:00
parent b605596bcb
commit 35f4f82e94
2 changed files with 50 additions and 17 deletions

View File

@@ -1,17 +1,14 @@
# Future Roadmap
This roadmap contains project work that is not implemented. Current behavior is
documented outside `docs/roadmap/`.
This roadmap contains future work only. Each section identifies its planning
status; current behavior is documented outside `docs/roadmap/`.
## Automatic Storm Monitoring
Manual Storm Report generation is available through:
Status: Proposed and unimplemented.
```sh
weatherreporter generate storm --start TIME --end TIME
```
Automatic storm-event evaluation is not implemented.
Manual Storm Report generation is implemented; see the [CLI reference](../cli.md).
Automatic storm-event evaluation remains unimplemented.
Possible direction:
@@ -37,6 +34,8 @@ coverage for deterministic candidate detection.
## Future Report Types
Status: Proposed and unimplemented.
Possible future report types:
- 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
first-class product
New reports should keep report identity, prompt IDs, templates, valid-period
resolution, artifact grouping, batch output names, and comparison policy inside
`internal/report`.
New reports should preserve the boundaries documented in the [report registry
internals](../internal/report-registry.md).
## Future Modules
Status: Proposed and unimplemented.
Possible future modules:
- `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
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 out of modules
@@ -82,9 +84,13 @@ Future module work should preserve these boundaries:
## Distributor Notification Enhancements
Distributor notification uploads one managed Markdown report per successful
generated report through the configured HTTP upload pipeline. The following
enhancements are not implemented:
Status: Proposed and unimplemented.
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`
- uploading metadata, module snapshots, data packages, or preflight artifacts
@@ -100,7 +106,9 @@ while distributor owns destination routing and publication behavior.
## Alternate Runtime Integrations
These ideas are not implemented:
Status: Proposed and unimplemented.
These ideas remain unimplemented:
- native LLM client inside `weatherreporter`
- database-backed state
@@ -119,6 +127,8 @@ must not describe these as available behavior.
## Deferred Refactors
Status: Deferred.
These refactors should remain deferred until new requirements or recurring
maintenance costs make the added abstraction worthwhile:

View File

@@ -1,11 +1,14 @@
# Promptkit Migration Roadmap
Status: Accepted migration policy; the migration itself is unimplemented.
## Purpose
This roadmap defines the scope and desired end state for replacing the
external Scriptorium CLI integration with the Promptkit Go library. The
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
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
Status: Accepted target state; unimplemented.
Weatherreporter uses a pinned released version of
`gitea.maximumdirect.net/eric/promptkit` as its in-process prompt preparation
and LLM execution engine. The `scriptorium` executable, subprocess adapter,
@@ -38,6 +43,8 @@ packages, CLI summaries, state contracts, or distributor behavior.
## Goals
Status: Accepted migration scope; unimplemented.
- Remove the runtime dependency on the `scriptorium` executable.
- Replace shell-free subprocess orchestration with typed in-process Promptkit
preparation and execution.
@@ -55,6 +62,8 @@ packages, CLI summaries, state contracts, or distributor behavior.
## Non-Goals
Status: Accepted migration scope; unimplemented.
The migration will not:
- move meteorological selection, derivation, thresholds, or comparison logic
@@ -73,6 +82,8 @@ The migration will not:
## Locked Decisions
Status: Accepted decisions for the unimplemented migration.
### Dependency And Versioning
- The initial integration will pin Promptkit `v0.3.0`.
@@ -171,6 +182,8 @@ The migration will not:
## Durable Artifacts And Observability
Status: Accepted design constraints; unimplemented.
Routine durable artifacts should retain useful non-secret provenance without
persisting full rendered prompts by default.
@@ -208,6 +221,8 @@ credentials, and must have a clear operator-owned retention policy.
## Failure Contract
Status: Accepted design constraints; unimplemented.
Promptkit returns a completed `RunResult` for output-validation failure but no
partial result for operational preparation or execution errors. Weatherreporter
will preserve that distinction.
@@ -234,6 +249,8 @@ will preserve that distinction.
## Compatibility Requirements
Status: Accepted design constraints; unimplemented.
- Report IDs, prompt IDs, report selection, valid periods, artifact grouping,
output names, and distributor bundle behavior remain stable.
- Module snapshot and Recent Changes behavior remains deterministic.
@@ -251,6 +268,8 @@ will preserve that distinction.
## Verification And Completion Criteria
Status: Proposed completion criteria for the unimplemented migration.
The migration is complete when:
- all seven reports prepare and execute through Promptkit using embedded
@@ -281,6 +300,8 @@ compare meaningfully.
## External Prerequisite
Status: Required and unimplemented.
Before implementing the embedded asset stage, the current Scriptorium prompt
corpus must be made available in this repository. It should include the seven
prompt definitions, referenced content files, private response schemas,
@@ -289,6 +310,8 @@ to reproduce current report behavior.
## Open Questions
Status: Open; these require decisions before implementation.
- What exact `promptkit.*` configuration fields should replace the current
Scriptorium fields, including the name and precedence of an optional explicit
profile override?