Copy architecture docs, ADRs, storage domain specs, research, reviews, and 56 storage architecture tasks from the alkhub_ts monorepo. Adapt for standalone @alkdev/hub repo structure (src/ not packages/hub/). Sanitize all sensitive information: - Replace private IPs (10.0.0.1) with localhost defaults - Remove internal server hostnames (dev1, ns528096) - Replace /workspace/ private paths with npm package references - Remove hardcoded credentials from examples - Rewrite infrastructure.md without private network details Add Deno project scaffolding: deno.json (pinned deps), .gitignore, AGENTS.md, entry point. Migrate existing code stubs (crypto, config types, logger) with updated import paths.
2.8 KiB
2.8 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level |
|---|---|---|---|---|---|---|---|
| update-pubsub-doc | Update pubsub-redis.md for @alkdev/pubsub | completed | moderate | low | component | implementation |
Description
docs/architecture/pubsub-redis.md describes code that's now in @alkdev/pubsub. The doc needs a substantial rewrite to reflect the new package's API surface, including EventEnvelope, WebSocket and Worker event targets, the prefix/close() Redis API, and the expanded operator set.
Key changes
- Source location — Change from
packages/core/pubsub/to@alkdev/pubsubnpm package - createPubSub API — Document
PubSubEventMappattern (simple{ [eventType: string]: payload }) replacingPubSubPublishArgsByKey.publish(type, id, payload)always takes 3 explicit args. - EventEnvelope — New concept:
{ type, id, payload }is the universal cross-process message format. Types starting with__are reserved for adapter control messages (used by WS event targets for__subscribe/__unsubscribe). - Redis EventTarget — Add
prefixoption (e.g.,"alk:events:") andclose()method. Remove the "configure serializer or wrap event target" workaround —prefixis now a parameter. - WebSocket EventTarget — No longer "Not started" / "Deferred". Document both:
@alkdev/pubsub/event-target-websocket-client— spoke-side adapter@alkdev/pubsub/event-target-websocket-server— hub-side adapter withaddConnection()/removeConnection(), per-connectionSpokeEventTarget, backpressure handling
- Worker EventTarget — New adapter: host (
createWorkerHostEventTarget(worker)) and thread (createWorkerThreadEventTarget()) - Operators — List all 13:
filter,map,pipe,take,reduce,toArray,batch,dedupe,window,flat,groupBy,chain,join - Repeater — Inlined, no external
@repeaterjs/repeaterdependency - Package exports — Document the 5 subpath exports:
.,./event-target-redis,./event-target-websocket-client,./event-target-websocket-server,./event-target-worker - Prior Art — Update to reflect
@alkdev/pubsubis a standalone package, not forked graphql-yoga code
Acceptance Criteria
- Source location references
@alkdev/pubsubthroughout createPubSubAPI docs usePubSubEventMappattern- EventEnvelope concept is documented
- Redis EventTarget docs include
prefixandclose() - WebSocket client and server event targets are documented (not marked as deferred)
- Worker event target is documented
- All 13 operators are listed
- No references to
packages/core/pubsub/remain - Prior Art section reflects standalone package, not in-repo fork
References
- docs/reviews/core-library-extraction-sync-2026-05-18.md (Section 2.6)