12 KiB
12 KiB
JetStream Remaining Parity Map
| Go Subject | .NET Route | Status | Test |
|---|---|---|---|
| $JS.API.INFO | AccountApiHandlers.HandleInfo |
ported | JetStreamAccountInfoApiTests.Account_info_returns_jetstream_limits_and_usage_shape |
| $JS.API.SERVER.REMOVE | AccountControlApiHandlers.HandleServerRemove |
ported | JetStreamAccountControlApiTests.Account_and_server_control_subjects_are_routable |
| $JS.API.ACCOUNT.PURGE.* | AccountControlApiHandlers.HandleAccountPurge |
ported | JetStreamAccountControlApiTests.Account_and_server_control_subjects_are_routable |
| $JS.API.ACCOUNT.STREAM.MOVE.* | AccountControlApiHandlers.HandleAccountStreamMove |
ported | JetStreamAccountControlApiTests.Account_and_server_control_subjects_are_routable |
| $JS.API.ACCOUNT.STREAM.MOVE.CANCEL.* | AccountControlApiHandlers.HandleAccountStreamMoveCancel |
ported | JetStreamAccountControlApiTests.Account_and_server_control_subjects_are_routable |
| $JS.API.STREAM.CREATE.* | StreamApiHandlers.HandleCreate |
ported | JetStreamStreamLifecycleApiTests.Stream_create_info_and_update_roundtrip |
| $JS.API.STREAM.INFO.* | StreamApiHandlers.HandleInfo |
ported | JetStreamStreamLifecycleApiTests.Stream_create_info_and_update_roundtrip |
| $JS.API.STREAM.UPDATE.* | StreamApiHandlers.HandleUpdate |
ported | JetStreamStreamLifecycleApiTests.Stream_update_and_delete_roundtrip |
| $JS.API.STREAM.DELETE.* | StreamApiHandlers.HandleDelete |
ported | JetStreamStreamLifecycleApiTests.Stream_update_and_delete_roundtrip |
| $JS.API.STREAM.NAMES | StreamApiHandlers.HandleNames |
ported | JetStreamStreamListApiTests.Stream_names_and_list_return_created_streams |
| $JS.API.STREAM.LIST | StreamApiHandlers.HandleList |
ported | JetStreamStreamListApiTests.Stream_names_and_list_return_created_streams |
| $JS.API.STREAM.PEER.REMOVE.* | ClusterControlApiHandlers.HandleStreamPeerRemove |
ported | JetStreamClusterControlExtendedApiTests.Peer_remove_and_consumer_stepdown_subjects_return_success_shape |
| $JS.API.STREAM.MSG.GET.* | StreamApiHandlers.HandleMessageGet |
ported | JetStreamStreamMessageApiTests.Stream_msg_get_delete_and_purge_change_state |
| $JS.API.STREAM.MSG.DELETE.* | StreamApiHandlers.HandleMessageDelete |
ported | JetStreamStreamMessageApiTests.Stream_msg_get_delete_and_purge_change_state |
| $JS.API.STREAM.PURGE.* | StreamApiHandlers.HandlePurge |
ported | JetStreamStreamMessageApiTests.Stream_msg_get_delete_and_purge_change_state |
| $JS.API.DIRECT.GET.* | DirectApiHandlers.HandleGet |
ported | JetStreamDirectGetApiTests.Direct_get_returns_message_without_stream_info_wrapper |
| $JS.API.STREAM.SNAPSHOT.* | StreamApiHandlers.HandleSnapshot |
ported | JetStreamSnapshotRestoreApiTests.Snapshot_then_restore_reconstructs_messages |
| $JS.API.STREAM.RESTORE.* | StreamApiHandlers.HandleRestore |
ported | JetStreamSnapshotRestoreApiTests.Snapshot_then_restore_reconstructs_messages |
| $JS.API.CONSUMER.CREATE.. | ConsumerApiHandlers.HandleCreate |
ported | JetStreamConsumerApiTests.Consumer_create_and_info_roundtrip |
| $JS.API.CONSUMER.INFO.. | ConsumerApiHandlers.HandleInfo |
ported | JetStreamConsumerApiTests.Consumer_create_and_info_roundtrip |
| $JS.API.CONSUMER.NAMES.* | ConsumerApiHandlers.HandleNames |
ported | JetStreamConsumerListApiTests.Consumer_names_list_and_delete_are_supported |
| $JS.API.CONSUMER.LIST.* | ConsumerApiHandlers.HandleList |
ported | JetStreamConsumerListApiTests.Consumer_names_list_and_delete_are_supported |
| $JS.API.CONSUMER.DELETE.. | ConsumerApiHandlers.HandleDelete |
ported | JetStreamConsumerListApiTests.Consumer_names_list_and_delete_are_supported |
| $JS.API.CONSUMER.PAUSE.. | ConsumerApiHandlers.HandlePause |
ported | JetStreamConsumerControlApiTests.Consumer_pause_reset_unpin_mutate_state |
| $JS.API.CONSUMER.RESET.. | ConsumerApiHandlers.HandleReset |
ported | JetStreamConsumerControlApiTests.Consumer_pause_reset_unpin_mutate_state |
| $JS.API.CONSUMER.UNPIN.. | ConsumerApiHandlers.HandleUnpin |
ported | JetStreamConsumerControlApiTests.Consumer_pause_reset_unpin_mutate_state |
| $JS.API.CONSUMER.MSG.NEXT.. | ConsumerApiHandlers.HandleNext |
ported | JetStreamConsumerNextApiTests.Consumer_msg_next_respects_batch_request |
| $JS.API.CONSUMER.LEADER.STEPDOWN.. | ClusterControlApiHandlers.HandleConsumerLeaderStepdown |
ported | JetStreamClusterControlExtendedApiTests.Peer_remove_and_consumer_stepdown_subjects_return_success_shape |
| $JS.API.STREAM.LEADER.STEPDOWN.* | ClusterControlApiHandlers.HandleStreamLeaderStepdown |
ported | JetStreamClusterControlApiTests.Stream_leader_stepdown_and_meta_stepdown_endpoints_return_success_shape |
| $JS.API.META.LEADER.STEPDOWN | ClusterControlApiHandlers.HandleMetaLeaderStepdown |
ported | JetStreamClusterControlApiTests.Stream_leader_stepdown_and_meta_stepdown_endpoints_return_success_shape |
Post-Baseline Parity Closures (2026-02-23)
| Scope | Status | Test Evidence |
|---|---|---|
Inter-server account-scoped interest protocol (A+/A-) |
ported | InterServerAccountProtocolTests.Aplus_Aminus_frames_include_account_scope_and_do_not_leak_interest_across_accounts |
Gateway reply remap (_GR_.) |
ported | GatewayAdvancedSemanticsTests.Gateway_forwarding_remaps_reply_subject_with_gr_prefix_and_restores_on_return |
Leaf loop marker/account mapping ($LDS. + LS account scope) |
ported | LeafAdvancedSemanticsTests.Leaf_loop_marker_blocks_reinjected_message_and_account_mapping_routes_to_expected_account |
| JetStream internal client lifecycle | ported | JetStreamInternalClientTests.JetStream_enabled_server_creates_internal_jetstream_client_and_keeps_it_account_scoped |
Stream runtime policy parity (max_msg_size, max_age_ms, max_msgs_per) |
ported | JetStreamStreamPolicyParityTests.Stream_rejects_oversize_message_and_prunes_by_max_age_and_per_subject_limits |
| Stream behavior parity (dedupe window + sealed/delete/purge guards) | ported | JetStreamStreamConfigBehaviorTests.Stream_honors_dedup_window_and_sealed_delete_purge_guards |
| Consumer deliver/backoff/flow-control parity | ported | JetStreamConsumerDeliverPolicyParityTests.*, JetStreamConsumerBackoffParityTests.*, JetStreamConsumerFlowControlParityTests.* |
| Mirror/source advanced parity | ported | JetStreamMirrorSourceParityTests.Source_subject_transform_and_cross_account_mapping_copy_expected_messages_only |
| FileStore block + expiry parity | ported | JetStreamFileStoreBlockParityTests.*, JetStreamStoreExpiryParityTests.* |
| RAFT advanced consensus/snapshot/membership hooks | ported | RaftConsensusAdvancedParityTests.*, RaftSnapshotTransferParityTests.*, RaftMembershipParityTests.* |
| JetStream cluster governance + cross-cluster gateway path hooks | ported | JetStreamClusterGovernanceParityTests.*, JetStreamCrossClusterGatewayParityTests.* |
Full-Repo Remaining Parity Closure (2026-02-23)
| Scope | Status | Test Evidence |
|---|---|---|
Row-level parity guard from differences.md table |
ported | DifferencesParityClosureTests.Differences_md_has_no_remaining_baseline_n_or_stub_rows_in_tracked_scope |
Profiling endpoint (/debug/pprof) |
ported | PprofEndpointTests.Debug_pprof_endpoint_returns_profile_index_when_profport_enabled |
| Accept-loop reload lock and callback hook | ported | AcceptLoopReloadLockTests.*, AcceptLoopErrorCallbackTests.* |
| Adaptive read buffer and outbound pooling | ported | AdaptiveReadBufferTests.*, OutboundBufferPoolTests.* |
| Inter-server opcode routing + trace initialization | ported | InterServerOpcodeRoutingTests.*, MessageTraceInitializationTests.* |
| SubList missing APIs and optimization/sweeper behavior | ported | SubListNotificationTests.*, SubListRemoteFilterTests.*, SubListQueueWeightTests.*, SubListMatchBytesTests.*, SubListHighFanoutOptimizationTests.*, SubListAsyncCacheSweepTests.* |
| Route account scope/topology/compression parity hooks | ported | RouteAccountScopedTests.*, RouteTopologyGossipTests.*, RouteCompressionTests.* |
| Gateway interest-only and leaf hub/spoke mapping helpers | ported | GatewayInterestOnlyParityTests.*, LeafHubSpokeMappingParityTests.* |
| Auth extension callout/proxy hooks | ported | AuthExtensionParityTests.*, ExternalAuthCalloutTests.*, ProxyAuthTests.* |
| Monitoring connz filter/field parity and varz slow-consumer breakdown | ported | ConnzParityFilterTests.*, ConnzParityFieldTests.*, VarzSlowConsumerBreakdownTests.* |
| JetStream runtime/consumer/storage/mirror-source closure tasks | ported | JetStreamStreamRuntimeParityTests.*, JetStreamStreamFeatureToggleParityTests.*, JetStreamConsumerRuntimeParityTests.*, JetStreamConsumerFlowReplayParityTests.*, JetStreamFileStoreLayoutParityTests.*, JetStreamFileStoreCryptoCompressionTests.*, JetStreamMirrorSourceRuntimeParityTests.* |
| RAFT runtime parity closure | ported | RaftConsensusRuntimeParityTests.*, RaftSnapshotTransferRuntimeParityTests.*, RaftMembershipRuntimeParityTests.* |
| JetStream cluster governance + cross-cluster runtime closure | ported | JetStreamClusterGovernanceRuntimeParityTests.*, JetStreamCrossClusterRuntimeParityTests.* |
| MQTT listener/connection/parser baseline parity | ported | MqttListenerParityTests.*, MqttPublishSubscribeParityTests.* |
JetStream Truth Matrix
| Feature | Differences Row | Evidence Status | Test Evidence |
|---|---|---|---|
| Internal JetStream client lifecycle | JETSTREAM (internal) | verified | JetStreamInternalClientTests.*, JetStreamInternalClientRuntimeTests.* |
Stream retention semantics (Limits/Interest/WorkQueue) |
Retention (Limits/Interest/WorkQueue) | verified | JetStreamRetentionPolicyTests.*, JetStreamRetentionRuntimeParityTests.* |
| Stream runtime policy and dedupe window | Duplicates dedup window | verified | JetStreamStreamPolicyParityTests.*, JetStreamDedupeWindowParityTests.* |
| Consumer deliver policy cursor semantics | DeliverPolicy (All/Last/New/StartSeq/StartTime) | verified | JetStreamConsumerDeliverPolicyParityTests.*, JetStreamConsumerDeliverPolicyLongRunTests.* |
| Ack/redelivery/backoff state-machine semantics | AckPolicy.All | verified | JetStreamConsumerBackoffParityTests.*, JetStreamAckRedeliveryStateMachineTests.* |
| Flow control, rate limiting, and replay timing | Flow control | verified | JetStreamConsumerFlowControlParityTests.*, JetStreamFlowControlReplayTimingTests.* |
| Replay timing parity under burst load | Replay policy | verified | JetStreamFlowReplayBackoffTests.*, JetStreamFlowControlReplayTimingTests.* |
| FileStore durable block/index semantics | Block-based layout (64 MB blocks) | verified | JetStreamFileStoreBlockParityTests.*, JetStreamFileStoreDurabilityParityTests.* |
| FileStore encryption/compression contracts | AES-GCM / ChaCha20 encryption | verified | JetStreamFileStoreCryptoCompressionTests.*, JetStreamFileStoreCompressionEncryptionParityTests.* |
| RAFT append/commit quorum safety | Log append + quorum | verified | RaftConsensusAdvancedParityTests.*, RaftAppendCommitParityTests.* |
| RAFT next-index/snapshot/membership convergence | Log mismatch resolution (NextIndex) | verified | RaftSnapshotTransferParityTests.*, RaftOperationalConvergenceParityTests.* |
| RAFT snapshot transfer behavior | Snapshot network transfer | verified | RaftSnapshotTransferParityTests.*, RaftOperationalConvergenceParityTests.* |
| RAFT membership changes | Membership changes | verified | RaftMembershipParityTests.*, RaftOperationalConvergenceParityTests.* |
| JetStream meta/replica governance behavior | Meta-group governance | verified | JetStreamClusterGovernanceParityTests.*, JetStreamClusterGovernanceBehaviorParityTests.* |
| Cross-cluster JetStream runtime behavior | Cross-cluster JetStream (gateways) | verified | JetStreamCrossClusterGatewayParityTests.*, JetStreamCrossClusterBehaviorParityTests.* |