{
  "schemaVersion": 1,
  "kind": "local-assessment-completion-integration-evidence",
  "recordedAt": "2026-10-30T11:14:49.892172+00:00",
  "status": "passed",
  "source": {
    "baseCommit": "8171b0b359b2ad8ba3d74892b65caa66e0c6bb5f",
    "uncommitted": true,
    "changedImplementationSha256": "a4d5fcd8f7b8f0a62b72e985a46db0ef919325c8c1bb41790a8b714baef6c25a",
    "hashMethod": "sorted changed/new implementation paths, UTF-8 path + NUL + exact bytes + NUL; documentation/evidence excluded",
    "includedFiles": [
      ".github/workflows/assessment-completion.yml",
      "app/package.json",
      "app/scripts/buildFullStandaloneCurriculumPackage.ts",
      "app/scripts/buildFwuOwlCurriculumPackage.ts",
      "app/scripts/checkAssessmentCompletionProfiles.ts",
      "app/scripts/curriculumPackageContractPaths.ts",
      "app/scripts/curriculumPackageLicenses.ts",
      "app/scripts/curriculumPackageScratchRoot.ts",
      "app/scripts/fixtures/levelCompletionBackendUi.html",
      "app/scripts/fixtures/levelCompletionBackendUi.tsx",
      "app/scripts/fwuOwlCompletionSemantics.ts",
      "app/scripts/fwuOwlPackageSource.ts",
      "app/scripts/fwuOwlSemanticCompiler.ts",
      "app/scripts/testAssessmentCompletionProfiles.ts",
      "app/scripts/testFwuOwlCurriculumPackageBuilder.ts",
      "app/scripts/testLevelCompletionBackendBrowser.ts",
      "app/scripts/testLevelCompletionBrowser.ts",
      "app/scripts/testLevelCompletionUi.tsx",
      "app/scripts/testSessionSetupIdEntry.ts",
      "app/src/coachVariants/claudeV1/request.ts",
      "app/src/components/GoalCard.tsx",
      "app/src/components/LevelCompletionCard.tsx",
      "app/src/components/SessionSetup.tsx",
      "app/src/components/srs/FlashcardDrill.tsx",
      "app/src/hooks/useFlashcardSetStatus.ts",
      "app/src/hooks/useSrsMastery.ts",
      "app/src/learnerTypes.ts",
      "app/src/utils/claudeCoach.ts",
      "app/src/utils/levelCompletionApi.test.ts",
      "app/src/utils/levelCompletionApi.ts",
      "app/src/utils/srsPracticeSync.test.ts",
      "app/src/utils/srsPracticeSync.ts",
      "app/src/views/LearnerView.tsx",
      "backend/src/main/java/com/skillpilot/backend/ai/CoachStateProjection.java",
      "backend/src/main/java/com/skillpilot/backend/ai/CoachToolFacade.java",
      "backend/src/main/java/com/skillpilot/backend/api/ClientStateRequest.java",
      "backend/src/main/java/com/skillpilot/backend/api/CompletionAssessmentStart.java",
      "backend/src/main/java/com/skillpilot/backend/api/LearnerDataDTO.java",
      "backend/src/main/java/com/skillpilot/backend/api/LevelCompletionActionRequest.java",
      "backend/src/main/java/com/skillpilot/backend/api/LevelCompletionResponse.java",
      "backend/src/main/java/com/skillpilot/backend/api/MasteryUpdateResponse.java",
      "backend/src/main/java/com/skillpilot/backend/api/PortableSrsData.java",
      "backend/src/main/java/com/skillpilot/backend/api/UnifiedLearnerStateResponse.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompiledCompletionProfile.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionApplicability.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionApplicationService.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionCallContext.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionCanonicalGraphResolver.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionCompilationException.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionEvaluation.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionEvaluator.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionNavigationPolicy.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionPackageCatalog.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionProfileCatalog.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionProfileCompiler.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionProfileDefinition.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionResponseProjection.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionReviewBindings.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionScopeDefinition.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionTelemetry.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionWarmupRunner.java",
      "backend/src/main/java/com/skillpilot/backend/completion/CompletionWorkflowState.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CapabilityService.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CoachContextProjector.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionChoices.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionContractRegistry.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1McpContractAdapter.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1McpServerConfiguration.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1SessionCoordinator.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/session/ClaudeV1LearningSession.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/session/ClaudeV1LearningSessionRepository.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/session/ClaudeV1LearningSessionService.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/claude/v1/web/ClaudeV1CoachStartRequest.java",
      "backend/src/main/java/com/skillpilot/backend/connectors/gemini/v1/mcp/GeminiV1SessionCoordinator.java",
      "backend/src/main/java/com/skillpilot/backend/curriculumpackage/CurriculumRuntimeSnapshot.java",
      "backend/src/main/java/com/skillpilot/backend/curriculumpackage/JsonCurriculumPackageLoader.java",
      "backend/src/main/java/com/skillpilot/backend/domain/Learner.java",
      "backend/src/main/java/com/skillpilot/backend/domain/Mastery.java",
      "backend/src/main/java/com/skillpilot/backend/landscape/GoalMappingService.java",
      "backend/src/main/java/com/skillpilot/backend/landscape/LandscapeService.java",
      "backend/src/main/java/com/skillpilot/backend/openai/mcp/de/v1/OpenAiDeV1McpSessionCoordinator.java",
      "backend/src/main/java/com/skillpilot/backend/repository/LearnerClientStateRepository.java",
      "backend/src/main/java/com/skillpilot/backend/service/CompositionViewService.java",
      "backend/src/main/java/com/skillpilot/backend/service/DeckResourceService.java",
      "backend/src/main/java/com/skillpilot/backend/service/LearnerLearningPlanService.java",
      "backend/src/main/java/com/skillpilot/backend/service/LearnerService.java",
      "backend/src/main/java/com/skillpilot/backend/service/srs/SrsPracticeStateGuard.java",
      "backend/src/main/java/com/skillpilot/backend/service/srs/SrsStateUnavailableException.java",
      "backend/src/main/java/com/skillpilot/backend/ui/LearnerUiController.java",
      "backend/src/main/resources/application.yml",
      "backend/src/main/resources/db/changelog/changes/040-add-completion-workflow.yaml",
      "backend/src/main/resources/db/changelog/changes/041-add-claude-completion-contract.yaml",
      "backend/src/main/resources/db/changelog/db.changelog-master.yaml",
      "backend/src/test/java/com/skillpilot/backend/ai/CoachToolFacadeTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionApplicabilityTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionApplicationServiceTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionCatalogTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionCoreTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionPerformanceTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionResponseProjectionTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionTelemetryTest.java",
      "backend/src/test/java/com/skillpilot/backend/completion/CompletionWarmupRunnerTest.java",
      "backend/src/test/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionContractReceiptIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionContractRegistryTest.java",
      "backend/src/test/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionProjectionTest.java",
      "backend/src/test/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionReceiptCapabilityTest.java",
      "backend/src/test/java/com/skillpilot/backend/connectors/claude/v1/mcp/ClaudeV1CompletionRouteIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/curriculumpackage/CompletionPackageLoaderTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/AssessmentCompletionBackendBrowserIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/AssessmentCompletionIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/AssessmentCompletionPostgresIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/AssessmentCompletionRestartIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/AssessmentCompletionSrsIntegrationTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/LearnerServiceTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/SrsMasteryBatchQueryTest.java",
      "backend/src/test/java/com/skillpilot/backend/service/srs/SrsPracticeStateGuardTest.java",
      "contracts/assessment-completion/v1/README.md",
      "contracts/assessment-completion/v1/fixtures/cases.json",
      "contracts/assessment-completion/v1/profile.schema.json",
      "contracts/assessment-completion/v1/scope.schema.json",
      "contracts/curriculum-package/v1.1/README.md",
      "contracts/curriculum-package/v1.1/completion-artifact.schema.json",
      "contracts/curriculum-package/v1.1/fwu-owl-package-manifest.schema.json",
      "contracts/curriculum-package/v1.1/fwu-owl-package-profile.schema.json",
      "contracts/curriculum-package/v1.1/fwu-owl-package-validation-report.schema.json",
      "contracts/curriculum-package/v1.1/ontology/skillpilot-fwu-profile-completion-1.1.0.ttl",
      "contracts/curriculum-package/v1.1/package-redistribution-review.schema.json",
      "contracts/curriculum-package/v1.1/profiles/de-gymnasium-mathematik-completion-release-model-v1.profile.json",
      "contracts/curriculum-package/v1.1/profiles/full-standalone-completion-v1.profile.json",
      "contracts/curriculum-package/v1.1/profiles/fwu-owl-completion-v1.profile.json",
      "contracts/curriculum-package/v1.1/profiles/skillpilot-fwu-field-semantics-completion-v1.registry.json",
      "contracts/curriculum-package/v1.1/release-model-build-profile.schema.json",
      "contracts/curriculum-package/v1.1/runtime-catalog.schema.json",
      "curricula/DE/Gymnasium/completion-profiles/math-dot-product-projection.json",
      "curricula/DE/Gymnasium/completion-scopes/math-dot-product-projection.json",
      "curricula/DE/Gymnasium/quality/assessment-completion/math-dot-product-projection-2026-10-30.md",
      "scripts/compile_curriculum_release_model.py",
      "scripts/curriculum_completion_artifacts.py",
      "scripts/curriculum_fwu_completion_semantics.py",
      "scripts/curriculum_package_completion_contracts.py",
      "scripts/generate_curriculum_package_redistribution_review.py",
      "scripts/provision_curriculum_package.py",
      "scripts/reconstruct_json_curriculum_package_from_fwu_owl.py",
      "scripts/run_fwu_owl_reverse_compiler_hermetic.py",
      "scripts/test_assessment_completion_fwu.py",
      "scripts/test_assessment_completion_package.py",
      "scripts/validate_curriculum_fwu_owl_package_contracts.py",
      "scripts/validate_curriculum_fwu_owl_reverse_compilation_contract.py",
      "scripts/validate_curriculum_package_contracts.py",
      "scripts/validate_curriculum_release_model.py",
      "scripts/validate_curriculum_runtime_catalog_contract.py",
      "scripts/validate_curriculum_schema_catalog_contract.py",
      "scripts/validate_full_standalone_curriculum_package.py",
      "scripts/validate_fwu_owl_curriculum_package.py"
    ],
    "postSnapshotFormatting": [
      {
        "path": "app/scripts/curriculumPackageLicenses.ts",
        "change": "Remove one trailing empty line before committing; executable content unchanged.",
        "beforeSha256": "d52387514075d420648473609137491787a42d7e2984394d3562466a5fc92993",
        "afterSha256": "46628836c80dc53121920df53148d18b6b8f823b35b42f8ee017ef9653bd3a9b"
      }
    ],
    "afterFormattingImplementationSha256": "929f92d9016a288d4eecc743b32e511d129bf3a61e7c336e7b98afb087a2a4de"
  },
  "boundaries": {
    "featureDefaultOff": true,
    "remoteCiExecuted": false,
    "realCoachHostAcceptance": false,
    "humanComprehensionTrial": false,
    "scope": "One reviewed mathematics profile, two targets, one required assessment. Broader profiles require another operational and payload review.",
    "packageRoundtrip": "Reported separately; not inferred from these integration tests.",
    "timing": "HTTP is local H2/loopback inside a broad regression JVM. Order, JIT, GC and concurrent load remain; maxima are preserved and p95 delta is not a paired causal estimate or a production SLO.",
    "uiEvidence": "Backend browser evidence precedes the final German count-caption copy edit; final frontend checks/build include it. No domain, DTO or action change accompanies that copy edit.",
    "defaultProfileAllowlistSize": 0,
    "productionActivationPerformed": false,
    "deploymentPerformed": false
  },
  "backend": {
    "recordedAt": "2026-10-30T11:09:29.168983+00:00",
    "gradleExitCode": 0,
    "elapsedSeconds": 547.885,
    "command": [
      "./gradlew",
      "test",
      "--console=plain",
      "--rerun-tasks",
      "--tests",
      "com.skillpilot.backend.completion.CompletionCoreTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionApplicationServiceTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionCatalogTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionApplicabilityTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionTelemetryTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionResponseProjectionTest",
      "--tests",
      "com.skillpilot.backend.completion.CompletionWarmupRunnerTest",
      "--tests",
      "com.skillpilot.backend.curriculumpackage.CompletionPackageLoaderTest",
      "--tests",
      "com.skillpilot.backend.service.AssessmentCompletionIntegrationTest",
      "--tests",
      "com.skillpilot.backend.service.AssessmentCompletionSrsIntegrationTest",
      "--tests",
      "com.skillpilot.backend.service.SrsMasteryBatchQueryTest",
      "--tests",
      "com.skillpilot.backend.service.AssessmentCompletionPostgresIntegrationTest",
      "--tests",
      "com.skillpilot.backend.service.AssessmentCompletionRestartIntegrationTest",
      "--tests",
      "com.skillpilot.backend.service.AssessmentCompletionBackendBrowserIntegrationTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionProjectionTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionRouteIntegrationTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractRegistryTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionReceiptCapabilityTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CapabilityServiceTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractReceiptIntegrationTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1McpContractTest",
      "--tests",
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1SessionCoordinatorTest",
      "--tests",
      "com.skillpilot.backend.service.srs.SrsPracticeStateGuardTest",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest.*PracticeSync*",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest.signedLearnerExportRestoresAuthoritativeCardStateAndRejectsTampering",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest.anOlderSignedCardBackupCannotEraseAnAlreadySavedRecallSuccess",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest.legacyArchiveWithUnrestorableRecallMasteryIsRejectedBeforeMutation",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest.unreadableStoredCardStateIsATechnicalFailure",
      "--tests",
      "com.skillpilot.backend.service.LearnerServiceTest",
      "--tests",
      "com.skillpilot.backend.service.LearnerLearningPlanServiceTest",
      "--tests",
      "com.skillpilot.backend.service.LearnerLearningPlanServiceIntegrationTest",
      "--tests",
      "com.skillpilot.backend.service.DeckResourceServiceTest",
      "--tests",
      "com.skillpilot.backend.landscape.LandscapeServiceTest",
      "--tests",
      "com.skillpilot.backend.landscape.GoalMappingServiceTest",
      "--tests",
      "com.skillpilot.backend.ai.CoachToolFacadeTest",
      "--tests",
      "com.skillpilot.backend.ai.CoachToolFacadeLearningPlanTest",
      "--tests",
      "com.skillpilot.backend.ai.CoachStateProjectionTest",
      "--tests",
      "com.skillpilot.backend.connectors.gemini.v1.mcp.*Test",
      "--tests",
      "com.skillpilot.backend.openai.mcp.de.v1.OpenAiDeV1McpSessionCoordinatorTest",
      "--no-daemon"
    ],
    "remoteCiExecuted": false,
    "requiredMinimums": {
      "com.skillpilot.backend.completion.CompletionCoreTest": 20,
      "com.skillpilot.backend.completion.CompletionApplicationServiceTest": 6,
      "com.skillpilot.backend.completion.CompletionCatalogTest": 9,
      "com.skillpilot.backend.completion.CompletionApplicabilityTest": 3,
      "com.skillpilot.backend.completion.CompletionTelemetryTest": 4,
      "com.skillpilot.backend.completion.CompletionResponseProjectionTest": 2,
      "com.skillpilot.backend.completion.CompletionWarmupRunnerTest": 8,
      "com.skillpilot.backend.curriculumpackage.CompletionPackageLoaderTest": 1,
      "com.skillpilot.backend.service.AssessmentCompletionIntegrationTest": 35,
      "com.skillpilot.backend.service.AssessmentCompletionSrsIntegrationTest": 7,
      "com.skillpilot.backend.service.SrsMasteryBatchQueryTest": 6,
      "com.skillpilot.backend.service.AssessmentCompletionPostgresIntegrationTest": 4,
      "com.skillpilot.backend.service.AssessmentCompletionRestartIntegrationTest": 1,
      "com.skillpilot.backend.service.AssessmentCompletionBackendBrowserIntegrationTest": 3,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionProjectionTest": 4,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionRouteIntegrationTest": 1,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractRegistryTest": 5,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionReceiptCapabilityTest": 2,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CapabilityServiceTest": 16,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractReceiptIntegrationTest": 11,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1McpContractTest": 28,
      "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1SessionCoordinatorTest": 18,
      "com.skillpilot.backend.service.srs.SrsPracticeStateGuardTest": 6,
      "com.skillpilot.backend.service.LearnerServiceTest": 7
    },
    "missingRequiredSuites": [],
    "suites": [
      {
        "name": "com.skillpilot.backend.ai.CoachStateProjectionTest",
        "tests": 4,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.287
      },
      {
        "name": "com.skillpilot.backend.ai.CoachToolFacadeLearningPlanTest",
        "tests": 17,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.275
      },
      {
        "name": "com.skillpilot.backend.ai.CoachToolFacadeTest",
        "tests": 20,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 2.32
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionApplicabilityTest",
        "tests": 3,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.014
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionApplicationServiceTest",
        "tests": 6,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.045
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionCatalogTest",
        "tests": 9,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.747
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionCoreTest",
        "tests": 33,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 3.037
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionResponseProjectionTest",
        "tests": 2,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.006
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionTelemetryTest",
        "tests": 4,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.058
      },
      {
        "name": "com.skillpilot.backend.completion.CompletionWarmupRunnerTest",
        "tests": 8,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.11
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CapabilityServiceTest",
        "tests": 16,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.149
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractReceiptIntegrationTest",
        "tests": 11,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 39.371
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionContractRegistryTest",
        "tests": 5,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.023
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionProjectionTest",
        "tests": 4,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.127
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionReceiptCapabilityTest",
        "tests": 2,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.004
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1CompletionRouteIntegrationTest",
        "tests": 1,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 3.178
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1McpContractTest",
        "tests": 28,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 7.068
      },
      {
        "name": "com.skillpilot.backend.connectors.claude.v1.mcp.ClaudeV1SessionCoordinatorTest",
        "tests": 18,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.606
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1ActiveGoalContractTest",
        "tests": 9,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 6.542
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1CapabilityServiceTest",
        "tests": 18,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.167
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1CoachContextProjectorTest",
        "tests": 29,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.079
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1ExamContractTest",
        "tests": 7,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 5.534
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1LearningPlanContractTest",
        "tests": 10,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.205
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1MasteryBackendIntegrationTest",
        "tests": 3,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 8.38
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1MasteryContractTest",
        "tests": 9,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.128
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1MemoryPracticeContractTest",
        "tests": 8,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.127
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1NativeContractTest",
        "tests": 3,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.375
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1NativeImagePresentationTest",
        "tests": 10,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.008
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1NativeImageResultTest",
        "tests": 3,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.009
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1SessionCoordinatorTest",
        "tests": 19,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.521
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1VerifiedRecallContractTest",
        "tests": 8,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.084
      },
      {
        "name": "com.skillpilot.backend.connectors.gemini.v1.mcp.GeminiV1VerifiedRecallLearningPlanContractTest",
        "tests": 6,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.095
      },
      {
        "name": "com.skillpilot.backend.curriculumpackage.CompletionPackageLoaderTest",
        "tests": 5,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.32
      },
      {
        "name": "com.skillpilot.backend.landscape.GoalMappingServiceTest",
        "tests": 11,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.042
      },
      {
        "name": "com.skillpilot.backend.landscape.LandscapeServiceTest",
        "tests": 53,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 157.362
      },
      {
        "name": "com.skillpilot.backend.openai.mcp.de.v1.OpenAiDeV1McpSessionCoordinatorTest",
        "tests": 17,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.661
      },
      {
        "name": "com.skillpilot.backend.service.AssessmentCompletionBackendBrowserIntegrationTest",
        "tests": 3,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 66.373
      },
      {
        "name": "com.skillpilot.backend.service.AssessmentCompletionIntegrationTest",
        "tests": 35,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 30.707
      },
      {
        "name": "com.skillpilot.backend.service.AssessmentCompletionPostgresIntegrationTest",
        "tests": 4,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 18.121
      },
      {
        "name": "com.skillpilot.backend.service.AssessmentCompletionRestartIntegrationTest",
        "tests": 1,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 5.931
      },
      {
        "name": "com.skillpilot.backend.service.AssessmentCompletionSrsIntegrationTest",
        "tests": 7,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 10.082
      },
      {
        "name": "com.skillpilot.backend.service.DeckResourceServiceTest",
        "tests": 12,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.233
      },
      {
        "name": "com.skillpilot.backend.service.LearnerLearningPlanServiceIntegrationTest",
        "tests": 70,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 6.717
      },
      {
        "name": "com.skillpilot.backend.service.LearnerLearningPlanServiceTest",
        "tests": 12,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.305
      },
      {
        "name": "com.skillpilot.backend.service.LearnerServiceTest",
        "tests": 122,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 71.005
      },
      {
        "name": "com.skillpilot.backend.service.SrsMasteryBatchQueryTest",
        "tests": 6,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 7.433
      },
      {
        "name": "com.skillpilot.backend.service.srs.SrsPracticeStateGuardTest",
        "tests": 6,
        "failures": 0,
        "errors": 0,
        "skipped": 0,
        "seconds": 0.005
      }
    ],
    "totals": {
      "tests": 697,
      "failures": 0,
      "errors": 0,
      "skipped": 0
    }
  },
  "frontend": {
    "recordedAt": "2026-10-30T11:11:13.068281+00:00",
    "allPassed": true,
    "checks": [
      {
        "command": [
          "npx",
          "--no-install",
          "tsc",
          "-b",
          "--pretty",
          "false"
        ],
        "exitCode": 0,
        "seconds": 17.815
      },
      {
        "command": [
          "node_modules/.bin/eslint",
          "scripts/buildFullStandaloneCurriculumPackage.ts",
          "scripts/buildFwuOwlCurriculumPackage.ts",
          "scripts/checkAssessmentCompletionProfiles.ts",
          "scripts/curriculumPackageContractPaths.ts",
          "scripts/curriculumPackageLicenses.ts",
          "scripts/curriculumPackageScratchRoot.ts",
          "scripts/fixtures/levelCompletionBackendUi.tsx",
          "scripts/fwuOwlCompletionSemantics.ts",
          "scripts/fwuOwlPackageSource.ts",
          "scripts/fwuOwlSemanticCompiler.ts",
          "scripts/testAssessmentCompletionProfiles.ts",
          "scripts/testFwuOwlCurriculumPackageBuilder.ts",
          "scripts/testLevelCompletionBackendBrowser.ts",
          "scripts/testLevelCompletionBrowser.ts",
          "scripts/testLevelCompletionUi.tsx",
          "scripts/testSessionSetupIdEntry.ts",
          "src/coachVariants/claudeV1/request.ts",
          "src/components/GoalCard.tsx",
          "src/components/LevelCompletionCard.tsx",
          "src/components/SessionSetup.tsx",
          "src/components/srs/FlashcardDrill.tsx",
          "src/hooks/useFlashcardSetStatus.ts",
          "src/hooks/useSrsMastery.ts",
          "src/learnerTypes.ts",
          "src/utils/claudeCoach.ts",
          "src/utils/levelCompletionApi.test.ts",
          "src/utils/levelCompletionApi.ts",
          "src/utils/srsPracticeSync.test.ts",
          "src/utils/srsPracticeSync.ts",
          "src/views/LearnerView.tsx"
        ],
        "exitCode": 0,
        "seconds": 6.551
      },
      {
        "command": [
          "npm",
          "run",
          "check:assessment-completion-profiles"
        ],
        "exitCode": 0,
        "seconds": 0.784
      },
      {
        "command": [
          "npm",
          "run",
          "test:assessment-completion-profiles"
        ],
        "exitCode": 0,
        "seconds": 0.581
      },
      {
        "command": [
          "npm",
          "run",
          "test:level-completion"
        ],
        "exitCode": 0,
        "seconds": 1.457
      },
      {
        "command": [
          "npm",
          "run",
          "test:level-completion-browser"
        ],
        "exitCode": 0,
        "seconds": 12.552
      },
      {
        "command": [
          "npm",
          "run",
          "test:session-setup-id-entry"
        ],
        "exitCode": 0,
        "seconds": 0.42
      },
      {
        "command": [
          "npm",
          "run",
          "test:claude-v1-start"
        ],
        "exitCode": 0,
        "seconds": 0.751
      },
      {
        "command": [
          "npm",
          "run",
          "test:gemini-v1-start"
        ],
        "exitCode": 0,
        "seconds": 9.081
      },
      {
        "command": [
          "npm",
          "run",
          "test:coach-variants"
        ],
        "exitCode": 0,
        "seconds": 1.587
      },
      {
        "command": [
          "npm",
          "run",
          "test:learner-data-management"
        ],
        "exitCode": 0,
        "seconds": 7.022
      },
      {
        "command": [
          "npx",
          "--no-install",
          "vite",
          "build",
          "--outDir",
          "../tmp/assessment-completion-app-build"
        ],
        "exitCode": 0,
        "seconds": 52.282
      }
    ]
  },
  "httpMeasurement": {
    "recordedAt": "2026-10-30T11:06:56.192265102Z",
    "transport": "real-loopback-http",
    "database": "isolated H2, ordinary production repositories; PostgreSQL snapshot semantics tested separately",
    "method": "3 warmups then 30 sequential GET /state requests per condition, no-profile then profile, same learner/focus, autoPilot=false, strictMode=true; no network TLS",
    "limitations": "One local process and one canonical pilot; order/JIT/GC effects remain. Difference of p95 values is observational, not a paired causal estimate. No host acceptance or production capacity claim.",
    "learnerSetup": {
      "root": "a0e13c56-c25f-4742-9272-3a1a603ee52e",
      "masteryRows": 0,
      "courseProfile": "GK+LK",
      "stage": "CrossStage",
      "subject": "68a8ac50-f5f5-4e24-8aa9-5e408ca01ced",
      "focus": [
        "3016ec37-1c2e-47db-83f5-e767923bc97e"
      ],
      "durationModel": "G9",
      "region": "DE-HE"
    },
    "profileId": "math-dot-product-projection",
    "profileRevision": "2026-10-30-v1",
    "curriculumGeneration": "cf40c05fb5efddb1ba1868757445b52ab27aac90d1300c6de3947f617cfdd265",
    "targetCount": 2,
    "requiredAssessmentCount": 1,
    "withoutProfile": {
      "warmupRequests": 3,
      "measuredRequests": 30,
      "percentileMethod": "nearest rank",
      "samplesMillis": [
        146.022786,
        142.904926,
        152.968942,
        154.1176,
        152.422914,
        142.916626,
        136.635804,
        136.778212,
        151.808682,
        141.892274,
        151.18545,
        136.303287,
        139.26794,
        137.597554,
        147.86058,
        177.669308,
        142.460403,
        152.412413,
        151.947189,
        140.096465,
        210.155777,
        157.270088,
        165.895791,
        169.734415,
        141.589272,
        148.149254,
        142.705137,
        145.879122,
        214.119608,
        187.974082
      ],
      "p50Millis": 147.86058,
      "p95Millis": 210.155777,
      "lastResponseBytes": 4311
    },
    "withProfile": {
      "warmupRequests": 3,
      "measuredRequests": 30,
      "percentileMethod": "nearest rank",
      "samplesMillis": [
        188.662321,
        149.863555,
        1992.712612,
        180.883668,
        197.649347,
        167.687796,
        154.109202,
        159.70183,
        164.433506,
        149.893357,
        149.339824,
        166.850748,
        156.255528,
        210.929722,
        181.491102,
        209.35003,
        191.903311,
        193.574409,
        218.07804,
        207.393616,
        192.290303,
        214.833366,
        179.559886,
        147.500997,
        147.198178,
        146.281824,
        149.674625,
        150.726087,
        144.120497,
        154.68562
      ],
      "p50Millis": 166.850748,
      "p95Millis": 218.07804,
      "lastResponseBytes": 5684
    },
    "additionalP95Millis": 7.922262999999987,
    "additionalP95BudgetMillis": 100,
    "additionalP95WithinInformationalBudget": true,
    "levelCompletionJsonBytes": 1957,
    "levelCompletionBudgetBytes": 8192,
    "fullResponseBytesDelta": 1373,
    "environment": {
      "java.version": "25.0.2",
      "java.runtime.version": "25.0.2+10-LTS",
      "java.vendor": "Amazon.com Inc.",
      "java.vm.name": "OpenJDK 64-Bit Server VM",
      "os.name": "Linux",
      "os.version": "6.18.54.1-microsoft-standard-WSL2",
      "os.arch": "amd64",
      "availableProcessors": 16,
      "maxHeapBytes": 3221225472,
      "cpuModel": "model name\t: Intel(R) Xeon(R) E-2286M  CPU @ 2.40GHz",
      "cpuAffinity": "Cpus_allowed_list:\t0-15",
      "cgroupCpuMax": "max 100000",
      "cgroupMemoryMax": "max",
      "githubSha": "not supplied; local working tree"
    },
    "observedMaximumMillis": {
      "withoutProfile": 214.119608,
      "withProfile": 1992.712612
    }
  },
  "browser": {
    "transport": "real-loopback-http",
    "viewport": {
      "width": 390,
      "height": 844
    },
    "checks": [
      "keyboard-profile-choice",
      "mobile-card",
      "stale-parallel-choice-409",
      "provider-session-start",
      "cockpit-reload-preserves-assessment",
      "keyboard-exit-cancel-preserves-assessment"
    ],
    "resultChecks": [
      "real-delayed-state-read",
      "real-aborted-state-read",
      "reload-recovers-authoritative-state",
      "actual-mcp-write-completes-section",
      "accessible-confirmed-status",
      "scoped-waiver-explanation",
      "keyboard-pause-retains-profile-and-completion-after-reload"
    ],
    "initialRevision": 0,
    "selectedRevision": 1,
    "runningRevision": 2,
    "hostAcceptance": false
  },
  "restart": {
    "checks": [
      "real-mcp-success-before-restart",
      "no-hot-reload-under-old-hash",
      "old-receipt-action-evaluation-and-replay-rejected",
      "live-direct-binding-recovered",
      "existing-mastery-immediately-completes-new-profile",
      "new-session-and-receipt-work",
      "unchanged-focus",
      "private-workflow-not-exported",
      "original-input-bytes-unchanged"
    ],
    "javaRuntime": "25.0.2+10-LTS",
    "applicationBoots": 2,
    "database": "isolated PostgreSQL schema",
    "profileRevisions": [
      "2026-10-30-v1",
      "2026-10-30-v1-restart-B"
    ],
    "newGeneration": "d951b3083f91bed9a8ade7d7318fa9fe10496c2145b249cf9505862314d168c1",
    "oldGeneration": "5fcf4e4f1bda43b1e513110658794652ebfc49693476b7097dd6a2c76ac11b6f",
    "canonicalGoals": 1252,
    "passed": true,
    "recordedAt": "2026-10-30T11:07:50.962963565Z"
  },
  "retainedLocalArtifacts": [
    "tmp/assessment-completion-final-backend.log",
    "backend/build/test-results/test/",
    "tmp/assessment-completion-final-frontend.log",
    "tmp/level-completion-backend-browser/",
    "tmp/assessment-completion-restart/evidence.json"
  ],
  "disposableBuildOutput": "The verified Vite output copied existing public curriculum media and was removed after recording successful build evidence; original assets and sources remain unchanged."
}
