diff --git a/docs/roadmap/future.md b/docs/roadmap/future.md new file mode 100644 index 0000000..cb732d9 --- /dev/null +++ b/docs/roadmap/future.md @@ -0,0 +1,80 @@ +# Future Roadmap + +This document records planned or deferred work that is not part of the current +implementation. Current behavior is documented outside roadmap files in the +README, integration contracts, operations guide, troubleshooting guide, and +internal docs. + +## Durability And Recovery + +- Durable upload status persistence across process restarts. +- Durable idempotency records across server restarts. +- Database-backed upload queueing. +- Recovery semantics for queued or running uploads after a restart. +- Durable producer retry processing. + +## Producer Client Workflows + +- Durable client queues or background producer workers. +- `UploadAndWait` helper. +- Long-polling helper or equivalent wait workflow. + +## Run Control APIs + +- Run retry endpoints. +- Run cancellation endpoints. +- Run listing endpoints. + +## Archive And Transport Protocols + +- Zstandard-compressed tar archives. +- Additional content negotiation rules for future archive formats. +- Multipart upload support. +- Resumable upload support. +- Streaming upload protocols. + +## Destination Backends + +- GitHub Gist destination backend support. +- Authentication and secret handling for GitHub API tokens. +- Gist file mapping, update, replacement, and conflict semantics. +- Rate-limit handling and retry behavior for GitHub API responses. + +## Docker Image Support + +- Official container image build and release workflow. +- Runtime filesystem layout for config, secrets, staging, and local outputs. +- Container-oriented examples for `run` and `serve`. +- Image tagging, versioning, and upgrade guidance. + +## Notifications And Hooks + +- Email notification support for completed, failed, or partially failed + distribution runs. +- SMTP configuration, authentication, secret handling, and recipient policy. +- ntfy notification support for completed, failed, or partially failed + distribution runs. +- ntfy topic, server, token, priority, and action configuration. +- General post-distribution hook support. +- Hook payload contract that can pass run status, summaries, destination + outcomes, output metadata, and public links to external tools. +- Local executable hook adapter with bounded arguments, environment, stdin, + timeout, exit-code handling, and secret-redaction behavior. + +## Authentication And Deployment Surface + +- URL-token authentication for constrained clients. +- Additional token lifecycle tooling. +- Mutual TLS or other in-app identity mechanisms. +- In-app TLS. +- Public exposure defaults. +- Browser UI. + +## Boundaries + +- `http_upload` remains source-only unless a future implementation changes that + contract. +- Current upload status, queue, and idempotency state are memory-only. +- Producers submit complete tar or gzip-compressed tar source bundles today. +- Public access policy, TLS termination, and rate limiting belong outside + `distributor` unless a future implementation changes that boundary. diff --git a/docs/roadmap/http.md b/docs/roadmap/http.md deleted file mode 100644 index 97a146f..0000000 --- a/docs/roadmap/http.md +++ /dev/null @@ -1,60 +0,0 @@ -# Roadmap: HTTP Upload Extensions - -## Purpose - -The HTTP upload API is implemented. Current behavior is documented in: - -- [CLI](../cli.md) -- [Configuration](../config.md) -- [Operations](../operations.md) -- [Troubleshooting](../troubleshooting.md) -- [HTTP upload contract](../integrations/http-upload.md) -- [Application internals](../internal/app.md) -- [Ingestion internals](../internal/ingest.md) - -This roadmap records HTTP upload extensions that are intentionally not part of -the current implementation. - -## Deferred Extensions - -### Authentication - -- URL-token authentication for constrained clients. -- Additional token lifecycle tooling. -- Mutual TLS or other in-app identity mechanisms. - -### Archive Formats - -- Zstandard-compressed tar archives. -- Additional content negotiation rules for future archive formats. - -### Status And Queue Durability - -- Durable status persistence across process restarts. -- Database-backed queueing. -- Recovery semantics for queued or running uploads after a restart. - -### Producer Coordination - -- Run retry endpoints. -- Run cancellation endpoints. -- Run listing endpoints. - -### Deployment Surface - -- In-app TLS. -- Public exposure defaults. -- Browser UI. - -## Boundaries - -Current HTTP upload behavior remains intentionally small: - -- `http_upload` is source-only and is not a durable storage backend. -- Upload status is memory-only. -- Producers submit complete tar or gzip-compressed tar source bundles. -- Producers authenticate with `Authorization: Bearer `. -- Public access policy, TLS termination, and rate limiting belong outside - `distributor` unless a future roadmap explicitly changes that boundary. - -Do not document deferred extensions as available outside `docs/roadmap/`. diff --git a/docs/roadmap/implementation.md b/docs/roadmap/implementation.md deleted file mode 100644 index d7545af..0000000 --- a/docs/roadmap/implementation.md +++ /dev/null @@ -1,26 +0,0 @@ -# Producer Upload Implementation Roadmap - -The producer upload implementation described by this roadmap is complete. -Current behavior is documented outside roadmap files: - -- [README](../../README.md) -- [Source bundle contract](../integrations/source-bundle.md) -- [HTTP upload contract](../integrations/http-upload.md) -- [Operations](../operations.md) -- [Troubleshooting](../troubleshooting.md) -- [Application internals](../internal/app.md) -- [Development policy](../policy/development.md) - -This file now tracks only producer-upload work that remains outside the current -implementation. - -## Deferred Work - -- Durable idempotency storage across server restarts. -- Database-backed queues or durable producer retry processing. -- `UploadAndWait`, long polling, run cancellation, run retry, or run listing - helpers. -- Zstandard archives. -- Multipart, resumable, or streaming upload protocols. -- URL-token authentication. -- Browser UI or public exposure defaults. diff --git a/docs/roadmap/producer.md b/docs/roadmap/producer.md deleted file mode 100644 index 877b224..0000000 --- a/docs/roadmap/producer.md +++ /dev/null @@ -1,23 +0,0 @@ -# Roadmap: Producer Upload Deferred Work - -The producer HTTP upload package plan has been implemented for the current -server and client scope. Current behavior is documented outside roadmap files: - -- [Source bundle contract](../integrations/source-bundle.md) -- [HTTP upload contract](../integrations/http-upload.md) -- [Operations](../operations.md) -- [Development policy](../policy/development.md) - -This roadmap records producer-upload extensions that are intentionally not part -of the current implementation. - -## Deferred Work - -- Durable idempotency records across server restarts. -- Producer coordination integrated with a database-backed queue. -- Durable client queues or background producer workers. -- `UploadAndWait` or long-polling helpers. -- Run cancellation, retry, or listing endpoints. -- Zstandard-compressed tar archives. -- Multipart, resumable, or streaming object upload support. -- URL-token authentication for constrained clients.