Joseph Doherty
a660e38575
Implement deferred WaitQueue, DiskAvailability, and NoOpCache behavior with tests
2026-02-27 09:58:37 -05:00
Joseph Doherty
8849265780
Eliminate PortTracker stub backlog by implementing Raft/file-store/stream/server/client/OCSP stubs and adding coverage. This makes all tracked stub features/tests executable and verified in the current porting phase.
2026-02-27 08:56:26 -05:00
Joseph Doherty
ba4f41cf71
feat: implement SubscriptionIndex + JetStreamMemStore cluster — 39 features verified
...
Add SubscriptionIndex factory methods, notification wrappers, and
ValidateMapping. Implement 24 MemStore methods (TTL, scheduling, SDM,
age-check, purge/compact/reset) with JetStream header helpers and
constants. Verified features: 987 → 1026.
2026-02-27 06:19:47 -05:00
Joseph Doherty
4e61314c1c
docs: add AGENTS.md for OpenAI Codex with PortTracker reference and porting workflow
2026-02-27 06:11:11 -05:00
Joseph Doherty
db1de2a384
chore: update porting reports
2026-02-27 05:51:26 -05:00
Joseph Doherty
7a338dd510
feat: add audit-verified status updates with override tracking
...
Status updates (feature/test update and batch-update) now verify the
requested status against Roslyn audit classification. Mismatches
require --override "reason" to force. Overrides are logged to a new
status_overrides table and reviewable via 'override list' command.
2026-02-27 05:50:15 -05:00
Joseph Doherty
3297334261
docs: add audit-verified status updates design
2026-02-27 05:46:12 -05:00
Joseph Doherty
4972f998b7
feat: run unit test audit — classify 2680 deferred tests
...
Reset 2680 deferred unit tests to unknown and ran audit against
dotnet/tests/. Results: 18 reclassified as stub (JetStreamErrors
and SignalHandler test stubs), 2662 remain deferred.
2026-02-27 05:36:34 -05:00
Joseph Doherty
7518b97b79
feat: extend audit command to support unit tests with --type flag
2026-02-27 05:35:51 -05:00
Joseph Doherty
485c7b0c2e
docs: add unit test audit extension design
2026-02-27 05:34:31 -05:00
Joseph Doherty
9e2d763741
chore: add unknown status to schema and update porting report
2026-02-27 05:27:47 -05:00
Joseph Doherty
0c9eb2a06c
fix: correct 87 dotnet_class name mismatches and re-audit
...
Fixed 630 features with wrong class names in the DB:
- JetStreamErrors -> JsApiErrors (208)
- RaftNode -> IRaftNode (169)
- JetStreamMemoryStore -> JetStreamMemStore (80)
- 42 *Option -> *ReloadOption mappings
- 13 Sort* -> SortBy* mappings
- 21 other class name corrections
Re-audit reclassified 192 features from deferred:
verified: 987 (+412 from initial 575)
stub: 168 (+59 from initial 109)
deferred: 2500 (-192 from initial 2692)
n_a: 18 (unchanged)
2026-02-27 05:26:55 -05:00
Joseph Doherty
a91cfbc7bd
feat: run feature status audit — classify 3394 unknown features
...
Automated classification using Roslyn syntax tree analysis:
verified: 575
stub: 109
n_a: 18
deferred: 2692
2026-02-27 05:21:45 -05:00
Joseph Doherty
26d6d7fe68
feat: add audit command — orchestrates feature status classification
2026-02-27 05:18:28 -05:00
Joseph Doherty
0436e08fc1
feat: add FeatureClassifier — heuristic-based feature classification
2026-02-27 05:17:35 -05:00
Joseph Doherty
2dd23211c7
feat: add SourceIndexer — Roslyn-based .NET source parser for audit
2026-02-27 05:16:58 -05:00
Joseph Doherty
c5c6fbc027
chore: add Roslyn package to PortTracker for feature audit
2026-02-27 05:16:07 -05:00
Joseph Doherty
84dc9d1e1d
docs: add feature audit script implementation plan
...
7 tasks: add Roslyn package, create SourceIndexer, FeatureClassifier,
AuditCommand, smoke test, execute audit, cleanup.
2026-02-27 05:12:49 -05:00
Joseph Doherty
60dce2dc9a
docs: add feature audit script design
...
Automated PortTracker CLI command (feature audit) using Roslyn syntax
tree analysis to classify 3394 unknown features into verified/stub/n_a/deferred.
2026-02-27 05:09:37 -05:00
Joseph Doherty
e7f259710a
docs: add feature status audit implementation plan
...
68 batch tasks processing 50 features each. Each batch: fetch unknown
features, inspect .NET source, classify, dry-run, execute via PortTracker CLI.
2026-02-27 04:50:37 -05:00
Joseph Doherty
810ef29dbb
docs: add feature status audit design
...
Design for classifying 3394 unknown features against their .NET
implementations in batches of 50, using PortTracker batch-update
with mandatory dry-run before execution.
2026-02-27 04:49:21 -05:00
Joseph Doherty
01df4ccff3
chore: update porting reports
2026-02-27 04:45:23 -05:00
Joseph Doherty
4ba6b2642e
Merge branch 'worktree-agent-ac3fde22'
...
# Conflicts:
# reports/current.md
# reports/report_0a6e6bf.md
2026-02-27 04:44:05 -05:00
Joseph Doherty
21bb760e63
Merge branch 'worktree-agent-a0a5dc7b'
...
# Conflicts:
# reports/current.md
# reports/report_0a6e6bf.md
2026-02-27 04:43:58 -05:00
Joseph Doherty
4901249511
Merge branch 'worktree-agent-a54fc93d'
...
# Conflicts:
# reports/current.md
# reports/report_0a6e6bf.md
2026-02-27 04:43:51 -05:00
Joseph Doherty
7769966e2e
feat(porttracker): add library batch-update and batch-map commands
2026-02-27 04:43:11 -05:00
Joseph Doherty
750916caed
feat(porttracker): add module batch-update and batch-map commands
2026-02-27 04:42:49 -05:00
Joseph Doherty
b63f66fbdc
feat(porttracker): add test batch-update and batch-map commands
2026-02-27 04:42:30 -05:00
Joseph Doherty
2a900bf56a
feat(porttracker): add feature batch-update and batch-map commands
2026-02-27 04:42:17 -05:00
Joseph Doherty
0a6e6bf60d
feat(porttracker): add BatchFilters shared infrastructure
2026-02-27 04:40:27 -05:00
Joseph Doherty
3f6c5f243d
feat(porttracker): add ExecuteInTransaction to Database
2026-02-27 04:38:59 -05:00
Joseph Doherty
a99092d0bd
docs: add PortTracker batch operations implementation plan
...
7 tasks: Database transaction helper, BatchFilters infrastructure,
batch commands for feature/test/module/library, and smoke tests.
2026-02-27 04:37:36 -05:00
Joseph Doherty
97be7a25a2
docs: add PortTracker batch operations design
...
Design for batch-update and batch-map subcommands across all entity
types (feature, test, module, library) with shared filter infrastructure
and dry-run-by-default safety.
2026-02-27 04:34:52 -05:00
Joseph Doherty
11ec33da53
fix: mark server module features as deferred, not verified
...
Add 'deferred' to features.status CHECK constraint (table migration).
Server module (module_id=8) 3394 features: verified → deferred.
These features have ported implementations but their unit tests are
deferred pending a runnable .NET server end-to-end.
Small module features (modules 1-7, 9-12) remain verified.
2026-02-26 21:53:53 -05:00
Joseph Doherty
1c5921d2c1
fix(p7-10): fix integration test quality issues (server guard, parallelism, flakiness, exception propagation)
2026-02-26 20:21:29 -05:00
Joseph Doherty
3e35ffadce
chore: remove UnitTest1.cs scaffolding artifact from unit test project
2026-02-26 20:17:25 -05:00
Joseph Doherty
6a1df6b6f8
feat(p7-10): mark deferred tests, add integration tests, close Phase 7
...
- 2126 server-integration tests marked deferred
- NatsServerBehaviorTests.cs replaces UnitTest1.cs placeholder
- Server module and all features marked verified
- stub tests cleared to deferred
2026-02-26 20:14:38 -05:00
Joseph Doherty
9552f6e7e9
fix(p7-09): move DirectoryStoreTests to Accounts/, add missing PriorityPolicy test case
2026-02-26 20:10:04 -05:00
Joseph Doherty
f0faaffe69
feat(p7-09): JetStream unit tests — versioning (12), dirstore (12), batching/errors deferred (66)
...
Port session P7-09: add tests from jetstream_versioning_test.go (T:1791–1808),
dirstore_test.go (T:285–296), jetstream_batching_test.go (T:716–744),
jetstream_errors_test.go (T:1381–1384), and accounts_test.go (T:80–110).
- JetStreamVersioningTests: 12 active unit tests + 6 deferred (server-required)
- DirectoryStoreTests: 12 filesystem tests using fake JWTs (no NKeys dependency)
- JetStreamBatchingTests: 29 deferred stubs (all require running JetStream cluster)
- JetStreamErrorsTests: 4 deferred stubs (NewJS* factories not yet ported)
- accounts_test.go T:80–110: 31 deferred (all use RunServerWithConfig)
Fix DirJwtStore.cs expiration bugs:
- Use DateTimeOffset.UtcNow.UtcTicks (not Unix-relative ticks) for expiry comparison
- Replace in-place JwtItem mutation with new-object replacement so DrainStale
can detect stale heap entries via ReferenceEquals check
Add JetStreamVersioning.cs methods: SetStaticStreamMetadata,
SetDynamicStreamMetadata, CopyStreamMetadata, SetStaticConsumerMetadata,
SetDynamicConsumerMetadata, SetDynamicConsumerInfoMetadata, CopyConsumerMetadata.
Tests: 725 pass, 53 skipped/deferred, 0 failures.
DB: +24 complete, +66 deferred.
2026-02-26 20:02:00 -05:00
Joseph Doherty
6e90eea736
feat(p7-07): defer all 249 filestore tests — FileStore implementation is a stub
...
All methods on JetStreamFileStore throw NotImplementedException (session 18
placeholder). Marked all 249 unit_tests (IDs 351–599) for server/filestore_test.go
as deferred in porting.db. No test file created; tests will be written once the
FileStore implementation is ported. All 701 existing unit tests continue to pass.
2026-02-26 19:40:05 -05:00
Joseph Doherty
0950580967
feat(p7-06): port memstore & store interface tests (38 tests)
...
Add JetStreamMemoryStoreTests (27 tests, T:2023-2056) and
StorageEngineTests (11 tests, T:2943-2957) covering the JetStream
memory store and IStreamStore interface. Fix 10 bugs in MemStore.cs
discovered during test authoring: FirstSeq constructor, Truncate(0)
SubjectTree reset, PurgeEx subject-filtered implementation,
UpdateConfig MaxMsgsPer enforcement, FilteredStateLocked partial
range scan, StoreRawMsgLocked DiscardNewPer, MultiLastSeqs maxSeq
fallback scan + LastNeedsUpdate recalculation, AllLastSeqs
LastNeedsUpdate recalculation, LoadLastLocked LazySubjectState
recalculation, GetSeqFromTime ts==last equality, and timestamp
precision (100-ns throughout). 20 tests deferred (internal fields,
benchmarks, TTL, filestore-only). All 701 unit tests pass.
2026-02-26 19:35:58 -05:00
Joseph Doherty
917cd33442
feat(p7-05): fill signal & log stubs — SignalHandlerTests, ServerLoggerTests
...
- Add RemovePassFromTrace, RemoveAuthTokenFromTrace, RemoveSecretsFromTrace
static methods to ServerLogging (mirrors removeSecretsFromTrace/redact in
server/client.go); uses same regex patterns as Go source to redact only the
first match's value with [REDACTED].
- Update ClientConnection.RemoveSecretsFromTrace stub to delegate to
ServerLogging.RemoveSecretsFromTrace.
- Add 2 unit tests to SignalHandlerTests (T:2919 invalid command, T:2920 invalid
PID); mark 14 process-injection/subprocess tests as deferred ([Fact(Skip=…)]).
- Create ServerLoggerTests with 3 test methods (T:2020, T:2021, T:2022) covering
NoPasswordsFromConnectTrace, RemovePassFromTrace (8 theory cases),
RemoveAuthTokenFromTrace (8 theory cases).
- DB: 3 log tests → complete, 2 signal tests → complete, 14 signal tests → deferred.
- All 663 unit tests pass (was 645), 14 deferred skipped.
2026-02-26 19:15:57 -05:00
Joseph Doherty
364329cc1e
feat(p7-04): fill auth & config-check stubs — 1 written, 39 deferred
...
auth_test.go (6): T:153 GetAuthErrClosedState written as pure unit test;
T:147/149-152 use RunServer/RunServerWithConfig → deferred.
auth_callout_test.go (31): all use NewAuthTest (RunServer) → all deferred.
config_check_test.go (3): depend on Go .conf-format parser not yet ported → deferred.
Adds 7 new test methods to AuthHandlerTests; suite grows 638→645.
2026-02-26 19:07:44 -05:00
Joseph Doherty
91f86b9f51
feat(p7-03): fill jwt_test.go stubs — all 88 marked deferred
...
All 88 unit test stubs in server/jwt_test.go (IDs 1809–1896) depend on
server infrastructure (RunServer, opTrustBasicSetup, newClientForServer,
s.LookupAccount, s.UpdateAccountClaims, etc.) and cannot be exercised as
pure unit tests. Marked all 88 as 'deferred' for Phase 8 integration testing.
Full suite remains at 638 passing tests.
2026-02-26 19:04:02 -05:00
Joseph Doherty
f0b4138459
feat(p7-02): fill opts_test.go stubs — ServerOptionsTests
...
Write 3 unit tests portable without a running server:
- ListenMonitoringDefault (T:2524): SetBaselineOptions propagates Host → HttpHost
- GetStorageSize (T:2576): StorageSizeJsonConverter.Parse K/M/G/T suffixes
- ClusterNameAndGatewayNameConflict (T:2571): ValidateOptions returns ErrClusterNameConfigConflict
Mark 74 opts_test.go stubs deferred: tests require either the NATS
conf-format parser (not yet ported), a running server (RunServer/NewServer),
or CLI flag-parsing infrastructure (ConfigureOptions).
Fix StorageSizeJsonConverter.Parse to return 0 for empty input,
matching Go getStorageSize("") == (0, nil).
Total unit tests: 638 passing.
2026-02-26 19:00:18 -05:00
Joseph Doherty
8b63a6f6c2
feat(p7-01): verify 11 small modules (114 tests), mark thw benchmarks n/a
2026-02-26 18:53:54 -05:00
Joseph Doherty
08620388f1
feat(p7-01): add 'deferred' status to unit_tests schema
...
SQLite table recreated (no ALTER TABLE support for CHECK constraints).
porting-schema.sql updated to match. Row count unchanged at 3257.
2026-02-26 18:50:50 -05:00
Joseph Doherty
7750b46f9f
docs: Phase 7 implementation plan — 11 tasks, 10 sessions
...
Covers schema migration, small-module verification, 224 stub fills,
401 new unit tests, 2126 deferred server-integration tests, and
NatsServerBehaviorTests integration baseline.
2026-02-26 18:49:24 -05:00
Joseph Doherty
d09de1c5cf
docs: Phase 7 design — porting verification approach
...
Defines two-layer test strategy (unit vs server-integration/deferred),
10-session structure, schema extension adding deferred status, and
completion criteria for Phase 7.
2026-02-26 18:38:28 -05:00
Joseph Doherty
a0c9c0094c
fix: session B — Go-faithful auth error states, NKey padding, permissions, signal disposal
2026-02-26 17:49:13 -05:00