archive audit attempts

This commit is contained in:
master
2026-02-19 22:00:31 +02:00
parent c2f13fe588
commit b5829dce5c
19638 changed files with 6366 additions and 7 deletions

View File

@@ -0,0 +1,98 @@
# Audit - StellaOps.TaskRunner.Client
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/StellaOps.TaskRunner.Client.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 14
- Files with issues: 14
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 6
- Namespace violations: 14
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs (125 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs (293 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs (231 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs (175 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs (172 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs (154 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClientOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Extensions/TaskRunnerClientServiceCollectionExtensions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/StellaOps.TaskRunner.Client.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/StellaOps.TaskRunner.Client.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/StellaOps.TaskRunner.Client.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/StellaOps.TaskRunner.Client.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 14
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClientOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Extensions/TaskRunnerClientServiceCollectionExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/StellaOps.TaskRunner.Client.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Debug/net10.0/StellaOps.TaskRunner.Client.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/StellaOps.TaskRunner.Client.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/obj/Release/net10.0/StellaOps.TaskRunner.Client.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,85 @@
# Audit - StellaOps.TaskRunner.Client
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/StellaOps.TaskRunner.Client.csproj
- Module: TaskRunner
- Kind: Tool
- Audit date (UTC): 2026-01-31
- Files scanned: 8
- Files with issues: 6
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 6
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 5
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs (125 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs (294 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs (232 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs (175 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs (172 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs (155 lines)
- Namespace issues:
- none
- Using directive issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs: using directives inside namespace
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 8
- Files with issues: 6
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/ITaskRunnerClient.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/TaskRunnerClient.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Lifecycle/PackRunLifecycleHelper.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Models/PackRunModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Pagination/Paginator.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Client/Streaming/StreamingLogReader.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): CLI, Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: CLI
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,233 @@
# Audit - StellaOps.TaskRunner.Core
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/StellaOps.TaskRunner.Core.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 66
- Files with issues: 66
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 37
- Namespace violations: 66
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallAuditLogger.cs (126 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcementResult.cs (119 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcer.cs (298 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs (577 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs (526 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/IPackRunTimelineEventSink.cs (197 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs (347 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs (604 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs (244 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs (383 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs (504 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceStore.cs (204 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunRedactionGuard.cs (271 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs (361 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs (178 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs (241 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs (244 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs (160 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStateFactory.cs (118 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs (122 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs (110 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationModels.cs (191 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs (597 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs (364 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs (535 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlan.cs (105 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs (120 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs (186 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs (878 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs (384 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs (169 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs (351 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantEgressPolicy.cs (402 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantScopedStoragePathResolver.cs (262 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/PackRunTenantEnforcer.cs (427 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenancyEnforcementOptions.cs (154 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenantContext.cs (229 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/IAirGapStatusProvider.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallAuditLogger.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallEnforcer.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcementResult.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcer.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedModeStatus.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedRequirements.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Configuration/PackRunWorkerOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/IPackRunTimelineEventSink.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunRedactionGuard.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunApprovalStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunArtifactReader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunArtifactUploader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunJobDispatcher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunJobScheduler.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunLogStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunNotificationPublisher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunProvenanceWriter.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunStepExecutor.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalState.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalStatus.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionContext.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessorResult.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunState.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStateFactory.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/ProvenanceManifestFactory.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/TaskRunnerTelemetry.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationModels.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/StellaOps.TaskRunner.Core.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/StellaOps.TaskRunner.Core.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/StellaOps.TaskRunner.Core.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/StellaOps.TaskRunner.Core.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlan.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Serialization/CanonicalJson.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantEgressPolicy.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantScopedStoragePathResolver.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/PackRunTenantEnforcer.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenancyEnforcementOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenantContext.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 66
- Files with issues: 66
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/IAirGapStatusProvider.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallAuditLogger.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallEnforcer.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcementResult.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedModeStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedRequirements.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Configuration/PackRunWorkerOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/IPackRunTimelineEventSink.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunRedactionGuard.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunApprovalStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunArtifactReader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunArtifactUploader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunJobDispatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunJobScheduler.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunLogStore.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunNotificationPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunProvenanceWriter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunStepExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalState.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalStatus.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionContext.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessorResult.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunState.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStateFactory.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/ProvenanceManifestFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/TaskRunnerTelemetry.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/StellaOps.TaskRunner.Core.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Debug/net10.0/StellaOps.TaskRunner.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/StellaOps.TaskRunner.Core.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/obj/Release/net10.0/StellaOps.TaskRunner.Core.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlan.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Serialization/CanonicalJson.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantEgressPolicy.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantScopedStoragePathResolver.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/PackRunTenantEnforcer.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenancyEnforcementOptions.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenantContext.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/TaskRunner/__Tests/StellaOps.TaskRunner.Persistence.Tests/StellaOps.TaskRunner.Persistence.Tests.csproj [Unit]; src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,166 @@
# Audit - StellaOps.TaskRunner.Core
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/StellaOps.TaskRunner.Core.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 60
- Files with issues: 39
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 37
- Namespace violations: 0
- Using directive violations: 3
- Naming violations (interfaces/fields/const/async): 23
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallAuditLogger.cs (126 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcementResult.cs (119 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcer.cs (298 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs (577 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs (527 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/IPackRunTimelineEventSink.cs (197 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs (348 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs (604 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs (244 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs (384 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs (505 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceStore.cs (204 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunRedactionGuard.cs (271 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs (361 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs (179 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs (242 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs (245 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs (160 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStateFactory.cs (118 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs (122 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs (111 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationModels.cs (192 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs (597 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs (364 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs (535 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlan.cs (106 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs (121 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs (186 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs (879 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs (385 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs (170 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs (352 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantEgressPolicy.cs (403 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantScopedStoragePathResolver.cs (262 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/PackRunTenantEnforcer.cs (427 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenancyEnforcementOptions.cs (154 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenantContext.cs (229 lines)
- Namespace issues:
- none
- Using directive issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs: using directives inside namespace
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Serialization/CanonicalJson.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs: blocking async usage
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs: blocking async usage
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 60
- Files with issues: 39
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/ISealedInstallAuditLogger.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcementResult.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/AirGap/SealedInstallEnforcer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/IPackRunAttestationService.cs | ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Attestation/PackRunAttestation.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/IPackRunTimelineEventSink.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEvent.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Events/PackRunTimelineEventEmitter.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/BundleImportEvidence.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IBundleImportEvidenceService.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceSnapshotService.cs | BlockingAsync; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunEvidenceStore.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/IPackRunRedactionGuard.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Evidence/PackRunEvidenceSnapshot.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStateFactory.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationModels.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IncidentModeModels.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/IncidentMode/IPackRunIncidentModeService.cs | ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlan.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanHasher.cs | FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanInsights.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Planning/TaskPackPlanner.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Serialization/CanonicalJson.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestLoader.cs | AsyncNaming; BlockingAsync; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Replace .Result/.Wait/GetAwaiter().GetResult() with await.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifestValidator.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantEgressPolicy.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/ITenantScopedStoragePathResolver.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/PackRunTenantEnforcer.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenancyEnforcementOptions.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Tenancy/TenantContext.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/TaskRunner/__Tests/StellaOps.TaskRunner.Persistence.Tests/StellaOps.TaskRunner.Persistence.Tests.csproj [Unit]; src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,123 @@
# Audit - StellaOps.TaskRunner.Infrastructure
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/StellaOps.TaskRunner.Infrastructure.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 24
- Files with issues: 24
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 10
- Namespace violations: 24
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs (238 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs (112 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs (119 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs (163 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs (201 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs (240 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs (148 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs (147 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs (242 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs (283 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactReader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunProvenanceWriter.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/HttpPackRunNotificationPublisher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunArtifactUploader.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunNotificationPublisher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NoopPackRunJobDispatcher.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NoopPackRunStepExecutor.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NotificationOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/StellaOps.TaskRunner.Infrastructure.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/StellaOps.TaskRunner.Infrastructure.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/StellaOps.TaskRunner.Infrastructure.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/StellaOps.TaskRunner.Infrastructure.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 24
- Files with issues: 24
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactReader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunProvenanceWriter.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/HttpPackRunNotificationPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunArtifactUploader.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunNotificationPublisher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NoopPackRunJobDispatcher.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NoopPackRunStepExecutor.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/NotificationOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/StellaOps.TaskRunner.Infrastructure.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Debug/net10.0/StellaOps.TaskRunner.Infrastructure.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/StellaOps.TaskRunner.Infrastructure.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/obj/Release/net10.0/StellaOps.TaskRunner.Infrastructure.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,117 @@
# Audit - StellaOps.TaskRunner.Infrastructure
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/StellaOps.TaskRunner.Infrastructure.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-31
- Files scanned: 18
- Files with issues: 14
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 10
- Namespace violations: 0
- Using directive violations: 4
- Naming violations (interfaces/fields/const/async): 24
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs (239 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs (113 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs (120 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs (164 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs (202 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs (241 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs (149 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs (147 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs (243 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs (284 lines)
- Namespace issues:
- none
- Using directive issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs: using directives inside namespace
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactReader.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunProvenanceWriter.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/HttpPackRunNotificationPublisher.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunNotificationPublisher.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactReader.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunProvenanceWriter.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/HttpPackRunNotificationPublisher.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs: async method naming
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 18
- Files with issues: 14
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/AirGap/HttpAirGapStatusProvider.cs | AsyncNaming; FileLength>100; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/BundleIngestionStepExecutor.cs | FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunLogStore.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunStateStore.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactReader.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunArtifactUploader.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunDispatcher.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilesystemPackRunProvenanceWriter.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/HttpPackRunNotificationPublisher.cs | AsyncNaming; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/LoggingPackRunNotificationPublisher.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs | FileLength>100; PrivateFieldNaming | Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunLogStore.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; UsingInsideNamespace | Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Tenancy/TenantScopedPackRunStateStore.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Integration, Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: Integration
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,153 @@
# Audit - StellaOps.TaskRunner.Tests
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 34
- Files with issues: 34
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 19
- Namespace violations: 34
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs (184 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs (359 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs (145 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs (133 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs (107 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs (143 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs (102 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs (293 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs (507 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs (741 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs (155 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs (414 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs (150 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs (747 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs (406 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs (274 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs (257 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs (562 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs (466 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/OpenApiMetadataFactoryTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunExecutionGraphBuilderTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStateFactoryTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStepStateMachineTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.Egress.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/StellaOps.TaskRunner.Tests.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/StellaOps.TaskRunner.Tests.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Release/net10.0/StellaOps.TaskRunner.Tests.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Remove overrides that disable TreatWarningsAsErrors.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 34
- Files with issues: 34
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/OpenApiMetadataFactoryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunExecutionGraphBuilderTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStateFactoryTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStepStateMachineTests.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.Egress.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/SelfRegisteredExtensions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/StellaOps.TaskRunner.Tests.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/StellaOps.TaskRunner.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Debug/net10.0/XunitAutoGeneratedEntryPoint.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/obj/Release/net10.0/StellaOps.TaskRunner.Tests.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- Missing layers: Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,173 @@
# Audit - StellaOps.TaskRunner.Tests
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj
- Module: TaskRunner
- Kind: Test
- Audit date (UTC): 2026-01-31
- Files scanned: 28
- Files with issues: 25
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit false
- Deterministic: inherited true
- 100-line rule violations: 19
- Namespace violations: 0
- Using directive violations: 23
- Naming violations (interfaces/fields/const/async): 41
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs (184 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs (359 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs (145 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs (133 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs (107 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs (143 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs (102 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs (293 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs (507 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs (741 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs (155 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs (414 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs (150 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs (747 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs (406 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs (274 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs (257 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs (562 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs (466 lines)
- Namespace issues:
- none
- Using directive issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunExecutionGraphBuilderTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs: using directives inside namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs: using directives not sorted
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs: using directives not sorted
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: private field naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStepStateMachineTests.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs: missing ConfigureAwait(false)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs: missing ConfigureAwait(false)
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Move and sort using directives (outside namespace).
- Remove overrides that disable TreatWarningsAsErrors.
- Rename async methods and avoid blocking async calls.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 28
- Files with issues: 25
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/ApiDeprecationTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleImportEvidenceTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/BundleIngestionStepExecutorTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunLogStoreTests.cs | AsyncNaming; ConfigureAwaitMissing; PrivateFieldNaming | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilePackRunStateStoreTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactReaderTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunArtifactUploaderTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; PrivateFieldNaming; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/FilesystemPackRunDispatcherTests.cs | AsyncNaming; ConfigureAwaitMissing; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalDecisionServiceTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunAttestationTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunEvidenceSnapshotTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunExecutionGraphBuilderTests.cs | UsingNotSorted | Sort using directives alphabetically. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunGateStateUpdaterTests.cs | FileLength>100; PrivateFieldNaming; UsingNotSorted | Rename private fields to _camelCase.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunIncidentModeTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs | AsyncNaming; ConfigureAwaitMissing; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProvenanceWriterTests.cs | AsyncNaming; ConfigureAwaitMissing; PrivateFieldNaming; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Sort using directives alphabetically. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunSimulationEngineTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStepStateMachineTests.cs | PrivateFieldNaming | Rename private fields to _camelCase. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunTimelineEventTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/SealedInstallEnforcerTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskPackPlannerTests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TaskRunnerClientTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100; UsingInsideNamespace; UsingNotSorted | Add ConfigureAwait(false) to awaited calls in library-like code.; Move using directives outside namespace.; Rename async methods to end with Async.; Sort using directives alphabetically.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TenantEnforcementTests.cs | AsyncNaming; ConfigureAwaitMissing; FileLength>100 | Add ConfigureAwait(false) to awaited calls in library-like code.; Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/TestManifests.cs | FileLength>100; UsingNotSorted | Sort using directives alphabetically.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic):
- Detected test projects: none
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,88 @@
# Audit - StellaOps.TaskRunner.WebService
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/StellaOps.TaskRunner.WebService.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 11
- Files with issues: 11
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 10
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs (1085 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs (197 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/IDeprecationNotificationService.cs (102 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/OpenApiMetadataFactory.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/TaskRunnerServiceOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationOptions.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/IDeprecationNotificationService.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.MvcApplicationPartsAssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Release/net10.0/StellaOps.TaskRunner.WebService.GlobalUsings.g.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 11
- Files with issues: 11
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/OpenApiMetadataFactory.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs | FileLength>100 | Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/TaskRunnerServiceOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationOptions.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/IDeprecationNotificationService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Debug/net10.0/StellaOps.TaskRunner.WebService.MvcApplicationPartsAssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/obj/Release/net10.0/StellaOps.TaskRunner.WebService.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
## Testing Fullness Findings
- Status: PASS
- Expected layers (heuristic): Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: none
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- None.

View File

@@ -0,0 +1,82 @@
# Audit - StellaOps.TaskRunner.WebService
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/StellaOps.TaskRunner.WebService.csproj
- Module: TaskRunner
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 6
- Files with issues: 3
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 3
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 3
- Service locator usage (BuildServiceProvider/GetService): 8
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs (1086 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs (198 lines)
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/IDeprecationNotificationService.cs (102 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs: async method naming
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs: async method naming
- Service locator matches:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:39 var egressPolicy = sp.GetRequiredService<IEgressPolicy>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:56 var options = sp.GetRequiredService<IOptions<TaskRunnerServiceOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:61 var options = sp.GetRequiredService<IOptions<TaskRunnerServiceOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:66 var options = sp.GetRequiredService<IOptions<TaskRunnerServiceOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:71 var options = sp.GetRequiredService<IOptions<TaskRunnerServiceOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:77 var options = sp.GetRequiredService<IOptions<TaskRunnerServiceOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:80 builder.Services.AddSingleton<IPackRunJobScheduler>(sp => sp.GetRequiredService<FilesystemPackRunDispatcher>());
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs:92 var options = sp.GetRequiredService<IOptions<AirGapStatusProviderOptions>>().Value;
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 6
- Files with issues: 3
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Program.cs | AsyncNaming; FileLength>100; PrivateFieldNaming; ServiceLocator | Remove service locator usage; use constructor injection.; Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/ApiDeprecationMiddleware.cs | AsyncNaming; FileLength>100 | Rename async methods to end with Async.; Split file to stay <= 100 lines. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.WebService/Deprecation/IDeprecationNotificationService.cs | FileLength>100 | Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Security, Unit
- Detected test projects: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/StellaOps.TaskRunner.Tests.csproj [Unit]
- Missing layers: E2E, Integration, Offline, Security
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,80 @@
# Audit - StellaOps.TaskRunner.Worker
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/StellaOps.TaskRunner.Worker.csproj
- Module: TaskRunner
- Kind: Library
- Audit date (UTC): 2026-01-30
- Files scanned: 8
- Files with issues: 7
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 7
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 0
- Service locator usage (BuildServiceProvider/GetService): 0
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs (657 lines)
- Namespace issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/StellaOps.TaskRunner.Worker.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/StellaOps.TaskRunner.Worker.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/StellaOps.TaskRunner.Worker.AssemblyInfo.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/StellaOps.TaskRunner.Worker.GlobalUsings.g.cs: missing namespace
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs: missing namespace
- Using directive issues:
- none
- Naming issues:
- none
- Async issues:
- none
- Service locator matches:
- none
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Normalize namespaces to file-scoped StellaOps.<Area>.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 8
- Files with issues: 7
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/StellaOps.TaskRunner.Worker.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Debug/net10.0/StellaOps.TaskRunner.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/StellaOps.TaskRunner.Worker.AssemblyInfo.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/obj/Release/net10.0/StellaOps.TaskRunner.Worker.GlobalUsings.g.cs | NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>; |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs | FileLength>100; NamespaceMissing | Add file-scoped namespace: namespace StellaOps.<Area>;; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): Unit
- Detected test projects: none
- Missing layers: Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.

View File

@@ -0,0 +1,87 @@
# Audit - StellaOps.TaskRunner.Worker
## Project
- Path: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/StellaOps.TaskRunner.Worker.csproj
- Module: TaskRunner
- Kind: Service
- Audit date (UTC): 2026-01-31
- Files scanned: 2
- Files with issues: 2
- File-level report: docs/implplan/audits/csproj-standards/file-audit.csv
## Coding Standards Findings
- Status: FAIL
- Nullable: enable
- TreatWarningsAsErrors: explicit true
- Deterministic: inherited true
- 100-line rule violations: 1
- Namespace violations: 0
- Using directive violations: 0
- Naming violations (interfaces/fields/const/async): 2
- Service locator usage (BuildServiceProvider/GetService): 17
- Assembly.LoadFrom usage: 0
### Details
- 100-line files:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs (658 lines)
- Namespace issues:
- none
- Using directive issues:
- none
- Naming issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs: private field naming
- Async issues:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs: async method naming
- Service locator matches:
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:22 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:23 var egressPolicy = sp.GetRequiredService<IEgressPolicy>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:26 builder.Services.AddSingleton<IPackRunJobDispatcher>(sp => sp.GetRequiredService<FilesystemPackRunDispatcher>());
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:27 builder.Services.AddSingleton<IPackRunJobScheduler>(sp => sp.GetRequiredService<FilesystemPackRunDispatcher>());
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:31 var options = sp.GetRequiredService<IOptions<NotificationOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:35 sp.GetRequiredService<IHttpClientFactory>(),
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:36 sp.GetRequiredService<IOptions<NotificationOptions>>(),
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:37 sp.GetRequiredService<ILogger<HttpPackRunNotificationPublisher>>());
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:40 return new LoggingPackRunNotificationPublisher(sp.GetRequiredService<ILogger<LoggingPackRunNotificationPublisher>>());
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:57 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:62 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:67 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:72 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:73 var timeProvider = sp.GetRequiredService<TimeProvider>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:74 var logger = sp.GetRequiredService<ILogger<FilesystemPackRunArtifactUploader>>();
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:79 var options = sp.GetRequiredService<IOptions<PackRunWorkerOptions>>().Value;
- src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs:80 var timeProvider = sp.GetRequiredService<TimeProvider>();
- Assembly.LoadFrom matches:
- none
### Fix Guidance
- Align interface/field/const naming to standards.
- Rename async methods and avoid blocking async calls.
- Replace service locator usage with constructor injection.
- Split files over 100 lines into smaller types or partials.
## File-Level Findings
- Status: FAIL
- Files scanned: 2
- Files with issues: 2
- See docs/implplan/audits/csproj-standards/file-audit.csv for full per-file status.
| File | Issues | Fix guidance |
| --- | --- | --- |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Program.cs | ServiceLocator | Remove service locator usage; use constructor injection. |
| src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs | AsyncNaming; FileLength>100; PrivateFieldNaming | Rename async methods to end with Async.; Rename private fields to _camelCase.; Split file to stay <= 100 lines. |
## Testing Fullness Findings
- Status: FAIL
- Expected layers (heuristic): E2E, Integration, Offline, Security, Unit
- Detected test projects: none
- Missing layers: E2E, Integration, Offline, Security, Unit
### Manual checks required
- Observability contract tests for WebService/Worker.
- Intent tags for regulatory modules (Policy, Authority, Signer, Attestor, EvidenceLocker).
- Offline execution (tests must run without network access).
- Coverage matrix alignment (docs/technical/testing/TEST_COVERAGE_MATRIX.md).
### Fix Guidance
- Add or expand test projects to cover missing layers.
- Ensure tests use deterministic fixtures and offline harnesses.