Commit Graph

425 Commits

Author SHA1 Message Date
Joseph Doherty be301e2e5a Merge branch 'worktree-agent-a5ce7551' 2026-03-01 08:43:24 -05:00
Joseph Doherty 4e63820e7a feat(batch42): implement foundation helpers — msgtrace, monitor helpers, scheduler
Group A: Create MsgTrace.cs with TraceCompressionType, MsgTraceState (factory
methods, pipeline event helpers, sendEvent/sendEventFromJetStream, trace header
injection) and MsgTraceHelper (sample, genHeaderMapIfTraceHeadersPresent,
initAndSendIngressErrEvent, isMsgTraceEnabled, msgTraceSupport). Adds Trace field
to PublishArgument and Trace accessor to ParseContext.

Group C: Create MonitorHelpers.cs with GatewayzOptions, Gatewayz, RemoteGatewayz,
AccountGatewayz, ExtImport, ExtServiceLatency types; plus 25 standalone helper
functions (newSubsDetailList, newSubsList, createProxyInfo, makePeerCerts,
decodeBool, decodeUint64, decodeInt, decodeState, decodeSubs, newSubDetail,
newClientSubDetail, myUptime, tlsCertNotAfter, urlsToStrings, getPinnedCertsAsSlice,
getMonitorGWOptions, createOutboundRemoteGatewayz, createOutboundAccountsGatewayz,
createAccountOutboundGatewayz, createInboundAccountsGatewayz,
createInboundAccountGatewayz, ResponseHandler, handleResponse, newExtServiceLatency,
newExtImport).

Group D: Implement GetScheduledMessages in MsgScheduling; add Seq field to InMsg
for out-of-band scheduling sort. Group B (GatewayInterestMode.String) already complete.
2026-03-01 08:42:50 -05:00
Joseph Doherty 96e395a113 feat(batch43): implement account resolvers and service latency tracking
Implements 37 deferred features from Batch 43:

Group A - Type methods:
- ServiceRespType.String: already existed via ToNatsString extension
- NewMapDest: already existed as MapDest.New factory
- ServiceLatency.merge → ServiceLatencyExtensions.Merge + Sanitize

Group B - Tracing headers (new TracingHeaders static class in AccountTypes.cs):
- newB3Header → TracingHeaders.NewB3Header
- newUberHeader → TracingHeaders.NewUberHeader
- newTraceCtxHeader → TracingHeaders.NewTraceCtxHeader
- shouldSample → TracingHeaders.ShouldSample

Group C - Service export timers (new extension methods in AccountTypes.cs):
- serviceImport.isRespServiceImport → ServiceImportEntryExtensions.IsRespServiceImport
- serviceExport.setResponseThresholdTimer → ServiceExportEntryExtensions.SetResponseThresholdTimer
- serviceExport.clearResponseThresholdTimer → ServiceExportEntryExtensions.ClearResponseThresholdTimer
- serviceExport.checkExpiredResponses → ServiceExportEntryExtensions.CheckExpiredResponses

Group D - Latency & client updates:
- sanitizeLatencyMetric → ServiceLatencyExtensions.SanitizeLatencyMetric
- updateAllClientsServiceExportResponseTime → ServiceExportClientHelpers.UpdateAllClientsServiceExportResponseTime
- ClientConnection.UpdateRrTrackingThreshold (helper for above)

Group E - Account resolvers (NatsServer.AccountResolvers.cs):
- authAccounts → NatsServer.AuthAccounts
- Server.SetAccountResolver + GetAccountResolver
- Server.UpdateAccountClaims + UpdateAccountClaimsWithRefresh
- buildPermissionsFromJwt → NatsServer.BuildPermissionsFromJwt (with JwtPermissions stub types)
- buildInternalNkeyUser → NatsServer.BuildInternalNkeyUser (with JwtUserClaims stub type)
- fetchAccount → NatsServer.FetchAccountFromResolverAsync
- respondToUpdate → NatsServer.RespondToUpdate (with ClaimUpdateResponse/Status/Error types)
- handleListRequest → NatsServer.HandleListRequest
- handleDeleteRequest → NatsServer.HandleDeleteRequest
- getOperatorKeys → NatsServer.GetOperatorKeys
- claimValidate → NatsServer.ClaimValidate
- removeCb → NatsServer.RemoveCb

Group F - Directory resolvers:
- Server.fetch → NatsServer.ServerFetch (stub falls back to direct resolver)
- DirAccResolver.Fetch, NewDirAccResolver, FetchTimeout already in AccountResolver.cs
- NewCacheDirAccResolver, CacheDirAccResolver.Reload already in AccountResolver.cs

Supporting changes:
- Account.cs: expose ExpiredTimeout as internal, add ReadLock/ReadUnlock/WriteLock/WriteUnlock
  helpers plus GetResponseCount/GetResponseEntries for CheckExpiredResponses
- AccountTypes.cs: add using System.Globalization for hex parsing
- NatsServerTypes.cs: add AccountClaims.Name property (JWT name tag)
2026-03-01 08:32:40 -05:00
Joseph Doherty ecd18cf1a9 chore: re-audit all batch 16-41 features and tests after merge
Reset deferred items to unknown and re-ran Roslyn audit.
Features: 428 promoted to verified, 363 remain deferred.
Tests: 209 promoted to verified, 880 remain deferred.
Overall progress: 82.0% (5694/6942).
2026-03-01 07:56:43 -05:00
Joseph Doherty 552e58cb26 chore: update report timestamp after all batches 16-41 complete 2026-03-01 06:39:17 -05:00
Joseph Doherty 214b145d76 chore(batch35): reconcile porting.db after merge 2026-03-01 02:45:50 -05:00
Joseph Doherty 037fb4bfc8 feat(batch35): merge js-cluster-remaining 2026-03-01 02:45:38 -05:00
Joseph Doherty 6a14aa816b batch35: finalize audits, batch completion, and report 2026-03-01 02:42:45 -05:00
Joseph Doherty 788abc1702 batch35: add and verify raft test waves T2-T4 2026-03-01 02:41:03 -05:00
Joseph Doherty 9e4405c2a1 batch35: add and verify test wave T1 2026-03-01 02:37:07 -05:00
Joseph Doherty 4c3a3fad69 chore(batch25): reconcile porting.db after merge 2026-03-01 02:32:08 -05:00
Joseph Doherty 73d9871be6 feat(batch25): merge gateways 2026-03-01 02:31:54 -05:00
Joseph Doherty 8baa604dce batch35: implement and verify feature group C 2026-03-01 02:30:35 -05:00
Joseph Doherty c6363745bc feat(batch25): complete gateways implementation and verification 2026-03-01 02:30:25 -05:00
Joseph Doherty ee1ab96d7c feat(batch25): verify gateway features and tests 2026-03-01 02:28:43 -05:00
Joseph Doherty 015b19b6f6 test(batch25): port cross-module gateway integration tests 2026-03-01 02:26:30 -05:00
Joseph Doherty 35becf549a batch35: implement and verify feature group B 2026-03-01 02:25:57 -05:00
Joseph Doherty 6ddad39b4a test(batch25): port gateway edge, reload, and slow-consumer tests 2026-03-01 02:23:37 -05:00
Joseph Doherty cf9f40ab0c batch35: implement and verify feature group A 2026-03-01 02:21:30 -05:00
Joseph Doherty 3412ec6d5c test(batch25): port gateway interest and service-import tests 2026-03-01 02:21:23 -05:00
Joseph Doherty a0763cd248 test(batch25): port gateway connect and tls baseline tests 2026-03-01 02:19:11 -05:00
Joseph Doherty 0d6e040450 batch35: task1 preflight and baseline evidence 2026-03-01 02:13:45 -05:00
Joseph Doherty e9be0751ec feat(batch25): implement gateway reply map and inbound message pipeline 2026-03-01 02:07:25 -05:00
Joseph Doherty f0b50c0b4c chore(batch29): reconcile porting.db after merge 2026-03-01 02:03:16 -05:00
Joseph Doherty 59fa600b3c feat(batch25): implement gateway interest and outbound send logic 2026-03-01 02:00:08 -05:00
Joseph Doherty 073ee6b0ee chore(batch29): complete batch tracking and refresh status report 2026-03-01 01:58:00 -05:00
Joseph Doherty e88f780033 test(batch29): add mapped raft node tests for batching behavior 2026-03-01 01:55:05 -05:00
Joseph Doherty 0fece7f2f3 feat(batch25): implement gateway URL and registry bookkeeping 2026-03-01 01:53:51 -05:00
Joseph Doherty 6ae023d4a7 feat(batch29): implement jetstream batching group-b validation and apply state 2026-03-01 01:51:17 -05:00
Joseph Doherty 1763304e28 feat(batch25): implement gateway handshake and gossip 2026-03-01 01:50:40 -05:00
Joseph Doherty a83339fe71 feat(batch25): implement gateway bootstrap and solicitation 2026-03-01 01:47:07 -05:00
Joseph Doherty 02d3b610a1 feat(batch29): implement jetstream batching group-a lifecycle/store methods 2026-03-01 01:45:35 -05:00
Joseph Doherty 6cf904cc7d chore(batch29): run preflight and baseline gates 2026-03-01 01:39:31 -05:00
Joseph Doherty 93f34c4782 chore(batch39): reconcile porting.db after merge 2026-03-01 01:35:35 -05:00
Joseph Doherty 58db8adbc7 feat(batch39): merge consumer-dispatch 2026-03-01 01:35:20 -05:00
Joseph Doherty a99fa837b2 chore(batch24): reconcile porting.db after merge 2026-03-01 01:35:03 -05:00
Joseph Doherty 8dcd582e8d chore(batch24): remove generated build artifacts 2026-03-01 01:32:08 -05:00
Joseph Doherty 3e9ad16033 feat(batch24): complete leaf nodes implementation and verification 2026-03-01 01:31:57 -05:00
Joseph Doherty 6d87a5a147 feat(batch39): complete consumer dispatch batch and verify all mappings 2026-03-01 01:31:48 -05:00
Joseph Doherty 09f73a0d2f task6(batch39): implement shutdown and signal flow paths 2026-03-01 01:30:17 -05:00
Joseph Doherty c0ec1f3341 task5(batch39): add reply parsing and consumer identity helpers 2026-03-01 01:25:26 -05:00
Joseph Doherty 519ee6ad49 task4(batch39): add delivery and redelivery dispatch behavior 2026-03-01 01:21:16 -05:00
Joseph Doherty f537612d7c task3(batch39): implement dispatch core and ack-floor processing 2026-03-01 01:16:27 -05:00
Joseph Doherty ff7e674ec4 chore(batch41): reconcile porting.db after merge 2026-03-01 01:13:50 -05:00
Joseph Doherty b5d736ce89 feat(batch41): merge mqtt-client-io 2026-03-01 01:13:32 -05:00
Joseph Doherty 0760c550b4 task2(batch39): implement group A waiting/pull dispatch and T1 tests 2026-03-01 01:13:03 -05:00
Joseph Doherty f2b1928a94 batch41: implement mqtt reader/writer and subject conversion slice 2026-03-01 01:08:31 -05:00
Joseph Doherty 94d339148a chore(batch39): start batch and record baseline gates 2026-03-01 01:01:29 -05:00
Joseph Doherty af732e6b12 chore(batch38): reconcile porting.db after merge 2026-03-01 00:58:33 -05:00
Joseph Doherty 2aaa38cad9 feat(batch38): merge consumer-lifecycle 2026-03-01 00:57:36 -05:00