{ "schemaVersion": 1, "recordedAt": "2026-07-11", "purpose": "Spec 439 paired clean-baseline attribution and final evidence reconciliation", "baseline": { "ref": "origin/platform-dev", "sha": "71e3745aee7e69dbe2479ef622075d73c36b717a", "localPlatformDevSha": "71e3745aee7e69dbe2479ef622075d73c36b717a", "mergeBaseSha": "71e3745aee7e69dbe2479ef622075d73c36b717a", "worktreePath": "/Users/ahmeddarrazi/Documents/projects/wt-plattform-spec439-baseline-71e3745a", "detached": true, "cleanDuringExecution": true, "removedAfterEvidenceCapture": true, "temporaryComposeProjectRemoved": true, "fetchPerformed": false }, "feature": { "branch": "feat/439-branch-topology-local-evidence-truth", "head": "71e3745aee7e69dbe2479ef622075d73c36b717a", "testedWorktreeDigest": "a0755a5c650cb2704a1d2d47d8c4f616526b391da9adc6c91f4c3f3818b713a5", "testedWorktreeDigestAlgorithm": "SHA-256 over sorted 26-path records path\\0file-sha256\\n before evidence-contract documentation reconciliation", "trackedModifiedPathCount": 18, "untrackedFileCountBeforeEvidence": 8 }, "commands": { "nativeFastFeedback": "./scripts/platform-test-lane fast-feedback --workflow-id=pr-fast-feedback --trigger-class=pull-request", "nativeConfidence": "./scripts/platform-test-lane confidence --workflow-id=main-confidence --trigger-class=mainline-push", "normalizedRunner": "php vendor/bin/pest --colors=never --parallel --configuration= --testsuite=Lane --log-junit= --profile", "browserPreconditionCorrection": "php vendor/bin/pest --colors=never --configuration=phpunit.xml --filter='it rejects browser placement in non-browser lanes and keeps the default loops clean' --log-junit= tests/Feature/Guards/BrowserLaneIsolationTest.php" }, "environment": { "equivalent": true, "php": "8.4.15", "laravel": "12.52.0", "pest": "4.3.1", "phpunit": "12.5.4", "postgresqlServer": "16.11", "testDatabase": "SQLite in-memory", "architecture": "arm64", "cpuCount": 8, "hostTimezone": "Europe/Berlin", "containerTimezone": "UTC", "sailContext": "separate Compose projects and containers; identical application image", "featureComposeProject": "wt-plattform", "baselineComposeProject": "spec439-baseline", "containerImage": "sha256:a2822bcc087a2282276ca8e38590ec166dc0c73c40e7a44362cfe94b98d06f5b", "hashes": { "composerLock": "ae033b4c25a9c1d57cecc1329a0835562f02ee728f3ca97f4c57057c5b9c8991", "dockerCompose": "336ef101f60d94dbf1ddde80e9d24555fefcbf053cf5f5bd43252e2e1997c1f7", "phpunitXml": "db1a11bbbce7c77ff7a78bd8838baeced86c24fa10ca15396c5a888141320756", "environmentFile": "9b93ebb2ee7ff445998704b313dfe841a09e61de1b84fe32b3619d06fbb0bb57" } }, "budgetContract": { "unchanged": true, "methodSourceSha256": "6e1d54496ff36d8d8bc8596e4520261f65917d2615e8f640d2d363b6e23145dc", "relevantProfilesSha256": "7b0d5a54ae0b7c406ff85fe95a614583b0e4221d1e43ca3ab7a0fdb8248d91ef", "profiles": { "fastFeedbackPullRequest": { "baseSeconds": 200, "varianceSeconds": 15, "effectiveSeconds": 215, "mode": "hard-fail" }, "confidenceMainlinePush": { "baseSeconds": 450, "varianceSeconds": 30, "effectiveSeconds": 480, "mode": "soft-warn" } } }, "nativeSelection": { "comparableForDirectCounts": false, "reason": "Spec 439 adds two contract files and changes test identities; identical-selection supplemental runs are authoritative for functional attribution", "fastFeedback": { "baselineFileCount": 679, "featureFileCount": 681, "baselineFileManifestSha256": "2dde6bae2fdfa471730bc8e90f7a0a0132ff658d81a4f69b0148476040c592ad", "featureFileManifestSha256": "0d74b73ffa69dd529ebd41f000875279a25504200fbfae1e108a23919cc42252", "baselineIdentitySha256": "267f48fb0460d28a55578423ed48e7c368716ec428886b8a76a85fc23f7fa212", "featureIdentitySha256": "0374b3eaa57a417530e47632ac0b76cfd03c73c81fa978e8d806f955c9fe6e71" }, "confidence": { "baselineFileCount": 1594, "featureFileCount": 1596, "baselineFileManifestSha256": "e2ca4ce14a2c620d5adeebeb72c3fcfb38f879926b705686dace31ef461f436e", "featureFileManifestSha256": "5ae5d9745d9cb62124b180e9bc3a613bf0b5e7d0a96e30ae1941797c0de0937d", "baselineIdentitySha256": "ebeb2c3ef35d0ab3d35a01ab50c1048e4ee26849b0dd15a75c0ee969e9d2852a", "featureIdentitySha256": "a72332226a18e278034df2507dfb4c2c44f6d74a746e988d8ed814e047ee7419" }, "identityDelta": { "baselineOnly": 2, "featureOnly": 42, "netFeatureTests": 40, "allFeatureOnlyIdentitiesPassed": true } }, "nativeRuns": { "fastFeedback": { "workflowId": "pr-fast-feedback", "triggerClass": "pull-request", "baseline": { "shellExit": 2, "tests": 2825, "assertions": 17404, "failures": 39, "errors": 5, "skips": 0, "junitCumulativeSeconds": 1384.556496, "laneWallSeconds": 187.344327, "normalizedCiBudgetStatus": "within-budget", "reportStatus": "failed", "artifactStatus": "complete" }, "feature": { "shellExit": 2, "tests": 2865, "assertions": 20511, "failures": 37, "errors": 3, "skips": 0, "junitCumulativeSeconds": 1418.066647, "laneWallSeconds": 191.234712, "budgetStatus": "within-budget", "reportStatus": "failed", "artifactStatus": "complete" }, "deltaFeatureMinusBaseline": { "tests": 40, "failures": -2, "errors": -2, "skips": 0, "junitCumulativeSeconds": 33.510151, "laneWallSeconds": 3.890385, "laneWallPercent": 2.076596, "shellExitChanged": false, "reportClassificationChanged": false, "budgetClassificationChanged": false } }, "confidence": { "workflowId": "main-confidence", "triggerClass": "mainline-push", "baseline": { "shellExit": 2, "tests": 6144, "assertions": 39731, "failures": 97, "errors": 26, "skips": 26, "junitCumulativeSeconds": 4545.602722, "laneWallSeconds": 614.802711, "normalizedCiBudgetStatus": "over-budget", "normalizedCiBlockingStatus": "non-blocking-warning", "reportStatus": "failed", "artifactStatus": "complete" }, "feature": { "shellExit": 2, "tests": 6184, "assertions": 42837, "failures": 95, "errors": 23, "skips": 26, "junitCumulativeSeconds": 4357.936975, "laneWallSeconds": 590.987661, "budgetStatus": "over-budget", "budgetBlockingStatus": "non-blocking-warning", "reportStatus": "failed", "artifactStatus": "complete" }, "deltaFeatureMinusBaseline": { "tests": 40, "failures": -2, "errors": -3, "skips": 0, "junitCumulativeSeconds": -187.665747, "laneWallSeconds": -23.81505, "laneWallPercent": -3.873608, "shellExitChanged": false, "reportClassificationChanged": false, "budgetClassificationChanged": false } } }, "failureSignatureContract": { "identityFields": [ "testsuite", "classname", "testcase" ], "outcomeFields": [ "status", "type", "normalizedFirstMaterialMessage" ], "comparison": "multiset", "normalization": "Paths, generated HTML/CSRF/Livewire values, factory identifiers, and Mockery ordinals are normalized only after semantic status/type/assertion comparison" }, "signatureCatalog": { "browserConfigMissing": { "testsuite": "Tests\\Feature\\Guards\\BrowserLaneIsolationTest", "classname": "Tests.Feature.Guards.BrowserLaneIsolationTest", "testcase": "it rejects browser placement in non-browser lanes and keeps the default loops clean", "status": "error", "type": "ErrorException", "normalizedFirstMaterialMessage": "file_get_contents(/storage/logs/test-lanes/browser-lane.phpunit.xml): Failed to open stream: No such file or directory" }, "artifactSkeleton": { "testsuite": "Tests\\Feature\\Guards\\TestLaneArtifactsContractTest", "classname": "Tests.Feature.Guards.TestLaneArtifactsContractTest", "testcase": "it keeps only the skeleton file checked into the lane artifact directory", "status": "failure", "type": "PHPUnit\\Framework\\ExpectationFailedException", "normalizedFirstMaterialMessage": "Failed asserting that false is true." }, "commandBrowserConfig": { "testsuite": "Tests\\Feature\\Guards\\TestLaneCommandContractTest", "classname": "Tests.Feature.Guards.TestLaneCommandContractTest", "testcase": "it routes the foundational lane commands through stable artisan arguments", "status": "error", "type": "ErrorException", "normalizedFirstMaterialMessage": "file_get_contents(/storage/logs/test-lanes/browser-lane.phpunit.xml): Failed to open stream: No such file or directory" }, "recalibrationEvidence": { "testsuite": "Tests\\Feature\\Guards\\TestLaneRecalibrationEvidenceContractTest", "classname": "Tests.Feature.Guards.TestLaneRecalibrationEvidenceContractTest", "testcase": "it emits candidate, approved, and rejected recalibration records with explicit summary disclosure", "status": "failure", "type": "PHPUnit\\Framework\\ExpectationFailedException", "normalizedFirstMaterialMessage": "Failed asserting that two strings are identical." }, "livewireManifest": { "testsuite": "Tests\\Feature\\LivewireInterceptShimTest", "classname": "Tests.Feature.LivewireInterceptShimTest", "testcase": "it resolves the built Filament admin theme from the manifest", "status": "error", "type": "Pest\\Exceptions\\InvalidExpectationValue", "normalizedFirstMaterialMessage": "Invalid expectation value type. Expected [iterable]." }, "platformRelocation": { "testsuite": "Tests\\Feature\\PlatformRelocation\\RuntimeSmokeTest", "classname": "Tests.Feature.PlatformRelocation.RuntimeSmokeTest", "testcase": "it keeps the relocated public and storage paths aligned with the app root", "status": "failure", "type": "PHPUnit\\Framework\\ExpectationFailedException", "normalizedFirstMaterialMessage": "Failed asserting that false is true." } }, "exactFailureAttribution": { "nativeFastFeedback": { "baselineOnlySignatureIds": [ "browserConfigMissing", "artifactSkeleton", "commandBrowserConfig", "recalibrationEvidence" ], "featureOnly": [], "identicalClassificationCount": 40, "classificationChanged": [], "materialMessageChanged": [] }, "nativeConfidence": { "baselineOnlySignatureIds": [ "browserConfigMissing", "artifactSkeleton", "commandBrowserConfig", "livewireManifest", "platformRelocation" ], "featureOnly": [], "identicalClassificationCount": 118, "classificationChanged": [], "materialMessageChanged": [] } }, "identicalSelectionAttribution": { "excludedChangedTestFiles": [ "apps/platform/tests/Feature/Guards/BranchTopologyContractTest.php", "apps/platform/tests/Feature/Guards/ConstitutionBranchTopologyContractTest.php", "apps/platform/tests/Feature/Guards/CiFastFeedbackWorkflowContractTest.php", "apps/platform/tests/Feature/Guards/CiLaneFailureClassificationContractTest.php", "apps/platform/tests/Feature/Guards/TestLaneArtifactsContractTest.php", "apps/platform/tests/Feature/Guards/TestLaneCommandContractTest.php", "apps/platform/tests/Feature/Guards/TestLaneTrendClassificationTest.php", "apps/platform/tests/Unit/Support/TestLaneBudgetTest.php", "apps/platform/tests/Unit/Support/TestLaneReportTest.php" ], "fastFeedback": { "selectedFileCount": 672, "selectionManifestSha256": "c8d47eb76141fe3fae0ed303d874bfe3fd2b6ec6da2424be723d3116b06a933b", "normalizedFileListSha256": "8fba23223b9b6be86db6dfeda70423d07580e7d790d23807da787feb85bbc90c", "identityCount": 2801, "identitySha256": "2d4afdaacdb2ee0caaec5df6ee66b512f8bd7a9bc80ceb7672886b320f1dee94", "rawBaseline": { "shellExit": 2, "tests": 2801, "assertions": 17221, "failures": 37, "errors": 4, "skips": 0, "junitCumulativeSeconds": 1286.489596, "pestSeconds": 168.04, "externalWallSeconds": 175.67 }, "rawFeature": { "shellExit": 2, "tests": 2801, "assertions": 19504, "failures": 37, "errors": 3, "skips": 0, "junitCumulativeSeconds": 1336.203287, "pestSeconds": 174.58, "externalWallSeconds": 181.54 }, "deltaFeatureMinusBaseline": { "junitCumulativeSeconds": 49.713691, "junitCumulativePercent": 3.86429, "pestSeconds": 6.54, "pestPercent": 3.89193, "externalWallSeconds": 5.87, "externalWallPercent": 3.341493, "budgetAuthoritative": false }, "rawBaselineOnlySignatureIds": [ "browserConfigMissing" ], "correctedBaselineOnlySignatureIds": [], "featureOnly": [], "identicalClassificationCount": 40, "classificationChanged": [], "materialMessageChanged": [] }, "confidence": { "selectedFileCount": 1587, "selectionManifestSha256": "7f8b97a58bb1457b9302e5823469edc2026c989a69c28db4ff1b653a2dba9fa2", "normalizedFileListSha256": "7ae55fc102e9e3e0ab561e7c73e1b8955890073a96ced4a7304aa0bf5ab88e2c", "identityCount": 6120, "identitySha256": "67cf6fa1cee7c9c22d41aa18f304004d81e5b4de610888ea95fa4505f4e16f23", "rawBaseline": { "shellExit": 2, "tests": 6120, "assertions": 39544, "failures": 96, "errors": 25, "skips": 26, "junitCumulativeSeconds": 4265.128724, "pestSeconds": 547.79, "externalWallSeconds": 580.62 }, "rawFeature": { "shellExit": 2, "tests": 6120, "assertions": 41830, "failures": 95, "errors": 23, "skips": 26, "junitCumulativeSeconds": 4217.546503, "pestSeconds": 540.79, "externalWallSeconds": 575.92 }, "deltaFeatureMinusBaseline": { "junitCumulativeSeconds": -47.582221, "junitCumulativePercent": -1.11561, "pestSeconds": -7.0, "pestPercent": -1.277862, "externalWallSeconds": -4.7, "externalWallPercent": -0.80948, "budgetAuthoritative": false }, "rawBaselineOnlySignatureIds": [ "browserConfigMissing", "livewireManifest", "platformRelocation" ], "correctedBaselineOnlySignatureIds": [ "livewireManifest", "platformRelocation" ], "featureOnly": [], "identicalClassificationCount": 118, "classificationChanged": [], "materialMessageChanged": [] }, "browserPreconditionCorrection": { "configSha256Both": "6dd56bbb76fcba3bbc177dbcc6aeaad8ec2e0cbd6e61d4ebd40ef79139c772e6", "identitySha256Both": "89203c0d819931ff791eddbbcf74ba592ba29c974eeed59e04bf4a30b965f17a", "baseline": { "shellExit": 0, "tests": 1, "assertions": 2279, "status": "passed" }, "feature": { "shellExit": 0, "tests": 1, "assertions": 2283, "status": "passed" } }, "valid": true }, "performanceAndBudgetAttribution": { "fastFeedback": { "featureRegressionConfirmed": false, "baselineDebt": false, "activationBlocker": false, "repeatRequired": false, "reason": "Both native runs are below the unchanged hard threshold; one small paired delta does not prove causal regression under P-001 and does not affect the merge decision" }, "confidence": { "featureRegressionConfirmed": false, "baselineDebt": true, "baselineDebtType": "advisory budget and shared functional failures", "activationBlocker": false, "repeatRequired": false, "reason": "Both native and normalized runs exceed the same unchanged soft-warn threshold; feature is not slower and the advisory breach is not a hard gate" } }, "artifactChecksums": { "nativeFastFeedback": { "baseline": { "terminal": "928b105cdf84e4510c1d5556cd9655d455ed6c58d7dc210abebf68b0d3ea8f74", "junit": "9ab6ef1917248a1065b6f814458741b8fa6be0bb232ef1f56933aceb8412a030", "report": "7f6d0a08dc0e60a6dad8aebb9bf5803b21bbbcf8708c45026f693e003c331a67", "budget": "041aa8174636d2e1b5cf6fa0916d98b25c7af6ee65b5c2077e479051c8a757e4", "profile": "62ee7000feaf76d0fd339e7effc247ca4e82d6992258a6767275db3a3c5a7c45", "summary": "057ab8ff68ac8e32456847cddda32881700ac331af05a5df905a27cca8a948fe", "trend": "d9ae9f4408fe72b4161929829c7749ee4c1e8cad557fdfdaae95cd4a4443e5e3" }, "feature": { "terminal": "61f5a63f4f7e2144f64e78f05fc92f9c46aea601f713d1bd2414cd69755c25d8", "junit": "2b500d8ec964be50b5e2ea5fc0795b37e8e6f97d2cab9edd438e436525bd00fd", "report": "6eac0d4758720753e15fe673c005727a9bacb8b80f6539d688584727296a55aa", "budget": "6512fa137e29ede17459866c1cfe485367f761fba9d4eaecd20270a8e9da8e3d", "profile": "a145de74d9b18f86ee7b9b7674d35e8453f19cdbc84fbf520963efd867954fdc", "summary": "c6d707274afa46bb213df9a60ab8df123270488af498e2c4ad47d94be76096d1", "trend": "2beaeb937c2dddfb0421a4171a85fb5b3ee73ce99a1627f18a58a330577822a9" } }, "nativeConfidence": { "baseline": { "terminal": "ef35435e750fc8c9a06f2ec0822f1eb99d74ae40573cdaeccd610e5f7192d9b1", "junit": "dcef66bde0853bacd9a39c70cea49aac1f3c0b9e60137af868e1f06c5035b8aa", "report": "cda680c570020dbb7a62129e27ec30a8b85c64d9f71c0d0fb8442f6557ec59cc", "budget": "e60cd6da81cb7d5194c0583431bffafc36d17e59d055f9e8059f85307ff086d4", "profile": "da0c0252b610cae173ae63f71102887410cf30637fabee5d771f91a861585777", "summary": "3eeb6394d1061b4a67bc28b17b3afdf4f5633e74cbafb82f19a5e9f2af6f65f0", "trend": "2a55d0474a608d7ae1fd215f4ed32cccaa2c6e95d5c6608d0c7fea6895eba938" }, "feature": { "terminal": "6502c11e5a05767fc8e60d1fd8048264f4905f42dc64d9e9022d4f5a24683f6f", "junit": "b77a6fdc0369b7c4cb47c28834f1a15389b93351997298ad1441b7a174653304", "report": "f97dab2fd88de0ddfe71a02e6c8e539281e5e1fefb06ca05a697fef826cfb2b0", "budget": "2d24b6da8bc9857fa95f2f44dbd5a3b3d31c70c01efff0170762b428bb5edb5b", "profile": "47ccd23198856098f77ff04ed10cba64bc23b7f1f2ee487a772b8b9f9800b434", "summary": "24d7bd1ce1660298b0ab706ae0c547950ed0e0a565715c2257ef8d1a258644f2", "trend": "30da4989899311c521d94596cf30bb05d3487a9e3ba8d0f927af87c510ea626f" } }, "normalized": { "fastFeedbackBaselineJunit": "91dde9c8487d02d7d6f0b7ce1f0f7cbbb0aecdf1a9af81a42b77140d1a2889b6", "fastFeedbackFeatureJunit": "05197c984d1ce852e41aa1b3c460a902b77368dd85cb191e7cb0b4381743a9de", "confidenceBaselineJunit": "3072beccdf25ddb36220c8f44db3e9e74d0e33462fff4339c054023e658ff9be", "confidenceFeatureJunit": "06b243e1f3424bbcccfce2f29cdf7fa0845908dbd3f47b8e3ba438619bb07f2d", "browserBaselineJunit": "b892fc260814758dc17bc2125779c202ed5a76632da13dae0e35e63d32f6194c", "browserFeatureJunit": "f04ddbae563620657299fc6d098a5b817646fac6b3287c22c40e0ca8d12c74d1" } }, "comparabilityVerdict": "VALID", "attributionVerdict": "NO SPEC 439 FUNCTIONAL REGRESSION", "technicalRemediationPerformed": false, "activationAssessment": { "fastFeedbackHardGateBlocker": false, "fastFeedbackProcessFailureContract": true, "liveRequiredMergeCheckStatus": "unverified-external", "confidenceAdvisoryBaselineDebt": true, "localMergeReady": true, "externalCondition": "Before merge, verify live Gitea PR target context, checkout history, merge base, failed-lane artifacts, and that the red shared-baseline check is not a required merge boundary; if it is required, restore the Fast Feedback baseline first" }, "finalVerdict": "PASS WITH EXTERNAL ACTIVATION CONDITION — MERGE-READY LOCALLY" }