feat(GA): close P0-5 (single-instance caps) + P1-2 (unbounded growth)#1837
Merged
Conversation
…ge duplicates ADR-0048 §3.4 retired the per-item cross-package collision throw, but the naming/namespace-prefix lint rule was never updated to match. It fired on every bare-named UI/automation item (hotcrm: 63 false positives) and claimed the package would "collide on the registry key and fail at install" — both false. The rule now warns only on a genuine intra-package duplicate (type, name) pair within the linted config (the authoring-hygiene case §3.4 leaves to os lint). Unique bare names produce zero warnings. Message no longer claims an install failure. Runtime/registry behavior unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Lands the two GA-gating launch-readiness items, scoped to the v1 single-instance topology decision. P0-5 (realtime/feed in-memory, no cluster coordination) — accepted as single-instance/non-HA for v1 with memory backstops: - InMemoryFeedAdapter defaults maxItems to DEFAULT_MAX_FEED_ITEMS (100k) - InMemoryRealtimeAdapter defaults maxSubscriptions to DEFAULT_MAX_SUBSCRIPTIONS (50k) - 0 = explicit unbounded opt-out; both plugins document the non-HA contract - HA (Redis realtime adapter + DB feed adapter) recorded as post-GA roadmap P1-2 (unbounded execution logs / job runs / event log): - service-job: new JobRunRetention sweeper (mirrors NotificationRetention), default-on at 30d, swept every 6h via an unref'd timer wired in JobServicePlugin kernel:ready (DB path); retentionDays:0 disables - service-messaging: retention flipped default-on (0 -> 90d). Behaviour change: notification history now auto-prunes at 90d (set 0 to keep forever) - service-automation: exec-log ring buffer cap made configurable via AutomationServicePluginOptions.maxLogSize (default unchanged at 1000) +11 tests across feed/realtime/job/automation; all touched packages build (incl. DTS) and test green. launch-readiness.md updated (P0-5/P1-2 verified, topology checkbox, HA roadmap). Changesets included. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands the two GA-gating launch-readiness items, scoped to the single-instance v1 topology decision.
P0-5 — realtime/feed in-memory, no cluster coordination
Accepted as single-instance / non-HA for v1 with default-on memory backstops:
InMemoryFeedAdapterdefaultsmaxItems→DEFAULT_MAX_FEED_ITEMS(100k)InMemoryRealtimeAdapterdefaultsmaxSubscriptions→DEFAULT_MAX_SUBSCRIPTIONS(50k)0= explicit unbounded opt-out; both plugin JSDocs state the non-HA contractRedisPubSub+ DB-backed feed adapter) recorded as post-GA roadmapP1-2 — unbounded execution logs / job runs / event log
Corrected scope: only
sys_job_runwas truly unbounded.JobRunRetention(mirrorsNotificationRetention) — bulkdelete sys_job_run where created_at < cutoffunder a system context, default-on at 30d, swept every 6h via an unref'd timer inJobServicePluginkernel:ready(DB path only);retentionDays: 0disables.0 → 90d).retentionDays: 0to keep the old keep-forever behaviour.AutomationServicePluginOptions.maxLogSize(default unchanged at 1000).Verification
docs/launch-readiness.mdupdated (P0-5/P1-2 → Verify ✓, topology checkbox ticked, HA fast-follow in roadmap). 3 changesets included.🤖 Generated with Claude Code