Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
# Tasks: enterprise-streams-chunk-queue
- **Change ID**: enterprise-streams-chunk-queue
- **Package**: `@suaveplan/streams-chunk-queue`
- **Date**: 2026-05-23
## 0. Pre-flight (non-negotiable)
- [x] 0.1 `git status` clean in worktree; branch renamed to `feat/streams-chunk-queue`.
- [x] 0.2 Worktree under `.claude/worktrees/agent-a42db4238ae08d309` accounted for (this change).
- [x] 0.3 `STATUS.md` lists `@suaveplan/streams-chunk-queue` as `–` (pending) → confirms genesis-side absence.
- [x] 0.4 Upstream source read end-to-end: `src/core/streaming-chunk-queue.ts`, `src/types/types.ts`, `README.md`.
- [x] 0.5 Genesis dependency APIs audited: `AbstractStorage`, `TokenBucket.consume()`, `ChunkVerifier.verify()` shapes confirmed before authoring adapters.
## 1. Errors
- [x] 1.1 `errors/streams-chunk-queue-error.ts` — `STREAMS_CHUNK_QUEUE_CODES` via `defineCodes`, `StreamsChunkQueueError`.
- [x] 1.2 Tests cover construction, code preservation, cause chaining.
## 2. Shared types
- [x] 2.1 `types/types.ts` — `ChunkMetadata`, `StoredChunk`, `ChunkRequest`, `StreamEvent`, `StreamingQueueStatus`, `StreamingChunkQueueHooks`. All chunk IDs `bigint`.
## 3. Validator subsystem
- [x] 3.1 `validator/validator.ts` — `ChunkValidator` strategy + `NoopChunkValidator`.
- [x] 3.2 `validator/chunk-verifier-validator.ts` — adapter wrapping `@suaveplan/packer` `ChunkVerifier`.
## 4. Decryptor subsystem
- [x] 4.1 `decryptor/decryptor.ts` — `ChunkDecryptor` strategy + `NoopChunkDecryptor`.
## 5. Rate-limiter adapter
- [x] 5.1 `rate-limiter/adapter.ts` — `TokenBucketRateLimiterAdapter` adapting genesis `TokenBucket.consume()`.
## 6. Storage adapter
- [x] 6.1 `storage-adapter/persister.ts` — `StorageChunkPersister` over `AbstractStorage`.
## 7. Binary protocol
- [x] 7.1 `binary-protocol/encoder.ts` — `encodeChunkRequest` u64+u32+bitmap layout.
## 8. Hooks + events
- [x] 8.1 `hooks/hooks.ts` — `invokeHook` safe-invocation helper.
- [x] 8.2 `events/events.ts` — `StreamEventEmitter` with wildcard support.
## 9. Telemetry
- [x] 9.1 `telemetry/telemetry.ts` — OTel meter with counters and histogram.
## 10. Core `StreamingChunkQueue`
- [x] 10.1 `queue/streaming-chunk-queue.ts` — composes validator, decryptor, rate limiter, persister, telemetry, hooks, events.
- [x] 10.2 Tests cover construction validation, out-of-range chunkId, duplicate ignore, out-of-order assembly, autostart, rate-limit retry, validation/decryption failure, persist/load round-trip, timeout, status, wildcard listener, hook invocation, cancel + clear.
## 11. Docs
- [x] 11.1 Every implementation `.ts` has a sibling `.md` (≥200 words).
- [x] 11.2 Root `README.md` with Modules section.
## 12. Pre-publish gate
- [x] 12.1 `bunx turbo lint typecheck test --filter=@suaveplan/streams-chunk-queue` green.
- [x] 12.2 `bunx turbo test:coverage --filter=@suaveplan/streams-chunk-queue` at 100/100/100/100.
- [x] 12.3 `docs:check` 100%.
## 13. Spec fold + archive
- [x] 13.1 Fold spec delta into `openspec/specs/streams-chunk-queue/spec.md`.
- [x] 13.2 Move folder to `openspec/archive/2026-05-23-enterprise-streams-chunk-queue/`.
- [x] 13.3 Run `bun scripts/folder-reorg/generate-manifest.ts`.
## 14. Commit
- [x] 14.1 Commit on `feat/streams-chunk-queue`. No push, no main, no `--no-verify`.