vaibify 0.1.2__tar.gz → 0.1.4.dev95__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2139) hide show
  1. vaibify-0.1.4.dev95/.claude/skills/add-route-module/SKILL.md +202 -0
  2. vaibify-0.1.4.dev95/.claude/skills/container-image-and-packaging/SKILL.md +227 -0
  3. vaibify-0.1.4.dev95/.claude/skills/dashboard-state-honesty/SKILL.md +185 -0
  4. vaibify-0.1.4.dev95/.claude/skills/reproducibility-lane/SKILL.md +885 -0
  5. vaibify-0.1.4.dev95/.github/workflows/browser-chromium.yml +197 -0
  6. vaibify-0.1.4.dev95/.github/workflows/browser-firefox.yml +129 -0
  7. vaibify-0.1.4.dev95/.github/workflows/browser-webkit.yml +129 -0
  8. vaibify-0.1.4.dev95/.github/workflows/runtimeSetup.yml +132 -0
  9. vaibify-0.1.4.dev95/.github/workflows/tests-linux.yml +236 -0
  10. vaibify-0.1.4.dev95/AGENTS.md +465 -0
  11. vaibify-0.1.4.dev95/CLAUDE.md +465 -0
  12. vaibify-0.1.4.dev95/PKG-INFO +138 -0
  13. vaibify-0.1.4.dev95/README.md +65 -0
  14. vaibify-0.1.4.dev95/design/cpuClassReproducibility.md +1183 -0
  15. vaibify-0.1.4.dev95/design/cpuClassReproducibilityImplementation.md +1504 -0
  16. vaibify-0.1.4.dev95/docs/agentCouncil.md +341 -0
  17. vaibify-0.1.4.dev95/docs/aiUse.md +249 -0
  18. vaibify-0.1.4.dev95/docs/architecture.md +3958 -0
  19. vaibify-0.1.4.dev95/docs/cli.md +616 -0
  20. vaibify-0.1.4.dev95/docs/environmentsAndProjects.md +761 -0
  21. vaibify-0.1.4.dev95/docs/install.md +456 -0
  22. vaibify-0.1.4.dev95/docs/lessons.md +699 -0
  23. vaibify-0.1.4.dev95/docs/proofLadder.md +390 -0
  24. vaibify-0.1.4.dev95/docs/quickStart.md +224 -0
  25. vaibify-0.1.4.dev95/docs/reproducibility.md +516 -0
  26. vaibify-0.1.4.dev95/docs/security.md +334 -0
  27. vaibify-0.1.4.dev95/docs/systemPrompt.md +31 -0
  28. vaibify-0.1.4.dev95/docs/testing.md +703 -0
  29. vaibify-0.1.4.dev95/docs/vibeCoding.md +384 -0
  30. vaibify-0.1.4.dev95/tests/assessedRerunLaneHarness.py +120 -0
  31. vaibify-0.1.4.dev95/tests/browser/conftest.py +785 -0
  32. vaibify-0.1.4.dev95/tests/browser/testANewStepRunsItsDataCommands.py +91 -0
  33. vaibify-0.1.4.dev95/tests/browser/testATierWithNothingToCheckSaysWhy.py +94 -0
  34. vaibify-0.1.4.dev95/tests/browser/testAnAgentsEditAppearsWithoutNavigation.py +222 -0
  35. vaibify-0.1.4.dev95/tests/browser/testAssessedVerdictsOnScreen.py +166 -0
  36. vaibify-0.1.4.dev95/tests/browser/testBrowserJourneys.py +1104 -0
  37. vaibify-0.1.4.dev95/tests/browser/testCompareManifests.py +507 -0
  38. vaibify-0.1.4.dev95/tests/browser/testContainerizeFromPinnedImage.py +794 -0
  39. vaibify-0.1.4.dev95/tests/browser/testCouncilChairbotChat.py +384 -0
  40. vaibify-0.1.4.dev95/tests/browser/testCouncilMaximumRoundsReachesTheRecord.py +50 -0
  41. vaibify-0.1.4.dev95/tests/browser/testDeterminismRowFollowsTheGate.py +216 -0
  42. vaibify-0.1.4.dev95/tests/browser/testGeneratedTestsSayWhoWroteThem.py +102 -0
  43. vaibify-0.1.4.dev95/tests/browser/testHostProjectPicker.py +698 -0
  44. vaibify-0.1.4.dev95/tests/browser/testLostClaimIsRecoverable.py +317 -0
  45. vaibify-0.1.4.dev95/tests/browser/testManifestCheckReportOnScreen.py +106 -0
  46. vaibify-0.1.4.dev95/tests/browser/testOutputContextNoteIsNeutral.py +71 -0
  47. vaibify-0.1.4.dev95/tests/browser/testSetUpDockerWizard.py +231 -0
  48. vaibify-0.1.4.dev95/tests/browser/testStartBannersBelongToTheirContainer.py +63 -0
  49. vaibify-0.1.4.dev95/tests/browser/testSymbolicTokenDependenciesOnScreen.py +75 -0
  50. vaibify-0.1.4.dev95/tests/browser/testTheContainerizingWindowFollowsTheHub.py +607 -0
  51. vaibify-0.1.4.dev95/tests/browser/testTheGraphLeavesOtherViewersAlone.py +192 -0
  52. vaibify-0.1.4.dev95/tests/browser/testTheImageTrustModalAsksBeforeAnUnbuiltImageRuns.py +334 -0
  53. vaibify-0.1.4.dev95/tests/browser/testTheMemoryWatchTellsAKillOnce.py +429 -0
  54. vaibify-0.1.4.dev95/tests/browser/testTheVerificationShowsItsOutput.py +142 -0
  55. vaibify-0.1.4.dev95/tests/browser/testUncoveredLibrariesOnScreen.py +52 -0
  56. vaibify-0.1.4.dev95/tests/browser/testUnintrospectableToastSaysWhatHappened.py +78 -0
  57. vaibify-0.1.4.dev95/tests/browser/testVectorFigureNoteOnScreen.py +44 -0
  58. vaibify-0.1.4.dev95/tests/browser/testViewersBelongToTheirProject.py +293 -0
  59. vaibify-0.1.4.dev95/tests/cliRunnerStreams.py +20 -0
  60. vaibify-0.1.4.dev95/tests/conftest.py +585 -0
  61. vaibify-0.1.4.dev95/tests/depositFaultServer.py +311 -0
  62. vaibify-0.1.4.dev95/tests/falsificationRegistry.py +36334 -0
  63. vaibify-0.1.4.dev95/tests/guardCoverageSeed.json +234 -0
  64. vaibify-0.1.4.dev95/tests/hostCapabilityInventory.json +202 -0
  65. vaibify-0.1.4.dev95/tests/levelGateStubs.py +128 -0
  66. vaibify-0.1.4.dev95/tests/mutationInventory.json +688 -0
  67. vaibify-0.1.4.dev95/tests/reproduceScriptHarness.py +131 -0
  68. vaibify-0.1.4.dev95/tests/rerunAssessmentHarness.py +282 -0
  69. vaibify-0.1.4.dev95/tests/styleInventory.json +346 -0
  70. vaibify-0.1.4.dev95/tests/testALockThatDeclaresNothing.py +115 -0
  71. vaibify-0.1.4.dev95/tests/testARunKeepsThePassingTestsItRecordedLive.py +407 -0
  72. vaibify-0.1.4.dev95/tests/testARunsOwnOutputsAreNotModifications.py +171 -0
  73. vaibify-0.1.4.dev95/tests/testAgentCouncilFrontendContract.py +922 -0
  74. vaibify-0.1.4.dev95/tests/testAgentCouncilLedger.py +228 -0
  75. vaibify-0.1.4.dev95/tests/testAgentEditsReachTheOpenTab.py +251 -0
  76. vaibify-0.1.4.dev95/tests/testAgentLaneEnforcement.py +805 -0
  77. vaibify-0.1.4.dev95/tests/testAgentSessionBridge.py +155 -0
  78. vaibify-0.1.4.dev95/tests/testAiDeclarationAddStepAndDeterminismRoutes.py +325 -0
  79. vaibify-0.1.4.dev95/tests/testAnalysisStack.py +58 -0
  80. vaibify-0.1.4.dev95/tests/testArchitecturalInvariants.py +8794 -0
  81. vaibify-0.1.4.dev95/tests/testAssessedRerunLane.py +562 -0
  82. vaibify-0.1.4.dev95/tests/testAssessedRerunLive.py +206 -0
  83. vaibify-0.1.4.dev95/tests/testBasenameCollisionBlocksLevelTwo.py +101 -0
  84. vaibify-0.1.4.dev95/tests/testBinaryDeclaration.py +306 -0
  85. vaibify-0.1.4.dev95/tests/testCapabilityAuthorities.py +1100 -0
  86. vaibify-0.1.4.dev95/tests/testCarrierMigratedRoutes.py +8334 -0
  87. vaibify-0.1.4.dev95/tests/testCliApiCommands.py +276 -0
  88. vaibify-0.1.4.dev95/tests/testCliCommands.py +239 -0
  89. vaibify-0.1.4.dev95/tests/testCliExecLive.py +199 -0
  90. vaibify-0.1.4.dev95/tests/testCliTemplateProjectTowardLevelThreeLive.py +418 -0
  91. vaibify-0.1.4.dev95/tests/testCommandSetupDocker.py +108 -0
  92. vaibify-0.1.4.dev95/tests/testCommitCarrier.py +1274 -0
  93. vaibify-0.1.4.dev95/tests/testComparisonPolicyNotes.py +79 -0
  94. vaibify-0.1.4.dev95/tests/testConnectionCheck.py +278 -0
  95. vaibify-0.1.4.dev95/tests/testCouncilCredentialAdmission.py +493 -0
  96. vaibify-0.1.4.dev95/tests/testCoverageBoost.py +1217 -0
  97. vaibify-0.1.4.dev95/tests/testCoverageBroadGaps.py +1532 -0
  98. vaibify-0.1.4.dev95/tests/testCoverageCliBuildStartReproduce.py +568 -0
  99. vaibify-0.1.4.dev95/tests/testCoverageCliReconcileRepairOpen.py +726 -0
  100. vaibify-0.1.4.dev95/tests/testCoverageCliRemote.py +823 -0
  101. vaibify-0.1.4.dev95/tests/testCoverageGaps.py +1839 -0
  102. vaibify-0.1.4.dev95/tests/testCoverageReproducibilityDeterminismAndRerun.py +409 -0
  103. vaibify-0.1.4.dev95/tests/testCoverageReproducibilityImageAcquisition.py +536 -0
  104. vaibify-0.1.4.dev95/tests/testCoverageRoutesAPipelineSideEffects.py +672 -0
  105. vaibify-0.1.4.dev95/tests/testCoverageRoutesBPipelineServer.py +847 -0
  106. vaibify-0.1.4.dev95/tests/testCoverageRoutesBReproducibility.py +877 -0
  107. vaibify-0.1.4.dev95/tests/testDeclarationPushMutationCoverage.py +739 -0
  108. vaibify-0.1.4.dev95/tests/testDependencyDismissalRoute.py +97 -0
  109. vaibify-0.1.4.dev95/tests/testDependencyReconciliationGatesLevelOne.py +343 -0
  110. vaibify-0.1.4.dev95/tests/testDependencyScanRoutes.py +243 -0
  111. vaibify-0.1.4.dev95/tests/testDeterminismGate.py +308 -0
  112. vaibify-0.1.4.dev95/tests/testDeterminismRowMatchesItsGate.py +435 -0
  113. vaibify-0.1.4.dev95/tests/testDeterministicGeneratorIsAgentSafe.py +188 -0
  114. vaibify-0.1.4.dev95/tests/testDeterministicTestGenerator.py +2992 -0
  115. vaibify-0.1.4.dev95/tests/testDockerfileHardening.py +171 -0
  116. vaibify-0.1.4.dev95/tests/testEntrypointAgentSkills.py +375 -0
  117. vaibify-0.1.4.dev95/tests/testEntrypointInstructionPrecedence.py +80 -0
  118. vaibify-0.1.4.dev95/tests/testExecutionProfiles.py +821 -0
  119. vaibify-0.1.4.dev95/tests/testExecutionProfilesLive.py +443 -0
  120. vaibify-0.1.4.dev95/tests/testForeignManifestGuard.py +239 -0
  121. vaibify-0.1.4.dev95/tests/testGracefulExitsChecker.py +370 -0
  122. vaibify-0.1.4.dev95/tests/testGuiBuildWarnsAboutTheMachine.py +85 -0
  123. vaibify-0.1.4.dev95/tests/testGuiSignalsItsCategory.py +80 -0
  124. vaibify-0.1.4.dev95/tests/testGuiTemplateManager.py +401 -0
  125. vaibify-0.1.4.dev95/tests/testHostCliRunsThroughTheHub.py +150 -0
  126. vaibify-0.1.4.dev95/tests/testIsolationGating.py +465 -0
  127. vaibify-0.1.4.dev95/tests/testL3Attestation.py +207 -0
  128. vaibify-0.1.4.dev95/tests/testL3AttestationMutationCoverage.py +111 -0
  129. vaibify-0.1.4.dev95/tests/testLevelGateL2Arxiv.py +532 -0
  130. vaibify-0.1.4.dev95/tests/testLevelGateL3.py +204 -0
  131. vaibify-0.1.4.dev95/tests/testLevelGateL3Blockers.py +452 -0
  132. vaibify-0.1.4.dev95/tests/testLevelGateL3EndToEnd.py +321 -0
  133. vaibify-0.1.4.dev95/tests/testLevelGatesCoverage2.py +505 -0
  134. vaibify-0.1.4.dev95/tests/testListModules.py +171 -0
  135. vaibify-0.1.4.dev95/tests/testManifestCheckReport.py +151 -0
  136. vaibify-0.1.4.dev95/tests/testMutationInventory.py +2134 -0
  137. vaibify-0.1.4.dev95/tests/testNarrowLlmFallback.py +314 -0
  138. vaibify-0.1.4.dev95/tests/testOutputProvenance.py +393 -0
  139. vaibify-0.1.4.dev95/tests/testOverleafChipAgreesWithRows.py +106 -0
  140. vaibify-0.1.4.dev95/tests/testPipelineRunnerOffLoop.py +215 -0
  141. vaibify-0.1.4.dev95/tests/testPipelineServerFull.py +587 -0
  142. vaibify-0.1.4.dev95/tests/testPipelineServerRoutes.py +1243 -0
  143. vaibify-0.1.4.dev95/tests/testProjectScopedRegistries.py +203 -0
  144. vaibify-0.1.4.dev95/tests/testPromptRecordPublishesNoRawDigestOracle.py +123 -0
  145. vaibify-0.1.4.dev95/tests/testProofLadderUncoveredLines.py +934 -0
  146. vaibify-0.1.4.dev95/tests/testQuickStartJourneyThroughRoutesLive.py +635 -0
  147. vaibify-0.1.4.dev95/tests/testReadOnlyCouncilRunsNoCommands.py +112 -0
  148. vaibify-0.1.4.dev95/tests/testReaderRecordIsNeverCommitted.py +449 -0
  149. vaibify-0.1.4.dev95/tests/testReproduceCommand.py +694 -0
  150. vaibify-0.1.4.dev95/tests/testReproduceCommandAttestation.py +703 -0
  151. vaibify-0.1.4.dev95/tests/testReproduceFromSnapshot.py +493 -0
  152. vaibify-0.1.4.dev95/tests/testReproduceRerunHashCompare.py +191 -0
  153. vaibify-0.1.4.dev95/tests/testReproduceScriptContainerHalf.py +262 -0
  154. vaibify-0.1.4.dev95/tests/testReproduceScriptDeterminism.py +571 -0
  155. vaibify-0.1.4.dev95/tests/testReproduceScriptGateRejectsResidualTokens.py +145 -0
  156. vaibify-0.1.4.dev95/tests/testReproduceScriptGenerator.py +800 -0
  157. vaibify-0.1.4.dev95/tests/testReproduceScriptParity.py +185 -0
  158. vaibify-0.1.4.dev95/tests/testReproduceScriptParityLive.py +250 -0
  159. vaibify-0.1.4.dev95/tests/testReproducedManifest.py +687 -0
  160. vaibify-0.1.4.dev95/tests/testReproducibilityRoutes.py +1815 -0
  161. vaibify-0.1.4.dev95/tests/testReproductionLabelInPollResponse.py +689 -0
  162. vaibify-0.1.4.dev95/tests/testReproductionLive.py +243 -0
  163. vaibify-0.1.4.dev95/tests/testReproductionRecordPlatform.py +141 -0
  164. vaibify-0.1.4.dev95/tests/testReproductionReport.py +161 -0
  165. vaibify-0.1.4.dev95/tests/testRerunAssessmentEvidence.py +327 -0
  166. vaibify-0.1.4.dev95/tests/testRerunAssessmentImageCheck.py +281 -0
  167. vaibify-0.1.4.dev95/tests/testRerunAssessmentPrecedence.py +398 -0
  168. vaibify-0.1.4.dev95/tests/testRerunAssessmentStructure.py +326 -0
  169. vaibify-0.1.4.dev95/tests/testRerunAssessmentTranscription.py +143 -0
  170. vaibify-0.1.4.dev95/tests/testRerunDiagnostics.py +280 -0
  171. vaibify-0.1.4.dev95/tests/testRerunProcedureGuards.py +121 -0
  172. vaibify-0.1.4.dev95/tests/testRerunRegeneratesWhatItGrades.py +678 -0
  173. vaibify-0.1.4.dev95/tests/testRerunVerifiesWhatItRan.py +1042 -0
  174. vaibify-0.1.4.dev95/tests/testResearcherActions.py +289 -0
  175. vaibify-0.1.4.dev95/tests/testResumableDownload.py +992 -0
  176. vaibify-0.1.4.dev95/tests/testRuntimeSetupFacts.py +249 -0
  177. vaibify-0.1.4.dev95/tests/testRuntimeSetupPlan.py +472 -0
  178. vaibify-0.1.4.dev95/tests/testRuntimeSetupRoutes.py +203 -0
  179. vaibify-0.1.4.dev95/tests/testRuntimeSetupRunner.py +369 -0
  180. vaibify-0.1.4.dev95/tests/testSeededFolderRepositoryList.py +366 -0
  181. vaibify-0.1.4.dev95/tests/testSeededFolderRepositoryListLive.py +133 -0
  182. vaibify-0.1.4.dev95/tests/testStaleReproduceScriptIsNotRunnable.py +254 -0
  183. vaibify-0.1.4.dev95/tests/testStepLevelStates.py +1131 -0
  184. vaibify-0.1.4.dev95/tests/testStepRoutes.py +604 -0
  185. vaibify-0.1.4.dev95/tests/testStyleInvariants.py +1590 -0
  186. vaibify-0.1.4.dev95/tests/testSyncRoutesCoverage.py +3128 -0
  187. vaibify-0.1.4.dev95/tests/testTestGenerationIntegrity.py +580 -0
  188. vaibify-0.1.4.dev95/tests/testTestGeneratorBranches.py +339 -0
  189. vaibify-0.1.4.dev95/tests/testTestGeneratorPure.py +411 -0
  190. vaibify-0.1.4.dev95/tests/testTestRoutesCoverage.py +1538 -0
  191. vaibify-0.1.4.dev95/tests/testTheNextStepIsNamedOnlyWhenOrderMatters.py +795 -0
  192. vaibify-0.1.4.dev95/tests/testUncoveredLibrariesAreNamed.py +67 -0
  193. vaibify-0.1.4.dev95/tests/testUnseededRandomnessReachesLevelThree.py +86 -0
  194. vaibify-0.1.4.dev95/tests/testVaibifyDoCli.py +1882 -0
  195. vaibify-0.1.4.dev95/tests/testVerificationLiveOutput.py +112 -0
  196. vaibify-0.1.4.dev95/tests/testWorkflowManager.py +1269 -0
  197. vaibify-0.1.4.dev95/tests/testZenodoCandidatesCoverLevelThree.py +41 -0
  198. vaibify-0.1.4.dev95/tests/testZenodoEnvelopeArchive.py +603 -0
  199. vaibify-0.1.4.dev95/tests/testZenodoLookupPatience.py +449 -0
  200. vaibify-0.1.4.dev95/tests/typedHashDouble.py +34 -0
  201. vaibify-0.1.4.dev95/tools/checkInstalledDistribution.py +408 -0
  202. vaibify-0.1.4.dev95/tools/generateMutationInventory.py +2463 -0
  203. vaibify-0.1.4.dev95/tools/generateStyleInventory.py +868 -0
  204. vaibify-0.1.4.dev95/vaibify/_version.py +24 -0
  205. vaibify-0.1.4.dev95/vaibify/cli/actionCommands.py +581 -0
  206. vaibify-0.1.4.dev95/vaibify/cli/commandBuild.py +1240 -0
  207. vaibify-0.1.4.dev95/vaibify/cli/commandCredential.py +120 -0
  208. vaibify-0.1.4.dev95/vaibify/cli/commandReproduce.py +1327 -0
  209. vaibify-0.1.4.dev95/vaibify/cli/commandSetupDocker.py +151 -0
  210. vaibify-0.1.4.dev95/vaibify/cli/commandVerifyStep.py +119 -0
  211. vaibify-0.1.4.dev95/vaibify/cli/hubSession.py +744 -0
  212. vaibify-0.1.4.dev95/vaibify/cli/main.py +572 -0
  213. vaibify-0.1.4.dev95/vaibify/completions/vaibify.bash +213 -0
  214. vaibify-0.1.4.dev95/vaibify/completions/vaibify.fish +104 -0
  215. vaibify-0.1.4.dev95/vaibify/completions/vaibify.zsh +152 -0
  216. vaibify-0.1.4.dev95/vaibify/config/analysisStack.py +46 -0
  217. vaibify-0.1.4.dev95/vaibify/config/containerConfig.py +272 -0
  218. vaibify-0.1.4.dev95/vaibify/config/registryManager.py +868 -0
  219. vaibify-0.1.4.dev95/vaibify/containerImage/Dockerfile +787 -0
  220. vaibify-0.1.4.dev95/vaibify/containerImage/Dockerfile.jupyter +32 -0
  221. vaibify-0.1.4.dev95/vaibify/containerImage/entrypoint.sh +1818 -0
  222. vaibify-0.1.4.dev95/vaibify/containerImage/skills/create-pipeline-step/SKILL.md +137 -0
  223. vaibify-0.1.4.dev95/vaibify/containerImage/skills/graceful-exits/SKILL.md +27 -0
  224. vaibify-0.1.4.dev95/vaibify/containerImage/skills/graceful-exits/checkGracefulExits.py +631 -0
  225. vaibify-0.1.4.dev95/vaibify/containerImage/vaibifyDo.py +1079 -0
  226. vaibify-0.1.4.dev95/vaibify/docker/containerManager.py +1583 -0
  227. vaibify-0.1.4.dev95/vaibify/docker/dockerConnection.py +3997 -0
  228. vaibify-0.1.4.dev95/vaibify/docker/dockerContext.py +415 -0
  229. vaibify-0.1.4.dev95/vaibify/docker/pinnedImageAcquisition.py +647 -0
  230. vaibify-0.1.4.dev95/vaibify/docs/agentCouncil.md +341 -0
  231. vaibify-0.1.4.dev95/vaibify/docs/environmentsAndProjects.md +761 -0
  232. vaibify-0.1.4.dev95/vaibify/docs/proofLadder.md +390 -0
  233. vaibify-0.1.4.dev95/vaibify/docs/reproducibility.md +516 -0
  234. vaibify-0.1.4.dev95/vaibify/docs/testing.md +703 -0
  235. vaibify-0.1.4.dev95/vaibify/gui/actionCatalog.py +1548 -0
  236. vaibify-0.1.4.dev95/vaibify/gui/agentClientFreshness.py +130 -0
  237. vaibify-0.1.4.dev95/vaibify/gui/agentCouncil.py +1550 -0
  238. vaibify-0.1.4.dev95/vaibify/gui/agentCouncilAntigravityProvider.py +411 -0
  239. vaibify-0.1.4.dev95/vaibify/gui/agentCouncilCodexProvider.py +355 -0
  240. vaibify-0.1.4.dev95/vaibify/gui/agentSessionBridge.py +94 -0
  241. vaibify-0.1.4.dev95/vaibify/gui/appFactory.py +800 -0
  242. vaibify-0.1.4.dev95/vaibify/gui/buildRoutes.py +667 -0
  243. vaibify-0.1.4.dev95/vaibify/gui/conversionLifecycle.py +744 -0
  244. vaibify-0.1.4.dev95/vaibify/gui/determinismEnvironment.py +673 -0
  245. vaibify-0.1.4.dev95/vaibify/gui/deterministicTestWriter.py +374 -0
  246. vaibify-0.1.4.dev95/vaibify/gui/fileStatusManager.py +2658 -0
  247. vaibify-0.1.4.dev95/vaibify/gui/introspectionScript.py +1213 -0
  248. vaibify-0.1.4.dev95/vaibify/gui/llmTestGeneration.py +315 -0
  249. vaibify-0.1.4.dev95/vaibify/gui/outputProvenance.py +560 -0
  250. vaibify-0.1.4.dev95/vaibify/gui/pipelineLogger.py +637 -0
  251. vaibify-0.1.4.dev95/vaibify/gui/pipelineRunner.py +1955 -0
  252. vaibify-0.1.4.dev95/vaibify/gui/pipelineServer.py +3781 -0
  253. vaibify-0.1.4.dev95/vaibify/gui/pipelineTestRunner.py +294 -0
  254. vaibify-0.1.4.dev95/vaibify/gui/pipelineUtils.py +769 -0
  255. vaibify-0.1.4.dev95/vaibify/gui/pipelineValidator.py +142 -0
  256. vaibify-0.1.4.dev95/vaibify/gui/promptRecordManager.py +720 -0
  257. vaibify-0.1.4.dev95/vaibify/gui/reproductionProgress.py +644 -0
  258. vaibify-0.1.4.dev95/vaibify/gui/rerunEvidence.py +55 -0
  259. vaibify-0.1.4.dev95/vaibify/gui/researcherActions.py +359 -0
  260. vaibify-0.1.4.dev95/vaibify/gui/researcherNotices.py +142 -0
  261. vaibify-0.1.4.dev95/vaibify/gui/routeContext.py +940 -0
  262. vaibify-0.1.4.dev95/vaibify/gui/routeScope.py +1198 -0
  263. vaibify-0.1.4.dev95/vaibify/gui/routes/__init__.py +83 -0
  264. vaibify-0.1.4.dev95/vaibify/gui/routes/fileRoutes.py +916 -0
  265. vaibify-0.1.4.dev95/vaibify/gui/routes/pipelineRoutes.py +4353 -0
  266. vaibify-0.1.4.dev95/vaibify/gui/routes/reproducibilityRoutes.py +2400 -0
  267. vaibify-0.1.4.dev95/vaibify/gui/routes/runtimeSetupRoutes.py +173 -0
  268. vaibify-0.1.4.dev95/vaibify/gui/routes/scriptRoutes.py +559 -0
  269. vaibify-0.1.4.dev95/vaibify/gui/routes/stepRoutes.py +1044 -0
  270. vaibify-0.1.4.dev95/vaibify/gui/routes/testRoutes.py +1325 -0
  271. vaibify-0.1.4.dev95/vaibify/gui/runOutputBaseline.py +95 -0
  272. vaibify-0.1.4.dev95/vaibify/gui/serverMiddleware.py +488 -0
  273. vaibify-0.1.4.dev95/vaibify/gui/standardsFiles.py +139 -0
  274. vaibify-0.1.4.dev95/vaibify/gui/stateContract.py +412 -0
  275. vaibify-0.1.4.dev95/vaibify/gui/static/index.html +1506 -0
  276. vaibify-0.1.4.dev95/vaibify/gui/static/scriptAcquisitionWindow.js +635 -0
  277. vaibify-0.1.4.dev95/vaibify/gui/static/scriptAgentCouncil.js +5034 -0
  278. vaibify-0.1.4.dev95/vaibify/gui/static/scriptApplication.js +8190 -0
  279. vaibify-0.1.4.dev95/vaibify/gui/static/scriptContainerManager.js +3333 -0
  280. vaibify-0.1.4.dev95/vaibify/gui/static/scriptDependencyScanner.js +836 -0
  281. vaibify-0.1.4.dev95/vaibify/gui/static/scriptDirectoryBrowser.js +345 -0
  282. vaibify-0.1.4.dev95/vaibify/gui/static/scriptEventBindings.js +1554 -0
  283. vaibify-0.1.4.dev95/vaibify/gui/static/scriptFigureViewer.js +1962 -0
  284. vaibify-0.1.4.dev95/vaibify/gui/static/scriptFileOutcomes.js +197 -0
  285. vaibify-0.1.4.dev95/vaibify/gui/static/scriptPolling.js +567 -0
  286. vaibify-0.1.4.dev95/vaibify/gui/static/scriptProofTab.js +1505 -0
  287. vaibify-0.1.4.dev95/vaibify/gui/static/scriptReproducePublished.js +621 -0
  288. vaibify-0.1.4.dev95/vaibify/gui/static/scriptRuntimeSetup.js +318 -0
  289. vaibify-0.1.4.dev95/vaibify/gui/static/scriptStepEditor.js +427 -0
  290. vaibify-0.1.4.dev95/vaibify/gui/static/scriptStepRenderer.js +2192 -0
  291. vaibify-0.1.4.dev95/vaibify/gui/static/scriptSyncManager.js +3236 -0
  292. vaibify-0.1.4.dev95/vaibify/gui/static/scriptTestManager.js +1006 -0
  293. vaibify-0.1.4.dev95/vaibify/gui/static/scriptWorkflowRequirements.js +3973 -0
  294. vaibify-0.1.4.dev95/vaibify/gui/static/styleMain.css +9947 -0
  295. vaibify-0.1.4.dev95/vaibify/gui/stepDependencyScan.py +237 -0
  296. vaibify-0.1.4.dev95/vaibify/gui/stepRename.py +617 -0
  297. vaibify-0.1.4.dev95/vaibify/gui/syncDispatcher.py +2141 -0
  298. vaibify-0.1.4.dev95/vaibify/gui/templateManager.py +579 -0
  299. vaibify-0.1.4.dev95/vaibify/gui/testGenerator.py +973 -0
  300. vaibify-0.1.4.dev95/vaibify/gui/testParser.py +97 -0
  301. vaibify-0.1.4.dev95/vaibify/gui/trackedReposManager.py +749 -0
  302. vaibify-0.1.4.dev95/vaibify/gui/verificationProgress.py +351 -0
  303. vaibify-0.1.4.dev95/vaibify/gui/workflowManager.py +2954 -0
  304. vaibify-0.1.4.dev95/vaibify/gui/workflowMigrations.py +818 -0
  305. vaibify-0.1.4.dev95/vaibify/gui/workflowReloadDetector.py +289 -0
  306. vaibify-0.1.4.dev95/vaibify/install/runtimeSetupFacts.py +412 -0
  307. vaibify-0.1.4.dev95/vaibify/install/runtimeSetupPlan.py +751 -0
  308. vaibify-0.1.4.dev95/vaibify/install/runtimeSetupRunner.py +352 -0
  309. vaibify-0.1.4.dev95/vaibify/install/runtimeSetupSupervisor.py +52 -0
  310. vaibify-0.1.4.dev95/vaibify/reproducibility/answeredQuestion.py +91 -0
  311. vaibify-0.1.4.dev95/vaibify/reproducibility/assessmentLane.py +333 -0
  312. vaibify-0.1.4.dev95/vaibify/reproducibility/comparisonPolicyNotes.py +52 -0
  313. vaibify-0.1.4.dev95/vaibify/reproducibility/comparisonPolicyV1.py +1184 -0
  314. vaibify-0.1.4.dev95/vaibify/reproducibility/connectionCheck.py +449 -0
  315. vaibify-0.1.4.dev95/vaibify/reproducibility/dataArchiver.py +556 -0
  316. vaibify-0.1.4.dev95/vaibify/reproducibility/dependencyFindings.py +234 -0
  317. vaibify-0.1.4.dev95/vaibify/reproducibility/dependencyPinning.py +452 -0
  318. vaibify-0.1.4.dev95/vaibify/reproducibility/determinismGate.py +567 -0
  319. vaibify-0.1.4.dev95/vaibify/reproducibility/executionProfiles.py +226 -0
  320. vaibify-0.1.4.dev95/vaibify/reproducibility/imageAcquisition.py +1145 -0
  321. vaibify-0.1.4.dev95/vaibify/reproducibility/l3Attestation.py +644 -0
  322. vaibify-0.1.4.dev95/vaibify/reproducibility/levelGates.py +5472 -0
  323. vaibify-0.1.4.dev95/vaibify/reproducibility/levelOrdering.py +424 -0
  324. vaibify-0.1.4.dev95/vaibify/reproducibility/manifestPaths.py +312 -0
  325. vaibify-0.1.4.dev95/vaibify/reproducibility/publicationScope.py +370 -0
  326. vaibify-0.1.4.dev95/vaibify/reproducibility/rangedHttpTransport.py +495 -0
  327. vaibify-0.1.4.dev95/vaibify/reproducibility/repoFiles.py +1329 -0
  328. vaibify-0.1.4.dev95/vaibify/reproducibility/reproduceScriptGenerator.py +1042 -0
  329. vaibify-0.1.4.dev95/vaibify/reproducibility/reproductionLabel.py +351 -0
  330. vaibify-0.1.4.dev95/vaibify/reproducibility/reproductionReport.py +421 -0
  331. vaibify-0.1.4.dev95/vaibify/reproducibility/rerunAssessment.py +391 -0
  332. vaibify-0.1.4.dev95/vaibify/reproducibility/rerunDiagnostics.py +188 -0
  333. vaibify-0.1.4.dev95/vaibify/reproducibility/rerunPreparation.py +261 -0
  334. vaibify-0.1.4.dev95/vaibify/reproducibility/rerunProcedure.py +1084 -0
  335. vaibify-0.1.4.dev95/vaibify/reproducibility/rerunVerification.py +1056 -0
  336. vaibify-0.1.4.dev95/vaibify/reproducibility/resumableDownload.py +896 -0
  337. vaibify-0.1.4.dev95/vaibify/reproducibility/zenodoClient.py +1319 -0
  338. vaibify-0.1.4.dev95/vaibify/templates/workflow/GenerateSamples/generateSamples.py +66 -0
  339. vaibify-0.1.4.dev95/vaibify/templates/workflow/PlotHistogram/plotHistogram.py +126 -0
  340. vaibify-0.1.4.dev95/vaibify.egg-info/PKG-INFO +138 -0
  341. vaibify-0.1.4.dev95/vaibify.egg-info/SOURCES.txt +1893 -0
  342. vaibify-0.1.4.dev95/vaibify.egg-info/scm_file_list.json +1888 -0
  343. vaibify-0.1.4.dev95/vaibify.egg-info/scm_version.json +8 -0
  344. vaibify-0.1.2/.claude/skills/add-route-module/SKILL.md +0 -193
  345. vaibify-0.1.2/.claude/skills/container-image-and-packaging/SKILL.md +0 -216
  346. vaibify-0.1.2/.claude/skills/dashboard-state-honesty/SKILL.md +0 -161
  347. vaibify-0.1.2/.claude/skills/reproducibility-lane/SKILL.md +0 -736
  348. vaibify-0.1.2/.github/workflows/browser-chromium.yml +0 -194
  349. vaibify-0.1.2/.github/workflows/browser-firefox.yml +0 -126
  350. vaibify-0.1.2/.github/workflows/browser-webkit.yml +0 -126
  351. vaibify-0.1.2/.github/workflows/tests-linux.yml +0 -235
  352. vaibify-0.1.2/AGENTS.md +0 -440
  353. vaibify-0.1.2/CLAUDE.md +0 -440
  354. vaibify-0.1.2/PKG-INFO +0 -138
  355. vaibify-0.1.2/README.md +0 -65
  356. vaibify-0.1.2/docs/agentCouncil.md +0 -340
  357. vaibify-0.1.2/docs/aiUse.md +0 -239
  358. vaibify-0.1.2/docs/architecture.md +0 -3790
  359. vaibify-0.1.2/docs/cli.md +0 -533
  360. vaibify-0.1.2/docs/environmentsAndProjects.md +0 -759
  361. vaibify-0.1.2/docs/install.md +0 -419
  362. vaibify-0.1.2/docs/lessons.md +0 -682
  363. vaibify-0.1.2/docs/proofLadder.md +0 -377
  364. vaibify-0.1.2/docs/quickStart.md +0 -208
  365. vaibify-0.1.2/docs/reproducibility.md +0 -315
  366. vaibify-0.1.2/docs/security.md +0 -334
  367. vaibify-0.1.2/docs/systemPrompt.md +0 -28
  368. vaibify-0.1.2/docs/testing.md +0 -644
  369. vaibify-0.1.2/docs/vibeCoding.md +0 -384
  370. vaibify-0.1.2/tests/browser/conftest.py +0 -777
  371. vaibify-0.1.2/tests/browser/testBrowserJourneys.py +0 -1086
  372. vaibify-0.1.2/tests/browser/testCompareManifests.py +0 -497
  373. vaibify-0.1.2/tests/browser/testContainerizeFromPinnedImage.py +0 -781
  374. vaibify-0.1.2/tests/browser/testCouncilChairbotChat.py +0 -321
  375. vaibify-0.1.2/tests/browser/testDeterminismRowFollowsTheGate.py +0 -229
  376. vaibify-0.1.2/tests/browser/testHostProjectPicker.py +0 -643
  377. vaibify-0.1.2/tests/browser/testLostClaimIsRecoverable.py +0 -302
  378. vaibify-0.1.2/tests/browser/testTheContainerizingWindowFollowsTheHub.py +0 -315
  379. vaibify-0.1.2/tests/browser/testTheImageTrustModalAsksBeforeAnUnbuiltImageRuns.py +0 -331
  380. vaibify-0.1.2/tests/browser/testTheMemoryWatchTellsAKillOnce.py +0 -425
  381. vaibify-0.1.2/tests/conftest.py +0 -573
  382. vaibify-0.1.2/tests/depositFaultServer.py +0 -275
  383. vaibify-0.1.2/tests/falsificationRegistry.py +0 -33643
  384. vaibify-0.1.2/tests/guardCoverageSeed.json +0 -235
  385. vaibify-0.1.2/tests/hostCapabilityInventory.json +0 -201
  386. vaibify-0.1.2/tests/levelGateStubs.py +0 -91
  387. vaibify-0.1.2/tests/mutationInventory.json +0 -670
  388. vaibify-0.1.2/tests/styleInventory.json +0 -346
  389. vaibify-0.1.2/tests/testARunKeepsThePassingTestsItRecordedLive.py +0 -402
  390. vaibify-0.1.2/tests/testAgentCouncilFrontendContract.py +0 -920
  391. vaibify-0.1.2/tests/testAgentCouncilLedger.py +0 -223
  392. vaibify-0.1.2/tests/testAgentLaneEnforcement.py +0 -804
  393. vaibify-0.1.2/tests/testAgentSessionBridge.py +0 -151
  394. vaibify-0.1.2/tests/testAiDeclarationAddStepAndDeterminismRoutes.py +0 -343
  395. vaibify-0.1.2/tests/testArchitecturalInvariants.py +0 -8615
  396. vaibify-0.1.2/tests/testBinaryDeclaration.py +0 -309
  397. vaibify-0.1.2/tests/testCapabilityAuthorities.py +0 -1047
  398. vaibify-0.1.2/tests/testCarrierMigratedRoutes.py +0 -8289
  399. vaibify-0.1.2/tests/testCliApiCommands.py +0 -289
  400. vaibify-0.1.2/tests/testCliCommands.py +0 -232
  401. vaibify-0.1.2/tests/testCliExecLive.py +0 -184
  402. vaibify-0.1.2/tests/testCommitCarrier.py +0 -1268
  403. vaibify-0.1.2/tests/testConnectionCheck.py +0 -272
  404. vaibify-0.1.2/tests/testCouncilCredentialAdmission.py +0 -490
  405. vaibify-0.1.2/tests/testCoverageBoost.py +0 -1216
  406. vaibify-0.1.2/tests/testCoverageBroadGaps.py +0 -1526
  407. vaibify-0.1.2/tests/testCoverageCliBuildStartReproduce.py +0 -567
  408. vaibify-0.1.2/tests/testCoverageCliReconcileRepairOpen.py +0 -734
  409. vaibify-0.1.2/tests/testCoverageCliRemote.py +0 -831
  410. vaibify-0.1.2/tests/testCoverageGaps.py +0 -1838
  411. vaibify-0.1.2/tests/testCoverageReproducibilityDeterminismAndRerun.py +0 -398
  412. vaibify-0.1.2/tests/testCoverageReproducibilityImageAcquisition.py +0 -507
  413. vaibify-0.1.2/tests/testCoverageRoutesAPipelineSideEffects.py +0 -672
  414. vaibify-0.1.2/tests/testCoverageRoutesBPipelineServer.py +0 -839
  415. vaibify-0.1.2/tests/testCoverageRoutesBReproducibility.py +0 -821
  416. vaibify-0.1.2/tests/testDeclarationPushMutationCoverage.py +0 -738
  417. vaibify-0.1.2/tests/testDependencyScanRoutes.py +0 -240
  418. vaibify-0.1.2/tests/testDeterminismGate.py +0 -324
  419. vaibify-0.1.2/tests/testDeterminismRowMatchesItsGate.py +0 -429
  420. vaibify-0.1.2/tests/testDeterministicGeneratorIsAgentSafe.py +0 -175
  421. vaibify-0.1.2/tests/testDeterministicTestGenerator.py +0 -2955
  422. vaibify-0.1.2/tests/testDockerfileHardening.py +0 -118
  423. vaibify-0.1.2/tests/testEntrypointAgentSkills.py +0 -372
  424. vaibify-0.1.2/tests/testForeignManifestGuard.py +0 -239
  425. vaibify-0.1.2/tests/testGuiSignalsItsCategory.py +0 -78
  426. vaibify-0.1.2/tests/testGuiTemplateManager.py +0 -348
  427. vaibify-0.1.2/tests/testIsolationGating.py +0 -464
  428. vaibify-0.1.2/tests/testL3Attestation.py +0 -204
  429. vaibify-0.1.2/tests/testL3AttestationMutationCoverage.py +0 -106
  430. vaibify-0.1.2/tests/testLevelGateL2Arxiv.py +0 -512
  431. vaibify-0.1.2/tests/testLevelGateL3.py +0 -204
  432. vaibify-0.1.2/tests/testLevelGateL3Blockers.py +0 -451
  433. vaibify-0.1.2/tests/testLevelGateL3EndToEnd.py +0 -314
  434. vaibify-0.1.2/tests/testLevelGatesCoverage2.py +0 -505
  435. vaibify-0.1.2/tests/testListModules.py +0 -167
  436. vaibify-0.1.2/tests/testMutationInventory.py +0 -2109
  437. vaibify-0.1.2/tests/testPipelineRunnerOffLoop.py +0 -213
  438. vaibify-0.1.2/tests/testPipelineServerFull.py +0 -586
  439. vaibify-0.1.2/tests/testPipelineServerRoutes.py +0 -1242
  440. vaibify-0.1.2/tests/testProjectScopedRegistries.py +0 -198
  441. vaibify-0.1.2/tests/testProofLadderUncoveredLines.py +0 -937
  442. vaibify-0.1.2/tests/testQuickStartJourneyThroughRoutesLive.py +0 -625
  443. vaibify-0.1.2/tests/testReaderRecordIsNeverCommitted.py +0 -448
  444. vaibify-0.1.2/tests/testReproduceCommand.py +0 -691
  445. vaibify-0.1.2/tests/testReproduceCommandAttestation.py +0 -705
  446. vaibify-0.1.2/tests/testReproduceFromSnapshot.py +0 -488
  447. vaibify-0.1.2/tests/testReproduceRerunHashCompare.py +0 -190
  448. vaibify-0.1.2/tests/testReproduceScriptDeterminism.py +0 -461
  449. vaibify-0.1.2/tests/testReproduceScriptGateRejectsResidualTokens.py +0 -141
  450. vaibify-0.1.2/tests/testReproduceScriptGenerator.py +0 -779
  451. vaibify-0.1.2/tests/testReproducedManifest.py +0 -683
  452. vaibify-0.1.2/tests/testReproducibilityRoutes.py +0 -1811
  453. vaibify-0.1.2/tests/testReproductionLabelInPollResponse.py +0 -658
  454. vaibify-0.1.2/tests/testReproductionLive.py +0 -241
  455. vaibify-0.1.2/tests/testReproductionRecordPlatform.py +0 -141
  456. vaibify-0.1.2/tests/testReproductionReport.py +0 -160
  457. vaibify-0.1.2/tests/testRerunDiagnostics.py +0 -232
  458. vaibify-0.1.2/tests/testRerunRegeneratesWhatItGrades.py +0 -674
  459. vaibify-0.1.2/tests/testRerunVerifiesWhatItRan.py +0 -1041
  460. vaibify-0.1.2/tests/testResumableDownload.py +0 -974
  461. vaibify-0.1.2/tests/testStaleReproduceScriptIsNotRunnable.py +0 -227
  462. vaibify-0.1.2/tests/testStepLevelStates.py +0 -1125
  463. vaibify-0.1.2/tests/testStepRoutes.py +0 -506
  464. vaibify-0.1.2/tests/testStyleInvariants.py +0 -1588
  465. vaibify-0.1.2/tests/testSyncRoutesCoverage.py +0 -3083
  466. vaibify-0.1.2/tests/testTestGeneratorBranches.py +0 -358
  467. vaibify-0.1.2/tests/testTestGeneratorPure.py +0 -393
  468. vaibify-0.1.2/tests/testTestRoutesCoverage.py +0 -1520
  469. vaibify-0.1.2/tests/testTheNextStepIsNamedOnlyWhenOrderMatters.py +0 -790
  470. vaibify-0.1.2/tests/testVaibifyDoCli.py +0 -1600
  471. vaibify-0.1.2/tests/testWorkflowManager.py +0 -1267
  472. vaibify-0.1.2/tests/testZenodoEnvelopeArchive.py +0 -602
  473. vaibify-0.1.2/tools/checkInstalledDistribution.py +0 -385
  474. vaibify-0.1.2/tools/generateMutationInventory.py +0 -2460
  475. vaibify-0.1.2/tools/generateStyleInventory.py +0 -860
  476. vaibify-0.1.2/vaibify/_version.py +0 -24
  477. vaibify-0.1.2/vaibify/cli/actionCommands.py +0 -505
  478. vaibify-0.1.2/vaibify/cli/commandBuild.py +0 -1238
  479. vaibify-0.1.2/vaibify/cli/commandReproduce.py +0 -1297
  480. vaibify-0.1.2/vaibify/cli/commandVerifyStep.py +0 -156
  481. vaibify-0.1.2/vaibify/cli/hubSession.py +0 -578
  482. vaibify-0.1.2/vaibify/cli/main.py +0 -568
  483. vaibify-0.1.2/vaibify/completions/vaibify.bash +0 -213
  484. vaibify-0.1.2/vaibify/completions/vaibify.fish +0 -104
  485. vaibify-0.1.2/vaibify/completions/vaibify.zsh +0 -152
  486. vaibify-0.1.2/vaibify/config/containerConfig.py +0 -195
  487. vaibify-0.1.2/vaibify/config/registryManager.py +0 -825
  488. vaibify-0.1.2/vaibify/containerImage/Dockerfile +0 -783
  489. vaibify-0.1.2/vaibify/containerImage/Dockerfile.jupyter +0 -28
  490. vaibify-0.1.2/vaibify/containerImage/entrypoint.sh +0 -1799
  491. vaibify-0.1.2/vaibify/containerImage/skills/create-pipeline-step/SKILL.md +0 -134
  492. vaibify-0.1.2/vaibify/containerImage/vaibifyDo.py +0 -983
  493. vaibify-0.1.2/vaibify/docker/containerManager.py +0 -1428
  494. vaibify-0.1.2/vaibify/docker/dockerConnection.py +0 -3988
  495. vaibify-0.1.2/vaibify/docker/dockerContext.py +0 -404
  496. vaibify-0.1.2/vaibify/docker/pinnedImageAcquisition.py +0 -620
  497. vaibify-0.1.2/vaibify/docs/agentCouncil.md +0 -340
  498. vaibify-0.1.2/vaibify/docs/environmentsAndProjects.md +0 -759
  499. vaibify-0.1.2/vaibify/docs/proofLadder.md +0 -377
  500. vaibify-0.1.2/vaibify/docs/reproducibility.md +0 -315
  501. vaibify-0.1.2/vaibify/docs/testing.md +0 -644
  502. vaibify-0.1.2/vaibify/gui/actionCatalog.py +0 -1525
  503. vaibify-0.1.2/vaibify/gui/agentCouncil.py +0 -1550
  504. vaibify-0.1.2/vaibify/gui/agentCouncilAntigravityProvider.py +0 -404
  505. vaibify-0.1.2/vaibify/gui/agentCouncilCodexProvider.py +0 -339
  506. vaibify-0.1.2/vaibify/gui/agentSessionBridge.py +0 -92
  507. vaibify-0.1.2/vaibify/gui/appFactory.py +0 -798
  508. vaibify-0.1.2/vaibify/gui/buildRoutes.py +0 -629
  509. vaibify-0.1.2/vaibify/gui/conversionLifecycle.py +0 -747
  510. vaibify-0.1.2/vaibify/gui/determinismEnvironment.py +0 -423
  511. vaibify-0.1.2/vaibify/gui/fileStatusManager.py +0 -2654
  512. vaibify-0.1.2/vaibify/gui/introspectionScript.py +0 -1215
  513. vaibify-0.1.2/vaibify/gui/pipelineLogger.py +0 -629
  514. vaibify-0.1.2/vaibify/gui/pipelineRunner.py +0 -1896
  515. vaibify-0.1.2/vaibify/gui/pipelineServer.py +0 -3782
  516. vaibify-0.1.2/vaibify/gui/pipelineTestRunner.py +0 -275
  517. vaibify-0.1.2/vaibify/gui/pipelineUtils.py +0 -708
  518. vaibify-0.1.2/vaibify/gui/pipelineValidator.py +0 -122
  519. vaibify-0.1.2/vaibify/gui/promptRecordManager.py +0 -663
  520. vaibify-0.1.2/vaibify/gui/reproductionProgress.py +0 -638
  521. vaibify-0.1.2/vaibify/gui/routeContext.py +0 -936
  522. vaibify-0.1.2/vaibify/gui/routeScope.py +0 -1193
  523. vaibify-0.1.2/vaibify/gui/routes/__init__.py +0 -81
  524. vaibify-0.1.2/vaibify/gui/routes/fileRoutes.py +0 -910
  525. vaibify-0.1.2/vaibify/gui/routes/pipelineRoutes.py +0 -4301
  526. vaibify-0.1.2/vaibify/gui/routes/reproducibilityRoutes.py +0 -2388
  527. vaibify-0.1.2/vaibify/gui/routes/scriptRoutes.py +0 -433
  528. vaibify-0.1.2/vaibify/gui/routes/stepRoutes.py +0 -1035
  529. vaibify-0.1.2/vaibify/gui/routes/testRoutes.py +0 -1078
  530. vaibify-0.1.2/vaibify/gui/serverMiddleware.py +0 -465
  531. vaibify-0.1.2/vaibify/gui/stateContract.py +0 -403
  532. vaibify-0.1.2/vaibify/gui/static/index.html +0 -1492
  533. vaibify-0.1.2/vaibify/gui/static/scriptAcquisitionWindow.js +0 -447
  534. vaibify-0.1.2/vaibify/gui/static/scriptAgentCouncil.js +0 -4991
  535. vaibify-0.1.2/vaibify/gui/static/scriptApplication.js +0 -7997
  536. vaibify-0.1.2/vaibify/gui/static/scriptContainerManager.js +0 -3319
  537. vaibify-0.1.2/vaibify/gui/static/scriptDependencyScanner.js +0 -827
  538. vaibify-0.1.2/vaibify/gui/static/scriptDirectoryBrowser.js +0 -341
  539. vaibify-0.1.2/vaibify/gui/static/scriptEventBindings.js +0 -1517
  540. vaibify-0.1.2/vaibify/gui/static/scriptFigureViewer.js +0 -1921
  541. vaibify-0.1.2/vaibify/gui/static/scriptFileOutcomes.js +0 -133
  542. vaibify-0.1.2/vaibify/gui/static/scriptPolling.js +0 -565
  543. vaibify-0.1.2/vaibify/gui/static/scriptProofTab.js +0 -1365
  544. vaibify-0.1.2/vaibify/gui/static/scriptReproducePublished.js +0 -600
  545. vaibify-0.1.2/vaibify/gui/static/scriptStepEditor.js +0 -427
  546. vaibify-0.1.2/vaibify/gui/static/scriptStepRenderer.js +0 -2078
  547. vaibify-0.1.2/vaibify/gui/static/scriptSyncManager.js +0 -3304
  548. vaibify-0.1.2/vaibify/gui/static/scriptTestManager.js +0 -986
  549. vaibify-0.1.2/vaibify/gui/static/scriptWorkflowRequirements.js +0 -3954
  550. vaibify-0.1.2/vaibify/gui/static/styleMain.css +0 -9777
  551. vaibify-0.1.2/vaibify/gui/stepRename.py +0 -618
  552. vaibify-0.1.2/vaibify/gui/syncDispatcher.py +0 -2141
  553. vaibify-0.1.2/vaibify/gui/templateManager.py +0 -543
  554. vaibify-0.1.2/vaibify/gui/testGenerator.py +0 -1151
  555. vaibify-0.1.2/vaibify/gui/testParser.py +0 -83
  556. vaibify-0.1.2/vaibify/gui/trackedReposManager.py +0 -746
  557. vaibify-0.1.2/vaibify/gui/verificationProgress.py +0 -222
  558. vaibify-0.1.2/vaibify/gui/workflowManager.py +0 -2952
  559. vaibify-0.1.2/vaibify/gui/workflowMigrations.py +0 -797
  560. vaibify-0.1.2/vaibify/gui/workflowReloadDetector.py +0 -271
  561. vaibify-0.1.2/vaibify/reproducibility/answeredQuestion.py +0 -91
  562. vaibify-0.1.2/vaibify/reproducibility/connectionCheck.py +0 -423
  563. vaibify-0.1.2/vaibify/reproducibility/dataArchiver.py +0 -525
  564. vaibify-0.1.2/vaibify/reproducibility/dependencyPinning.py +0 -422
  565. vaibify-0.1.2/vaibify/reproducibility/determinismGate.py +0 -508
  566. vaibify-0.1.2/vaibify/reproducibility/imageAcquisition.py +0 -822
  567. vaibify-0.1.2/vaibify/reproducibility/l3Attestation.py +0 -541
  568. vaibify-0.1.2/vaibify/reproducibility/levelGates.py +0 -5171
  569. vaibify-0.1.2/vaibify/reproducibility/levelOrdering.py +0 -423
  570. vaibify-0.1.2/vaibify/reproducibility/manifestPaths.py +0 -306
  571. vaibify-0.1.2/vaibify/reproducibility/publicationScope.py +0 -360
  572. vaibify-0.1.2/vaibify/reproducibility/rangedHttpTransport.py +0 -491
  573. vaibify-0.1.2/vaibify/reproducibility/repoFiles.py +0 -1271
  574. vaibify-0.1.2/vaibify/reproducibility/reproduceScriptGenerator.py +0 -678
  575. vaibify-0.1.2/vaibify/reproducibility/reproductionLabel.py +0 -326
  576. vaibify-0.1.2/vaibify/reproducibility/reproductionReport.py +0 -337
  577. vaibify-0.1.2/vaibify/reproducibility/rerunDiagnostics.py +0 -174
  578. vaibify-0.1.2/vaibify/reproducibility/rerunPreparation.py +0 -315
  579. vaibify-0.1.2/vaibify/reproducibility/rerunVerification.py +0 -808
  580. vaibify-0.1.2/vaibify/reproducibility/resumableDownload.py +0 -828
  581. vaibify-0.1.2/vaibify/reproducibility/zenodoClient.py +0 -1302
  582. vaibify-0.1.2/vaibify/templates/workflow/GenerateSamples/generateSamples.py +0 -65
  583. vaibify-0.1.2/vaibify/templates/workflow/PlotHistogram/plotHistogram.py +0 -126
  584. vaibify-0.1.2/vaibify.egg-info/PKG-INFO +0 -138
  585. vaibify-0.1.2/vaibify.egg-info/SOURCES.txt +0 -1794
  586. vaibify-0.1.2/vaibify.egg-info/scm_file_list.json +0 -1789
  587. vaibify-0.1.2/vaibify.egg-info/scm_version.json +0 -8
  588. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/hooks/askSensitiveEdit.py +0 -0
  589. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/hooks/blockDestructiveGit.py +0 -0
  590. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/settings.json +0 -0
  591. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/skills/add-data-loader/SKILL.md +0 -0
  592. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/skills/container-mutations/SKILL.md +0 -0
  593. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/skills/host-mode-and-paths/SKILL.md +0 -0
  594. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/skills/monitor-pr/SKILL.md +0 -0
  595. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.claude/skills/terminal-sessions/SKILL.md +0 -0
  596. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.githooks/pre-commit +0 -0
  597. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/agentDocsPathCheck.yml +0 -0
  598. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/badges.yml +0 -0
  599. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/containerAcceptance.yml +0 -0
  600. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/docs.yml +0 -0
  601. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/falsification.yml +0 -0
  602. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/freshImageBuild.yml +0 -0
  603. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/mutation.yml +0 -0
  604. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/pip-install.yml +0 -0
  605. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/publishedReproduction.yml +0 -0
  606. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/remoteSsh.yml +0 -0
  607. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/security.yml +0 -0
  608. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/styleContract.yml +0 -0
  609. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/tests-macos-nightly.yml +0 -0
  610. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/tests-macos.yml +0 -0
  611. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.github/workflows/toolchainEpoch.yml +0 -0
  612. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.gitignore +0 -0
  613. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/.zenodo.json +0 -0
  614. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/CITATION.cff +0 -0
  615. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/LICENSE +0 -0
  616. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/VaibifyIcon.png +0 -0
  617. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/bin/connect_vc +0 -0
  618. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/bin/vcTransferCommon.sh +0 -0
  619. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/bin/vc_pull +0 -0
  620. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/bin/vc_push +0 -0
  621. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/cosmic-ray.toml +0 -0
  622. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncil.md +0 -0
  623. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilContinuationPlan.md +0 -0
  624. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilMultiProviderImplementationPlan.md +0 -0
  625. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilPhase0Findings.md +0 -0
  626. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilRemediation.md +0 -0
  627. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilReviewCouncil.md +0 -0
  628. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/agentCouncilVerificationLanes.md +0 -0
  629. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/copiesLevel3MergeAndOrderedEndgame.md +0 -0
  630. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/externalServices.md +0 -0
  631. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/level3AttainmentSequence.md +0 -0
  632. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/permanentArchivePromotion.md +0 -0
  633. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/design/permanentArchivePromotionImplementation.md +0 -0
  634. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/_static/.gitkeep +0 -0
  635. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/_static/custom.css +0 -0
  636. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/conduct.rst +0 -0
  637. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/conf.py +0 -0
  638. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/developers.md +0 -0
  639. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/externalResources.md +0 -0
  640. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/forAgents.md +0 -0
  641. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/index.rst +0 -0
  642. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/knownDebt.md +0 -0
  643. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/skillTesting.md +0 -0
  644. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/vaibify_logo.png +0 -0
  645. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/docs/vaibify_screenshot.png +0 -0
  646. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/pyproject.toml +0 -0
  647. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/pytest.ini +0 -0
  648. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/setup.cfg +0 -0
  649. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/__init__.py +0 -0
  650. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/agentCouncilHarness.py +0 -0
  651. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/attributionShapes.py +0 -0
  652. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/__init__.py +0 -0
  653. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/fakeDockerAdapter.py +0 -0
  654. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/filesLane.py +0 -0
  655. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testABadgeOffersTheActionThatResolvesIt.py +0 -0
  656. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testABlockedRowStillTeaches.py +0 -0
  657. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testABuildRefusalIsNotARunningBuild.py +0 -0
  658. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAClickSurvivesAPollRender.py +0 -0
  659. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAContainerOffThePinWarnsBesideTheSnapshotRow.py +0 -0
  660. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testADragThatLeavesTheWindowKeepsScrolling.py +0 -0
  661. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testADropTargetIsATargetInEveryBrowser.py +0 -0
  662. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testADroppedBuildRequestAttachesInstead.py +0 -0
  663. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAFailedStepExplainsItsExitCode.py +0 -0
  664. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAFailureToastOffersADiagnosis.py +0 -0
  665. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAHeldTileOffersRelease.py +0 -0
  666. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testALateAnswerNeverRepaintsAViewer.py +0 -0
  667. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testALevelCrossingWarnsBeforeItWrites.py +0 -0
  668. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testALockedTileExplainsOnClick.py +0 -0
  669. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testALostClaimRecoversWhereverItIsMet.py +0 -0
  670. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAMissingFileIsListedNotJustCounted.py +0 -0
  671. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAPartlyDivergedEnvelopeReadsPartial.py +0 -0
  672. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAPendingSignOffIsNotAWarning.py +0 -0
  673. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAPreRunWarningReachesTheScreen.py +0 -0
  674. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAPromoteRefusalSaysWhy.py +0 -0
  675. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAPromotionDoesNotTakeItsOwnClaimBack.py +0 -0
  676. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAQuickVerificationIsStillReported.py +0 -0
  677. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAReadersVerificationLeavesTheAttestationRowStill.py +0 -0
  678. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testARecreateSaysWhatItDiscards.py +0 -0
  679. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testARefusedTestRunIsNotAFailure.py +0 -0
  680. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAResizeDoesNotStrandOldFrames.py +0 -0
  681. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAResizeKeepsThePaneFollowingItsOutput.py +0 -0
  682. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testARunMenuCheckSaysItIsWorking.py +0 -0
  683. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testARunningRemoteCheckPulsesTheBadge.py +0 -0
  684. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testASandboxDepositIsNamedOnTheRow.py +0 -0
  685. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testASettledAttestationRechecksTheRemotes.py +0 -0
  686. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAStaleAiDeclarationSaysWhatChanged.py +0 -0
  687. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAStaleVerifyAdmitsIt.py +0 -0
  688. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAVerificationIsFollowedOnTheProjectBlock.py +0 -0
  689. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAVerificationPulsesOnlyWhatItAssesses.py +0 -0
  690. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAdoptBarOffersOnlyWhatCanWork.py +0 -0
  691. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnAgentsRunMovesTheStepLights.py +0 -0
  692. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnErrorToastKeepsItsRemedy.py +0 -0
  693. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnExternalRunIsAppliedByCategoryAndAnnouncedOnce.py +0 -0
  694. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnInterruptedPromotionSurvivesAReload.py +0 -0
  695. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnOlderScopeRendersAsVerifyAgain.py +0 -0
  696. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testAnUncheckedPassIsNeverShownAsPassed.py +0 -0
  697. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testBadgesRepaintAfterAVerify.py +0 -0
  698. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testBlankProjectCanReadAndChangeItsSession.py +0 -0
  699. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCleanOutputsAppliesWhatTheRouteWrote.py +0 -0
  700. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testConvertToProjectJourney.py +0 -0
  701. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCopyButtonsReportTheRealOutcome.py +0 -0
  702. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCopyHasAShortcutTheBrowserCannotTake.py +0 -0
  703. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCopySurvivesTheSelectionBeingCleared.py +0 -0
  704. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilAcceptCarriesItsDirectory.py +0 -0
  705. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilBlockedButtonExplainsItself.py +0 -0
  706. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilChooserTasks.py +0 -0
  707. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilConveneNeedsAModel.py +0 -0
  708. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilCredentialConsent.py +0 -0
  709. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilDraftSurvivesAReload.py +0 -0
  710. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilFinishedSurface.py +0 -0
  711. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilGroupNameCannotInjectMarkup.py +0 -0
  712. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilImplementPlanButton.py +0 -0
  713. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilLoginCapNotice.py +0 -0
  714. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilNotesAndSummarySurfaces.py +0 -0
  715. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilPauseSurface.py +0 -0
  716. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilPlanningJourney.py +0 -0
  717. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilProvenanceLostGateIsReadOnly.py +0 -0
  718. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilRetentionBoundaryIsInTheConsole.py +0 -0
  719. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilRetryOffer.py +0 -0
  720. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilSnapshotScopeModal.py +0 -0
  721. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testCouncilWorkspaceCloseReturnsToChooser.py +0 -0
  722. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDashboardEdgesTellTheTruth.py +0 -0
  723. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDashboardSkipsAreMarkedStale.py +0 -0
  724. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDeclarationStepClaimsNoRunOutcome.py +0 -0
  725. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDeleteEnvironmentIsTypedNotClicked.py +0 -0
  726. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDestructiveActionsLookDestructive.py +0 -0
  727. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testDownloadDoesNotAskToLeaveThePage.py +0 -0
  728. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testEnvironmentInfoModalOpens.py +0 -0
  729. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testErrorRedaction.py +0 -0
  730. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testExpiredWindowSaysSo.py +0 -0
  731. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testFailedBadgeRefreshMakesNoClaim.py +0 -0
  732. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testFilesTabDownload.py +0 -0
  733. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testFilesTabUpload.py +0 -0
  734. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testForeignManifestGuard.py +0 -0
  735. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testHelpLivesInOnePlace.py +0 -0
  736. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testHostCancelSurface.py +0 -0
  737. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testHostProjectJourney.py +0 -0
  738. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testIdleTimeoutSetting.py +0 -0
  739. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testInformationalFilesAreNotLevelTwoDefects.py +0 -0
  740. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testInlineFailuresCarryTheDiagnosis.py +0 -0
  741. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testOpenInVsCodeAsksTheHostForTheLink.py +0 -0
  742. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPausedBadgeIndicator.py +0 -0
  743. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPerFileZenodoSyncOpensTheModal.py +0 -0
  744. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPickerScreensScroll.py +0 -0
  745. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testProjectBlockBadgesAreActionable.py +0 -0
  746. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testProjectBlockShowsItCanBeOpened.py +0 -0
  747. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testProjectSwitchShowsItsProgress.py +0 -0
  748. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPromoteFromInsideJourney.py +0 -0
  749. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPromoteToHostProjectJourney.py +0 -0
  750. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testProofTabLedgerFollowsTheGate.py +0 -0
  751. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testPushRunsTheVerifyThatProvesIt.py +0 -0
  752. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testQuarantineChipExplains.py +0 -0
  753. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testRegenerateWarnsBeforeItCosts.py +0 -0
  754. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testRemnantsGlyphAndPanel.py +0 -0
  755. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testRemoteFilesGroupByDisposition.py +0 -0
  756. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testRemoteSessionSaysWhere.py +0 -0
  757. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testReposPanelIsReachableWithAProjectOpen.py +0 -0
  758. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testReproducePublishedCard.py +0 -0
  759. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testResizeAndCopyHoldTogether.py +0 -0
  760. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testSaveFailureNamesItsReason.py +0 -0
  761. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testSelectingTextWhileAProgramHoldsTheMouse.py +0 -0
  762. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testSessionLifetimeSetting.py +0 -0
  763. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testStepReorderUsesAPrivateDragType.py +0 -0
  764. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testSwitchingProjectsKeepsEachProjectsState.py +0 -0
  765. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTerminalPaneSurvivesADrop.py +0 -0
  766. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTerminalScrollbackIsReachable.py +0 -0
  767. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAgentMemoryAdviceIsTheServers.py +0 -0
  768. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAiBlockCountsOnlyItsGatingRows.py +0 -0
  769. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAiDeclarationEditsInPlace.py +0 -0
  770. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAiDeclarationFileIsChosenOrGenerated.py +0 -0
  771. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheArchiveRowNamesWhereADepositGoes.py +0 -0
  772. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheArchiveRowsCarryTheirOwnConditions.py +0 -0
  773. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAttestationNudgeIsActionable.py +0 -0
  774. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheAttestationNudgeIsAnEncouragement.py +0 -0
  775. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheDriftBannerHidesForThisVisit.py +0 -0
  776. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheEnvelopeMirrorRowRenders.py +0 -0
  777. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheEnvironmentArchiveRowTellsItsStatesApart.py +0 -0
  778. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheHelpNamesThisMachinesKey.py +0 -0
  779. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheLimitSettingsSayWhatWillHappen.py +0 -0
  780. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheLockRowKeepsItsStateAndSaysWhy.py +0 -0
  781. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheMergeModalIsActuallyVisible.py +0 -0
  782. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheNextStepArrowPointsAtARealRow.py +0 -0
  783. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheOpenTimeReadsAreChained.py +0 -0
  784. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testThePickerKeepsItsCardsAcrossAPoll.py +0 -0
  785. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testThePinnedEnvironmentNoteIsTheServers.py +0 -0
  786. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheProjectBlockPaintsOnceAndCorrectly.py +0 -0
  787. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheProjectHubDiagnosesItself.py +0 -0
  788. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testThePromptRecordNamesWhatItLeftOut.py +0 -0
  789. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testThePromptRecordViewerShowsAGeminiRewind.py +0 -0
  790. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testThePromptRecordViewerShowsTheRecord.py +0 -0
  791. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheReproductionBadgeFollowsTheServer.py +0 -0
  792. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheResetAndCompareLoopIsReachable.py +0 -0
  793. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheResourceHelpDoesNotRecommendACap.py +0 -0
  794. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheRunMenuCanStartAnL3Verify.py +0 -0
  795. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheSetupWizardKeepsAndReports.py +0 -0
  796. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheSetupWizardSignsItselfIn.py +0 -0
  797. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheSignOffFollowsTheServer.py +0 -0
  798. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheTerminalResetGivesTheMouseBack.py +0 -0
  799. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheToolbarControlsStayOneCluster.py +0 -0
  800. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheVerifyControlsSayTheyAreWorking.py +0 -0
  801. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheX11OptInIsOffByDefaultAndExcludesIsolation.py +0 -0
  802. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testTheZenodoRowOffersBothRemedies.py +0 -0
  803. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testUndecidedRepoPrompts.py +0 -0
  804. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testUndeclaredTestCategorySaysNotApplicable.py +0 -0
  805. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testUnprovenEnvelopeIsNotAnAlarm.py +0 -0
  806. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testUnsignedTabSaysSo.py +0 -0
  807. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testUploadZoneNamesItsSourceMachine.py +0 -0
  808. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testVerifyOffersCommittedRestore.py +0 -0
  809. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testVerifyRefusesBeforeItWarns.py +0 -0
  810. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testVerifyWarnsBeforeCopyingTheProject.py +0 -0
  811. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testViewRenderBaseline.py +0 -0
  812. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testWizardStartsFromCommittedFiles.py +0 -0
  813. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testWorkflowFieldsCannotInjectMarkup.py +0 -0
  814. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testWorkspaceRootReachesThePanels.py +0 -0
  815. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/browser/testZenodoRecordsModal.py +0 -0
  816. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/carrierStandDown.py +0 -0
  817. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/confinedReadScenarios.py +0 -0
  818. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/confinedWriteHarness.py +0 -0
  819. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/councilCredentialLiveHelpers.py +0 -0
  820. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/dockerConnectionDoubles.py +0 -0
  821. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/dockerRuntimeStub.py +0 -0
  822. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/hostGitProbeCalls.py +0 -0
  823. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/hostGitProbeHarness.py +0 -0
  824. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/liveContainerLabels.py +0 -0
  825. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/localGitRemote.py +0 -0
  826. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/markerPollHarness.py +0 -0
  827. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/markerStateSupport.py +0 -0
  828. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/perTestMarkerHarness.py +0 -0
  829. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/reproductionSourceFixtures.py +0 -0
  830. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/sessionTokenTestHelper.py +0 -0
  831. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/shellCompletionHarness.py +0 -0
  832. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/snapshotProgramHarness.py +0 -0
  833. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/syncStatusFixtures.py +0 -0
  834. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testABusyCheckWaitsForATransientRecord.py +0 -0
  835. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testADivergedBranchIsOfferedAMerge.py +0 -0
  836. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAMissingOutputIsNotAModifiedOne.py +0 -0
  837. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAbandonHostJournal.py +0 -0
  838. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAcknowledgementKeepsThePollBaseline.py +0 -0
  839. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testActionCatalog.py +0 -0
  840. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testActionCommandsDispatchCoverage.py +0 -0
  841. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAdvancingALevelNeverLowersOne.py +0 -0
  842. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAdvertisedCommandsExist.py +0 -0
  843. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilCharter.py +0 -0
  844. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilContext.py +0 -0
  845. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilContextLive.py +0 -0
  846. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilEgressLive.py +0 -0
  847. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilEngine.py +0 -0
  848. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilMultiProvider.py +0 -0
  849. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilProviders.py +0 -0
  850. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilProvidersLive.py +0 -0
  851. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilRegistry.py +0 -0
  852. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilRunnerLive.py +0 -0
  853. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentCouncilSnapshotScopeLive.py +0 -0
  854. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentLayerSeparation.py +0 -0
  855. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentRunsItsOwnProject.py +0 -0
  856. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAgentUpdateStepAllowlist.py +0 -0
  857. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAiDeclarationFileLive.py +0 -0
  858. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAiDeclarationStepKind.py +0 -0
  859. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAiModelDeclarationIssues.py +0 -0
  860. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAiProvenanceStamp.py +0 -0
  861. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAlphaFacingTruthfulness.py +0 -0
  862. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAlreadyCommittedFileIsNotASyncFailure.py +0 -0
  863. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAmericanSpelling.py +0 -0
  864. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAnOutputAbsentFromTheManifestIsNeverVouchedFor.py +0 -0
  865. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testApiClientContract.py +0 -0
  866. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchiveDepositPlan.py +0 -0
  867. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchiveFeatures.py +0 -0
  868. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchiveMemberValidatorIsShared.py +0 -0
  869. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchivePermanence.py +0 -0
  870. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchiveTestsOptOutLeavesNoUnclearableRows.py +0 -0
  871. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArchivedAttestationIsPublic.py +0 -0
  872. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArxivClient.py +0 -0
  873. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArxivConfigureRoute.py +0 -0
  874. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testArxivPathTraversal.py +0 -0
  875. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAttainingALevelDoesNotLowerAnother.py +0 -0
  876. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAttestationRevalidation.py +0 -0
  877. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAttributionLog.py +0 -0
  878. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAttributionLogConcurrentAppends.py +0 -0
  879. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testAutoArchive.py +0 -0
  880. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBackgroundTasksAreReferenced.py +0 -0
  881. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBadgeState.py +0 -0
  882. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBaseImagePin.py +0 -0
  883. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBaseImagePinLive.py +0 -0
  884. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBatchedSmallFileRead.py +0 -0
  885. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBinaryDrift.py +0 -0
  886. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBinaryStaleWarning.py +0 -0
  887. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBindMountDenyListReadsTheFilesystem.py +0 -0
  888. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBindMountRefusesAbsentSource.py +0 -0
  889. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBindMountValidator.py +0 -0
  890. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBlindSpotDispositions.py +0 -0
  891. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBlockersExplainEveryRefusal.py +0 -0
  892. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBootstrapEndpoint.py +0 -0
  893. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBothBuildLanesPreflightAlike.py +0 -0
  894. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBoundedPriorHash.py +0 -0
  895. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBreachOutcomeDeterminism.py +0 -0
  896. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBridgeGateway.py +0 -0
  897. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBroadHandlersPassControlPlaneRefusals.py +0 -0
  898. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBrowserCredentialPresentation.py +0 -0
  899. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBrowserLaneContract.py +0 -0
  900. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBrowserLaneParallelSafety.py +0 -0
  901. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBrowserSession.py +0 -0
  902. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildArchiveSnapshot.py +0 -0
  903. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildCacheInvalidation.py +0 -0
  904. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildErrorClassification.py +0 -0
  905. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildFailureModalFrontendContract.py +0 -0
  906. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildInputHash.py +0 -0
  907. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildProgressRoutes.py +0 -0
  908. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildSilenceIsReported.py +0 -0
  909. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testBuildTailKeepsTheReason.py +0 -0
  910. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCancelledRunLeavesItsLog.py +0 -0
  911. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCapabilitiesSurviveMalformedTypedReads.py +0 -0
  912. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCarrierIntentAudit.py +0 -0
  913. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCarrierModeDeclaration.py +0 -0
  914. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCgroupMemory.py +0 -0
  915. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testClaimRequiredRefusal.py +0 -0
  916. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testClaimRoutes.py +0 -0
  917. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testClaimSurvivesTheDisclosure.py +0 -0
  918. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliActionCommands.py +0 -0
  919. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliExecIsCleanedUp.py +0 -0
  920. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliHubSessionMutationCoverage.py +0 -0
  921. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliMain.py +0 -0
  922. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliPipelineDispatch.py +0 -0
  923. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliStatusDestroy.py +0 -0
  924. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCliSubcommands.py +0 -0
  925. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoherentExport.py +0 -0
  926. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoherentExportLive.py +0 -0
  927. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testColimaHostagentLogProbe.py +0 -0
  928. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testColimaVersionPreflight.py +0 -0
  929. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandBuild.py +0 -0
  930. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandBuildBaseImagePin.py +0 -0
  931. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandBuildPipFlags.py +0 -0
  932. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandBuildPreflight.py +0 -0
  933. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandDoctor.py +0 -0
  934. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandGenerateStandards.py +0 -0
  935. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandReconcile.py +0 -0
  936. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandRevoke.py +0 -0
  937. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandSecret.py +0 -0
  938. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandSessions.py +0 -0
  939. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandStartGui.py +0 -0
  940. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandStartPreflight.py +0 -0
  941. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandUtilities.py +0 -0
  942. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommandUtilsDocker.py +0 -0
  943. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommittedFileRoutes.py +0 -0
  944. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCommittedFiles.py +0 -0
  945. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCompletePathCommand.py +0 -0
  946. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCompletionIsStateOnly.py +0 -0
  947. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConcurrentProjectRuns.py +0 -0
  948. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConcurrentStateSaves.py +0 -0
  949. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfigFieldPreflight.py +0 -0
  950. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfigLoader.py +0 -0
  951. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfigurationFingerprint.py +0 -0
  952. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedContainerWrite.py +0 -0
  953. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedRead.py +0 -0
  954. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedReadParity.py +0 -0
  955. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedStreamingLive.py +0 -0
  956. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedStreamingWrite.py +0 -0
  957. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedTreeWrite.py +0 -0
  958. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedTreeWriteLive.py +0 -0
  959. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedWriteLive.py +0 -0
  960. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConfinedWriteSignalDeath.py +0 -0
  961. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestCarriesTheContractVerbatim.py +0 -0
  962. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestLoaderKeepsCommittedFilesStable.py +0 -0
  963. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestManagerCoverage.py +0 -0
  964. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestManagerMarker.py +0 -0
  965. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestManagerVersioning.py +0 -0
  966. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestPerTestMarker.py +0 -0
  967. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestRefreshBeforeRun.py +0 -0
  968. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConftestRefreshSparesStepsWithoutTests.py +0 -0
  969. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConnectHubOwnershipGate.py +0 -0
  970. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConnectionRouter.py +0 -0
  971. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerAcceptance.py +0 -0
  972. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerBuildIntegration.py +0 -0
  973. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerConfig.py +0 -0
  974. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerGit.py +0 -0
  975. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerLifecycleGating.py +0 -0
  976. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerLock.py +0 -0
  977. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerManager.py +0 -0
  978. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerManagerFull.py +0 -0
  979. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerMemoryRoute.py +0 -0
  980. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerMemoryWatch.py +0 -0
  981. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerMemoryWatchLive.py +0 -0
  982. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerOwnership.py +0 -0
  983. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerRepairIsLifecycleSafe.py +0 -0
  984. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerSessionResolution.py +0 -0
  985. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContainerSweepSparesHostProjects.py +0 -0
  986. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testContentSecurityPolicy.py +0 -0
  987. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConversionLifecycle.py +0 -0
  988. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConvertConfigRewrite.py +0 -0
  989. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testConvertToContainerRoute.py +0 -0
  990. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCopyDirectoryLive.py +0 -0
  991. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilAdmissionLogIsBounded.py +0 -0
  992. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilBaselineOffLoop.py +0 -0
  993. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCampaignIdentity.py +0 -0
  994. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCampaignName.py +0 -0
  995. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilChat.py +0 -0
  996. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilControllerIntegration.py +0 -0
  997. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilControllerLive.py +0 -0
  998. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilControllerSerialization.py +0 -0
  999. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCrashRecovery.py +0 -0
  1000. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCredentialGate.py +0 -0
  1001. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCredentialRoutes.py +0 -0
  1002. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCredentialStore.py +0 -0
  1003. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCredentialTestJob.py +0 -0
  1004. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilCredentialTestJobLive.py +0 -0
  1005. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilDurableProvenance.py +0 -0
  1006. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilGateDecisions.py +0 -0
  1007. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilGatewayAuthority.py +0 -0
  1008. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilGatewayLive.py +0 -0
  1009. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilIdleVeto.py +0 -0
  1010. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilNotesAndDeliberationSummary.py +0 -0
  1011. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilPause.py +0 -0
  1012. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilPeerHubIsolation.py +0 -0
  1013. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilPeerHubIsolationLive.py +0 -0
  1014. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilPhaseAttempts.py +0 -0
  1015. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilPhaseInFlight.py +0 -0
  1016. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilReadiness.py +0 -0
  1017. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilResume.py +0 -0
  1018. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilRetry.py +0 -0
  1019. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilRoutes.py +0 -0
  1020. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilRunnerAccess.py +0 -0
  1021. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilRunnerLimitsFollowTheDaemon.py +0 -0
  1022. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilShutdownOrder.py +0 -0
  1023. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilSnapshotCapacity.py +0 -0
  1024. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilSnapshotCredentialExclusions.py +0 -0
  1025. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilSnapshotRoutes.py +0 -0
  1026. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilSnapshotScope.py +0 -0
  1027. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilStoppingPoint.py +0 -0
  1028. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilStorePersistence.py +0 -0
  1029. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilStoreRetention.py +0 -0
  1030. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCouncilTurnBudgetsAreEnforced.py +0 -0
  1031. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCliDoctorChecks.py +0 -0
  1032. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCliDoctorCommand.py +0 -0
  1033. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCliStandardsAndActions.py +0 -0
  1034. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCliUnreadableProjectFile.py +0 -0
  1035. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreCommitCarrier.py +0 -0
  1036. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreDataLoaders.py +0 -0
  1037. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreEnvironmentDeletion.py +0 -0
  1038. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreFileStatusManager.py +0 -0
  1039. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreGitStatus.py +0 -0
  1040. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreHostConnection.py +0 -0
  1041. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreOperationJournal.py +0 -0
  1042. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCorePinnedEnvironment.py +0 -0
  1043. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreServerLifespan.py +0 -0
  1044. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreSessionLifecycle.py +0 -0
  1045. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreStartReservation.py +0 -0
  1046. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreStateManager.py +0 -0
  1047. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreTerminalContainment.py +0 -0
  1048. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCoreTerminalSession.py +0 -0
  1049. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilControllerRefusals.py +0 -0
  1050. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilGatewayLifecycle.py +0 -0
  1051. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilProviderAdapters.py +0 -0
  1052. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateCampaign.py +0 -0
  1053. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateChat.py +0 -0
  1054. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateCredentialTest.py +0 -0
  1055. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateEngine.py +0 -0
  1056. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateRouteHelpers.py +0 -0
  1057. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateRunnerAndEgress.py +0 -0
  1058. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateSnapshotScope.py +0 -0
  1059. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageCouncilStateStore.py +0 -0
  1060. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerConnectionTransfers.py +0 -0
  1061. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerConnectionTypedReads.py +0 -0
  1062. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerContainerManager.py +0 -0
  1063. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerDisposableContainer.py +0 -0
  1064. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerDisposableSpecification.py +0 -0
  1065. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerImageBuilder.py +0 -0
  1066. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerLifecycleRepair.py +0 -0
  1067. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerPinnedImage.py +0 -0
  1068. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageDockerRuntimeRemedies.py +0 -0
  1069. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageHostControlHandlers.py +0 -0
  1070. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageHostControlSocket.py +0 -0
  1071. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityDockerfileExport.py +0 -0
  1072. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityEnvironmentSnapshot.py +0 -0
  1073. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityImageDeposit.py +0 -0
  1074. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityLevelGates.py +0 -0
  1075. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityOverleafSync.py +0 -0
  1076. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityRepoFiles.py +0 -0
  1077. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityReproductionSource.py +0 -0
  1078. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityScheduledReverify.py +0 -0
  1079. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageReproducibilityZenodoArxiv.py +0 -0
  1080. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesAEnvironmentArchive.py +0 -0
  1081. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesAFalsification.py +0 -0
  1082. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesAFileRoutes.py +0 -0
  1083. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesAPromotionRecovery.py +0 -0
  1084. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesATerminal.py +0 -0
  1085. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBAppFactory.py +0 -0
  1086. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBBuild.py +0 -0
  1087. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBGit.py +0 -0
  1088. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBRegistry.py +0 -0
  1089. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBReplay.py +0 -0
  1090. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBReproduction.py +0 -0
  1091. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBStep.py +0 -0
  1092. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageRoutesBSync.py +0 -0
  1093. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCoverageTargeted.py +0 -0
  1094. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCreationWizardRoutes.py +0 -0
  1095. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCredentialIsolation.py +0 -0
  1096. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCredentialRedactionIsBySpan.py +0 -0
  1097. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCredentialRedactor.py +0 -0
  1098. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCredentialRedactorMutationCoverage.py +0 -0
  1099. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCredentialTestErrorsStayClean.py +0 -0
  1100. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCrossMachineUserVerification.py +0 -0
  1101. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testCrossWorkflowStateErasure.py +0 -0
  1102. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDaemonCapacity.py +0 -0
  1103. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDaemonDiskPreflight.py +0 -0
  1104. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDashboardColumnsFrontendContract.py +0 -0
  1105. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataArchiverExtended.py +0 -0
  1106. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataArchiverMutationCoverage.py +0 -0
  1107. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataLoaders.py +0 -0
  1108. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataLoadersCsvErrorPaths.py +0 -0
  1109. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataLoadersMutationCoverage.py +0 -0
  1110. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataLoadersStayOutOfTheHub.py +0 -0
  1111. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDataPreviewInjection.py +0 -0
  1112. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeclarationFreshness.py +0 -0
  1113. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeclarationStepHonorsTheSlugContract.py +0 -0
  1114. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeclaredGuaranteesAreAnchored.py +0 -0
  1115. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeclaredPackagesMatchTheImage.py +0 -0
  1116. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeleteEnvironmentRoute.py +0 -0
  1117. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDependencyPinning.py +0 -0
  1118. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDependencyPinningMutationCoverage.py +0 -0
  1119. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDependencyScan.py +0 -0
  1120. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDependencyScanner.py +0 -0
  1121. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDepositIsNotDownloadedTwice.py +0 -0
  1122. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDepositSeams.py +0 -0
  1123. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDeterminismEnvHonesty.py +0 -0
  1124. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDigestTimestampNaming.py +0 -0
  1125. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDirectTestRunsRestoreTheMarkerPlugin.py +0 -0
  1126. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDirectoryListing.py +0 -0
  1127. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDiskSpace.py +0 -0
  1128. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDisposableContainerLive.py +0 -0
  1129. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDisposableSurvivorReclaim.py +0 -0
  1130. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerBinaryIsolation.py +0 -0
  1131. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerBuild.py +0 -0
  1132. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerConnection.py +0 -0
  1133. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerConnectionExecResult.py +0 -0
  1134. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerConnectionLive.py +0 -0
  1135. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerContext.py +0 -0
  1136. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerErrorDiagnosis.py +0 -0
  1137. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerHostContextRoundTrip.py +0 -0
  1138. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerLiveDaemonRequirement.py +0 -0
  1139. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerRuntimeClassification.py +0 -0
  1140. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerStatusEndpoint.py +0 -0
  1141. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerfileComposition.py +0 -0
  1142. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerfileLint.py +0 -0
  1143. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerfileLintMutationCoverage.py +0 -0
  1144. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerfileNetworkRetries.py +0 -0
  1145. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDockerfileProvenance.py +0 -0
  1146. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDocsMatchWorkflowTriggers.py +0 -0
  1147. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDocsPublishedLinksResolve.py +0 -0
  1148. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorFindingsNameACommand.py +0 -0
  1149. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorInterpreterArchitecture.py +0 -0
  1150. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorIsReadOnly.py +0 -0
  1151. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorNetworkGraph.py +0 -0
  1152. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorNetworkLive.py +0 -0
  1153. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorProjectScope.py +0 -0
  1154. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorScopesAndExitCodes.py +0 -0
  1155. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDoctorShellCompletions.py +0 -0
  1156. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDownloadRoutes.py +0 -0
  1157. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDraftRoutes.py +0 -0
  1158. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testDurableFile.py +0 -0
  1159. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointAdvertisedPaths.py +0 -0
  1160. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointAgentDocLinks.py +0 -0
  1161. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointBuildBinary.py +0 -0
  1162. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointCallsOnlyFunctionsItDefines.py +0 -0
  1163. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointClaudeSettings.py +0 -0
  1164. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointGitCredentials.py +0 -0
  1165. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointMigration.py +0 -0
  1166. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointPipNotAPackage.py +0 -0
  1167. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointReadinessMarker.py +0 -0
  1168. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointRepairsBrokenDocLinks.py +0 -0
  1169. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointRepoRefs.py +0 -0
  1170. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointResourcesGuidance.py +0 -0
  1171. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEntrypointRootPhasePath.py +0 -0
  1172. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvelopeImageCurrency.py +0 -0
  1173. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvelopeRegenerationReportsItsDelta.py +0 -0
  1174. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvelopeSnapshot.py +0 -0
  1175. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvelopeTierResultsAreVisible.py +0 -0
  1176. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentArchive.py +0 -0
  1177. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentArchivePromotion.py +0 -0
  1178. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentArchiveRoutes.py +0 -0
  1179. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentArchiveStop.py +0 -0
  1180. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentDeletion.py +0 -0
  1181. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentDrift.py +0 -0
  1182. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentInfoRoute.py +0 -0
  1183. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentSnapshot.py +0 -0
  1184. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEnvironmentSnapshotMutationCoverage.py +0 -0
  1185. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEphemeralStore.py +0 -0
  1186. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testEveryLevelTwoSyncRefusalIsNamedByABlocker.py +0 -0
  1187. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExecArgumentBudget.py +0 -0
  1188. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExecSocketExchange.py +0 -0
  1189. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExhaustiveCoverage.py +0 -0
  1190. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExitCodesAreExplained.py +0 -0
  1191. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExitedContainerEvidence.py +0 -0
  1192. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testExplicitReleaseAuthority.py +0 -0
  1193. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFailedSaveGroundTruthFrontendContract.py +0 -0
  1194. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFalsificationAttestation.py +0 -0
  1195. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFalsificationAttestationMutationCoverage.py +0 -0
  1196. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFalsificationRoutesCoverage.py +0 -0
  1197. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFalsificationRoutesMutationCoverage.py +0 -0
  1198. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFalsificationSharding.py +0 -0
  1199. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFigureServer.py +0 -0
  1200. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFigureViewerFrontendContract.py +0 -0
  1201. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileBrowserEscapingFrontendContract.py +0 -0
  1202. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileEdgesAreSafe.py +0 -0
  1203. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileEndpointsAndMiddleware.py +0 -0
  1204. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileStatusManager.py +0 -0
  1205. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileStatusManagerInvalidation.py +0 -0
  1206. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileStatusManagerProofAdditions.py +0 -0
  1207. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileStatusManagerStaleness.py +0 -0
  1208. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileStatusManagerTimestamps.py +0 -0
  1209. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFileTransfer.py +0 -0
  1210. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFinalCoverageGaps.py +0 -0
  1211. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testForcePushArgumentOrder.py +0 -0
  1212. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testForwardedHostPortFree.py +0 -0
  1213. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFreshnessUncheckedLevelOne.py +0 -0
  1214. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testFunctionLengthStatement.py +0 -0
  1215. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGatesRunOnEveryPullRequest.py +0 -0
  1216. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGenerateReproducibilityEnvelope.py +0 -0
  1217. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGeneratedFileNamesAreStepNamed.py +0 -0
  1218. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGitBadgesPartialRenderFrontendContract.py +0 -0
  1219. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGitRoutesProjectRepoSync.py +0 -0
  1220. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGitRoutesRemoteUrl.py +0 -0
  1221. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGitStatus.py +0 -0
  1222. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubAuth.py +0 -0
  1223. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubBadgeMeansAgreementNotCleanliness.py +0 -0
  1224. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubMirror.py +0 -0
  1225. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubRemoteIsDerivedNotDeclared.py +0 -0
  1226. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubRoutesProjectRepoCwd.py +0 -0
  1227. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubTokenBinding.py +0 -0
  1228. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubTokenResolution.py +0 -0
  1229. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGithubWorkflow.py +0 -0
  1230. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testGuiLaunchHonesty.py +0 -0
  1231. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHarnessHookMutationCoverage.py +0 -0
  1232. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHashStaleness.py +0 -0
  1233. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHashStalenessCoverage.py +0 -0
  1234. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHashStalenessIntegration.py +0 -0
  1235. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHashStalenessManifest.py +0 -0
  1236. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostBusyOracle.py +0 -0
  1237. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostCancel.py +0 -0
  1238. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostCapabilityInventory.py +0 -0
  1239. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostClaimPath.py +0 -0
  1240. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostCliSession.py +0 -0
  1241. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostConfinedRead.py +0 -0
  1242. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostConnection.py +0 -0
  1243. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostControlChannel.py +0 -0
  1244. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostCpuAccounting.py +0 -0
  1245. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostDeterminismEnvironment.py +0 -0
  1246. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostGitAndReposPanel.py +0 -0
  1247. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostGitSafetyProbes.py +0 -0
  1248. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostHeaderCheck.py +0 -0
  1249. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostIncidents.py +0 -0
  1250. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostModeContainerOnlyRefusals.py +0 -0
  1251. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostModeDaemonGate.py +0 -0
  1252. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostModeHonestyGates.py +0 -0
  1253. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostModeProjectRoots.py +0 -0
  1254. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostPathGuardCorpus.py +0 -0
  1255. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostPrerequisiteReport.py +0 -0
  1256. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostProjectAsksGitWithoutTimeoutBinary.py +0 -0
  1257. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostQuarantineSurface.py +0 -0
  1258. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostReadNeedsDirectoryRelativeAccess.py +0 -0
  1259. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostResidueStaysInsideOneProject.py +0 -0
  1260. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostScratchSweeper.py +0 -0
  1261. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostSnapshotTwin.py +0 -0
  1262. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostStreamingWrite.py +0 -0
  1263. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostSubprocessConfinement.py +0 -0
  1264. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostTerminal.py +0 -0
  1265. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHostTransfer.py +0 -0
  1266. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubAppGovernance.py +0 -0
  1267. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubDoctorRoute.py +0 -0
  1268. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubIdleWatchdog.py +0 -0
  1269. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubPortRegistry.py +0 -0
  1270. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubSessionCoverage.py +0 -0
  1271. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testHubShutdownSignals.py +0 -0
  1272. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testIdleWatchdogOffLoop.py +0 -0
  1273. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageAcquisition.py +0 -0
  1274. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageArchiveVersioning.py +0 -0
  1275. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageBuilder.py +0 -0
  1276. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageBuilderExtended.py +0 -0
  1277. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageLocale.py +0 -0
  1278. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustAnsweredForThePin.py +0 -0
  1279. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustCommandLine.py +0 -0
  1280. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustGuardsTheLaunch.py +0 -0
  1281. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustLive.py +0 -0
  1282. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustProvenanceRows.py +0 -0
  1283. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testImageTrustTextHasOneHome.py +0 -0
  1284. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInitRegistrationOutcome.py +0 -0
  1285. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInitTemplateRepositories.py +0 -0
  1286. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInjectionGuards.py +0 -0
  1287. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInlineCodeCommandsPassPreflight.py +0 -0
  1288. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInputDataStaleness.py +0 -0
  1289. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInstallScriptAgents.py +0 -0
  1290. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInteractivePauseSurvivesReconnect.py +0 -0
  1291. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInteractiveSteps.py +0 -0
  1292. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testIntrospectionScriptGaps.py +0 -0
  1293. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testIntrospectionTfrecord.py +0 -0
  1294. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testInventoryRepositoryGitSurface.py +0 -0
  1295. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testKeepAliveManager.py +0 -0
  1296. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testKeepAliveSpawnLedger.py +0 -0
  1297. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testKeychainIsolationCrossesProcesses.py +0 -0
  1298. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLatexAnnotation.py +0 -0
  1299. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLatexConnectorExtended.py +0 -0
  1300. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLeaseSessionBinding.py +0 -0
  1301. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLedgerFormatIsCanonical.py +0 -0
  1302. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelBlockers.py +0 -0
  1303. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelCellsNeverOverstate.py +0 -0
  1304. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelContiguousClimbContract.py +0 -0
  1305. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGateL2Blockers.py +0 -0
  1306. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGates.py +0 -0
  1307. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGatesBlockerCache.py +0 -0
  1308. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGatesMutationCoverage.py +0 -0
  1309. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGatesRefusalPropagation.py +0 -0
  1310. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelGatesStepClassifiers.py +0 -0
  1311. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelReportCoverage.py +0 -0
  1312. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelRoutes.py +0 -0
  1313. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLevelTwoRechecksLocalBytes.py +0 -0
  1314. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLifecycleLogging.py +0 -0
  1315. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLifecycleRouteAuthority.py +0 -0
  1316. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLinuxDockerPreflight.py +0 -0
  1317. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLiveLanesLabelWhatTheyCreate.py +0 -0
  1318. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLiveSessionBoundary.py +0 -0
  1319. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLlmInvokerBranches.py +0 -0
  1320. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLockInputFallsBackToVaibifyRequirements.py +0 -0
  1321. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testLoggingHygiene.py +0 -0
  1322. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMakeDirectory.py +0 -0
  1323. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestCheck.py +0 -0
  1324. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestCompletenessAsksTheWriter.py +0 -0
  1325. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestOwnershipFromSnapshotFacts.py +0 -0
  1326. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestPaths.py +0 -0
  1327. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestVerifyRoute.py +0 -0
  1328. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestWriter.py +0 -0
  1329. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testManifestWriterMutationCoverage.py +0 -0
  1330. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerAppliedToUnnecessaryStep.py +0 -0
  1331. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerBookkeepingIsIgnored.py +0 -0
  1332. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerDigestVerdicts.py +0 -0
  1333. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerFreshnessLive.py +0 -0
  1334. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerFreshnessPoll.py +0 -0
  1335. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerHashesTemplatedPlots.py +0 -0
  1336. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerLevelGate.py +0 -0
  1337. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerNamespaceFromLoadedWorkflow.py +0 -0
  1338. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMarkerStaleness.py +0 -0
  1339. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMatplotlibSaltIsolation.py +0 -0
  1340. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMatplotlibSaltIsolationLive.py +0 -0
  1341. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMissingFileBadges.py +0 -0
  1342. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testModelIdsAreHeldToPlainShapes.py +0 -0
  1343. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testModuleAttributeReferencesResolve.py +0 -0
  1344. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMtimeCache.py +0 -0
  1345. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMutationAttribution.py +0 -0
  1346. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMutationBoundary.py +0 -0
  1347. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testMutationScannerTypeCheckingExemption.py +0 -0
  1348. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testNetworkEfficiencyFrontendContract.py +0 -0
  1349. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testNoProjectOpenRefusal.py +0 -0
  1350. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testNoQuoteBlindEscaperInTheFrontend.py +0 -0
  1351. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testNoUnforwardedUrlsInRemoteSession.py +0 -0
  1352. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testObtainedBaseStacksLive.py +0 -0
  1353. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOldMarkerReadsAsItAlwaysDid.py +0 -0
  1354. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOomAttribution.py +0 -0
  1355. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOperationJournal.py +0 -0
  1356. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOperationJournalMutationCoverage.py +0 -0
  1357. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOrphanTransition.py +0 -0
  1358. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOrphanedPublishMachinery.py +0 -0
  1359. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOrphanedTerminalsAreEnded.py +0 -0
  1360. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOrphanedWriteTemporaries.py +0 -0
  1361. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOutputFreshnessByContent.py +0 -0
  1362. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverlayBannersReadTheStepFirst.py +0 -0
  1363. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafBehavior.py +0 -0
  1364. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafFetchHashes.py +0 -0
  1365. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafMirror.py +0 -0
  1366. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafPushProvenance.py +0 -0
  1367. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafSync.py +0 -0
  1368. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafSyncCoverage.py +0 -0
  1369. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafSyncExtended.py +0 -0
  1370. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testOverleafTokenStaysOffTheCommandLine.py +0 -0
  1371. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPackagedResources.py +0 -0
  1372. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPathContract.py +0 -0
  1373. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPathTraversal.py +0 -0
  1374. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPathValidation.py +0 -0
  1375. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPendingPromotionRecord.py +0 -0
  1376. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPerContainerStateLifecycle.py +0 -0
  1377. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPerTestMarkerEndToEnd.py +0 -0
  1378. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPidFileRegistry.py +0 -0
  1379. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPinnedEnvironmentDrift.py +0 -0
  1380. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPinnedImageAcquisition.py +0 -0
  1381. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineLogAppend.py +0 -0
  1382. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineLoggerCoverage.py +0 -0
  1383. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineLoggerRotation.py +0 -0
  1384. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesCoverage.py +0 -0
  1385. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesDiagnostics.py +0 -0
  1386. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesEtag.py +0 -0
  1387. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesManifestText.py +0 -0
  1388. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesMutationCoverage.py +0 -0
  1389. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRoutesShaCache.py +0 -0
  1390. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerBranches.py +0 -0
  1391. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerCoverage.py +0 -0
  1392. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerErrors.py +0 -0
  1393. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerExtended.py +0 -0
  1394. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerFull.py +0 -0
  1395. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerHeartbeat.py +0 -0
  1396. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerMutationCoverage.py +0 -0
  1397. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerPure.py +0 -0
  1398. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerStepsAndLog.py +0 -0
  1399. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineRunnerStreamingEmitter.py +0 -0
  1400. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerAgentAuth.py +0 -0
  1401. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerCoverage.py +0 -0
  1402. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerGaps.py +0 -0
  1403. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerLifespan.py +0 -0
  1404. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerPure.py +0 -0
  1405. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineServerTaskEviction.py +0 -0
  1406. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineState.py +0 -0
  1407. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineStateHostIncidents.py +0 -0
  1408. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineStateLiveness.py +0 -0
  1409. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineStateMock.py +0 -0
  1410. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineStateWriter.py +0 -0
  1411. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineTestRunnerCoverage.py +0 -0
  1412. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPipelineUtilsScaling.py +0 -0
  1413. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPlotRoutes.py +0 -0
  1414. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPoisonRecord.py +0 -0
  1415. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPortAllocator.py +0 -0
  1416. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPreferencesRoutes.py +0 -0
  1417. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPreferencesStore.py +0 -0
  1418. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPreflightNamesTheCauseNotTheCascade.py +0 -0
  1419. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPreflightResult.py +0 -0
  1420. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPreflightValidation.py +0 -0
  1421. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProcessLiveness.py +0 -0
  1422. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectAdoption.py +0 -0
  1423. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectAdoptionFalsification.py +0 -0
  1424. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectBookkeepingSidecar.py +0 -0
  1425. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectConfigExtended.py +0 -0
  1426. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectContextRoutes.py +0 -0
  1427. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectDepositPromotion.py +0 -0
  1428. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectHeaderNeverOutranksItsRows.py +0 -0
  1429. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectHubRefusals.py +0 -0
  1430. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectRepoDetection.py +0 -0
  1431. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectScopedAgentActions.py +0 -0
  1432. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProjectSwitchWithinContainer.py +0 -0
  1433. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromoteToHostProjectRoute.py +0 -0
  1434. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromotionRecovery.py +0 -0
  1435. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromptRecordAgentsLive.py +0 -0
  1436. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromptRecordManager.py +0 -0
  1437. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromptRecordPollFrontendContract.py +0 -0
  1438. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPromptRecordViewer.py +0 -0
  1439. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProofGateLevel1.py +0 -0
  1440. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProofLevelInPollResponse.py +0 -0
  1441. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProvenanceCommitDuringRun.py +0 -0
  1442. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProvenanceContractMutationCoverage.py +0 -0
  1443. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProvenanceTaint.py +0 -0
  1444. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProvenanceTracker.py +0 -0
  1445. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProvenanceTrackerMutationCoverage.py +0 -0
  1446. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testProviderApiTransport.py +0 -0
  1447. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPublicationScopeSeparatesTheLevels.py +0 -0
  1448. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPublishedReproductionWorkflow.py +0 -0
  1449. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPullFromContainer.py +0 -0
  1450. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPullManuscriptRoute.py +0 -0
  1451. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testPythonPackagePreflight.py +0 -0
  1452. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testQuarantineDetailRoute.py +0 -0
  1453. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testQuarantineRefusalNamesItsCause.py +0 -0
  1454. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testQuickStartReaderJourneyLive.py +0 -0
  1455. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRandomnessLint.py +0 -0
  1456. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReaderRunReplaysRecordedEpoch.py +0 -0
  1457. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReadinessRoute.py +0 -0
  1458. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReclaimNeverTreatsANameAsAnId.py +0 -0
  1459. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconcileNothingToReconcileExitsZero.py +0 -0
  1460. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconcileQuarantineRoute.py +0 -0
  1461. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconciliation.py +0 -0
  1462. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconciliationMutationCoverage.py +0 -0
  1463. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconfirmFalsificationJudgesKills.py +0 -0
  1464. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReconnectWindowContract.py +0 -0
  1465. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRecordedEpochReplay.py +0 -0
  1466. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRefactoringCoverage.py +0 -0
  1467. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRefreshRemotes.py +0 -0
  1468. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRefuseUnexecutedCommandFields.py +0 -0
  1469. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRefusedArchiveConversionChangesNothing.py +0 -0
  1470. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryContainerRecognition.py +0 -0
  1471. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryIsNotAnL3Requirement.py +0 -0
  1472. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryManager.py +0 -0
  1473. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryRemovalIsLeaseEnforced.py +0 -0
  1474. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryRouteLockState.py +0 -0
  1475. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryRoutes.py +0 -0
  1476. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRegistryRoutesCoverage.py +0 -0
  1477. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemainingGaps.py +0 -0
  1478. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemnantReapers.py +0 -0
  1479. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemnantRemovalLive.py +0 -0
  1480. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemnantRoutes.py +0 -0
  1481. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemnantScanner.py +0 -0
  1482. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemnantScannerLive.py +0 -0
  1483. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteBadgeRefresh.py +0 -0
  1484. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteClient.py +0 -0
  1485. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteDataMarker.py +0 -0
  1486. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteDataOverwriteGate.py +0 -0
  1487. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteDataProvenance.py +0 -0
  1488. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteDataRecordIdentity.py +0 -0
  1489. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteHelper.py +0 -0
  1490. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteProtocol.py +0 -0
  1491. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteReattachment.py +0 -0
  1492. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteSessionLane.py +0 -0
  1493. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemoteSshLane.py +0 -0
  1494. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRemotesMigration.py +0 -0
  1495. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRenameKeepsPerTestMarkerSections.py +0 -0
  1496. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReplayGate.py +0 -0
  1497. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReplayRoutes.py +0 -0
  1498. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRepoFiles.py +0 -0
  1499. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRepoFilesMutationCoverage.py +0 -0
  1500. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRepoRoutes.py +0 -0
  1501. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRepoStatusTypedRead.py +0 -0
  1502. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReposPanelFrontendContract.py +0 -0
  1503. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReposPollingFrontendContract.py +0 -0
  1504. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRepositoryPreflight.py +0 -0
  1505. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproduceFromSource.py +0 -0
  1506. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproducePublishedFrontendContract.py +0 -0
  1507. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproduceTierParity.py +0 -0
  1508. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproduceTierThreeRemedy.py +0 -0
  1509. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproductionProgress.py +0 -0
  1510. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproductionRecordBindsItsEvidence.py +0 -0
  1511. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproductionRoutes.py +0 -0
  1512. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testReproductionSource.py +0 -0
  1513. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRequirementsMirrorNamesWhatItDrops.py +0 -0
  1514. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRerunHashCompareMutationCoverage.py +0 -0
  1515. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRerunRefusesUnexecutedSteps.py +0 -0
  1516. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceAdequacy.py +0 -0
  1517. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimitDrift.py +0 -0
  1518. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimitLiveApply.py +0 -0
  1519. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimitLiveApplyLive.py +0 -0
  1520. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimitRoundTrip.py +0 -0
  1521. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimitSettings.py +0 -0
  1522. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceLimits.py +0 -0
  1523. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testResourceMonitor.py +0 -0
  1524. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRouteContextCoverage.py +0 -0
  1525. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRoutesRefuseCallerPathsOutsideTheirRoot.py +0 -0
  1526. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRowAndGateAgreeOnManifestFreshness.py +0 -0
  1527. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRunAllRespectsDisabledFrontendContract.py +0 -0
  1528. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRunFrameWithABadStepIsRefusedNotFatal.py +0 -0
  1529. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testRunStateWireCarriesStepResults.py +0 -0
  1530. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSafeReaper.py +0 -0
  1531. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSandboxArchiveWithholdsLevel3.py +0 -0
  1532. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testScheduledReverify.py +0 -0
  1533. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSecretAvailability.py +0 -0
  1534. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSecretFilesFollowTheirContainer.py +0 -0
  1535. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSecretManager.py +0 -0
  1536. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSecretNamesWithSeparatorsCanBeStagedAndMounted.py +0 -0
  1537. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSecurityBoundaryInvariants.py +0 -0
  1538. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSemanticWorkflowFingerprint.py +0 -0
  1539. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testServerLaunchContract.py +0 -0
  1540. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testServerMiddlewareCoverage.py +0 -0
  1541. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionCapSetting.py +0 -0
  1542. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionCardinality.py +0 -0
  1543. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionEndingNotice.py +0 -0
  1544. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionLaneFollowsClaim.py +0 -0
  1545. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionLifecycleEvaluator.py +0 -0
  1546. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionLifecycleFoundation.py +0 -0
  1547. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionRegistry.py +0 -0
  1548. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionRenewalAndWarningBands.py +0 -0
  1549. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSessionSpawnRoute.py +0 -0
  1550. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSetupWizard.py +0 -0
  1551. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSetupWizardIsGuarded.py +0 -0
  1552. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSetupWizardKeepsWhatItDoesNotShow.py +0 -0
  1553. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShadowContainerAdmission.py +0 -0
  1554. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShadowLaneLockFiles.py +0 -0
  1555. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShadowNamesTheImageGap.py +0 -0
  1556. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShadowRerun.py +0 -0
  1557. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShellCompletionInsertion.py +0 -0
  1558. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShellCompletionPositions.py +0 -0
  1559. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShellCompletionWiring.py +0 -0
  1560. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testShellSetupVersioning.py +0 -0
  1561. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSignOffCapturesPlotBytes.py +0 -0
  1562. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSignOffIsDatedByTheContainerClock.py +0 -0
  1563. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSignOffReconciliationByContent.py +0 -0
  1564. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSkillIntegrity.py +0 -0
  1565. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSleepPreventionFollowsWork.py +0 -0
  1566. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSnapshotAnswersBlobShaAndMissing.py +0 -0
  1567. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSnapshotCacheRacyClean.py +0 -0
  1568. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSnapshotNamesStayInsideTheRoot.py +0 -0
  1569. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSpawnedWindowSignsIn.py +0 -0
  1570. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStaleCapturedWorkflow.py +0 -0
  1571. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStaleOutputAdvisoryIsNotADeadPayload.py +0 -0
  1572. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStaleOutputDetector.py +0 -0
  1573. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStandardsGenerator.py +0 -0
  1574. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStandardsLoader.py +0 -0
  1575. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStartLaunchCommands.py +0 -0
  1576. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStartPreflightExtensions.py +0 -0
  1577. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStartReservation.py +0 -0
  1578. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStartReservationFalsification.py +0 -0
  1579. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateContract.py +0 -0
  1580. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateDirectoryIsolation.py +0 -0
  1581. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateLevelHighWater.py +0 -0
  1582. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateManager.py +0 -0
  1583. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateRecovery.py +0 -0
  1584. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStateWriteLock.py +0 -0
  1585. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStaticAnalysisClean.py +0 -0
  1586. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStatusContextLine.py +0 -0
  1587. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepDirectoryValidator.py +0 -0
  1588. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepEditFingerprintFrontendContract.py +0 -0
  1589. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepEditorFingerprintLifetimeFrontendContract.py +0 -0
  1590. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepGateAgreesWithManifestWriter.py +0 -0
  1591. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepLabels.py +0 -0
  1592. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepListRenderFrontendContract.py +0 -0
  1593. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepRename.py +0 -0
  1594. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepRenameCascadeMutationCoverage.py +0 -0
  1595. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepRenameCascadeReachesEverything.py +0 -0
  1596. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepRenameMoveCoverage.py +0 -0
  1597. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepRendererBlockerGlyphs.py +0 -0
  1598. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepSlugContract.py +0 -0
  1599. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepSlugMirrorEquivalence.py +0 -0
  1600. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepTestLogDirectory.py +0 -0
  1601. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepUpdateDestructiveGuard.py +0 -0
  1602. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStepVerdictFromRuns.py +0 -0
  1603. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStochasticDetector.py +0 -0
  1604. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStopByRunMarkerLive.py +0 -0
  1605. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testStopDoesNotNeedTheSession.py +0 -0
  1606. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSupervisionAnchor.py +0 -0
  1607. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSupervisionChipFrontendContract.py +0 -0
  1608. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSupervisionWatchdog.py +0 -0
  1609. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSymbolicStepReferencesAreChecked.py +0 -0
  1610. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncDispatcherCoverage.py +0 -0
  1611. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncDispatcherExtended.py +0 -0
  1612. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncDispatcherGaps.py +0 -0
  1613. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncDispatcherMutationCoverage.py +0 -0
  1614. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncDispatcherPure.py +0 -0
  1615. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncEpoch.py +0 -0
  1616. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncEpochReachesTheIdleDashboard.py +0 -0
  1617. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncErrorClassification.py +0 -0
  1618. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncErrors.py +0 -0
  1619. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncProjectionCoversEveryPublishedPath.py +0 -0
  1620. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncRoutesPushHardening.py +0 -0
  1621. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncRoutesPushIdempotency.py +0 -0
  1622. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncTestGenFull.py +0 -0
  1623. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSyncVerifyRoutes.py +0 -0
  1624. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSystemPackagePreflight.py +0 -0
  1625. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testSystemPackageValidation.py +0 -0
  1626. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTemplateManager.py +0 -0
  1627. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTemplatedPlotMarkerInAContainerLive.py +0 -0
  1628. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalContainment.py +0 -0
  1629. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalContainmentLive.py +0 -0
  1630. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalPromptReset.py +0 -0
  1631. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalPromptResetLive.py +0 -0
  1632. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalRedialContract.py +0 -0
  1633. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalResizeOrdering.py +0 -0
  1634. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalRoutesCoverage.py +0 -0
  1635. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalSelectionContrast.py +0 -0
  1636. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalSession.py +0 -0
  1637. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalSessionExtended.py +0 -0
  1638. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalStartWindowIsDrained.py +0 -0
  1639. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTerminalTeardownSurvivesShutdownCancellation.py +0 -0
  1640. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTestGeneratorExtended.py +0 -0
  1641. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTestMarkerContract.py +0 -0
  1642. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTestMarkerSystem.py +0 -0
  1643. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTestsAndSignOffFollowThePlotBytesLive.py +0 -0
  1644. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTextIoNamesItsEncoding.py +0 -0
  1645. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheArchiveIsAskedWhatItStored.py +0 -0
  1646. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheBlockedMapOutlivesTheArrow.py +0 -0
  1647. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheDashboardSettingsReachEveryMode.py +0 -0
  1648. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheLockIsCheckedBeforeARerunIsSpent.py +0 -0
  1649. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheLockVerdictCarriesItsFingerprint.py +0 -0
  1650. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheManifestDescribesTheFilesItShipsWith.py +0 -0
  1651. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testThePollDoesNotRewriteWhatItReads.py +0 -0
  1652. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheProjectDepositIsAskedWhatItStored.py +0 -0
  1653. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheReadinessRouteAnswersARequest.py +0 -0
  1654. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheRerunSaysWhatItCosts.py +0 -0
  1655. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheScalarGateHasNoSecondList.py +0 -0
  1656. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheSnapshotIsADeclaredRead.py +0 -0
  1657. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTheStagedClientStaysCurrent.py +0 -0
  1658. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTimedCommandComposition.py +0 -0
  1659. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTimedCommandsLive.py +0 -0
  1660. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testToolchainEpoch.py +0 -0
  1661. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testToolchainPinDrift.py +0 -0
  1662. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testToolkitEndToEnd.py +0 -0
  1663. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTopologyCorrectFileActions.py +0 -0
  1664. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTrackedIndexBeyondSymlinkBucket.py +0 -0
  1665. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTrackedReposManager.py +0 -0
  1666. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTranscriptSanitizer.py +0 -0
  1667. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTranscriptSanitizerCoverage.py +0 -0
  1668. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTranscriptSanitizerJsonRecords.py +0 -0
  1669. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTranscriptSanitizerParallel.py +0 -0
  1670. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTranscriptSanitizerSplitSecrets.py +0 -0
  1671. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTransferResolvesRelativeContainerPaths.py +0 -0
  1672. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTruthDerivation.py +0 -0
  1673. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTypeAloneStopsTheSwallow.py +0 -0
  1674. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testTypedReadFailureIsNeverAbsence.py +0 -0
  1675. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testUndiscoveredTerminalRecordSettles.py +0 -0
  1676. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testUnloadDoesNotReleaseContract.py +0 -0
  1677. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testUploadRoutes.py +0 -0
  1678. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVaibifyDoHeadless.py +0 -0
  1679. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVaibifyDoUnansweredRequest.py +0 -0
  1680. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVaibifyOpen.py +0 -0
  1681. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVendoredPdfJs.py +0 -0
  1682. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVerifyRemoteIsBoundToThePush.py +0 -0
  1683. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVerifyResolvesPlotPathsWhereTheRunWritesThem.py +0 -0
  1684. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVirtiofsRetry.py +0 -0
  1685. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVolumeCommandsStayOffTheTerminal.py +0 -0
  1686. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVolumeManager.py +0 -0
  1687. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testVsCodeAttachLink.py +0 -0
  1688. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWallClockBudget.py +0 -0
  1689. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWebSocketAuthorization.py +0 -0
  1690. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWithdrawnTerminalLegacyRecords.py +0 -0
  1691. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWizardDirectoryPickerContract.py +0 -0
  1692. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWizardsShareOneRepositoryAuthority.py +0 -0
  1693. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowDiscoveryLegacyRoot.py +0 -0
  1694. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowFieldTypesAreValidatedAtLoad.py +0 -0
  1695. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowLoadingBannerFrontendContract.py +0 -0
  1696. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowManagerExtended.py +0 -0
  1697. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowManagerMutationCoverage.py +0 -0
  1698. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowManagerScaling.py +0 -0
  1699. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowMergeGateSplit.py +0 -0
  1700. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowMigrations.py +0 -0
  1701. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowMigrationsAICSLevel.py +0 -0
  1702. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowMigrationsProofLevelRename.py +0 -0
  1703. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowReloadDetector.py +0 -0
  1704. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowReloadIntegration.py +0 -0
  1705. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowRoutesCoverage.py +0 -0
  1706. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowSchemaForwardCompat.py +0 -0
  1707. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkflowSwitchGenerationContract.py +0 -0
  1708. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkspacePath.py +0 -0
  1709. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkspaceRootHandshake.py +0 -0
  1710. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWorkspaceSeedPaths.py +0 -0
  1711. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testWritableLayerLoss.py +0 -0
  1712. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testX11Findings.py +0 -0
  1713. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testX11Forwarding.py +0 -0
  1714. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testX11OptIn.py +0 -0
  1715. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testX11Settings.py +0 -0
  1716. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoClient.py +0 -0
  1717. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoClientExtended.py +0 -0
  1718. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoDatasetDownloadIsWithdrawn.py +0 -0
  1719. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoFetchHashes.py +0 -0
  1720. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoIntegrationGaps.py +0 -0
  1721. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoPublishWhereTheRecordIs.py +0 -0
  1722. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoServiceAuthorities.py +0 -0
  1723. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoUploadResilience.py +0 -0
  1724. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/testZenodoVerifyUsesTheRecordedService.py +0 -0
  1725. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tests/timingSupport.py +0 -0
  1726. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/bootstrapAcceptanceContainer.py +0 -0
  1727. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/carrierIntentAudit.py +0 -0
  1728. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/checkAgentDocsPaths.py +0 -0
  1729. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/checkAmericanSpelling.py +0 -0
  1730. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/checkBrowserLaunches.py +0 -0
  1731. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/checkToolchainEpoch.py +0 -0
  1732. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/checkToolchainPinDrift.py +0 -0
  1733. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/computeBuildInputHash.py +0 -0
  1734. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/deriveLaneSelection.py +0 -0
  1735. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/evaluateSkillOutcomes.py +0 -0
  1736. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/evaluateSkillTriggers.py +0 -0
  1737. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/generateHostCapabilityInventory.py +0 -0
  1738. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/inventoryRepositoryGitSurface.py +0 -0
  1739. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/ledgerFormat.py +0 -0
  1740. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/listModules.py +0 -0
  1741. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/mutationAttribution.py +0 -0
  1742. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/reconfirmFalsification.py +0 -0
  1743. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/skillEvals/outcomeTasks.json +0 -0
  1744. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/skillEvals/triggerPrompts.json +0 -0
  1745. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/summarizeFalsificationShards.py +0 -0
  1746. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/tools/syncRequiredChecks.py +0 -0
  1747. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/__init__.py +0 -0
  1748. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/__main__.py +0 -0
  1749. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/__init__.py +0 -0
  1750. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/baseImagePreflight.py +0 -0
  1751. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandCat.py +0 -0
  1752. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandCompletePath.py +0 -0
  1753. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandConfig.py +0 -0
  1754. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandDestroy.py +0 -0
  1755. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandDoctor.py +0 -0
  1756. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandGenerateStandards.py +0 -0
  1757. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandInit.py +0 -0
  1758. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandLs.py +0 -0
  1759. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandOpen.py +0 -0
  1760. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandPublish.py +0 -0
  1761. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandReconcile.py +0 -0
  1762. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRegister.py +0 -0
  1763. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRemote.py +0 -0
  1764. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRemoteHelper.py +0 -0
  1765. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRepair.py +0 -0
  1766. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRevoke.py +0 -0
  1767. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandRun.py +0 -0
  1768. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandSecret.py +0 -0
  1769. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandSessions.py +0 -0
  1770. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandStart.py +0 -0
  1771. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandStatus.py +0 -0
  1772. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandTest.py +0 -0
  1773. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandUtilsDocker.py +0 -0
  1774. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/commandWorkflow.py +0 -0
  1775. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/configFieldPreflight.py +0 -0
  1776. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/configLoader.py +0 -0
  1777. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/daemonDiskPreflight.py +0 -0
  1778. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/doctorHostChecks.py +0 -0
  1779. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/doctorNetwork.py +0 -0
  1780. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/doctorProjectChecks.py +0 -0
  1781. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/doctorX11Checks.py +0 -0
  1782. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/imageTrustPrompt.py +0 -0
  1783. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/levelReport.py +0 -0
  1784. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/portAllocator.py +0 -0
  1785. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/preflightChecks.py +0 -0
  1786. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/preflightResult.py +0 -0
  1787. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/pythonPackagePreflight.py +0 -0
  1788. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/remoteProtocol.py +0 -0
  1789. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/repositoryPreflight.py +0 -0
  1790. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/serverLaunch.py +0 -0
  1791. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/cli/systemPackagePreflight.py +0 -0
  1792. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/__init__.py +0 -0
  1793. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/abandonmentAudit.py +0 -0
  1794. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/bindMountValidator.py +0 -0
  1795. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/configurationFingerprint.py +0 -0
  1796. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/connectionAvailability.py +0 -0
  1797. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/containerLock.py +0 -0
  1798. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/durableFile.py +0 -0
  1799. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/ephemeralStore.py +0 -0
  1800. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/hostResidue.py +0 -0
  1801. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/hubPortRegistry.py +0 -0
  1802. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/imageOrigins.py +0 -0
  1803. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/imageTrust.py +0 -0
  1804. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/keepAliveManager.py +0 -0
  1805. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/modelIdentity.py +0 -0
  1806. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/mutationAdmission.py +0 -0
  1807. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/operationJournal.py +0 -0
  1808. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/pendingConversions.py +0 -0
  1809. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/pidFileRegistry.py +0 -0
  1810. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/preferencesStore.py +0 -0
  1811. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/processLiveness.py +0 -0
  1812. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/projectConfig.py +0 -0
  1813. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/reconciliation.py +0 -0
  1814. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/resourceAdequacy.py +0 -0
  1815. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/resourceLimits.py +0 -0
  1816. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/secretAvailability.py +0 -0
  1817. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/secretManager.py +0 -0
  1818. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/sessionRegistry.py +0 -0
  1819. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/templateManager.py +0 -0
  1820. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/config/workerProcessPool.py +0 -0
  1821. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.antigravity +0 -0
  1822. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.claude +0 -0
  1823. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.claudeArmOnIntel +0 -0
  1824. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.cline +0 -0
  1825. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.codex +0 -0
  1826. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.gemini +0 -0
  1827. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.julia +0 -0
  1828. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.node +0 -0
  1829. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.opencode +0 -0
  1830. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.openhands +0 -0
  1831. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.pi +0 -0
  1832. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.rlang +0 -0
  1833. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/Dockerfile.uv +0 -0
  1834. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/checkIsolation.sh +0 -0
  1835. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/overlays/database.dockerfile +0 -0
  1836. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/overlays/dvc.dockerfile +0 -0
  1837. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/overlays/gpu.dockerfile +0 -0
  1838. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/overlays/nestedSampling.dockerfile +0 -0
  1839. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/diagnose-failed-run/SKILL.md +0 -0
  1840. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/proof-ladder/SKILL.md +0 -0
  1841. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/read-arxiv/SKILL.md +0 -0
  1842. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/read-manuscript/SKILL.md +0 -0
  1843. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/reproducible-analysis/SKILL.md +0 -0
  1844. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/running-steps/SKILL.md +0 -0
  1845. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/session-budget/SKILL.md +0 -0
  1846. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/containerImage/skills/vaibify-doc-map/SKILL.md +0 -0
  1847. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/__init__.py +0 -0
  1848. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/bridgeGateway.py +0 -0
  1849. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/cgroupMemory.py +0 -0
  1850. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/coherentExport.py +0 -0
  1851. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/confinedRead.py +0 -0
  1852. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/confinedWrite.py +0 -0
  1853. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/containerLifecycleRepair.py +0 -0
  1854. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/daemonCapacity.py +0 -0
  1855. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/daemonDescription.py +0 -0
  1856. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/disposableContainer.py +0 -0
  1857. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/disposableSpecification.py +0 -0
  1858. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/dockerErrorDiagnosis.py +0 -0
  1859. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/execArgumentBudget.py +0 -0
  1860. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/fileTransfer.py +0 -0
  1861. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/imageBuilder.py +0 -0
  1862. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/keepAliveManager.py +0 -0
  1863. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/pathContainment.py +0 -0
  1864. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/runtimeRemedies.py +0 -0
  1865. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/volumeManager.py +0 -0
  1866. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/writableLayerLoss.py +0 -0
  1867. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docker/x11Forwarding.py +0 -0
  1868. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docs/forAgents.md +0 -0
  1869. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/docs/scriptAuthoring.md +0 -0
  1870. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/AGENTS.md +0 -0
  1871. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/__init__.py +0 -0
  1872. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/acquisitionFailure.py +0 -0
  1873. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCampaign.py +0 -0
  1874. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCapacity.py +0 -0
  1875. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCharter.py +0 -0
  1876. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilChat.py +0 -0
  1877. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilContext.py +0 -0
  1878. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilController.py +0 -0
  1879. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCredentialGate.py +0 -0
  1880. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCredentialStore.py +0 -0
  1881. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCredentialTest.py +0 -0
  1882. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCredentialTestRecords.py +0 -0
  1883. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilCredentialTestRecovery.py +0 -0
  1884. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilDockerGateway.py +0 -0
  1885. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilEgress.py +0 -0
  1886. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilEvidence.py +0 -0
  1887. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilProviderRegistry.py +0 -0
  1888. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilProviders.py +0 -0
  1889. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilReadiness.py +0 -0
  1890. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilRegistry.py +0 -0
  1891. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilResolution.py +0 -0
  1892. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilRunner.py +0 -0
  1893. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilSnapshotScope.py +0 -0
  1894. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilStagedCopies.py +0 -0
  1895. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentCouncilStore.py +0 -0
  1896. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/agentProjectScope.py +0 -0
  1897. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/aiProvenanceCapture.py +0 -0
  1898. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/archiveProgress.py +0 -0
  1899. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/attributionLog.py +0 -0
  1900. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/backgroundTasks.py +0 -0
  1901. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/badgeState.py +0 -0
  1902. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/browserSession.py +0 -0
  1903. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/cliShellContainment.py +0 -0
  1904. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/commandUtilities.py +0 -0
  1905. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/commitCarrier.py +0 -0
  1906. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/conftestManager.py +0 -0
  1907. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/connectionRouter.py +0 -0
  1908. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/containerGit.py +0 -0
  1909. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/containerMemorySampler.py +0 -0
  1910. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/containerMemoryWatch.py +0 -0
  1911. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/containerOwnership.py +0 -0
  1912. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/councilRouteGuards.py +0 -0
  1913. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/dataLoaders.py +0 -0
  1914. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/dataPreview.py +0 -0
  1915. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/dependencyScan.py +0 -0
  1916. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/dependencyScanner.py +0 -0
  1917. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/diskSpace.py +0 -0
  1918. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/dockerStatus.py +0 -0
  1919. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/draftManager.py +0 -0
  1920. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/environmentDeletion.py +0 -0
  1921. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/environmentDeletionRoutes.py +0 -0
  1922. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/executionTopology.py +0 -0
  1923. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/figureServer.py +0 -0
  1924. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/fileIntegrity.py +0 -0
  1925. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/gitStatus.py +0 -0
  1926. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/hashStaleness.py +0 -0
  1927. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/helperPrograms.py +0 -0
  1928. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/hostBusyOracle.py +0 -0
  1929. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/hostControlChannel.py +0 -0
  1930. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/hostIncidents.py +0 -0
  1931. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/hostModeReturn.py +0 -0
  1932. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/interactiveSteps.py +0 -0
  1933. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/llmInvoker.py +0 -0
  1934. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/manifestCheck.py +0 -0
  1935. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/mtimeCache.py +0 -0
  1936. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/pathContract.py +0 -0
  1937. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/personalLayerManager.py +0 -0
  1938. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/pinnedEnvironmentConversion.py +0 -0
  1939. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/pipelineRunSlots.py +0 -0
  1940. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/pipelineState.py +0 -0
  1941. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/projectAdoption.py +0 -0
  1942. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/projectContextManager.py +0 -0
  1943. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/projectRoots.py +0 -0
  1944. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/promptRecordViewer.py +0 -0
  1945. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/provenanceCommitter.py +0 -0
  1946. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/providerApiTransport.py +0 -0
  1947. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/randomnessLint.py +0 -0
  1948. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/registryRoutes.py +0 -0
  1949. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/remnantReapers.py +0 -0
  1950. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/remnantScanner.py +0 -0
  1951. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/resourceLimitApplication.py +0 -0
  1952. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/resourceMonitor.py +0 -0
  1953. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/committedFileRoutes.py +0 -0
  1954. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/connectionCheckRoutes.py +0 -0
  1955. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/conversionRoutes.py +0 -0
  1956. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/councilChatRoutes.py +0 -0
  1957. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/councilCredentialRoutes.py +0 -0
  1958. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/councilRoutes.py +0 -0
  1959. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/councilSnapshotRoutes.py +0 -0
  1960. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/downloadRoutes.py +0 -0
  1961. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/draftRoutes.py +0 -0
  1962. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/environmentArchiveRoutes.py +0 -0
  1963. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/falsificationRoutes.py +0 -0
  1964. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/figureRoutes.py +0 -0
  1965. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/gitRoutes.py +0 -0
  1966. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/imageTrustRoutes.py +0 -0
  1967. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/levelRoutes.py +0 -0
  1968. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/plotRoutes.py +0 -0
  1969. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/preferencesRoutes.py +0 -0
  1970. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/promotionRecoveryRoutes.py +0 -0
  1971. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/promptRecordViewerRoutes.py +0 -0
  1972. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/remnantRoutes.py +0 -0
  1973. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/remoteRefreshRoutes.py +0 -0
  1974. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/replayRoutes.py +0 -0
  1975. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/repoRoutes.py +0 -0
  1976. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/reproductionRoutes.py +0 -0
  1977. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/sessionRoutes.py +0 -0
  1978. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/settingsRoutes.py +0 -0
  1979. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/syncRoutes.py +0 -0
  1980. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/systemRoutes.py +0 -0
  1981. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/terminalRoutes.py +0 -0
  1982. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/uploadRoutes.py +0 -0
  1983. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/routes/workflowRoutes.py +0 -0
  1984. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/serverLifespan.py +0 -0
  1985. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/sessionLifecycle.py +0 -0
  1986. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/sleepPrevention.py +0 -0
  1987. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/staleOutputDetector.py +0 -0
  1988. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/startReservation.py +0 -0
  1989. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/startResultStore.py +0 -0
  1990. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/startupObservations.py +0 -0
  1991. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/stateManager.py +0 -0
  1992. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/stateWriteLock.py +0 -0
  1993. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/AGENTS.md +0 -0
  1994. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/favicon.png +0 -0
  1995. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/favicon.svg +0 -0
  1996. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptAiModelConfig.js +0 -0
  1997. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptApiClient.js +0 -0
  1998. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptArxivConfig.js +0 -0
  1999. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptBinaryDeclaration.js +0 -0
  2000. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptConnectionMonitor.js +0 -0
  2001. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptCouncilConsent.js +0 -0
  2002. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptCouncilSnapshotScope.js +0 -0
  2003. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptDiagnosis.js +0 -0
  2004. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptDraftManager.js +0 -0
  2005. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptEnvironmentInfo.js +0 -0
  2006. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFileDropWalker.js +0 -0
  2007. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFileOperations.js +0 -0
  2008. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFilePull.js +0 -0
  2009. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFileRowMenu.js +0 -0
  2010. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFileUpload.js +0 -0
  2011. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptFiles.js +0 -0
  2012. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptGitBadges.js +0 -0
  2013. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptImageTrust.js +0 -0
  2014. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptLegendPanel.js +0 -0
  2015. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptManifestCheck.js +0 -0
  2016. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptMemoryWatch.js +0 -0
  2017. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptModals.js +0 -0
  2018. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptNewWorkflowWizard.js +0 -0
  2019. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptOverleafMirror.js +0 -0
  2020. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptPersonalLayer.js +0 -0
  2021. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptPipelineRunner.js +0 -0
  2022. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptPlotStandards.js +0 -0
  2023. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptProjectContext.js +0 -0
  2024. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptPromptRecordConfig.js +0 -0
  2025. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptPromptRecordViewer.js +0 -0
  2026. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptRemnants.js +0 -0
  2027. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptReposPanel.js +0 -0
  2028. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptResourceMonitor.js +0 -0
  2029. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptSetupWizard.js +0 -0
  2030. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptTerminal.js +0 -0
  2031. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptUtilities.js +0 -0
  2032. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptWebSocket.js +0 -0
  2033. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptWorkflowManager.js +0 -0
  2034. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/scriptZenodoDepositCard.js +0 -0
  2035. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/setupWizard.html +0 -0
  2036. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/styleSetupWizard.css +0 -0
  2037. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vaibify_logo_paleblue.png +0 -0
  2038. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vaibify_logo_paleblue_dark.png +0 -0
  2039. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/addon-fit.min.js +0 -0
  2040. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/addon-unicode11.min.js +0 -0
  2041. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/pdf.min.js +0 -0
  2042. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/pdf.worker.min.js +0 -0
  2043. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/xterm.min.css +0 -0
  2044. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/static/vendor/xterm.min.js +0 -0
  2045. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/supervisionAnchor.py +0 -0
  2046. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/terminalContainment.py +0 -0
  2047. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/terminalSession.py +0 -0
  2048. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/testMarkerContract.py +0 -0
  2049. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/testStatusManager.py +0 -0
  2050. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/transcriptSanitizer.py +0 -0
  2051. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/truthDerivation.py +0 -0
  2052. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/uploadStaging.py +0 -0
  2053. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/vscodeAttachLink.py +0 -0
  2054. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/webSocketAuthorization.py +0 -0
  2055. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/workflowFieldTypes.py +0 -0
  2056. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/workspacePath.py +0 -0
  2057. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/gui/writableLayerPreview.py +0 -0
  2058. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/__init__.py +0 -0
  2059. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/archiveExtraction.py +0 -0
  2060. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/hostCancellation.py +0 -0
  2061. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/hostConfinedRead.py +0 -0
  2062. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/hostConnection.py +0 -0
  2063. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/host/hostScratch.py +0 -0
  2064. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/install/__init__.py +0 -0
  2065. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/install/installVaibify.sh +0 -0
  2066. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/install/setupServer.py +0 -0
  2067. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/install/shellSetup.py +0 -0
  2068. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/install/uninstallVaibify.sh +0 -0
  2069. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/__init__.py +0 -0
  2070. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/_hashing.py +0 -0
  2071. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/agentLayerSeparation.py +0 -0
  2072. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/aiDeclarationStep.py +0 -0
  2073. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/aiProvenanceStamp.py +0 -0
  2074. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/archiveDepositPlan.py +0 -0
  2075. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/archivePermanence.py +0 -0
  2076. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/archivePromotion.py +0 -0
  2077. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/arxivClient.py +0 -0
  2078. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/askpassHelper.py +0 -0
  2079. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/committedFiles.py +0 -0
  2080. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/credentialRedactor.py +0 -0
  2081. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/declarationFreshness.py +0 -0
  2082. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/declaredPackages.py +0 -0
  2083. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/dockerfileComposer.py +0 -0
  2084. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/dockerfileLint.py +0 -0
  2085. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/downloadPartial.py +0 -0
  2086. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/environmentDrift.py +0 -0
  2087. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/environmentSnapshot.py +0 -0
  2088. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/falsificationAttestation.py +0 -0
  2089. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/gitEvidence.py +0 -0
  2090. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/gitHardening.py +0 -0
  2091. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/githubAuth.py +0 -0
  2092. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/githubMirror.py +0 -0
  2093. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/githubWorkflow.py +0 -0
  2094. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/imageArchive.py +0 -0
  2095. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/imageDeposit.py +0 -0
  2096. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/imageDockerfileExport.py +0 -0
  2097. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/latexConnector.py +0 -0
  2098. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/lockSatisfaction.py +0 -0
  2099. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/manifestWriter.py +0 -0
  2100. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/overleafAuth.py +0 -0
  2101. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/overleafMirror.py +0 -0
  2102. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/overleafSync.py +0 -0
  2103. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/provenanceTracker.py +0 -0
  2104. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/remoteCheckState.py +0 -0
  2105. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/replayGate.py +0 -0
  2106. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/reproductionRecord.py +0 -0
  2107. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/reproductionSource.py +0 -0
  2108. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/rerunEstimate.py +0 -0
  2109. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/scheduledReverify.py +0 -0
  2110. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/shadowRerun.py +0 -0
  2111. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/stepPredicates.py +0 -0
  2112. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/reproducibility/syncBookkeeping.py +0 -0
  2113. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/resources.py +0 -0
  2114. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/sandbox/container.conf +0 -0
  2115. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/toolkit/README.md +0 -0
  2116. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/toolkit/container.conf +0 -0
  2117. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/toolkit/project.json +0 -0
  2118. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/workflow/container.conf +0 -0
  2119. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/workflow/project.json +0 -0
  2120. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/templates/workflow.yml.j2 +0 -0
  2121. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/testing/__init__.py +0 -0
  2122. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/testing/standards.py +0 -0
  2123. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify/testing/stochasticDetector.py +0 -0
  2124. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify.egg-info/dependency_links.txt +0 -0
  2125. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify.egg-info/entry_points.txt +0 -0
  2126. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify.egg-info/requires.txt +0 -0
  2127. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/vaibify.egg-info/top_level.txt +0 -0
  2128. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/.gitignore +0 -0
  2129. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/README.md +0 -0
  2130. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/404.html +0 -0
  2131. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/_headers +0 -0
  2132. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/assets/favicon.png +0 -0
  2133. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/assets/vaibifyDashboard.png +0 -0
  2134. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/assets/vaibifyLogo.png +0 -0
  2135. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/index.html +0 -0
  2136. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/robots.txt +0 -0
  2137. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/sitemap.xml +0 -0
  2138. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/public/styles.css +0 -0
  2139. {vaibify-0.1.2 → vaibify-0.1.4.dev95}/website/wrangler.toml +0 -0
@@ -0,0 +1,202 @@
1
+ ---
2
+ name: add-route-module
3
+ description: Recipe for adding a new FastAPI route module to the vaibify backend under vaibify/gui/routes/. Use when the task is to expose a new group of HTTP or WebSocket endpoints.
4
+ ---
5
+
6
+ # Adding a new route module to vaibify
7
+
8
+ Use this recipe when you need to add a new group of HTTP or WebSocket
9
+ endpoints to the vaibify FastAPI backend. Every route module follows
10
+ the same contract; follow these steps in order.
11
+
12
+ ## Prerequisites
13
+
14
+ Read these first:
15
+
16
+ - `AGENTS.md` (repo root) — global rules and traps
17
+ - `vaibify/gui/AGENTS.md` — backend contracts
18
+ - `vaibify/gui/routes/figureRoutes.py` — small, clean reference example
19
+
20
+ ## Steps
21
+
22
+ ### 1. Create `vaibify/gui/routes/<name>Routes.py`
23
+
24
+ The filename is camelCase ending in `Routes.py` (e.g., `metricsRoutes.py`,
25
+ `userRoutes.py`). The file must declare `__all__`, provide a module
26
+ docstring, and export a module-level function `fnRegisterAll(app, dictCtx)`.
27
+
28
+ Minimal scaffold:
29
+
30
+ ```python
31
+ """<One-sentence description of what this route group does>."""
32
+
33
+ __all__ = ["fnRegisterAll"]
34
+
35
+ from fastapi import HTTPException
36
+
37
+
38
+ def _fnRegisterExample(app, dictCtx):
39
+ """Register GET /api/<name>/{sContainerId}/<resource>."""
40
+
41
+ @app.get("/api/<name>/{sContainerId}/<resource>")
42
+ async def fnHandleExample(sContainerId: str):
43
+ fnRequire = dictCtx["require"]
44
+ fnRequire(sContainerId)
45
+ # ... implementation ...
46
+ return {"bOk": True}
47
+
48
+
49
+ def fnRegisterAll(app, dictCtx):
50
+ """Register all <name> routes."""
51
+ _fnRegisterExample(app, dictCtx)
52
+ ```
53
+
54
+ Notes:
55
+
56
+ - Functions are about 20 to 30 lines (a guideline: split for reuse or a
57
+ genuine conceptual boundary, never to meet a line count). Factor helpers
58
+ out (`_fn…`, `_fs…`, `_fdict…`) if a handler grows.
59
+ - The module-level `fnRegisterAll` should only call the per-endpoint
60
+ `_fn…` helpers. Keep it thin so tests can import it without side
61
+ effects.
62
+ - For container-path joins use `posixpath`, never `os.path`. The
63
+ workspace root and path-validation helpers live in
64
+ `vaibify.gui.pipelineServer` (`WORKSPACE_ROOT`,
65
+ `fsValidatePathWithinRoot`, `fsResolveFigurePath`,
66
+ `fbaFetchFigureWithFallback`).
67
+ - For shell-quoting container command arguments, use
68
+ `fsShellQuote` from `vaibify.gui.pipelineRunner`.
69
+ - If the route needs Docker access, call through
70
+ `dictCtx["docker"]`; do not import Docker utilities directly.
71
+
72
+ ### 2. Register the module in `vaibify/gui/routes/__init__.py`
73
+
74
+ Add the module name to both the `__all__` list and the
75
+ `from . import (...)` block. Preserve the existing order grouping
76
+ where it makes sense; otherwise append.
77
+
78
+ ### 3. Register state-mutating endpoints with `@ffnAgentAction`
79
+
80
+ If any endpoint on the new module mutates state and a researcher
81
+ could reasonably invoke it from the UI (run, test, verify, commit,
82
+ create, edit, delete, push, publish, upload, write, etc.), it must
83
+ appear in the agent-action catalog so the in-container `vaibify-do`
84
+ CLI can translate researcher intent into the same call.
85
+
86
+ Two things go together:
87
+
88
+ 1. **Decorate the handler.** Import the decorator and apply it
89
+ directly above the FastAPI path-op decorator:
90
+ ```python
91
+ from ..actionCatalog import ffnAgentAction
92
+
93
+ @ffnAgentAction("my-new-action")
94
+ @app.post("/api/my-thing/{sContainerId}/do-it")
95
+ async def fnDoIt(sContainerId: str): ...
96
+ ```
97
+
98
+ 2. **Add a catalog entry** in
99
+ `vaibify/gui/actionCatalog.py::LIST_AGENT_ACTIONS`. Copy the shape
100
+ of existing entries: `sName`, `sCategory`, `sMethod`, `sPath`,
101
+ `bAgentSafe`, `sDescription`. The `sName` here must match the
102
+ decorator argument exactly.
103
+
104
+ Pick `bAgentSafe`:
105
+
106
+ - **True** — execution, read-side work, test runs, agent authoring
107
+ (writing files, creating/updating steps the agent is working on),
108
+ committing canonical state, downloading inputs.
109
+ - **False** — destructive (delete, clean, kill, force), externally
110
+ visible (push to GitHub/Overleaf, publish to Zenodo), or requiring
111
+ researcher judgment (accept plots as standard, set Zenodo metadata,
112
+ reorder pipeline semantics).
113
+
114
+ Every state-mutating route the GUI invokes must also have a CLI
115
+ equivalent. Register it in exactly one place:
116
+
117
+ - `LIST_AGENT_ACTIONS` — callable by agents and by `vaibify do`
118
+ (ships into the container);
119
+ - `LIST_RESEARCHER_ACTIONS` — `vaibify do` on the host only, never
120
+ shipped into the container (credential-free researcher actions);
121
+ - `DICT_ROUTE_TO_HOST_COMMAND` — a hand-written `vaibify` subcommand
122
+ (credentials, typed confirmations, interactive frames);
123
+ - `SET_GUI_ONLY_ROUTES` — genuine browser plumbing, with a one-line
124
+ reason.
125
+
126
+ A route that mutates but is never invoked by the GUI still goes in
127
+ `SET_INTENTIONALLY_EXCLUDED_PATHS` with a comment.
128
+
129
+ Confirm registration:
130
+
131
+ ```bash
132
+ python -m pytest tests/testArchitecturalInvariants.py::testAgentActionRegistered -v
133
+ python -m pytest tests/testArchitecturalInvariants.py::testEveryGuiInvokedMutationHasCliEquivalent -v
134
+ ```
135
+
136
+ ### 4. Add tests
137
+
138
+ Create `tests/test<Name>Routes.py`. At minimum:
139
+
140
+ - A test that imports the module and confirms `fnRegisterAll` is
141
+ callable.
142
+ - One test per new endpoint, using the FastAPI `TestClient`. Look at
143
+ existing `tests/testPipelineRoutes*.py` and `tests/testSyncRoutes*.py`
144
+ for mocking patterns for the Docker context.
145
+
146
+ Do not add Docker-dependent tests here — those go under the
147
+ `testContainerBuildIntegration.py`-style exclusions.
148
+
149
+ ### 5. Run the contract tests
150
+
151
+ ```bash
152
+ python -m pytest tests/testArchitecturalInvariants.py -v
153
+ ```
154
+
155
+ Expect these to pass without modification:
156
+
157
+ - `testEveryRouteModuleExportsRegisterAll`
158
+ - `testAllRouteModulesRegisteredInInit`
159
+ - `testAllPackageModulesDefineDunderAll` (if your file lands outside
160
+ `routes/`, make sure it declares `__all__`)
161
+
162
+ ### 6. Run the new route's tests and the full suite
163
+
164
+ ```bash
165
+ python -m pytest tests/test<Name>Routes.py -v
166
+ python -m pytest tests/ -q --ignore=tests/testContainerBuildIntegration.py
167
+ ```
168
+
169
+ ### 7. Exercise the endpoint end-to-end if possible
170
+
171
+ If the route affects the dashboard or reports container state, start a
172
+ real container and confirm the GUI reflects the new data correctly.
173
+ Remember: the dashboard must always reflect the true state of the
174
+ workflow and the container. Do not cache, short-circuit, or hide
175
+ errors.
176
+
177
+ ## Common failure modes
178
+
179
+ - **`testAllRouteModulesRegisteredInInit` fails.** You forgot to add
180
+ the module to both the `__all__` and the `from . import (...)`
181
+ block in `vaibify/gui/routes/__init__.py`. Both are required.
182
+ - **Import error at app startup.** The route module imports a symbol
183
+ that doesn't exist, or there's a circular import. Route modules can
184
+ import from `..pipelineServer`, `..pipelineRunner`, and domain
185
+ modules, but not from other route modules — those are siblings.
186
+ - **A 500 error on the new endpoint when the container is stopped.**
187
+ Handlers should check container state via `dictCtx["require"]` (called with the container id)
188
+ early and return a clean 4xx error when the container is not
189
+ running. Do not mask the error — surface it.
190
+ - **Module not picked up at startup.** Both the `__all__` entry and
191
+ the `from . import (...)` block in `vaibify/gui/routes/__init__.py`
192
+ must include the new module name.
193
+
194
+ ## Do not
195
+
196
+ - Do not bypass `VaibifyApi` on the frontend side if you're also
197
+ adding a JS caller for this endpoint — route through
198
+ `scriptApiClient.js`.
199
+ - Do not embed science-specific example names (planet names, system
200
+ names) in route paths, sample data, or test fixtures.
201
+ - Do not add a new polling loop on the frontend without discussion —
202
+ see the invariants in `vaibify/gui/static/AGENTS.md`.
@@ -0,0 +1,227 @@
1
+ ---
2
+ name: container-image-and-packaging
3
+ description: The vaibify container image: the Dockerfile and entrypoint, the Claude/Codex/Gemini agent overlays and their shared login store, agent-facing docs inside the container, and how runtime resources are located so they ship in the wheel. Use when editing vaibify/containerImage/, vaibify/resources.py, the packaged templates, or the docs staged into the image.
4
+ ---
5
+
6
+ # The container image and packaged resources
7
+
8
+ Two rules dominate this area. Anything the image needs must live under
9
+ `vaibify/` and be located through `vaibify/resources.py`, because a
10
+ `parents[N]` walk resolves to site-packages in an install. And every
11
+ agent in the image reads one canonical instruction file through
12
+ symlinks -- a second real file at one of those names silently splits
13
+ them.
14
+
15
+ The repository-wide rules in `AGENTS.md` still apply; this file is
16
+ the detail for this subsystem.
17
+
18
+ ## The toolchain epoch is pinned on three axes
19
+
20
+ The Dockerfile pins the base image by DIGEST, the toolchain packages
21
+ by VERSION, and the archive they come from by DATE
22
+ (`ARG APT_SNAPSHOT_DATE`, served by `snapshot.ubuntu.com`). The third
23
+ axis was added because the first two were not enough: Ubuntu drops
24
+ superseded versions from its pool within weeks, so the pins stopped
25
+ RESOLVING on a monthly cadence and every unrelated pull request went
26
+ red waiting for a maintainer to approve something nobody can evaluate
27
+ -- a glibc SRU changes real bytes, and no review separates "this moves
28
+ a number" from "this does not".
29
+
30
+ There is one pin list per architecture the image builds on, amd64 and
31
+ arm64, and the shell selects the list matching
32
+ `dpkg --print-architecture`. The base digest is a multi-architecture
33
+ index, so a daemon pulls the manifest for its own platform and the
34
+ toolchain packages carry that platform in their names
35
+ (`gcc-13-x86-64-linux-gnu`, `gcc-13-aarch64-linux-gnu`); a single
36
+ amd64 list stopped every native build on an Apple Silicon daemon at
37
+ that step (met 2026-09-18). The two lists carry the SAME versions,
38
+ because one Ubuntu source upload builds every architecture, and
39
+ differ only in those suffixed names and in `libquadmath0`, which has
40
+ no aarch64 build. Any other architecture is refused before apt runs,
41
+ with its own message, so that refusal can never read as a withdrawn
42
+ version. `tools/checkToolchainEpoch.py --verify` reads every list
43
+ against its own `binary-<arch>` index and fails first if the lists
44
+ disagree on a version; `--architecture` narrows either tool, and
45
+ `checkToolchainPinDrift --write` bumps every list that pins the
46
+ package. Regenerate a list with `apt-get install -s` under
47
+ `--platform linux/<arch>`, per the Dockerfile's comment.
48
+ `fresh-image-build` runs one leg per list (an amd64 and an arm64
49
+ runner), because a daemon only ever installs the list for its own
50
+ platform, so a single-architecture lane verifies half the file. Two more
51
+ traps in the same block, both met the same week: the base image is
52
+ pinned by digest, so when that digest already ships a NEWER libc than
53
+ the pins name, apt refuses the install as a downgrade
54
+ ("Packages were downgraded and -y was used without --allow-downgrades")
55
+ and the answer is an epoch bump, never `--allow-downgrades`; and
56
+ BuildKit ends a failed build by echoing the whole sixty-line step, so
57
+ the one apt line naming the cause scrolls out of any short tail -- the
58
+ catalog drops that echo before it looks for the reason.
59
+
60
+ Four things not to undo:
61
+
62
+ - **The date and the pins are one statement.** Editing either alone
63
+ produces an image that cannot build.
64
+ `python tools/checkToolchainEpoch.py --verify` is the agreement
65
+ check, and `fresh-image-build` runs it before the hour-long build so
66
+ the answer costs thirty seconds.
67
+ - **The toolchain DATE covers ONLY the pinned block.** Every other apt
68
+ step reads the build's own snapshot, `APT_BUILD_SNAPSHOT` (the most
69
+ recent midnight UTC, passed by `imageBuilder.fsArchiveSnapshotForBuild`
70
+ and computed by the step itself when a plain `docker build` passes
71
+ nothing), so the waived packages float from one build to the next but
72
+ never WITHIN one. Freezing them to the toolchain date would strand a
73
+ researcher whose `systemPackages` name anything published since.
74
+ Letting them read the live mirrors again reopens the defect the build
75
+ snapshot closed: `security.ubuntu.com` is several servers that disagree
76
+ while an update propagates, each RUN step fetched its own index, and
77
+ one build installed a library new and found its `-dev` package old
78
+ (every amd64 build, 2026-09-24). No fallback to the live archive
79
+ either -- an unreachable snapshot stops the build and says why.
80
+ - **The live-archive comparison never runs on a pull request.** That is
81
+ `toolchainEpoch.yml`, monthly, and it opens an ISSUE rather than a
82
+ pull request because choosing between candidate versions needs dpkg
83
+ ordering plus a judgment about what results rest on.
84
+ `testTheLiveArchiveComparisonIsNotOnThePullRequestPath` is the guard.
85
+ - **`fsExtractToolchainBlock` anchors on the architecture test that
86
+ opens each list** (`[ "${sArchitecture}" = "<arch>" ] && ! apt-get
87
+ install`), not on the `RUN` line, because the preamble grew a
88
+ sources swap. It refused rather than scanning nothing when that
89
+ happened, which is the property to keep -- a permissive anchor
90
+ would have silently graded the empty set, and one that did not name
91
+ the architecture would hand every caller the first list. It is the
92
+ ONE parser of the block: the epoch tool imports it rather than
93
+ keeping a whole-file regex, which would merge both lists.
94
+
95
+ ## An image carries what it was built FROM, on two axes
96
+
97
+ The recipe fingerprint (`dockerfileComposer.S_RECIPE_IMAGE_LABEL`)
98
+ covers the texts vaibify ships. A second label,
99
+ `configurationFingerprint.S_CONFIGURATION_IMAGE_LABEL`, covers the
100
+ researcher's own `vaibify.yml` -- but only the fields the BUILD
101
+ consumes. Together they answer "was this image built from these texts
102
+ and this configuration", and the dashboard reads the second one on
103
+ every container entry so an edit that needs a rebuild says so instead
104
+ of being met by the old behaviour a restart later.
105
+
106
+ Two things not to undo. `T_BAKED_CONFIGURATION_FIELDS` is a claim about
107
+ what requires a rebuild: adding a field says changing it does, leaving
108
+ one out says it does not, and both are claims about the build rather
109
+ than preferences -- check the Dockerfile's build args, the generated
110
+ `container.conf`, and the overlay selection before touching it. And the
111
+ label is stamped on the BASE build alone: Docker inherits a parent
112
+ image's labels, so every overlay carries it, where the recipe label is
113
+ re-stamped per overlay because its value differs per chain.
114
+
115
+ **`introspectionScript.py` is an f-string executed inside containers.**
116
+ Editing it as ordinary Python loses escape sequences and string
117
+ delimiters silently. The format-handling duplication with
118
+ `dataLoaders.py` is also deliberate — container scripts cannot import
119
+ from the host environment.
120
+
121
+ **The entrypoint's root phase runs with a fixed system `PATH`.**
122
+ `entrypoint.sh` calls `fnUseFixedSystemPath` before it runs anything as
123
+ root, so a binary planted in the researcher-writable `~/.local/bin` (or
124
+ in a directory named by `/etc/vaibify/binaries.env`) can never be the
125
+ command a root-phase `chown` or sub-script resolves to. The
126
+ `binaries.env` directories are prepended only in the user phase and the
127
+ `profile.d` file. In-container agents are taught the
128
+ `{step:<sStepId>.<stem>}` token form, never the deprecated `{StepNN.x}`.
129
+
130
+ ## A container may host Claude, Codex, or Gemini
131
+
132
+ Container agents are overlays selected by feature flags
133
+ (`vaibify/containerImage/Dockerfile.claude`, `.codex`, `.gemini`). Each installs **as
134
+ the unprivileged container user**, not root, so the provider's own
135
+ updater can replace its binary without sudo — do not "fix" that by
136
+ installing as root, and do not add sudo to the image.
137
+
138
+ **Cline is the exception to the flat-name rule.** Six of the seven
139
+ agents read a repo-root markdown file, so a symlink serves them. Cline
140
+ reads a `.clinerules/` **directory**, so `fnLinkClineRules` creates it
141
+ with a symlink inside pointing back at the canonical file — a flat
142
+ `.clinerules` symlink would be a file where a directory is expected.
143
+ It is gated on Cline being installed, because a stray directory in the
144
+ researcher's repository is the sort of thing that gets committed by
145
+ accident. `tests/testEntrypointAgentDocLinks.py` fails if an agent is
146
+ added to the skills loop without a path to the guidance, which is
147
+ exactly how Cline came to ship with skills and no instructions.
148
+
149
+ **Agent-facing docs have one source and several names.** Inside the
150
+ container the canonical file is
151
+ `/workspace/<repo>/.vaibify/AGENTS.md`; `entrypoint.sh`'s
152
+ `fnLinkRepoClaudeMd` symlinks `/workspace/<repo>/CLAUDE.md`,
153
+ `/workspace/<repo>/AGENTS.md` and `/workspace/<repo>/GEMINI.md` to it,
154
+ and migrates a legacy CLAUDE.md in that directory into place. So write
155
+ in-container agent guidance once, to the canonical file. Never author
156
+ a provider-specific one — a second *real* file at one of those names
157
+ shadows the symlink for that provider only, and the three agents
158
+ silently start reading different instructions.
159
+
160
+ (These are container paths, deliberately absolute:
161
+ `tools/checkAgentDocsPaths.py` resolves repo-relative references and
162
+ would flag them as broken, because they exist only inside a running
163
+ container.)
164
+
165
+ **All three agents share one login store and one user.** Each agent's
166
+ config directory is persisted into the workspace volume and symlinked
167
+ back into the home directory (`fnPersistAgentConfig`), so logins
168
+ survive container recreation. This pattern predates multi-agent
169
+ support; what changed is the blast radius. Every agent runs as the
170
+ same container user, so file permissions isolate nothing between
171
+ them: whichever agent is compromised can read all three providers'
172
+ credentials, and they are reachable through the dashboard's file
173
+ routes like any other workspace path. Treat "an agent was
174
+ compromised" as "every configured provider's session was exposed"
175
+ when reasoning about a threat, and do not add a fourth provider
176
+ without revisiting that.
177
+
178
+ Two more things not to undo:
179
+
180
+ - The generated instructions' "Whose instructions win" section and
181
+ conditional conventions are a contract; do not restore unconditional
182
+ conventions. `tests/testEntrypointInstructionPrecedence.py` guards
183
+ both.
184
+ - No credential or token on a command line or in an environment
185
+ variable inside an image. The JupyterLab token reaches the server
186
+ through a mode-600 config file;
187
+ `test_jupyter_token_never_reaches_a_command_line` guards it.
188
+
189
+ ## Runtime resources live inside the package
190
+
191
+ `vaibify/templates/` and `vaibify/containerImage/` ship in the wheel.
192
+ They used to be reached with `parents[N]` from the repository root,
193
+ which resolves to `site-packages` in an install — so no wheel ever
194
+ contained them and `vaibify init` printed "No templates found" and
195
+ exited 0. Four rules follow; the full account is in
196
+ [docs/architecture.md](docs/architecture.md) — "Packaging: why runtime
197
+ resources live inside the package".
198
+
199
+ **Locate them only through `vaibify/resources.py`.** It is the single
200
+ place that names the trees, and `importlib.resources` resolves them
201
+ identically from a checkout, an editable install, and a wheel. **Never
202
+ reintroduce a `parents[N]` walk to reach package data** — and after
203
+ fixing any resolution bug, grep for every other way the codebase reaches
204
+ outside the package, not just the spelling that bit you.
205
+
206
+ **Treat them as read-only, and give every build its own copy.**
207
+ `commandBuild.fsStageBuildContext` mkdtemps a private context under
208
+ `~/.vaibify/build/`, discarded on success and kept on failure with its
209
+ path printed. It is per *build*, not per project — two dashboard clicks
210
+ race, and refreshing a shared directory starts with `rmtree`.
211
+ `tests/testPackagedResources.py` fails if this regresses.
212
+
213
+ **Anything the image needs must live under `vaibify/`.** The curated
214
+ agent docs at `vaibify/docs/` are **symlinks onto the Sphinx sources** —
215
+ never replace one with a real file, which is the shadowing trap;
216
+ `testCuratedDocsRemainSymlinksOntoTheSphinxSources` fails if you do.
217
+ When adding one: add the symlink, extend `T_STAGED_DOCS`, extend the
218
+ doc-map skill's table, and add the *Sphinx source* path to
219
+ `freshImageBuild.yml`'s triggers.
220
+
221
+ **Prove the distribution, not the import.** `pip-install.yml` runs
222
+ `tools/checkInstalledDistribution.py` against an installed sdist and
223
+ wheel. It is **release-only**, so a packaging regression can sit on
224
+ `main` until a version is cut — after touching `vaibify/resources.py`,
225
+ the packaged trees, or the Dockerfile `COPY` set, run it by hand
226
+ (`workflow_dispatch`). Never make it a required status check: it cannot
227
+ report on a pull request, so every PR would wait on it forever.
@@ -0,0 +1,185 @@
1
+ ---
2
+ name: dashboard-state-honesty
3
+ description: Rules that keep the dashboard from overstating what vaibify knows: a row renders a gate's verdict rather than re-deriving it, a level cell and its rows must fail on the same set, an uncheckable remote is never red, and a configured secret this host cannot resolve degrades loudly. Use when changing WHAT a requirement row, level cell, badge, or poll payload asserts about container or workflow state. Not for explaining why a badge shows the state it shows, and not for reshaping an endpoint's JSON when every assertion in it stays the same.
4
+ ---
5
+
6
+ # The dashboard tells the truth or says it does not know
7
+
8
+ The GUI is the researcher's ground truth. Each contract here exists
9
+ because a screen once contradicted the machinery behind it while every
10
+ component was internally consistent -- which is the failure mode that
11
+ no unit test catches.
12
+
13
+ The repository-wide rules in `AGENTS.md` still apply; this file is
14
+ the detail for this subsystem.
15
+
16
+ **A failure names its remedy, or offers the diagnosis that will.** A
17
+ 2026-09-18 audit of the environment hub and the Project Hub found four
18
+ shapes of failure reporting: the server's raw text shown verbatim
19
+ (Docker's stderr included -- "pull access denied ... repository does
20
+ not exist" for an image that had never been built), a description with
21
+ no remedy ("Build failed", "Cannot load containers"), silence (a list
22
+ frozen at its last good render after a poll 500, a Restart abandoned
23
+ after a failed stop with no word), and a real sentence discarded on
24
+ the server behind "Pipeline action failed. Check server logs for
25
+ details." The rule that closes all four: every user-visible failure
26
+ either states what to do, or ends in "Click to run a diagnosis"
27
+ (`VaibifyDiagnosis`, backed by `GET /api/system/doctor`, which runs the
28
+ same host checks `vaibify doctor` prints so the browser can never say
29
+ something the terminal would not). On the server, Docker's text is
30
+ translated at the boundary by `dockerErrorDiagnosis` with the daemon's
31
+ words kept as evidence, a control-plane refusal passes through the
32
+ client sanitizer in its own words because it is written for the
33
+ researcher and names the reconcile, and a sentence that names the file
34
+ to fix is never collapsed into a generic status. A refusal without a
35
+ remedy is a dead end the researcher pays for in a support round trip.
36
+
37
+ **A configured secret this host cannot resolve DEGRADES, and the
38
+ telling is the load-bearing half.** `flistMountSecrets` skips it and
39
+ the container starts (ruled 2026-09-05, making the Features page's
40
+ "the container will still work but git push will fail" true). All three
41
+ methods used to RAISE, before `docker run` was ever composed, so no
42
+ container existed to inspect — a researcher met that hours after a
43
+ wizard toggle with a `RuntimeError` naming neither the secret nor the
44
+ remedy. A silent degrade would be strictly worse than that refusal, so
45
+ three surfaces report it from one authority
46
+ (`vaibify/config/secretAvailability.py`): the CLI preflight, the hub
47
+ log at start, and the dashboard's readiness banner. The dashboard's copy is
48
+ RECOMPUTED per settled readiness answer, never remembered — a
49
+ researcher who runs `gh auth login` afterwards has fixed the thing it
50
+ complains about — and only on the SETTLED answer, because the frontend
51
+ polls readiness sixty times while a container boots and `gh auth token`
52
+ is a subprocess. Never materialize a secret to discover that it exists;
53
+ `fbSecretExists` is written not to.
54
+
55
+ **A requirement row renders the gate's VERDICT, never re-derives it.**
56
+ The Reproducibility-rules row computed "declared" in JavaScript as
57
+ "the `dictDeterminism` block is non-empty", while
58
+ `fbWorkflowDeclaresDeterminism` required a `true` waiver or a pinned
59
+ thread count. The declare form writes `{bAcceptBlasVariance: false}`
60
+ when submitted with nothing ticked — non-empty, and a declaration of
61
+ nothing — so the row went green, the L3 verify refused, and every
62
+ component was internally consistent while the screen contradicted the
63
+ machinery (researcher-reported, 2026-08-30). The poll now ships
64
+ `bDeterminismDeclared` and `listDeterminismIssues`; the row renders
65
+ them. **A mirrored predicate in JS is a second authority on a question
66
+ that has one** — the slug mirror in `scriptUtilities.js` is tolerated
67
+ only because it is display-only with the backend enforcing. Two
68
+ corollaries, both from the same report: a reason must distinguish the
69
+ shapes it describes ("no block" and "a block that pins nothing" read
70
+ identically, and one was false), and a refusal names its cause rather
71
+ than pointing at a tab. Guarded by
72
+ `tests/testDeterminismRowMatchesItsGate.py` and
73
+ `tests/browser/testDeterminismRowFollowsTheGate.py`.
74
+
75
+ Since 2026-10-17 the question is ONE row, and the rule holds in two
76
+ more places. The form renders the backend's `listChoices`, `sWhy` and
77
+ `sConsequence` verbatim and sends only the answer: the server, never
78
+ the page, decides which execution profile an answer records, and the
79
+ row shows the profile the poll says was recorded, not one JavaScript
80
+ would pick. And a Level 3 verdict is shown as the SERVER's sentence
81
+ WITH its tally ("Reproduced: published comparisons passed; N of M
82
+ files differ in their bytes"), never recomputed from per-file outcomes
83
+ in the page, and a pass with byte differences is worded and coloured as
84
+ a pass. An attestation made by the byte-only verifier, or under another
85
+ policy or profile, renders as a previous check — true about what it
86
+ checked, not accepted now — and its staleness reason
87
+ (`sProfileMismatch`) comes from the poll.
88
+ `tests/browser/testAssessedVerdictsOnScreen.py` guards the verdict
89
+ half. A step whose outputs were made under other settings or hardware
90
+ carries the server's neutral note (`dictOutputContextNotes`), never
91
+ red (`tests/browser/testOutputContextNoteIsNeutral.py`).
92
+
93
+ **A level CELL and the rows beneath it must fail on the same set.**
94
+ The Project header's L2 cell counts criteria from a fixed tuple
95
+ (`_T_WORKFLOW_LEVEL2_BASE_CRITERIA`) and INTERSECTS the live blocker
96
+ list against it — so a criterion the gates emit but the tuple omits is
97
+ silently dropped and the cell over-reports. That shipped: the tuple
98
+ listed only `*-verify-stale` and not `not-in-*`, so a fresh verify that
99
+ proved published files DIFFERED painted a check above two orange
100
+ Published-copies rows (researcher-reported, 2026-08-30). The scalar
101
+ gate `_fbComputeLevel2` was correct throughout, which is what makes
102
+ this class nasty — the display disagreed with itself and only the
103
+ display was wrong. **When you add or rename an L2/L3 blocker criterion,
104
+ check whether the workflow-scope tuple should carry it**; a criterion
105
+ absent from the tuple is invisible to the header, not merely
106
+ uncounted. `tests/testProjectHeaderNeverOutranksItsRows.py` is the
107
+ kill-confirmed guard, and it also pins the opposite error: the two
108
+ halves of one remote's check are mutually exclusive by construction, so
109
+ neither may charge a service twice.
110
+
111
+ **A container older than its own `vaibify.yml` says so, and an image
112
+ that predates the stamp says nothing.** Everything a researcher writes
113
+ in `vaibify.yml` that the BUILD consumes -- repositories, system and
114
+ Python packages, base image, Python version, container user, workspace
115
+ root, binaries, features -- is baked in at build time, and the
116
+ dashboard used to be silent about that. One researcher corrected a
117
+ misspelled package and a wrong branch, restarted the container, and met
118
+ the same three warnings, having already fixed their cause on disk
119
+ (2026-09-21). The build now stamps a hash of those fields as
120
+ `configurationFingerprint.S_CONFIGURATION_IMAGE_LABEL`, the readiness
121
+ answer compares it with the file as it is NOW, and the banner renders
122
+ `listConfigurationDrift` -- the server's sentences, never a predicate
123
+ of its own. Three properties hold it honest, and each is a way to turn
124
+ it back into a lie:
125
+
126
+ - **Run-time fields are deliberately OUT of the fingerprint.** Ports,
127
+ bind mounts, secrets, network isolation and the CPU/memory ceilings
128
+ are applied by `docker run`, so they take effect on the next start.
129
+ A fingerprint that covered them would send a researcher through an
130
+ hour-long rebuild to publish a port, which is how a true warning
131
+ becomes one people turn off.
132
+ - **No label is *nothing determined*, never drift.** An image built
133
+ before the stamp existed carries none, and the comparison is
134
+ three-state for the same reason `environmentDrift` is.
135
+ - **The stamp is the file AS WRITTEN.** The build adds the project's
136
+ own repository to what the container clones; that addition belongs
137
+ to the build context, and `fnPrepareBuildContext` works on a copy so
138
+ it never reaches the fingerprint. When it did, every freshly built
139
+ container claimed to predate the file it was built from
140
+ (researcher-reported, 2026-09-28) --
141
+ `testAFreshBuildStampsTheFileItWasBuiltFrom` drives real `git`.
142
+ - **It rides its own key, not `saWarnings`.** That list is headed
143
+ "from the most recent container start"; this is a statement about a
144
+ file the researcher edited since, and filing it there would make the
145
+ banner's own heading false.
146
+
147
+ `tests/testConfigurationFingerprint.py` is the kill-confirmed guard.
148
+
149
+ **A remote badge pulses while vaibify is asking, and a failed ask is
150
+ never red.** Opening a project re-checks every CONFIGURED remote
151
+ (`POST /api/workflow/{id}/remotes/refresh`), the poll REPORTS where
152
+ each check has got to (`dictRemoteChecks`), and the badge pulses until
153
+ its own answer arrives. Four things hold that honest, and each is a way
154
+ to turn it back into a lie:
155
+
156
+ - A check that could not complete settles UNCHECKABLE with a reason.
157
+ Red means *diverged* — a claim about the remote nobody earned — and
158
+ the cached record on disk stays untouched
159
+ (`scheduledReverify.fdictAttemptOneVerify` writes only on success; do
160
+ not add a write beside it).
161
+ - Which remotes pulse comes from
162
+ `scheduledReverify.flistSelectConfiguredServices`, the predicate the
163
+ scheduled loop skips on. A remote absent from `dictRemoteChecks`
164
+ renders exactly as it did before any of this existed.
165
+ - A check in flight moves no colour. It has compared nothing.
166
+ - The CHECKING timeout is evaluated when the state is READ, never on a
167
+ timer: the failure it covers is a worker that never returns, and such
168
+ a worker cannot clear its own flag.
169
+
170
+ The refresh cannot move into the poll —
171
+ `_fdictBuildWorkflowEnvelopeDetail` is built with no extra container
172
+ execs and no network I/O. `docs/architecture.md` carries the model and
173
+ the one accepted residual (a Run Step in the first seconds after open
174
+ is refused by name while the checks hold the drain).
175
+ `tests/testRemoteBadgeRefresh.py` and
176
+ `tests/browser/testARunningRemoteCheckPulsesTheBadge.py` are the
177
+ kill-confirmed guards; the browser one reads `animationName` off a live
178
+ element, because asserting the CSS class alone passes against a
179
+ stylesheet with no rule in it.
180
+
181
+ - A message about what happened is built from the result payload,
182
+ never fixed text. The test-generation toast claimed "Standards came
183
+ from the LLM fallback" from 2026-04 to 2026-10 although no LLM ran.
184
+ Generated tests carry their generator (`deterministic`,
185
+ `llm-fallback`, `llm`) and the step's test rows show it.