stageflow 0.25.0 → 0.30.0
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.
- package/README.md +14 -3
- package/builtin-skills/browser/SKILL.md +42 -0
- package/dist/a2a/contracts.d.ts +1 -0
- package/dist/a2a/contracts.js +1 -0
- package/dist/a2a/registry.d.ts +2 -0
- package/dist/a2a/registry.js +20 -1
- package/dist/a2a/server.d.ts +7 -0
- package/dist/a2a/server.js +5 -2
- package/dist/a2a/service.d.ts +1 -1
- package/dist/a2a/service.js +57 -8
- package/dist/a2a/store.d.ts +8 -5
- package/dist/a2a/store.js +24 -67
- package/dist/agent/activity.d.ts +3 -0
- package/dist/agent/bootProviderConfig.d.ts +21 -0
- package/dist/agent/bootProviderConfig.js +74 -0
- package/dist/agent/claudeAdapter.js +2 -2
- package/dist/agent/cursorProvider.d.ts +2 -0
- package/dist/agent/cursorProvider.js +30 -5
- package/dist/agent/fakeAgent.d.ts +1 -0
- package/dist/agent/fakeAgent.js +13 -0
- package/dist/agent/piAdapter.d.ts +11 -24
- package/dist/agent/piAdapter.js +107 -50
- package/dist/agent/piIsolatedMcp.d.ts +2 -0
- package/dist/agent/piIsolatedMcp.js +10 -2
- package/dist/agent/piSessionFactory.d.ts +38 -0
- package/dist/agent/piSessionFactory.js +60 -0
- package/dist/agent/port.d.ts +8 -0
- package/dist/agent/streamLogRedact.d.ts +7 -1
- package/dist/agent/streamLogRedact.js +26 -11
- package/dist/browser/anchor.d.ts +27 -0
- package/dist/browser/anchor.js +127 -0
- package/dist/browser/auditSink.d.ts +38 -0
- package/dist/browser/auditSink.js +34 -0
- package/dist/browser/browserHost.d.ts +86 -0
- package/dist/browser/browserHost.js +7 -0
- package/dist/browser/browserSweep.d.ts +14 -0
- package/dist/browser/browserSweep.js +54 -0
- package/dist/browser/browserTeardown.d.ts +56 -0
- package/dist/browser/browserTeardown.js +235 -0
- package/dist/browser/fakeRemoteBrowserHost.d.ts +2 -0
- package/dist/browser/fakeRemoteBrowserHost.js +34 -0
- package/dist/browser/gateHandoff.d.ts +25 -0
- package/dist/browser/gateHandoff.js +83 -0
- package/dist/browser/humanLogin.d.ts +18 -0
- package/dist/browser/humanLogin.js +34 -0
- package/dist/browser/keyProvider.d.ts +10 -0
- package/dist/browser/keyProvider.js +39 -0
- package/dist/browser/localBrowserHost.d.ts +10 -0
- package/dist/browser/localBrowserHost.js +152 -0
- package/dist/browser/localProfileLock.d.ts +2 -0
- package/dist/browser/localProfileLock.js +218 -0
- package/dist/browser/localProfileStore.d.ts +5 -0
- package/dist/browser/localProfileStore.js +91 -0
- package/dist/browser/loginCheck.d.ts +53 -0
- package/dist/browser/loginCheck.js +147 -0
- package/dist/browser/memoryProfileLock.d.ts +2 -0
- package/dist/browser/memoryProfileLock.js +53 -0
- package/dist/browser/memoryProfileStore.d.ts +2 -0
- package/dist/browser/memoryProfileStore.js +31 -0
- package/dist/browser/navigationAudit.d.ts +16 -0
- package/dist/browser/navigationAudit.js +53 -0
- package/dist/browser/persistedEnv.d.ts +3 -0
- package/dist/browser/persistedEnv.js +15 -0
- package/dist/browser/profileLock.d.ts +40 -0
- package/dist/browser/profileLock.js +10 -0
- package/dist/browser/profileStore.d.ts +23 -0
- package/dist/browser/profileStore.js +39 -0
- package/dist/browser/runLiveness.d.ts +13 -0
- package/dist/browser/runLiveness.js +39 -0
- package/dist/browser/sitePolicy.d.ts +10 -0
- package/dist/browser/sitePolicy.js +61 -0
- package/dist/browser/stageBrowserEnv.d.ts +22 -0
- package/dist/browser/stageBrowserEnv.js +147 -0
- package/dist/browser/stageProfileLock.d.ts +17 -0
- package/dist/browser/stageProfileLock.js +39 -0
- package/dist/cli/artifactCommand.js +9 -16
- package/dist/cli/backupCommand.d.ts +9 -0
- package/dist/cli/backupCommand.js +111 -0
- package/dist/cli/browserCommand.d.ts +44 -0
- package/dist/cli/browserCommand.js +472 -0
- package/dist/cli/debugRunCommand.d.ts +10 -0
- package/dist/cli/debugRunCommand.js +109 -0
- package/dist/cli/doctorCommand.d.ts +32 -0
- package/dist/cli/doctorCommand.js +453 -0
- package/dist/cli/envelopeCommand.js +9 -2
- package/dist/cli/exportAllCommand.d.ts +55 -0
- package/dist/cli/exportAllCommand.js +218 -0
- package/dist/cli/exportRunCommand.js +23 -21
- package/dist/cli/hostClient.d.ts +41 -3
- package/dist/cli/hostClient.js +129 -14
- package/dist/cli/initCommand.d.ts +1 -0
- package/dist/cli/initCommand.js +23 -7
- package/dist/cli/initTemplates.d.ts +5 -2
- package/dist/cli/initTemplates.js +32 -2
- package/dist/cli/resolveSafeOutPath.d.ts +2 -0
- package/dist/cli/resolveSafeOutPath.js +40 -0
- package/dist/cli/restoreCommand.d.ts +10 -0
- package/dist/cli/restoreCommand.js +90 -0
- package/dist/cli/runCommand.d.ts +3 -2
- package/dist/cli/runCommand.js +93 -11
- package/dist/cli/runOutput.d.ts +4 -0
- package/dist/cli/runOutput.js +33 -7
- package/dist/cli/runStageCommand.d.ts +1 -0
- package/dist/cli/runStageCommand.js +44 -25
- package/dist/cli/runsCommand.d.ts +1 -1
- package/dist/cli/runsCommand.js +168 -10
- package/dist/cli/triggerCommand.d.ts +12 -0
- package/dist/cli/triggerCommand.js +183 -0
- package/dist/cli/validateCommand.d.ts +1 -1
- package/dist/cli/validateCommand.js +23 -6
- package/dist/cli.js +202 -32
- package/dist/config/browseCatalog.d.ts +1 -0
- package/dist/config/browseCatalog.js +5 -4
- package/dist/config/builtinSkills.d.ts +4 -0
- package/dist/config/builtinSkills.js +23 -0
- package/dist/config/catalogRelativePath.d.ts +63 -0
- package/dist/config/catalogRelativePath.js +126 -0
- package/dist/config/configOrigin.d.ts +27 -0
- package/dist/config/configOrigin.js +59 -0
- package/dist/config/createTrigger.d.ts +27 -0
- package/dist/config/createTrigger.js +232 -0
- package/dist/config/draftPackage.d.ts +117 -0
- package/dist/config/draftPackage.js +550 -0
- package/dist/config/ensureCatalogScanRoot.d.ts +16 -0
- package/dist/config/ensureCatalogScanRoot.js +73 -0
- package/dist/config/hostConfig.d.ts +57 -0
- package/dist/config/hostConfig.js +360 -0
- package/dist/config/listSkills.d.ts +26 -0
- package/dist/config/listSkills.js +206 -5
- package/dist/config/loadOutcome.d.ts +7 -1
- package/dist/config/loadPipeline.js +39 -2
- package/dist/config/loadStage.js +25 -0
- package/dist/config/loadStageflowManifest.js +25 -0
- package/dist/config/loadTask.d.ts +2 -0
- package/dist/config/loadTask.js +57 -18
- package/dist/config/loadTrigger.d.ts +9 -0
- package/dist/config/loadTrigger.js +120 -0
- package/dist/config/materializeStageModels.js +5 -1
- package/dist/config/mergePipelineIncludes.d.ts +3 -0
- package/dist/config/mergePipelineIncludes.js +19 -0
- package/dist/config/migrateYaml.js +6 -11
- package/dist/config/multiProjectCatalog.d.ts +32 -0
- package/dist/config/multiProjectCatalog.js +150 -0
- package/dist/config/normalizePipelineStageEntry.js +27 -1
- package/dist/config/parseCompletionContract.js +6 -0
- package/dist/config/pipelineStageKeys.js +3 -0
- package/dist/config/publishDraftPackage.d.ts +7 -0
- package/dist/config/publishDraftPackage.js +25 -0
- package/dist/config/resolveCatalogContext.js +1 -1
- package/dist/config/resolveCatalogRoots.d.ts +27 -0
- package/dist/config/resolveCatalogRoots.js +76 -0
- package/dist/config/resolveModel.d.ts +7 -1
- package/dist/config/resolveModel.js +11 -1
- package/dist/config/resolvePipelineDag.js +1 -1
- package/dist/config/resolveStageMcpServers.d.ts +9 -1
- package/dist/config/resolveStageMcpServers.js +36 -9
- package/dist/config/scanCatalogPaths.d.ts +1 -1
- package/dist/config/scanCatalogPaths.js +6 -2
- package/dist/config/secretFromEnvOrFile.d.ts +9 -0
- package/dist/config/secretFromEnvOrFile.js +34 -0
- package/dist/config/seededCatalog.d.ts +11 -0
- package/dist/config/seededCatalog.js +29 -0
- package/dist/config/stageBrowser.d.ts +12 -0
- package/dist/config/stageBrowser.js +118 -0
- package/dist/config/toolRequires.d.ts +24 -0
- package/dist/config/toolRequires.js +115 -0
- package/dist/config/triggerCatalog.d.ts +10 -0
- package/dist/config/triggerCatalog.js +37 -0
- package/dist/config/validateCatalog.d.ts +17 -3
- package/dist/config/validateCatalog.js +223 -3
- package/dist/config/validateCompletionContract.js +8 -0
- package/dist/diagnostics/checks.d.ts +39 -0
- package/dist/diagnostics/checks.js +135 -0
- package/dist/envelope/preEmitChecks.d.ts +1 -1
- package/dist/envelope/preEmitChecks.js +8 -0
- package/dist/errors/codes.d.ts +14 -0
- package/dist/errors/codes.js +59 -0
- package/dist/git/cache.d.ts +14 -0
- package/dist/git/cache.js +150 -0
- package/dist/git/credentials.d.ts +9 -0
- package/dist/git/credentials.js +88 -0
- package/dist/git/errors.d.ts +20 -0
- package/dist/git/errors.js +94 -0
- package/dist/git/exec.d.ts +16 -0
- package/dist/git/exec.js +135 -0
- package/dist/git/operations.d.ts +29 -0
- package/dist/git/operations.js +153 -0
- package/dist/git/version.d.ts +1 -0
- package/dist/git/version.js +10 -0
- package/dist/logging/audit.d.ts +16 -0
- package/dist/logging/audit.js +19 -0
- package/dist/logging/commonWords.d.ts +2 -0
- package/dist/logging/commonWords.js +13 -0
- package/dist/logging/logger.d.ts +49 -0
- package/dist/logging/logger.js +193 -0
- package/dist/logging/namedSecrets.d.ts +6 -0
- package/dist/logging/namedSecrets.js +58 -0
- package/dist/logging/redact.d.ts +17 -0
- package/dist/logging/redact.js +105 -0
- package/dist/mcp/catalogTools.js +492 -81
- package/dist/mcp/checkoutTools.d.ts +52 -0
- package/dist/mcp/checkoutTools.js +332 -0
- package/dist/mcp/controlTools.js +182 -6
- package/dist/mcp/deps.d.ts +3 -0
- package/dist/mcp/getStartedTool.d.ts +3 -0
- package/dist/mcp/getStartedTool.js +62 -0
- package/dist/mcp/readArtifact.d.ts +11 -0
- package/dist/mcp/readArtifact.js +46 -30
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/tools.js +6 -0
- package/dist/mcp/triggerTools.d.ts +3 -0
- package/dist/mcp/triggerTools.js +176 -0
- package/dist/net/proxy.d.ts +14 -0
- package/dist/net/proxy.js +78 -0
- package/dist/operatorAgent/docsRetrieval.d.ts +40 -0
- package/dist/operatorAgent/docsRetrieval.js +269 -0
- package/dist/operatorAgent/draftContext.d.ts +16 -0
- package/dist/operatorAgent/draftContext.js +68 -0
- package/dist/operatorAgent/fakeHost.d.ts +39 -0
- package/dist/operatorAgent/fakeHost.js +92 -0
- package/dist/operatorAgent/host.d.ts +40 -0
- package/dist/operatorAgent/host.js +179 -0
- package/dist/operatorAgent/index.d.ts +9 -0
- package/dist/operatorAgent/index.js +8 -0
- package/dist/operatorAgent/piModel.d.ts +80 -0
- package/dist/operatorAgent/piModel.js +528 -0
- package/dist/operatorAgent/profiles/workshopAuthor.d.ts +23 -0
- package/dist/operatorAgent/profiles/workshopAuthor.js +338 -0
- package/dist/operatorAgent/profiles/workshopAuthorPlaybook.d.ts +6 -0
- package/dist/operatorAgent/profiles/workshopAuthorPlaybook.js +103 -0
- package/dist/operatorAgent/profiles/workshopAuthorTools.d.ts +57 -0
- package/dist/operatorAgent/profiles/workshopAuthorTools.js +623 -0
- package/dist/operatorAgent/proposals.d.ts +32 -0
- package/dist/operatorAgent/proposals.js +144 -0
- package/dist/operatorAgent/types.d.ts +128 -0
- package/dist/operatorAgent/types.js +1 -0
- package/dist/package-meta.d.ts +2 -1
- package/dist/package-meta.js +2 -1
- package/dist/preflight/bash.d.ts +8 -0
- package/dist/preflight/bash.js +34 -0
- package/dist/preflight/claudeRoot.d.ts +11 -0
- package/dist/preflight/claudeRoot.js +23 -0
- package/dist/preflight/mcpCommands.d.ts +8 -0
- package/dist/preflight/mcpCommands.js +36 -0
- package/dist/preflight/pipelinePreflight.d.ts +40 -0
- package/dist/preflight/pipelinePreflight.js +192 -0
- package/dist/preflight/tls.d.ts +6 -0
- package/dist/preflight/tls.js +18 -0
- package/dist/preflight/toolchain.d.ts +45 -0
- package/dist/preflight/toolchain.js +219 -0
- package/dist/project/findManifestRoot.d.ts +3 -0
- package/dist/project/findManifestRoot.js +35 -0
- package/dist/project/findProjectRoot.js +3 -4
- package/dist/project/globalHome.d.ts +7 -0
- package/dist/project/globalHome.js +63 -2
- package/dist/project/resolveProjectContext.js +2 -2
- package/dist/project/resolveStageflowContext.d.ts +7 -0
- package/dist/project/resolveStageflowContext.js +46 -30
- package/dist/projection/projectRun.d.ts +2 -1
- package/dist/projection/projectRun.js +1 -0
- package/dist/runstore/assertTmpdir.d.ts +1 -0
- package/dist/runstore/assertTmpdir.js +25 -0
- package/dist/runstore/backup.d.ts +52 -0
- package/dist/runstore/backup.js +292 -0
- package/dist/runstore/createStore.d.ts +18 -1
- package/dist/runstore/createStore.js +64 -5
- package/dist/runstore/debugBundle.d.ts +60 -0
- package/dist/runstore/debugBundle.js +143 -0
- package/dist/runstore/diskUsage.d.ts +50 -0
- package/dist/runstore/diskUsage.js +214 -0
- package/dist/runstore/exportRunPayload.d.ts +8 -0
- package/dist/runstore/exportRunPayload.js +23 -0
- package/dist/runstore/normalizeCatalogPath.d.ts +1 -0
- package/dist/runstore/normalizeCatalogPath.js +10 -0
- package/dist/runstore/paths.d.ts +5 -0
- package/dist/runstore/paths.js +145 -1
- package/dist/runstore/port.d.ts +139 -13
- package/dist/runstore/port.js +8 -1
- package/dist/runstore/restore.d.ts +81 -0
- package/dist/runstore/restore.js +355 -0
- package/dist/runstore/retention.d.ts +27 -0
- package/dist/runstore/retention.js +74 -0
- package/dist/runstore/runManifest.d.ts +146 -0
- package/dist/runstore/runManifest.js +288 -0
- package/dist/runstore/runProjection.d.ts +3 -1
- package/dist/runstore/runProjection.js +63 -1
- package/dist/runstore/sqlite/SqliteRunStore.d.ts +35 -3
- package/dist/runstore/sqlite/SqliteRunStore.js +442 -219
- package/dist/runstore/sqlite/applyStorePragmas.d.ts +39 -0
- package/dist/runstore/sqlite/applyStorePragmas.js +145 -0
- package/dist/runstore/sqlite/migrations/001-baseline.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/001-baseline.js +10 -0
- package/dist/runstore/sqlite/migrations/002-repository-binding.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/002-repository-binding.js +29 -0
- package/dist/runstore/sqlite/migrations/003-run-lifecycle.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/003-run-lifecycle.js +28 -0
- package/dist/runstore/sqlite/migrations/004-auto-resume-count.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/004-auto-resume-count.js +19 -0
- package/dist/runstore/sqlite/migrations/005-config-origins.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/005-config-origins.js +19 -0
- package/dist/runstore/sqlite/migrations/006-pipeline-body-and-caller.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/006-pipeline-body-and-caller.js +28 -0
- package/dist/runstore/sqlite/migrations/007-projects-registry.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/007-projects-registry.js +31 -0
- package/dist/runstore/sqlite/migrations/008-triggers-table.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/008-triggers-table.js +19 -0
- package/dist/runstore/sqlite/migrations/009-trigger-next-run.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/009-trigger-next-run.js +19 -0
- package/dist/runstore/sqlite/migrations/010-trigger-adapter-state.d.ts +7 -0
- package/dist/runstore/sqlite/migrations/010-trigger-adapter-state.js +17 -0
- package/dist/runstore/sqlite/migrations/index.d.ts +21 -0
- package/dist/runstore/sqlite/migrations/index.js +78 -0
- package/dist/runstore/sqlite/schema.d.ts +20 -1
- package/dist/runstore/sqlite/schema.js +277 -1
- package/dist/runstore/sqlite/storeOpenError.d.ts +6 -0
- package/dist/runstore/sqlite/storeOpenError.js +11 -0
- package/dist/runstore/sqlite/storeSchemaError.d.ts +5 -0
- package/dist/runstore/sqlite/storeSchemaError.js +8 -0
- package/dist/runstore/stageExecution.js +3 -0
- package/dist/runstore/storeFilesystem.d.ts +32 -0
- package/dist/runstore/storeFilesystem.js +148 -0
- package/dist/runstore/trackProjection.js +2 -0
- package/dist/runstore/workspaceLayout.d.ts +13 -0
- package/dist/runstore/workspaceLayout.js +76 -0
- package/dist/runtime/answerResume.d.ts +1 -0
- package/dist/runtime/answerResume.js +3 -1
- package/dist/runtime/completionCheckRunner.d.ts +15 -1
- package/dist/runtime/completionCheckRunner.js +67 -7
- package/dist/runtime/containerLimits.d.ts +16 -0
- package/dist/runtime/containerLimits.js +84 -0
- package/dist/runtime/credentialBinding.d.ts +2 -0
- package/dist/runtime/credentialBinding.js +3 -0
- package/dist/runtime/credentialMaterialisation.d.ts +28 -0
- package/dist/runtime/credentialMaterialisation.js +128 -0
- package/dist/runtime/emailSource.d.ts +72 -0
- package/dist/runtime/emailSource.js +304 -0
- package/dist/runtime/gitCheckoutCapability.js +7 -13
- package/dist/runtime/githubPollSource.d.ts +86 -0
- package/dist/runtime/githubPollSource.js +284 -0
- package/dist/runtime/pipelineRunner.d.ts +40 -1
- package/dist/runtime/pipelineRunner.js +181 -17
- package/dist/runtime/pipelineScheduler.d.ts +17 -0
- package/dist/runtime/pipelineScheduler.js +220 -28
- package/dist/runtime/reloadRunCatalog.js +6 -1
- package/dist/runtime/repositoryMaterialize.d.ts +47 -0
- package/dist/runtime/repositoryMaterialize.js +235 -0
- package/dist/runtime/resumeTimedOut.d.ts +1 -1
- package/dist/runtime/resumeTimedOut.js +5 -2
- package/dist/runtime/runChangeBus.js +9 -0
- package/dist/runtime/runDeletion.d.ts +7 -0
- package/dist/runtime/runDeletion.js +37 -0
- package/dist/runtime/runManager.d.ts +169 -4
- package/dist/runtime/runManager.js +1748 -83
- package/dist/runtime/runRetentionSweep.d.ts +31 -0
- package/dist/runtime/runRetentionSweep.js +328 -0
- package/dist/runtime/runRetryCoordinator.d.ts +4 -0
- package/dist/runtime/runRetryCoordinator.js +20 -2
- package/dist/runtime/runSkills.d.ts +40 -0
- package/dist/runtime/runSkills.js +173 -0
- package/dist/runtime/scheduleSource.d.ts +38 -0
- package/dist/runtime/scheduleSource.js +119 -0
- package/dist/runtime/settingsFile.d.ts +5 -0
- package/dist/runtime/settingsFile.js +61 -54
- package/dist/runtime/stageAttemptBootstrap.d.ts +5 -1
- package/dist/runtime/stageAttemptBootstrap.js +250 -27
- package/dist/runtime/stageCacheEnv.d.ts +6 -0
- package/dist/runtime/stageCacheEnv.js +34 -0
- package/dist/runtime/stageConcurrency.d.ts +2 -1
- package/dist/runtime/stageConcurrency.js +4 -2
- package/dist/runtime/stageEnvironment.d.ts +38 -0
- package/dist/runtime/stageEnvironment.js +194 -0
- package/dist/runtime/stageHitl.d.ts +1 -0
- package/dist/runtime/stageHitl.js +5 -1
- package/dist/runtime/stageProcessLauncher.d.ts +20 -0
- package/dist/runtime/stageProcessLauncher.js +236 -41
- package/dist/runtime/stageRecovery.d.ts +3 -1
- package/dist/runtime/stageRecovery.js +19 -4
- package/dist/runtime/stageRoots.d.ts +38 -1
- package/dist/runtime/stageRoots.js +118 -0
- package/dist/runtime/stageRunner.d.ts +6 -0
- package/dist/runtime/stageRunner.js +32 -6
- package/dist/runtime/stageSecretDecl.d.ts +9 -0
- package/dist/runtime/stageSecretDecl.js +102 -0
- package/dist/runtime/stageSecrets.d.ts +40 -0
- package/dist/runtime/stageSecrets.js +181 -0
- package/dist/runtime/stageStreamLog.d.ts +1 -0
- package/dist/runtime/stageStreamLog.js +2 -1
- package/dist/runtime/stageWorker.d.ts +3 -2
- package/dist/runtime/stageWorker.js +58 -10
- package/dist/runtime/stageWorkerProtocol.d.ts +5 -0
- package/dist/runtime/stageWorkerProtocol.js +8 -0
- package/dist/runtime/startPayload.d.ts +32 -0
- package/dist/runtime/startPayload.js +59 -0
- package/dist/runtime/taskInput.js +14 -5
- package/dist/runtime/triggerCatalog.d.ts +6 -0
- package/dist/runtime/triggerCatalog.js +24 -0
- package/dist/runtime/triggerEventMatch.d.ts +2 -0
- package/dist/runtime/triggerEventMatch.js +6 -0
- package/dist/runtime/triggerPort.d.ts +14 -0
- package/dist/runtime/triggerPort.js +1 -0
- package/dist/runtime/triggerRunner.d.ts +17 -0
- package/dist/runtime/triggerRunner.js +89 -0
- package/dist/runtime/verifiedStageExecution.d.ts +8 -0
- package/dist/runtime/verifiedStageExecution.js +16 -1
- package/dist/runtime/webhookSignature.d.ts +1 -0
- package/dist/runtime/webhookSignature.js +12 -0
- package/dist/runtime/workspaceBinding.d.ts +20 -0
- package/dist/runtime/workspaceBinding.js +60 -0
- package/dist/server/allowedHosts.d.ts +19 -0
- package/dist/server/allowedHosts.js +179 -0
- package/dist/server/bootstrap.d.ts +42 -2
- package/dist/server/bootstrap.js +273 -5
- package/dist/server/controlToken.d.ts +47 -0
- package/dist/server/controlToken.js +254 -0
- package/dist/server/createHttpHost.d.ts +11 -2
- package/dist/server/createHttpHost.js +106 -10
- package/dist/server/ensureGlobalService.d.ts +5 -1
- package/dist/server/ensureGlobalService.js +35 -1
- package/dist/server/healthSurfaces.d.ts +6 -0
- package/dist/server/healthSurfaces.js +123 -0
- package/dist/server/http.d.ts +27 -1
- package/dist/server/http.js +2254 -477
- package/dist/server/listenHost.d.ts +5 -0
- package/dist/server/listenHost.js +56 -0
- package/dist/server/mcpHost.d.ts +10 -1
- package/dist/server/mcpHost.js +36 -6
- package/dist/server/operatorResults.d.ts +2 -2
- package/dist/server/operatorResults.js +40 -29
- package/dist/server/requestAuthContext.d.ts +12 -0
- package/dist/server/requestAuthContext.js +21 -0
- package/dist/server/shutdown.d.ts +69 -0
- package/dist/server/shutdown.js +219 -0
- package/dist/server/triggerRoutes.d.ts +15 -0
- package/dist/server/triggerRoutes.js +268 -0
- package/dist/tools/askOperator.d.ts +3 -2
- package/dist/types/completion.d.ts +3 -0
- package/dist/types/pipeline.d.ts +10 -1
- package/dist/types/preEmitCheck.d.ts +7 -0
- package/dist/types/stage.d.ts +22 -0
- package/dist/types/stageflowManifest.d.ts +3 -0
- package/dist/types/task.d.ts +8 -0
- package/dist/types/trigger.d.ts +18 -0
- package/dist/types/trigger.js +1 -0
- package/dist/ui/assets/{index-CSsDued1.css → index-Bv4p1aPK.css} +1 -1
- package/dist/ui/assets/index-CntB4bZR.js +133 -0
- package/dist/ui/index.html +2 -2
- package/dist/workshop/autosave.d.ts +58 -0
- package/dist/workshop/autosave.js +222 -0
- package/dist/workshop/buildStore.d.ts +79 -0
- package/dist/workshop/buildStore.js +326 -0
- package/dist/workshop/chatTurn.d.ts +232 -0
- package/dist/workshop/chatTurn.js +475 -0
- package/dist/workshop/modelSettings.d.ts +18 -0
- package/dist/workshop/modelSettings.js +44 -0
- package/dist/workshop/sessionStore.d.ts +61 -0
- package/dist/workshop/sessionStore.js +254 -0
- package/dist/workshop/workshopPin.d.ts +72 -0
- package/dist/workshop/workshopPin.js +193 -0
- package/examples/README.md +99 -0
- package/examples/archify-on-pr/README.md +213 -0
- package/examples/archify-on-pr/archify-on-pr.pipeline.yaml +19 -0
- package/examples/archify-on-pr/archify-on-pr.task.yaml +19 -0
- package/examples/archify-on-pr/author-diagrams.yaml +106 -0
- package/examples/archify-on-pr/detect-changes.yaml +89 -0
- package/examples/browser-session/README.md +77 -0
- package/examples/browser-session/browser-session.pipeline.yaml +50 -0
- package/examples/browser-session/browser-session.task.yaml +6 -0
- package/examples/browser-session/check-login.yaml +22 -0
- package/examples/browser-session/fixture-server.mjs +64 -0
- package/examples/browser-session/human-login.yaml +31 -0
- package/examples/browser-session/merge.yaml +36 -0
- package/examples/browser-session/work-a.yaml +41 -0
- package/examples/browser-session/work-b.yaml +41 -0
- package/examples/ci-validate/README.md +35 -0
- package/examples/ci-validate/check.yaml +13 -0
- package/examples/ci-validate/ci-demo.pipeline.yaml +4 -0
- package/examples/ci-validate/validate.sh +5 -0
- package/examples/compliance-review-demo/README.md +125 -0
- package/examples/compliance-review-demo/compliance-review-demo.pipeline.yaml +29 -0
- package/examples/compliance-review-demo/connect-account.yaml +47 -0
- package/examples/compliance-review-demo/map-to-control.yaml +123 -0
- package/examples/compliance-review-demo/poll-bucket-config.yaml +103 -0
- package/examples/compliance-review-demo/publish-report.yaml +79 -0
- package/examples/compliance-review-demo/review-verdict.yaml +122 -0
- package/examples/compliance-review-demo/run-compliance-check.yaml +96 -0
- package/examples/compliance-review-demo/store-evidence.yaml +143 -0
- package/examples/conditional-fork/README.md +89 -0
- package/examples/conditional-fork/branch-a.yaml +13 -0
- package/examples/conditional-fork/branch-b.yaml +13 -0
- package/examples/conditional-fork/decide.yaml +35 -0
- package/examples/conditional-fork/fork-demo.pipeline.yaml +20 -0
- package/examples/conditional-fork/fork-demo.task.yaml +8 -0
- package/examples/context7-mcp/README.md +42 -0
- package/examples/context7-mcp/context7-mcp.pipeline.yaml +15 -0
- package/examples/context7-mcp/context7-mcp.task.yaml +4 -0
- package/examples/context7-mcp/fetch-docs.yaml +52 -0
- package/examples/context7-mcp/resolve-library.yaml +31 -0
- package/examples/context7-mcp/write-brief.yaml +52 -0
- package/examples/feature-loop/README.md +104 -0
- package/examples/feature-loop/address-feedback.yaml +148 -0
- package/examples/feature-loop/align.yaml +116 -0
- package/examples/feature-loop/decompose.yaml +86 -0
- package/examples/feature-loop/default-model-hierarchy.task.yaml +58 -0
- package/examples/feature-loop/feature-loop.pipeline.yaml +140 -0
- package/examples/feature-loop/feature-loop.task.yaml +25 -0
- package/examples/feature-loop/implement.yaml +128 -0
- package/examples/feature-loop/plan.yaml +111 -0
- package/examples/feature-loop/publish.yaml +167 -0
- package/examples/feature-loop/review.yaml +146 -0
- package/examples/feature-loop/verify.yaml +106 -0
- package/examples/feedback-loop/README.md +72 -0
- package/examples/feedback-loop/VERIFY.md +208 -0
- package/examples/feedback-loop/continue-only.task.yaml +4 -0
- package/examples/feedback-loop/exhaust-require-continue.task.yaml +6 -0
- package/examples/feedback-loop/exhaust-wait-human.task.yaml +11 -0
- package/examples/feedback-loop/feedback-loop-wait-human.pipeline.yaml +23 -0
- package/examples/feedback-loop/feedback-loop.pipeline.yaml +23 -0
- package/examples/feedback-loop/feedback-loop.task.yaml +4 -0
- package/examples/feedback-loop/implement.yaml +14 -0
- package/examples/feedback-loop/plan.yaml +14 -0
- package/examples/feedback-loop/review.yaml +15 -0
- package/examples/feedback-loop/send-back-once.task.yaml +6 -0
- package/examples/feedback-loop/submit.yaml +12 -0
- package/examples/generic-fan-in/README.md +151 -0
- package/examples/generic-fan-in/clarify.yaml +18 -0
- package/examples/generic-fan-in/generic-fan-in-accepted.pipeline.yaml +19 -0
- package/examples/generic-fan-in/generic-fan-in-accepted.task.yaml +8 -0
- package/examples/generic-fan-in/generic-fan-in.pipeline.yaml +18 -0
- package/examples/generic-fan-in/generic-fan-in.task.yaml +9 -0
- package/examples/generic-fan-in/research.yaml +45 -0
- package/examples/generic-fan-in/synthesize.yaml +66 -0
- package/examples/generic-fan-in/validation.yaml +45 -0
- package/examples/github-release/README.md +78 -0
- package/examples/github-release/draft-release-notes.yaml +64 -0
- package/examples/github-release/github-release.pipeline.yaml +11 -0
- package/examples/github-release/github-release.task.yaml +13 -0
- package/examples/github-release/publish-github-release.yaml +64 -0
- package/examples/hello-world/README.md +28 -0
- package/examples/hello-world/hello.pipeline.yaml +4 -0
- package/examples/hello-world/my-task.task.yaml +6 -0
- package/examples/hello-world/research.yaml +18 -0
- package/examples/mcp-hitl-tour/README.md +113 -0
- package/examples/mcp-hitl-tour/draft-angle.yaml +33 -0
- package/examples/mcp-hitl-tour/draft-short.yaml +32 -0
- package/examples/mcp-hitl-tour/emit-angles.yaml +45 -0
- package/examples/mcp-hitl-tour/gather.yaml +31 -0
- package/examples/mcp-hitl-tour/intake.yaml +62 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour-exhaust.task.yaml +13 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour.pipeline.yaml +54 -0
- package/examples/mcp-hitl-tour/mcp-hitl-tour.task.yaml +16 -0
- package/examples/mcp-hitl-tour/polish.yaml +33 -0
- package/examples/mcp-hitl-tour/review.yaml +17 -0
- package/examples/mcp-hitl-tour/ship.yaml +25 -0
- package/examples/oss-issue-contribution/README.md +218 -0
- package/examples/oss-issue-contribution/oss-address-review-feedback.yaml +117 -0
- package/examples/oss-issue-contribution/oss-approve-contribution.yaml +181 -0
- package/examples/oss-issue-contribution/oss-approve-plan.yaml +111 -0
- package/examples/oss-issue-contribution/oss-explain-fix.yaml +108 -0
- package/examples/oss-issue-contribution/oss-explain-issue.yaml +114 -0
- package/examples/oss-issue-contribution/oss-implement-source-fix.yaml +171 -0
- package/examples/oss-issue-contribution/oss-investigate-area.yaml +116 -0
- package/examples/oss-issue-contribution/oss-issue-contribution.pipeline.yaml +125 -0
- package/examples/oss-issue-contribution/oss-issue-intake.yaml +106 -0
- package/examples/oss-issue-contribution/oss-plan-investigation.yaml +112 -0
- package/examples/oss-issue-contribution/oss-plan-review.yaml +109 -0
- package/examples/oss-issue-contribution/oss-reproduce-issue.yaml +140 -0
- package/examples/oss-issue-contribution/oss-review-change.yaml +107 -0
- package/examples/oss-issue-contribution/oss-verify-fix.yaml +130 -0
- package/examples/oss-issue-contribution/oss-write-regression-test.yaml +135 -0
- package/examples/oss-issue-contribution/pi-7629.task.yaml +79 -0
- package/examples/oss-issue-contribution/pi-8919.task.yaml +75 -0
- package/examples/oss-issue-contribution/pydantic-ai-7971.task.yaml +53 -0
- package/examples/oss-quick-fix/README.md +65 -0
- package/examples/oss-quick-fix/implement-fix.yaml +84 -0
- package/examples/oss-quick-fix/oss-quick-fix.pipeline.yaml +35 -0
- package/examples/oss-quick-fix/oss-quick-fix.task.yaml +19 -0
- package/examples/oss-quick-fix/ship-fix.yaml +81 -0
- package/examples/oss-quick-fix/understand-issue.yaml +67 -0
- package/examples/oss-quick-fix/verify-fix.yaml +73 -0
- package/examples/plan-review/README.md +37 -0
- package/examples/plan-review/plan-review-followup.yaml +13 -0
- package/examples/plan-review/plan-review.pipeline.yaml +9 -0
- package/examples/plan-review/plan-review.task.yaml +9 -0
- package/examples/plan-review/plan-review.yaml +25 -0
- package/examples/playwright-mcp/README.md +39 -0
- package/examples/playwright-mcp/playwright-mcp.pipeline.yaml +5 -0
- package/examples/playwright-mcp/playwright-mcp.task.yaml +4 -0
- package/examples/playwright-mcp/screenshot.yaml +40 -0
- package/examples/retry-tour/README.md +75 -0
- package/examples/retry-tour/retry-tour.pipeline.yaml +122 -0
- package/examples/retry-tour/retry-tour.task.yaml +9 -0
- package/examples/route-if-tour/README.md +202 -0
- package/examples/route-if-tour/route-if-tour.pipeline.yaml +950 -0
- package/examples/route-if-tour/route-if-tour.task.yaml +4 -0
- package/examples/route-wiring-smoke-test/01-core-routing.pipeline.yaml +168 -0
- package/examples/route-wiring-smoke-test/02-on-gating.pipeline.yaml +44 -0
- package/examples/route-wiring-smoke-test/03-two-entry-points.pipeline.yaml +28 -0
- package/examples/route-wiring-smoke-test/04-entry-false-equivalent-to-omitted.pipeline.yaml +27 -0
- package/examples/route-wiring-smoke-test/05-fork-choice.pipeline.yaml +110 -0
- package/examples/route-wiring-smoke-test/06-fan-out-fan-in.pipeline.yaml +82 -0
- package/examples/route-wiring-smoke-test/07-loop-human-decision.pipeline.yaml +82 -0
- package/examples/route-wiring-smoke-test/08-skip-fallback-and-multi-on-gate.pipeline.yaml +77 -0
- package/examples/route-wiring-smoke-test/09-multi-loop-targets.pipeline.yaml +102 -0
- package/examples/route-wiring-smoke-test/10-uses-dialect-fork.pipeline.yaml +23 -0
- package/examples/route-wiring-smoke-test/11-sequential-io-handoff.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/12-complex-io-schemas.pipeline.yaml +138 -0
- package/examples/route-wiring-smoke-test/13-ref-io-handoff.pipeline.yaml +84 -0
- package/examples/route-wiring-smoke-test/14-if-eq-gating.pipeline.yaml +50 -0
- package/examples/route-wiring-smoke-test/15-if-all-gated.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/16-if-composition.pipeline.yaml +65 -0
- package/examples/route-wiring-smoke-test/17-if-join.pipeline.yaml +80 -0
- package/examples/route-wiring-smoke-test/README.md +377 -0
- package/examples/route-wiring-smoke-test/rejected/01-reject-legacy-needs.pipeline.yaml +26 -0
- package/examples/route-wiring-smoke-test/rejected/02-reject-legacy-fork.pipeline.yaml +25 -0
- package/examples/route-wiring-smoke-test/rejected/03-reject-legacy-feedback-loop.pipeline.yaml +30 -0
- package/examples/route-wiring-smoke-test/rejected/04-reject-missing-entry.pipeline.yaml +24 -0
- package/examples/route-wiring-smoke-test/rejected/05-reject-unreachable.pipeline.yaml +35 -0
- package/examples/route-wiring-smoke-test/rejected/06-reject-allow-none-without-route-select.pipeline.yaml +37 -0
- package/examples/route-wiring-smoke-test/rejected/07-reject-cycle.pipeline.yaml +27 -0
- package/examples/route-wiring-smoke-test/rejected/08-reject-loop-non-ancestor.pipeline.yaml +42 -0
- package/examples/route-wiring-smoke-test/rejected/09-reject-route-select-leaf.pipeline.yaml +26 -0
- package/examples/route-wiring-smoke-test/rejected/12-reject-loop-replay-unsafe.pipeline.yaml +55 -0
- package/examples/route-wiring-smoke-test/rejected/13-reject-multiple-loop-entries.pipeline.yaml +51 -0
- package/examples/route-wiring-smoke-test/rejected/14-reject-duplicate-stage-id.pipeline.yaml +35 -0
- package/examples/route-wiring-smoke-test/rejected/15-reject-unknown-route-target.pipeline.yaml +15 -0
- package/examples/route-wiring-smoke-test/rejected/16-reject-malformed-route-item.pipeline.yaml +15 -0
- package/examples/route-wiring-smoke-test/rejected/17-reject-io-incompatible.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/18-reject-nested-io.pipeline.yaml +51 -0
- package/examples/route-wiring-smoke-test/rejected/19-reject-array-item-io.pipeline.yaml +55 -0
- package/examples/route-wiring-smoke-test/rejected/20-reject-closed-io.pipeline.yaml +36 -0
- package/examples/route-wiring-smoke-test/rejected/21-reject-ref-io.pipeline.yaml +42 -0
- package/examples/route-wiring-smoke-test/rejected/22-reject-if-unknown-field.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/23-reject-if-optional-field.pipeline.yaml +32 -0
- package/examples/route-wiring-smoke-test/rejected/24-reject-if-empty-all.pipeline.yaml +31 -0
- package/examples/route-wiring-smoke-test/rejected/25-reject-if-gt-on-string.pipeline.yaml +33 -0
- package/examples/route-wiring-smoke-test/rejected/26-reject-if-optional-nested.pipeline.yaml +36 -0
- package/examples/route-wiring-smoke-test/rejected/27-reject-if-on-loop.pipeline.yaml +63 -0
- package/examples/route-wiring-smoke-test/rejected/29-reject-if-on-failed.pipeline.yaml +46 -0
- package/examples/route-wiring-smoke-test/smoke-test.task.yaml +4 -0
- package/examples/route-wiring-smoke-test/stages/branch-a.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/branch-b.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/decide.yaml +12 -0
- package/examples/route-wiring-smoke-test/stages/finish.yaml +12 -0
- package/examples/ship-feature/README.md +190 -0
- package/examples/ship-feature/feat-address-feedback.yaml +119 -0
- package/examples/ship-feature/feat-implement.yaml +180 -0
- package/examples/ship-feature/feat-plan.yaml +120 -0
- package/examples/ship-feature/feat-review.yaml +109 -0
- package/examples/ship-feature/feat-ship.yaml +203 -0
- package/examples/ship-feature/ship-feature.pipeline.yaml +44 -0
- package/examples/ship-feature/ship-feature.task.yaml +78 -0
- package/examples/stage-mcp/README.md +145 -0
- package/examples/stage-mcp/echo-mcp.mjs +20 -0
- package/examples/stage-mcp/stage-mcp-dead.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp-dead.task.yaml +3 -0
- package/examples/stage-mcp/stage-mcp-missing-var.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp-missing-var.task.yaml +3 -0
- package/examples/stage-mcp/stage-mcp.pipeline.yaml +5 -0
- package/examples/stage-mcp/stage-mcp.task.yaml +4 -0
- package/examples/stage-mcp/use-echo.yaml +20 -0
- package/examples/stageflow.yaml +51 -0
- package/examples/verify-tour/README.md +80 -0
- package/examples/verify-tour/verify-tour.pipeline.yaml +162 -0
- package/examples/verify-tour/verify-tour.task.yaml +11 -0
- package/package.json +9 -1
- package/skills/stageflow/SKILL.md +6 -6
- package/skills/stageflow/references/control-surface.md +13 -5
- package/skills/stageflow/scripts/detect-host.mjs +14 -1
- package/skills/stageflow/scripts/detect-host.test.mjs +29 -1
- package/skills/stageflow-author/SKILL.md +4 -3
- package/skills/stageflow-author/references/catalog-mapping.md +16 -0
- package/skills/stageflow-author/references/catalog-write-conventions.md +1 -1
- package/skills/stageflow-author/references/stage-prompt-template.md +4 -4
- package/skills/stageflow-run/SKILL.md +22 -12
- package/skills/stageflow-run/references/mcp-call.md +9 -1
- package/skills/stageflow-run/references/task-and-pipeline-selection.md +19 -6
- package/skills/stageflow-run/scripts/mcp-call.mjs +46 -6
- package/skills/stageflow-run/scripts/mcp-call.test.mjs +64 -0
- package/skills/stageflow-session-capture/references/catalog-authoring.md +2 -0
- package/skills/stageflow-setup/SKILL.md +51 -8
- package/dist/ui/assets/index-Da5EHU6M.js +0 -119
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
id: oss-explain-fix
|
|
2
|
+
system_prompt: |
|
|
3
|
+
Compose fix-explainer.html teaching the operator how the verified working-tree
|
|
4
|
+
change fixes the issue, grounded in real quoted diff lines. This stage is a
|
|
5
|
+
non-blocking side teaching artifact, not a gate and not part of the
|
|
6
|
+
contribution path. Do not edit the task checkout, install dependencies,
|
|
7
|
+
commit, push, or open a pull request. Do not call ask_operator.
|
|
8
|
+
|
|
9
|
+
This is a non-interactive factory teach request. Compose the HTML explainer
|
|
10
|
+
and emit. The bound skill's check-in, quiz, destination ask, publishing, and
|
|
11
|
+
/tmp scratch do not run. The operator-facing output is the HTML artifact,
|
|
12
|
+
not chat.
|
|
13
|
+
|
|
14
|
+
Reading upstream work: the prior envelope's artifacts[] holds run-relative
|
|
15
|
+
paths. Read each one at <Factory run workspace>/<artifact path>, using the
|
|
16
|
+
absolute "Factory run workspace" value given in this stage's user prompt.
|
|
17
|
+
verification.md is the authoritative record of what was verified and
|
|
18
|
+
implementation-report.md of what changed; both outrank any prose in the prior
|
|
19
|
+
envelope's summary, which describes the previous stage only.
|
|
20
|
+
|
|
21
|
+
Definition of done — every line must hold before you emit success:
|
|
22
|
+
- The checkout diff was actually read, and the HTML quotes at least one real
|
|
23
|
+
changed line verbatim.
|
|
24
|
+
- Every load-bearing hunk is presented as before/after content tied to a named
|
|
25
|
+
file:line site.
|
|
26
|
+
- fix-explainer.html is written and listed in the emitted artifacts; the emit
|
|
27
|
+
is rejected without it.
|
|
28
|
+
|
|
29
|
+
Follow the bound ce-explain skill HTML contract:
|
|
30
|
+
- Input shape is diff. Subject is the verified working-tree change, not the
|
|
31
|
+
task goal string. If the work is still uncommitted, explain that working
|
|
32
|
+
tree and name the substitution in the Subject row.
|
|
33
|
+
- Single self-contained HTML5 file: CSS in <style>, SVG inline, system fonts,
|
|
34
|
+
no external URLs or scripts.
|
|
35
|
+
- Visible metadata as a <dl> with labels Date, Input shape, Subject.
|
|
36
|
+
- Show-then-tell: one inline SVG of before vs after, plus annotated real
|
|
37
|
+
changed lines for each load-bearing hunk.
|
|
38
|
+
- ~70ch measure. Second person. Footer line: Composed YYYY-MM-DD by ce-explain.
|
|
39
|
+
- Call write_stage_artifact with path fix-explainer.html. List the returned
|
|
40
|
+
run-relative path in emit_stage_envelope artifacts.
|
|
41
|
+
|
|
42
|
+
1. Read the inherited evidence, then run git diff and git diff --stat in the
|
|
43
|
+
checkout to inspect the actual change. If the diff cannot be read or is
|
|
44
|
+
empty, emit failure — do not compose a hollow or placeholder explainer.
|
|
45
|
+
2. For each load-bearing hunk, note the file and line range and the exact
|
|
46
|
+
before and after content you will quote.
|
|
47
|
+
3. Call write_stage_artifact with path fix-explainer.html. That file is the
|
|
48
|
+
deliverable: what changed, why that is the fix, and what still remains
|
|
49
|
+
risky, in one sitting, with the SVG and the quoted code from steps 1 and 2.
|
|
50
|
+
4. Call emit_stage_envelope exactly once after that write returns. On success:
|
|
51
|
+
artifacts must contain that HTML path; payload.topic is a short subject
|
|
52
|
+
label.
|
|
53
|
+
|
|
54
|
+
Contract violations — emit failure rather than presenting these as success:
|
|
55
|
+
- Paraphrasing the change without quoting any real changed line.
|
|
56
|
+
- Placeholder, TODO, or invented before/after content, or hunks without a
|
|
57
|
+
file:line site.
|
|
58
|
+
- Explaining the task goal or the issue text instead of the diff.
|
|
59
|
+
|
|
60
|
+
Write summary as outcomes and resulting state for downstream stages: what the
|
|
61
|
+
explainer covers and where it lives. Downstream stages receive this summary
|
|
62
|
+
verbatim and can mistake it for their own instructions, so never restate this
|
|
63
|
+
stage's prohibitions or scope limits in it.
|
|
64
|
+
model: omniroute/auto
|
|
65
|
+
io:
|
|
66
|
+
input:
|
|
67
|
+
schema:
|
|
68
|
+
type: object
|
|
69
|
+
required:
|
|
70
|
+
- result
|
|
71
|
+
- commands
|
|
72
|
+
- changed_files
|
|
73
|
+
- remaining_risks
|
|
74
|
+
properties:
|
|
75
|
+
result:
|
|
76
|
+
type: string
|
|
77
|
+
enum:
|
|
78
|
+
- pass
|
|
79
|
+
commands:
|
|
80
|
+
type: array
|
|
81
|
+
items:
|
|
82
|
+
type: string
|
|
83
|
+
changed_files:
|
|
84
|
+
type: array
|
|
85
|
+
minItems: 1
|
|
86
|
+
items:
|
|
87
|
+
type: string
|
|
88
|
+
remaining_risks:
|
|
89
|
+
type: array
|
|
90
|
+
items:
|
|
91
|
+
type: string
|
|
92
|
+
output:
|
|
93
|
+
schema:
|
|
94
|
+
type: object
|
|
95
|
+
required:
|
|
96
|
+
- topic
|
|
97
|
+
additionalProperties: false
|
|
98
|
+
properties:
|
|
99
|
+
topic:
|
|
100
|
+
type: string
|
|
101
|
+
verify:
|
|
102
|
+
- id: fix-explainer
|
|
103
|
+
type: artifact
|
|
104
|
+
path: fix-explainer.html
|
|
105
|
+
nonempty: true
|
|
106
|
+
when:
|
|
107
|
+
- after
|
|
108
|
+
gate_kinds: []
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
id: oss-explain-issue
|
|
2
|
+
system_prompt: |
|
|
3
|
+
Produce one self-contained teaching artifact, issue-explainer.html, that
|
|
4
|
+
explains this issue from the real checkout. This stage is a side teaching
|
|
5
|
+
artifact, not a gate and not part of the contribution path. Do not edit the
|
|
6
|
+
task checkout, install dependencies, commit, push, or open a pull request.
|
|
7
|
+
Do not call ask_operator.
|
|
8
|
+
|
|
9
|
+
This is a non-interactive factory teach request. Compose the HTML explainer
|
|
10
|
+
and emit. The bound skill's check-in, quiz, destination ask, publishing, and
|
|
11
|
+
/tmp scratch do not run. The operator-facing output is the HTML artifact,
|
|
12
|
+
not chat.
|
|
13
|
+
|
|
14
|
+
Reading upstream artifacts: the prior intake envelope's artifacts[] entries
|
|
15
|
+
are run-relative paths. The user prompt gives the absolute "Factory run
|
|
16
|
+
workspace" path; read each one at <Factory run workspace>/<artifact path>
|
|
17
|
+
with the builtin read tool. issue-intake.md holds the full issue write-up and
|
|
18
|
+
is authoritative over any prose summary.
|
|
19
|
+
|
|
20
|
+
Follow the bound ce-explain skill HTML contract:
|
|
21
|
+
- Input shape is concept. Subject is the issue in the task context, not the
|
|
22
|
+
task goal string.
|
|
23
|
+
- Single self-contained HTML5 file: CSS in <style>, SVG inline, system fonts,
|
|
24
|
+
no external URLs or scripts.
|
|
25
|
+
- Visible metadata as a <dl> with labels Date, Input shape, Subject.
|
|
26
|
+
- Show-then-tell: one inline SVG of the failure architecture, plus annotated
|
|
27
|
+
real checkout snippets for each load-bearing mechanism.
|
|
28
|
+
- ~70ch measure. Second person. Footer line: Composed YYYY-MM-DD by ce-explain.
|
|
29
|
+
- Call write_stage_artifact with path issue-explainer.html. List the returned
|
|
30
|
+
run-relative path in emit_stage_envelope artifacts.
|
|
31
|
+
|
|
32
|
+
1. Read the task, the intake envelope and issue-intake.md, and the checkout
|
|
33
|
+
files the issue names (and their call sites). Quote the live side-effect
|
|
34
|
+
paths and the recorded-result path. If a named symbol or test is absent
|
|
35
|
+
from this checkout, include the verbatim search command you ran and its
|
|
36
|
+
empty result in the HTML instead of inventing behavior for it. Do not
|
|
37
|
+
implement a fix.
|
|
38
|
+
2. Call write_stage_artifact with path issue-explainer.html. That file is
|
|
39
|
+
the deliverable: failure, why it happens, why it matters, in one sitting,
|
|
40
|
+
with the SVG and quoted code from step 1. Give it named sections that a
|
|
41
|
+
reader can navigate — at minimum what breaks, why it breaks, where in the
|
|
42
|
+
code it breaks, and why it matters.
|
|
43
|
+
3. Call emit_stage_envelope exactly once after that write returns. On success:
|
|
44
|
+
artifacts must contain that HTML path; payload.topic is a short subject
|
|
45
|
+
label.
|
|
46
|
+
|
|
47
|
+
Definition of done — every item must be true before emitting success:
|
|
48
|
+
- The subject was actually read from this checkout or from issue-intake.md.
|
|
49
|
+
If neither yields the subject, emit failure. A hollow explainer built from
|
|
50
|
+
the goal string alone is a contract violation, not a partial success.
|
|
51
|
+
- issue-explainer.html has named sections and at least one code snippet
|
|
52
|
+
quoted from this checkout with a file:line citation.
|
|
53
|
+
- Every symbol, path, and test name in the HTML either exists in this
|
|
54
|
+
checkout or is explicitly marked absent with the search command and its
|
|
55
|
+
empty output shown.
|
|
56
|
+
- payload.topic names the issue's subject, not the stage or the pipeline.
|
|
57
|
+
|
|
58
|
+
Anti-loophole rules:
|
|
59
|
+
- No payload string may be n/a, none, tbd, pending, or equivalent filler. If
|
|
60
|
+
the real value does not exist, emit failure instead.
|
|
61
|
+
- No payload array may hold placeholders such as ["see diff"] or ["src"].
|
|
62
|
+
- Writing issue-explainer.html is not a substitute for reading the checkout.
|
|
63
|
+
An explainer whose snippets were not copied from real files fails this
|
|
64
|
+
stage even though the artifact exists.
|
|
65
|
+
|
|
66
|
+
Summary authoring: the emitted summary states what the explainer covers and
|
|
67
|
+
what it established about the issue for downstream stages. Do not restate
|
|
68
|
+
this stage's prohibitions or scope limits there — downstream stages receive
|
|
69
|
+
the summary verbatim and will misread "do not edit the checkout" as an
|
|
70
|
+
instruction to themselves.
|
|
71
|
+
model: omniroute/auto
|
|
72
|
+
io:
|
|
73
|
+
input:
|
|
74
|
+
schema:
|
|
75
|
+
type: object
|
|
76
|
+
required:
|
|
77
|
+
- repository
|
|
78
|
+
- commit
|
|
79
|
+
- issue_url
|
|
80
|
+
- issue_title
|
|
81
|
+
- contribution_status
|
|
82
|
+
- constraints
|
|
83
|
+
properties:
|
|
84
|
+
repository:
|
|
85
|
+
type: string
|
|
86
|
+
commit:
|
|
87
|
+
type: string
|
|
88
|
+
issue_url:
|
|
89
|
+
type: string
|
|
90
|
+
issue_title:
|
|
91
|
+
type: string
|
|
92
|
+
contribution_status:
|
|
93
|
+
type: string
|
|
94
|
+
constraints:
|
|
95
|
+
type: array
|
|
96
|
+
items:
|
|
97
|
+
type: string
|
|
98
|
+
output:
|
|
99
|
+
schema:
|
|
100
|
+
type: object
|
|
101
|
+
required:
|
|
102
|
+
- topic
|
|
103
|
+
additionalProperties: false
|
|
104
|
+
properties:
|
|
105
|
+
topic:
|
|
106
|
+
type: string
|
|
107
|
+
verify:
|
|
108
|
+
- id: issue-explainer
|
|
109
|
+
type: artifact
|
|
110
|
+
path: issue-explainer.html
|
|
111
|
+
nonempty: true
|
|
112
|
+
when:
|
|
113
|
+
- after
|
|
114
|
+
gate_kinds: []
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
id: oss-implement-source-fix
|
|
2
|
+
system_prompt: |
|
|
3
|
+
Edit source files in the task checkout so the accepted plan is fully
|
|
4
|
+
implemented and every one of its validation_commands passes — not just the
|
|
5
|
+
single named regression test. Modified files under "Project checkout (agent
|
|
6
|
+
cwd)" are the only acceptable output of this stage; no map, excerpt,
|
|
7
|
+
document, or report can substitute for them.
|
|
8
|
+
|
|
9
|
+
You own the whole loop: implement, run the plan's full validation_commands,
|
|
10
|
+
and if anything fails, diagnose and fix it and run them again. Repeat until
|
|
11
|
+
every command passes or you have a concrete, evidence-backed reason further
|
|
12
|
+
iteration in this attempt will not help (for example an environment
|
|
13
|
+
limitation unrelated to the fix). This stage is the only one with edit
|
|
14
|
+
access to the checkout in the writer path — nothing downstream can fix what
|
|
15
|
+
you leave broken, so do not hand off a partially-green result as success.
|
|
16
|
+
|
|
17
|
+
Reading upstream work: the prior envelope's artifacts[] holds run-relative
|
|
18
|
+
paths. Read each one at <Factory run workspace>/<artifact path>, using the
|
|
19
|
+
absolute "Factory run workspace" value given in this stage's user prompt.
|
|
20
|
+
implementation-plan.md is the authoritative approved scope — its
|
|
21
|
+
validation_commands list is the actual definition of done, not a suggestion
|
|
22
|
+
— and regression-test-report.md names the exact test_node_id already added
|
|
23
|
+
and its current red-run output; both outrank any prose in the prior
|
|
24
|
+
envelope's summary. That summary describes the PREVIOUS stage: any
|
|
25
|
+
prohibition it carries, for example "no source edits", applied to that
|
|
26
|
+
stage and does not apply here.
|
|
27
|
+
|
|
28
|
+
Definition of done — every line must hold before you emit success:
|
|
29
|
+
- git diff in the checkout is non-empty and contains your edits; the emit
|
|
30
|
+
is rejected while the working tree is clean.
|
|
31
|
+
- Every changed_files entry is a repo-relative path inside the checkout
|
|
32
|
+
that also appears in git diff --name-only; the emit is rejected for any
|
|
33
|
+
entry pointing into the factory run workspace.
|
|
34
|
+
- regression_test equals the exact test_node_id from
|
|
35
|
+
regression-test-report.md, and it now passes in this checkout.
|
|
36
|
+
- Every command in implementation-plan.md's validation_commands has been
|
|
37
|
+
run here, in order, with its exit code recorded, and every one exited
|
|
38
|
+
zero. all_passed is true only when that is actually the case.
|
|
39
|
+
- implementation-report.md is written and listed in the emitted artifacts;
|
|
40
|
+
the emit is rejected without it.
|
|
41
|
+
- commands_run lists only commands you actually executed, each with its
|
|
42
|
+
outcome — the full validation_commands list plus anything else you ran
|
|
43
|
+
while diagnosing failures.
|
|
44
|
+
|
|
45
|
+
1. Resolve implementation-plan.md and regression-test-report.md from the
|
|
46
|
+
prior envelope's artifacts[] against the Factory run workspace absolute
|
|
47
|
+
path and read both. If either cannot be read, emit failure — do not
|
|
48
|
+
substitute a plan or test you re-derived yourself.
|
|
49
|
+
2. Confirm the checkout still has the regression test from the prior stage
|
|
50
|
+
and no other unexpected tracked changes. If it diverged, emit failure
|
|
51
|
+
without overwriting work.
|
|
52
|
+
3. Edit the source files — and add any additional test files
|
|
53
|
+
implementation-plan.md's validation_commands require that do not exist
|
|
54
|
+
yet — to satisfy the accepted plan. Do not rewrite or loosen the
|
|
55
|
+
regression test written by the prior stage; if it needs to change, emit
|
|
56
|
+
failure and say why. Do not perform unrelated formatting, refactors,
|
|
57
|
+
dependency upgrades, generated-file changes, or scope expansion beyond
|
|
58
|
+
what the plan describes.
|
|
59
|
+
4. Run every command in implementation-plan.md's validation_commands, in
|
|
60
|
+
order, recording exit code and a stdout tail for each.
|
|
61
|
+
5. If any command fails or a named test does not exist yet, treat that as
|
|
62
|
+
unfinished work, not a report footnote: diagnose the specific cause,
|
|
63
|
+
make the corresponding source or test edit, and return to step 4. Do not
|
|
64
|
+
move on while a validation_commands entry is red.
|
|
65
|
+
6. Once every command passes, run git status --porcelain and git diff
|
|
66
|
+
--stat in the checkout and inspect the complete diff. If either output
|
|
67
|
+
is empty, this stage has not done its job: return to step 3 or emit
|
|
68
|
+
failure.
|
|
69
|
+
7. Write implementation-report.md containing the verbatim non-empty
|
|
70
|
+
git diff --stat and git status --porcelain output, the files changed,
|
|
71
|
+
before/after behavior, every validation command with its result, how
|
|
72
|
+
many iterations it took, assumptions, and any deviation from the plan.
|
|
73
|
+
8. Emit exactly once, including implementation-report.md and all inherited
|
|
74
|
+
evidence artifacts, with a payload matching the schema. Emit success
|
|
75
|
+
only if every definition-of-done line holds; otherwise emit failure
|
|
76
|
+
while preserving the working-tree evidence for the operator, and record
|
|
77
|
+
in the summary exactly which validation_commands entries remain red and
|
|
78
|
+
why.
|
|
79
|
+
|
|
80
|
+
Contract violations — emit failure rather than presenting these as success:
|
|
81
|
+
- Emitting success while git diff in the checkout is empty.
|
|
82
|
+
- Emitting success while any validation_commands entry has not been run,
|
|
83
|
+
was skipped, or exited non-zero. all_passed: true when that is not the
|
|
84
|
+
case is a contract violation, not a reporting choice.
|
|
85
|
+
- A changed_files entry under stages/.../artifacts/ or anywhere else in the
|
|
86
|
+
factory run workspace. Such a path is never a valid entry.
|
|
87
|
+
- regression_test set to n/a, none, pending, or any prose disclaimer
|
|
88
|
+
instead of the prior stage's exact test node id.
|
|
89
|
+
- commands_run listing commands you did not execute.
|
|
90
|
+
- Treating a markdown map, excerpt file, or report as the deliverable.
|
|
91
|
+
Exploration-only completion is a failure of this stage.
|
|
92
|
+
|
|
93
|
+
Never commit, push, or open a pull request. Never alter contribution
|
|
94
|
+
metadata to imply maintainer approval.
|
|
95
|
+
|
|
96
|
+
Write summary as outcomes and resulting state for downstream stages: what
|
|
97
|
+
now differs in the checkout, which tests cover it, and confirmation that
|
|
98
|
+
every validation command passed (or, on failure, which ones did not and
|
|
99
|
+
why). Downstream stages receive this summary verbatim and can mistake it
|
|
100
|
+
for their own instructions, so never restate this stage's prohibitions or
|
|
101
|
+
scope limits in it.
|
|
102
|
+
model: omniroute/auto
|
|
103
|
+
timeout_ms: 3600000
|
|
104
|
+
io:
|
|
105
|
+
input:
|
|
106
|
+
schema:
|
|
107
|
+
type: object
|
|
108
|
+
required:
|
|
109
|
+
- test_files
|
|
110
|
+
- test_node_id
|
|
111
|
+
- red_evidence
|
|
112
|
+
- commands_run
|
|
113
|
+
properties:
|
|
114
|
+
test_files:
|
|
115
|
+
type: array
|
|
116
|
+
minItems: 1
|
|
117
|
+
items:
|
|
118
|
+
type: string
|
|
119
|
+
test_node_id:
|
|
120
|
+
type: string
|
|
121
|
+
red_evidence:
|
|
122
|
+
type: string
|
|
123
|
+
commands_run:
|
|
124
|
+
type: array
|
|
125
|
+
items:
|
|
126
|
+
type: string
|
|
127
|
+
output:
|
|
128
|
+
schema:
|
|
129
|
+
type: object
|
|
130
|
+
required:
|
|
131
|
+
- changed_files
|
|
132
|
+
- regression_test
|
|
133
|
+
- implementation_summary
|
|
134
|
+
- assumptions
|
|
135
|
+
- commands_run
|
|
136
|
+
- all_passed
|
|
137
|
+
properties:
|
|
138
|
+
changed_files:
|
|
139
|
+
type: array
|
|
140
|
+
minItems: 1
|
|
141
|
+
items:
|
|
142
|
+
type: string
|
|
143
|
+
regression_test:
|
|
144
|
+
type: string
|
|
145
|
+
implementation_summary:
|
|
146
|
+
type: string
|
|
147
|
+
assumptions:
|
|
148
|
+
type: array
|
|
149
|
+
items:
|
|
150
|
+
type: string
|
|
151
|
+
commands_run:
|
|
152
|
+
type: array
|
|
153
|
+
minItems: 1
|
|
154
|
+
items:
|
|
155
|
+
type: string
|
|
156
|
+
all_passed:
|
|
157
|
+
type: boolean
|
|
158
|
+
verify:
|
|
159
|
+
- id: implementation-report
|
|
160
|
+
type: artifact
|
|
161
|
+
path: implementation-report.md
|
|
162
|
+
nonempty: true
|
|
163
|
+
when:
|
|
164
|
+
- after
|
|
165
|
+
- id: checkout-changed
|
|
166
|
+
type: checkout_changes
|
|
167
|
+
path_fields:
|
|
168
|
+
- changed_files
|
|
169
|
+
when:
|
|
170
|
+
- after
|
|
171
|
+
gate_kinds: []
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
id: oss-investigate-area
|
|
2
|
+
system_prompt: |
|
|
3
|
+
Answer the assigned area's questions with cited evidence from this checkout,
|
|
4
|
+
recorded in investigation.md. This stage is strictly read-only: do not edit
|
|
5
|
+
files, install dependencies, commit, push, or open a pull request.
|
|
6
|
+
|
|
7
|
+
Reading upstream artifacts: the assigned prior envelope's artifacts[] entries
|
|
8
|
+
are run-relative paths. The user prompt gives the absolute "Factory run
|
|
9
|
+
workspace" path; read each one at <Factory run workspace>/<artifact path>
|
|
10
|
+
with the builtin read tool. investigation-map.md, reproduction.md, and
|
|
11
|
+
issue-intake.md are authoritative over any prose summary.
|
|
12
|
+
|
|
13
|
+
1. Read the task and the assigned prior envelope. Treat its payload as the
|
|
14
|
+
exact investigation assignment: area_id, objective, paths, questions, and
|
|
15
|
+
constraints.
|
|
16
|
+
2. Trace the relevant implementation, tests, public contracts, history
|
|
17
|
+
available locally, and call paths. Cite file paths with line references for
|
|
18
|
+
every material conclusion. Separate facts from hypotheses.
|
|
19
|
+
3. Identify the smallest credible change, regression tests, compatibility or
|
|
20
|
+
concurrency risks, and alternatives rejected for this area.
|
|
21
|
+
4. Call write_stage_artifact with path investigation.md holding the evidence,
|
|
22
|
+
the answer to each assigned question, and the recommendations.
|
|
23
|
+
5. Emit exactly once. Use status success when the assigned area was examined,
|
|
24
|
+
even if the verdict is that no change belongs there. Use failure only when
|
|
25
|
+
the assignment cannot be investigated. On success, list investigation.md
|
|
26
|
+
plus all inherited evidence artifacts and provide a payload matching the
|
|
27
|
+
schema.
|
|
28
|
+
|
|
29
|
+
payload.verdict must be exactly one of these four values:
|
|
30
|
+
- root_cause — the issue originates in this area.
|
|
31
|
+
- contributing — this area participates in the failure but is not its origin.
|
|
32
|
+
- no_change_needed — this area was examined and is not implicated.
|
|
33
|
+
- inconclusive — the assigned questions could not be answered from this
|
|
34
|
+
checkout; investigation.md must say what is missing.
|
|
35
|
+
The schema cannot enforce this list, so any other value is a contract
|
|
36
|
+
violation even though emit will accept it.
|
|
37
|
+
|
|
38
|
+
Definition of done — every item must be true before emitting success:
|
|
39
|
+
- investigation.md was written through write_stage_artifact and appears in the
|
|
40
|
+
emitted artifacts with all inherited evidence artifacts.
|
|
41
|
+
- Every assigned question has an answer in investigation.md, or is explicitly
|
|
42
|
+
recorded as unanswerable with the search or read that came up empty.
|
|
43
|
+
- payload.findings holds at least one entry citing a repo-relative path with
|
|
44
|
+
line references, for example src/pkg/module.py:120-138. Findings without a
|
|
45
|
+
cited location do not count toward that requirement.
|
|
46
|
+
- payload.area_id equals the assigned area_id verbatim.
|
|
47
|
+
- payload.verdict is one of the four values above.
|
|
48
|
+
- affected_paths entries are repo-relative paths in this checkout;
|
|
49
|
+
recommended_changes name concrete edit sites; tests name real test node ids
|
|
50
|
+
or the file that would hold a new test.
|
|
51
|
+
|
|
52
|
+
Anti-loophole rules:
|
|
53
|
+
- No payload string may be n/a, none, tbd, pending, or equivalent filler. If
|
|
54
|
+
the real value does not exist, emit failure instead.
|
|
55
|
+
- No payload array may hold placeholders such as ["see diff"] or ["src"]. An
|
|
56
|
+
empty array is acceptable where genuinely empty; a placeholder entry is not.
|
|
57
|
+
- Writing investigation.md is not a substitute for reading the assigned
|
|
58
|
+
paths. The artifact records the trace; it does not perform it.
|
|
59
|
+
|
|
60
|
+
Summary authoring: the emitted summary states the verdict, the mechanism you
|
|
61
|
+
established, and the recommended change for the join stage. Do not restate
|
|
62
|
+
this stage's prohibitions or scope limits there. The join and implement stages
|
|
63
|
+
receive this summary verbatim and will misread "strictly read-only" as an
|
|
64
|
+
instruction to themselves.
|
|
65
|
+
|
|
66
|
+
Do not attempt to coordinate edits with other clones; the later join stage
|
|
67
|
+
will synthesize all investigations.
|
|
68
|
+
model: omniroute/auto
|
|
69
|
+
io:
|
|
70
|
+
input:
|
|
71
|
+
schema:
|
|
72
|
+
type: object
|
|
73
|
+
output:
|
|
74
|
+
schema:
|
|
75
|
+
type: object
|
|
76
|
+
required:
|
|
77
|
+
- area_id
|
|
78
|
+
- verdict
|
|
79
|
+
- findings
|
|
80
|
+
- affected_paths
|
|
81
|
+
- recommended_changes
|
|
82
|
+
- risks
|
|
83
|
+
- tests
|
|
84
|
+
properties:
|
|
85
|
+
area_id:
|
|
86
|
+
type: string
|
|
87
|
+
verdict:
|
|
88
|
+
type: string
|
|
89
|
+
findings:
|
|
90
|
+
type: array
|
|
91
|
+
items:
|
|
92
|
+
type: string
|
|
93
|
+
affected_paths:
|
|
94
|
+
type: array
|
|
95
|
+
items:
|
|
96
|
+
type: string
|
|
97
|
+
recommended_changes:
|
|
98
|
+
type: array
|
|
99
|
+
items:
|
|
100
|
+
type: string
|
|
101
|
+
risks:
|
|
102
|
+
type: array
|
|
103
|
+
items:
|
|
104
|
+
type: string
|
|
105
|
+
tests:
|
|
106
|
+
type: array
|
|
107
|
+
items:
|
|
108
|
+
type: string
|
|
109
|
+
verify:
|
|
110
|
+
- id: investigation
|
|
111
|
+
type: artifact
|
|
112
|
+
path: investigation.md
|
|
113
|
+
nonempty: true
|
|
114
|
+
when:
|
|
115
|
+
- after
|
|
116
|
+
gate_kinds: []
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
id: oss-issue-contribution
|
|
2
|
+
stages:
|
|
3
|
+
- id: oss-issue-intake
|
|
4
|
+
entry: true
|
|
5
|
+
route:
|
|
6
|
+
- to: oss-explain-issue
|
|
7
|
+
- to: oss-reproduce-issue
|
|
8
|
+
uses: ./oss-issue-intake.yaml
|
|
9
|
+
on_verify_fail:
|
|
10
|
+
mode: repair
|
|
11
|
+
max_attempts: 3
|
|
12
|
+
retry_safety: idempotent
|
|
13
|
+
include_failed_checks: true
|
|
14
|
+
- id: oss-explain-issue
|
|
15
|
+
uses: ./oss-explain-issue.yaml
|
|
16
|
+
skill: ce-explain
|
|
17
|
+
on_verify_fail:
|
|
18
|
+
mode: repair
|
|
19
|
+
max_attempts: 3
|
|
20
|
+
retry_safety: idempotent
|
|
21
|
+
include_failed_checks: true
|
|
22
|
+
- id: oss-reproduce-issue
|
|
23
|
+
route:
|
|
24
|
+
- to: oss-plan-investigation
|
|
25
|
+
uses: ./oss-reproduce-issue.yaml
|
|
26
|
+
on_verify_fail:
|
|
27
|
+
mode: repair
|
|
28
|
+
max_attempts: 3
|
|
29
|
+
retry_safety: idempotent
|
|
30
|
+
include_failed_checks: true
|
|
31
|
+
- id: oss-plan-investigation
|
|
32
|
+
route:
|
|
33
|
+
- to: oss-investigate-area
|
|
34
|
+
uses: ./oss-plan-investigation.yaml
|
|
35
|
+
on_verify_fail:
|
|
36
|
+
mode: repair
|
|
37
|
+
max_attempts: 3
|
|
38
|
+
retry_safety: idempotent
|
|
39
|
+
include_failed_checks: true
|
|
40
|
+
- id: oss-investigate-area
|
|
41
|
+
route:
|
|
42
|
+
- to: oss-approve-plan
|
|
43
|
+
uses: ./oss-investigate-area.yaml
|
|
44
|
+
on_verify_fail:
|
|
45
|
+
mode: repair
|
|
46
|
+
max_attempts: 3
|
|
47
|
+
retry_safety: idempotent
|
|
48
|
+
include_failed_checks: true
|
|
49
|
+
- id: oss-approve-plan
|
|
50
|
+
route:
|
|
51
|
+
- to: oss-write-regression-test
|
|
52
|
+
uses: ./oss-approve-plan.yaml
|
|
53
|
+
on_verify_fail:
|
|
54
|
+
mode: repair
|
|
55
|
+
max_attempts: 3
|
|
56
|
+
retry_safety: idempotent
|
|
57
|
+
include_failed_checks: true
|
|
58
|
+
- id: oss-write-regression-test
|
|
59
|
+
route:
|
|
60
|
+
- to: oss-implement-source-fix
|
|
61
|
+
uses: ./oss-write-regression-test.yaml
|
|
62
|
+
on_verify_fail:
|
|
63
|
+
mode: repair
|
|
64
|
+
max_attempts: 3
|
|
65
|
+
retry_safety: idempotent
|
|
66
|
+
include_failed_checks: true
|
|
67
|
+
- id: oss-implement-source-fix
|
|
68
|
+
route:
|
|
69
|
+
- to: oss-verify-fix
|
|
70
|
+
uses: ./oss-implement-source-fix.yaml
|
|
71
|
+
on_verify_fail:
|
|
72
|
+
mode: repair
|
|
73
|
+
max_attempts: 3
|
|
74
|
+
retry_safety: idempotent
|
|
75
|
+
include_failed_checks: true
|
|
76
|
+
- id: oss-verify-fix
|
|
77
|
+
route:
|
|
78
|
+
- to: oss-explain-fix
|
|
79
|
+
- to: oss-plan-review
|
|
80
|
+
uses: ./oss-verify-fix.yaml
|
|
81
|
+
on_verify_fail:
|
|
82
|
+
mode: repair
|
|
83
|
+
max_attempts: 3
|
|
84
|
+
retry_safety: idempotent
|
|
85
|
+
include_failed_checks: true
|
|
86
|
+
- id: oss-explain-fix
|
|
87
|
+
uses: ./oss-explain-fix.yaml
|
|
88
|
+
skill: ce-explain
|
|
89
|
+
on_verify_fail:
|
|
90
|
+
mode: repair
|
|
91
|
+
max_attempts: 3
|
|
92
|
+
retry_safety: idempotent
|
|
93
|
+
include_failed_checks: true
|
|
94
|
+
- id: oss-plan-review
|
|
95
|
+
route:
|
|
96
|
+
- to: oss-review-change
|
|
97
|
+
uses: ./oss-plan-review.yaml
|
|
98
|
+
on_verify_fail:
|
|
99
|
+
mode: repair
|
|
100
|
+
max_attempts: 3
|
|
101
|
+
retry_safety: idempotent
|
|
102
|
+
include_failed_checks: true
|
|
103
|
+
- id: oss-review-change
|
|
104
|
+
route:
|
|
105
|
+
- to: oss-address-review-feedback
|
|
106
|
+
uses: ./oss-review-change.yaml
|
|
107
|
+
on_verify_fail:
|
|
108
|
+
mode: repair
|
|
109
|
+
max_attempts: 3
|
|
110
|
+
retry_safety: idempotent
|
|
111
|
+
include_failed_checks: true
|
|
112
|
+
- id: oss-address-review-feedback
|
|
113
|
+
route:
|
|
114
|
+
- to: oss-approve-contribution
|
|
115
|
+
uses: ./oss-address-review-feedback.yaml
|
|
116
|
+
on_verify_fail:
|
|
117
|
+
mode: repair
|
|
118
|
+
max_attempts: 3
|
|
119
|
+
retry_safety: idempotent
|
|
120
|
+
include_failed_checks: true
|
|
121
|
+
- id: oss-approve-contribution
|
|
122
|
+
uses: ./oss-approve-contribution.yaml
|
|
123
|
+
on_verify_fail:
|
|
124
|
+
mode: manual
|
|
125
|
+
retry_safety: side_effecting
|