Skip to content

Migrate platform feature families from Reqnroll to MSTest DSL + fix CLI tests#125

Merged
MrHinsh merged 84 commits into
mainfrom
small-fixes
Jun 9, 2026
Merged

Migrate platform feature families from Reqnroll to MSTest DSL + fix CLI tests#125
MrHinsh merged 84 commits into
mainfrom
small-fixes

Conversation

@MrHinsh

@MrHinsh MrHinsh commented Jun 9, 2026

Copy link
Copy Markdown
Member

Summary

  • Migrated all 34 platform feature families from Reqnroll/Gherkin BDD to internal MSTest DSL (C# code-first unit tests), retiring all .feature files
  • Fixed NuGet package version conflicts introduced during migration (bumped Microsoft.Extensions.*, System.*, Microsoft.Bcl.* to 10.0.8, removed stale VersionOverride attributes)
  • Fixed 3 failing CLI execution tests that were testing against a non-existent discovery inventory command — updated to use the real queue command with out-of-process execution
  • Cleaned up all orphaned .feature.cs Reqnroll code-behind files
  • Added explicit three-gate commit rule to DSL migration skills (scenario tests → full build → full test suite must all pass before commit)

Test plan

  • All 1,494 unit tests pass across 10 test assemblies (verified locally: 0 failures)
  • CLI tests: all 38 pass including the 3 previously-blocked CliCommandExecutionTests
  • dotnet build succeeds with no errors (warnings only)

🤖 Generated with Claude Code

MrHinsh and others added 30 commits June 8, 2026 13:08
…y mapping, dependency analysis, field transform pipeline, and prepare phase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All 5 scenarios mapped to pre-existing MSTest tests in
PolymorphicEndpointOptionsConverterTests and EndpointOptionsTypeRegistryTests.
Feature file deleted; full test suite passes (100/100).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Delete feature files and individual scenarios that have been fully
replaced by hand-written MSTest DSL tests, retaining only scenarios
with no equivalent coverage. Includes build fixes for orphaned
Reqnroll serialization test artefacts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ed to DSL

Add [TestCategory("UnitTest")] to FieldTransformPipelineTests, FieldTransformToolTests,
and FieldTransformFactoryTests; map all 4 feature scenarios to pre-existing MSTest methods.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ion_AfterRefactor_ContainsNoIProjectAnalyserReferences mapped to DSL
MrHinsh and others added 23 commits June 8, 2026 18:59
…y instruments are registered at startup mapped to DSL
Feature file retained from cached pre-fix run; all 4 scenarios were verified
PASS in .output/nkda-testdsl/module-isolation/06-verification.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…commands

Replace non-existent `discovery inventory` command with `queue`, switch
in-process runs to out-of-process, and tighten assertions to match
actual CLI output (file-not-found error text, no-config error text).
All 3 previously-failing CliCommandExecutionTests are now green.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 256 files, which is 106 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 02b6689f-a375-42ec-a382-1d7fccd445f3

📥 Commits

Reviewing files that changed from the base of the PR and between 74e5ad1 and e465073.

📒 Files selected for processing (256)
  • .agents/configure.ps1
  • .agents/skills/nkda-testdsl-autonomous/SKILL.md
  • .agents/skills/nkda-testdsl-verification/SKILL.md
  • .agents/workflows/nkda-testdsl-workflow.js
  • .claude/prompts
  • .claude/workflows
  • .output/nkda-testdsl/agent-job-context/01-feature-assessment.md
  • .output/nkda-testdsl/agent-job-context/02-dsl-design.md
  • .output/nkda-testdsl/agent-job-context/03-extraction-summary.md
  • .output/nkda-testdsl/agent-job-context/04-conversion-summary.md
  • .output/nkda-testdsl/agent-job-context/05-refactor-summary.md
  • .output/nkda-testdsl/agent-job-context/06-verification.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/01-feature-assessment.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/02-dsl-design.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/03-extraction-summary.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/04-conversion-summary.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/05-refactor-summary.md
  • .output/nkda-testdsl/config-polymorphic-endpoint-config/06-verification.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/01-feature-assessment.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/02-dsl-design.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/03-extraction-summary.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/04-conversion-summary.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/05-refactor-summary.md
  • .output/nkda-testdsl/field-transform-field-transform-pipeline/06-verification.md
  • .output/nkda-testdsl/host-builder-architecture/06-verification.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/01-feature-assessment.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/02-dsl-design.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/03-extraction-summary.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/04-conversion-summary.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/05-refactor-summary.md
  • .output/nkda-testdsl/iproject-analyser-removal-US3-iproject-analyser-removed/06-verification.md
  • .output/nkda-testdsl/job-execution-plan/01-feature-assessment.md
  • .output/nkda-testdsl/job-execution-plan/02-dsl-design.md
  • .output/nkda-testdsl/job-execution-plan/03-extraction-summary.md
  • .output/nkda-testdsl/job-execution-plan/04-conversion-summary.md
  • .output/nkda-testdsl/job-execution-plan/05-refactor-summary.md
  • .output/nkda-testdsl/job-execution-plan/06-verification.md
  • .output/nkda-testdsl/jobs-job-lifecycle/01-feature-assessment.md
  • .output/nkda-testdsl/jobs-job-lifecycle/02-dsl-design.md
  • .output/nkda-testdsl/jobs-job-lifecycle/03-extraction-summary.md
  • .output/nkda-testdsl/jobs-job-lifecycle/04-conversion-summary.md
  • .output/nkda-testdsl/jobs-job-lifecycle/05-refactor-summary.md
  • .output/nkda-testdsl/jobs-job-lifecycle/06-verification.md
  • .output/nkda-testdsl/jobs-job-submission/01-feature-assessment.md
  • .output/nkda-testdsl/jobs-job-submission/02-dsl-design.md
  • .output/nkda-testdsl/jobs-job-submission/03-extraction-summary.md
  • .output/nkda-testdsl/jobs-job-submission/04-conversion-summary.md
  • .output/nkda-testdsl/jobs-job-submission/05-refactor-summary.md
  • .output/nkda-testdsl/jobs-job-submission/06-verification.md
  • .output/nkda-testdsl/module-isolation/01-feature-assessment.md
  • .output/nkda-testdsl/module-isolation/02-dsl-design.md
  • .output/nkda-testdsl/module-isolation/03-extraction-summary.md
  • .output/nkda-testdsl/module-isolation/04-conversion-summary.md
  • .output/nkda-testdsl/module-isolation/05-refactor-summary.md
  • .output/nkda-testdsl/module-isolation/06-verification.md
  • .output/nkda-testdsl/observability-tiered-log-levels/01-feature-assessment.md
  • .output/nkda-testdsl/observability-tiered-log-levels/02-dsl-design.md
  • .output/nkda-testdsl/observability-tiered-log-levels/03-extraction-summary.md
  • .output/nkda-testdsl/observability-tiered-log-levels/04-conversion-summary.md
  • .output/nkda-testdsl/observability-tiered-log-levels/05-refactor-summary.md
  • .output/nkda-testdsl/observability-tiered-log-levels/06-verification.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/01-feature-assessment.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/02-dsl-design.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/03-extraction-summary.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/04-conversion-summary.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/05-refactor-summary.md
  • .output/nkda-testdsl/package-lock-exclusive-package-lock/06-verification.md
  • .output/nkda-testdsl/parallel-module-execution/01-feature-assessment.md
  • .output/nkda-testdsl/parallel-module-execution/02-dsl-design.md
  • .output/nkda-testdsl/parallel-module-execution/03-extraction-summary.md
  • .output/nkda-testdsl/parallel-module-execution/04-conversion-summary.md
  • .output/nkda-testdsl/parallel-module-execution/05-refactor-summary.md
  • .output/nkda-testdsl/parallel-module-execution/06-verification.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/01-feature-assessment.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/02-dsl-design.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/03-extraction-summary.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/04-conversion-summary.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/05-refactor-summary.md
  • .output/nkda-testdsl/project-lifecycle-ephemeral-project-lifecycle/06-verification.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/01-feature-assessment.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/02-dsl-design.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/03-extraction-summary.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/04-conversion-summary.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/05-refactor-summary.md
  • .output/nkda-testdsl/runtime-state-authority-US1-authoritative-state-scopes/06-verification.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/01-feature-assessment.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/02-dsl-design.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/03-extraction-summary.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/04-conversion-summary.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/05-refactor-summary.md
  • .output/nkda-testdsl/runtime-state-cadence-US3-fine-grained-progress-save-cadence/06-verification.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/01-feature-assessment.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/02-dsl-design.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/03-extraction-summary.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/04-conversion-summary.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/05-refactor-summary.md
  • .output/nkda-testdsl/runtime-state-identity-US2-action-qualified-cursors/06-verification.md
  • .output/nkda-testdsl/task-attribution/01-feature-assessment.md
  • .output/nkda-testdsl/task-attribution/02-dsl-design.md
  • .output/nkda-testdsl/task-attribution/03-extraction-summary.md
  • .output/nkda-testdsl/task-attribution/04-conversion-summary.md
  • .output/nkda-testdsl/task-attribution/05-refactor-summary.md
  • .output/nkda-testdsl/task-attribution/06-verification.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/01-feature-assessment.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/02-dsl-design.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/03-extraction-summary.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/04-conversion-summary.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/05-refactor-summary.md
  • .output/nkda-testdsl/telemetry-idempotency-metric-registration/06-verification.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/01-feature-assessment.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/02-dsl-design.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/03-extraction-summary.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/04-conversion-summary.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/05-refactor-summary.md
  • .output/nkda-testdsl/telemetry-otel-cloud-export/06-verification.md
  • .output/nkda-testdsl/telemetry-progress-sink/01-feature-assessment.md
  • .output/nkda-testdsl/telemetry-progress-sink/02-dsl-design.md
  • .output/nkda-testdsl/telemetry-progress-sink/03-extraction-summary.md
  • .output/nkda-testdsl/telemetry-progress-sink/04-conversion-summary.md
  • .output/nkda-testdsl/telemetry-progress-sink/05-refactor-summary.md
  • .output/nkda-testdsl/telemetry-progress-sink/06-verification.md
  • .output/nkda-testdsl/telemetry-tui-metrics-panel/06-verification.md
  • .output/nkda-testdsl/validation-post-flight-correctness-metrics/01-feature-assessment.md
  • .output/nkda-testdsl/validation-post-flight-correctness-metrics/02-dsl-design.md
  • .output/nkda-testdsl/validation-post-flight-correctness-metrics/03-extraction-summary.md
  • .output/nkda-testdsl/validation-post-flight-correctness-metrics/04-conversion-summary.md
  • .output/nkda-testdsl/validation-post-flight-correctness-metrics/05-refactor-summary.md
  • CLAUDE.md
  • Directory.Packages.props
  • Logs/atdd-sessions/034-package-manager-adoption-spec-hardening.md
  • analysis/dsl-gaps-detected.md
  • features/cli/execute/commands-execute-successfully.feature
  • features/cli/execute/configuration-flow.feature
  • features/cli/execute/host-builder-architecture.feature
  • features/cli/execute/resume-mode.feature
  • features/cli/export/export-follow-and-level.feature
  • features/cli/import/.gitkeep
  • features/cli/prepare/.gitkeep
  • features/cli/schema-validation.feature
  • features/cli/tui/tui-diagnostics-panel.feature
  • features/cli/tui/tui-job-submission-output.feature
  • features/import/artifacts/.gitkeep
  • features/import/git-repos/.gitkeep
  • features/import/identities/.gitkeep
  • features/import/identities/identity-mapping-resolution.feature
  • features/import/permissions/.gitkeep
  • features/import/pipelines/.gitkeep
  • features/import/teams/import-team-iterations.feature
  • features/import/teams/import-team-members.feature
  • features/import/work-items/attachments/.gitkeep
  • features/import/work-items/links/.gitkeep
  • features/inventory/ado/inventory-multi-org.feature
  • features/inventory/dependency-capture/US2-pure-capture-handlers.feature
  • features/inventory/icapture-rename/US1-modules-dispatch-via-icapture.feature
  • features/inventory/repos/discover-repos.feature
  • features/inventory/simulated/inventory-multi-org.feature
  • features/inventory/tfs/inventory-multi-org.feature
  • features/inventory/work-items/dependency-analysis.feature
  • features/inventory/work-items/inventory-field-projection.feature
  • features/inventory/work-items/revisions/discover-work-items.feature
  • features/platform/agent-job-context.feature
  • features/platform/config/polymorphic-endpoint-config.feature
  • features/platform/discovery/cross-project-link-detection.feature
  • features/platform/discovery/dependency-discovery-execution.feature
  • features/platform/field-transform/field-transform-pipeline.feature
  • features/platform/iproject-analyser-removal/US3-iproject-analyser-removed.feature
  • features/platform/job-execution-plan.feature
  • features/platform/jobs/job-lifecycle.feature
  • features/platform/jobs/job-submission.feature
  • features/platform/module-isolation.feature
  • features/platform/observability/diagnostics-streaming.feature
  • features/platform/observability/endpoint-rename.feature
  • features/platform/observability/log-download.feature
  • features/platform/observability/package-diagnostics-sink.feature
  • features/platform/observability/package-progress-sink.feature
  • features/platform/observability/tiered-log-levels.feature
  • features/platform/package-lock/exclusive-package-lock.feature
  • features/platform/package-manager-adoption/package-boundary-adoption.feature
  • features/platform/parallel-module-execution.feature
  • features/platform/plan-driven-execution.feature
  • features/platform/prepare-phase.feature
  • features/platform/project-lifecycle/ephemeral-project-lifecycle.feature
  • features/platform/runtime-state-authority/US1-authoritative-state-scopes.feature
  • features/platform/runtime-state-cadence/US3-fine-grained-progress-save-cadence.feature
  • features/platform/runtime-state-identity/US2-action-qualified-cursors.feature
  • features/platform/task-attribution.feature
  • features/platform/telemetry/data-classification-filtering.feature
  • features/platform/telemetry/idempotency-metric-registration.feature
  • features/platform/telemetry/in-flight-concurrency-metrics.feature
  • features/platform/telemetry/metric-snapshot-relay.feature
  • features/platform/telemetry/otel-cloud-export.feature
  • features/platform/telemetry/progress-sink.feature
  • features/platform/telemetry/tui-metrics-panel.feature
  • features/platform/validation/package-validation.feature
  • features/platform/validation/package-validation.feature.cs
  • features/platform/validation/post-flight-correctness-metrics.feature
  • src/DevOpsMigrationPlatform.Abstractions.Agent/DevOpsMigrationPlatform.Abstractions.Agent.csproj
  • src/DevOpsMigrationPlatform.Abstractions/DevOpsMigrationPlatform.Abstractions.csproj
  • src/DevOpsMigrationPlatform.AppHost/Program.cs
  • src/DevOpsMigrationPlatform.CLI.Migration/MigrationPlatformHost.cs
  • src/DevOpsMigrationPlatform.Infrastructure.Agent/DevOpsMigrationPlatform.Infrastructure.Agent.csproj
  • src/DevOpsMigrationPlatform.Infrastructure.Storage.FileSystem/DevOpsMigrationPlatform.Infrastructure.Storage.FileSystem.csproj
  • src/DevOpsMigrationPlatform.Infrastructure/DevOpsMigrationPlatform.Infrastructure.csproj
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/CliExecute/CliCommandExecutionTests.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/CliExecute/CliExecuteBuilder.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/CliExecute/CliExecuteResult.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/CliExecute/CliExecuteScenario.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/ConfigFlow/ConfigFlowConnectorSpy.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/ConfigFlow/ConfigFlowResult.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/ConfigFlow/ConfigFlowScenario.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/ConfigFlow/ConfigFlowTelemetrySink.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/Cli/ConfigFlow/ConfigurationFlowTests.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/MigrationPlatformHostTests.cs
  • tests/DevOpsMigrationPlatform.CLI.Migration.Tests/TUI/TuiMetricsPanelDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Diagnostics/DiagnosticLogStoreTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Jobs/JobExecutionPlanDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Jobs/JobLifecycleDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Jobs/JobSubmissionDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/LogDownload/PackageLogDownloadDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Progress/ProgressControllerContext.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Progress/TaskAttributionDslTests.cs
  • tests/DevOpsMigrationPlatform.ControlPlane.Tests/Telemetry/TelemetryControllerDslTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Analysis/IProjectAnalyserRemovalTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Capture/DependencyCaptureTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Context/ActionQualifiedCursorIdentityTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Context/AgentJobContextTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Context/JobPlanExecutorTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Context/RunAuditInspectabilityTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Context/StateCursorIdentityTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests.csproj
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Discovery/DependencyDiscoveryResumptionDslTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Identity/IdentitiesOrchestratorPrepareTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Modules/IdentitiesModuleTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Modules/ModuleIsolationTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Platform/ExclusivePackageLockTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Platform/PackageValidatorTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Platform/ParallelModuleExecutionTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/ProjectLifecycle/CompositeProjectLifecycleServiceTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/ControlPlaneProgressSinkContext.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/ControlPlaneProgressSinkSteps.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/ControlPlaneProgressSinkTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/ControlPlaneTelemetryTimerTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/DataClassificationLogProcessorTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/PackageDiagnosticsSinkTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/PackagePersistenceRunLogFlushTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/PlatformMetricsTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Telemetry/PostFlightCorrectnessMetricsTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Tools/FieldTransform/FieldTransformFactoryTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Tools/FieldTransform/FieldTransformPipelineTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/Tools/FieldTransform/FieldTransformToolTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/WorkItems/WorkItemBatchResumeCadenceTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Agent.Tests/WorkItems/WorkItemCadenceProgressTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Tests/DevOpsMigrationPlatform.Infrastructure.Tests.csproj
  • tests/DevOpsMigrationPlatform.Infrastructure.Tests/Serialization/EndpointOptionsTypeRegistryTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Tests/Serialization/PolymorphicEndpointOptionsConverterTests.cs
  • tests/DevOpsMigrationPlatform.Infrastructure.Tests/Telemetry/OtelCloudExportTests.cs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch small-fixes

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eec594b0f5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


// args: feature family name, folder path, or feature file path.
// If omitted, defaults to the canonical feature folder.
const scope = args || 'tests'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Default the DSL workflow to the feature tree

When this workflow is launched without arguments, it now enumerates tests, but this repository's Reqnroll specifications live under features (for example features/cli/... and features/platform/...). The no-arg path is documented here as the canonical feature folder, so the default run will report no .feature files and silently skip the migration work unless the operator manually supplies a scope.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in e465073 — changed the default scope from 'tests' to 'features/platform' so no-arg invocations enumerate the actual Reqnroll feature tree.

await using var result = await ConfigFlowScenario
.Arrange()
.WithDefaultConfigFile(DefaultConfigWithSourceUrl("https://dev.azure.com/default-org"))
.RunDiscoveryInventoryAsync(useConfigArg: true);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exercise default config loading without --config

This test is meant to replace the default migration.json flow, but it passes useConfigArg: true, which makes the builder append --config <temp>/migration.json. If the CLI stops loading migration.json from the current working directory when no --config is supplied, this test will still pass, leaving the retired default-config scenario uncovered.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not changing this. The in-process host resolves the config path from Directory.GetCurrentDirectory(), not the isolated temp directory, so passing useConfigArg: false would silently load the developer's local migration.json (or fail if none exists) rather than the test fixture. The test's inline comment documents this constraint and explains why useConfigArg: true with the resolved absolute path is the correct approach. The AssertConfigLoadedFrom("migration.json") assertion still verifies the filename, confirming that the default-named file was the config source.

@MrHinsh MrHinsh enabled auto-merge (squash) June 9, 2026 10:22
…ests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
auto-merge was automatically disabled June 9, 2026 10:22

Pull Request is not mergeable

@MrHinsh MrHinsh merged commit 56c3d21 into main Jun 9, 2026
6 checks passed
@MrHinsh MrHinsh deleted the small-fixes branch June 9, 2026 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant