pumuki 6.3.7
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/LICENSE +21 -0
- package/README.md +370 -0
- package/VERSION +1 -0
- package/assets/Hook_01.png +0 -0
- package/assets/Hook_02.png +0 -0
- package/assets/ai-start.png +0 -0
- package/assets/ai_gate.png +0 -0
- package/assets/ast_intelligence_01.png +0 -0
- package/assets/ast_intelligence_01.svg +40 -0
- package/assets/ast_intelligence_02.png +0 -0
- package/assets/ast_intelligence_02.svg +39 -0
- package/assets/ast_intelligence_03.png +0 -0
- package/assets/ast_intelligence_03.svg +55 -0
- package/assets/ast_intelligence_04.png +0 -0
- package/assets/ast_intelligence_04.svg +39 -0
- package/assets/ast_intelligence_05.png +0 -0
- package/assets/ast_intelligence_05.svg +45 -0
- package/assets/logo.png +0 -0
- package/assets/logo_banner.svg +29 -0
- package/assets/pre-flight-check.png +0 -0
- package/bin/_run-ts-entry.js +46 -0
- package/bin/pumuki-ci.js +5 -0
- package/bin/pumuki-framework.js +5 -0
- package/bin/pumuki-mcp-evidence.js +5 -0
- package/bin/pumuki-pre-commit.js +5 -0
- package/bin/pumuki-pre-push.js +5 -0
- package/bin/pumuki.js +5 -0
- package/core/facts/DependencyFact.test.ts +38 -0
- package/core/facts/DependencyFact.ts +6 -0
- package/core/facts/Fact.test.ts +74 -0
- package/core/facts/Fact.ts +10 -0
- package/core/facts/FactSet.test.ts +38 -0
- package/core/facts/FactSet.ts +3 -0
- package/core/facts/FileChangeFact.test.ts +36 -0
- package/core/facts/FileChangeFact.ts +5 -0
- package/core/facts/FileContentFact.test.ts +26 -0
- package/core/facts/FileContentFact.ts +5 -0
- package/core/facts/HeuristicFact.test.ts +34 -0
- package/core/facts/HeuristicFact.ts +10 -0
- package/core/facts/detectors/browser/index.test.ts +131 -0
- package/core/facts/detectors/browser/index.ts +67 -0
- package/core/facts/detectors/fs/callbacks.test.ts +73 -0
- package/core/facts/detectors/fs/callbacks.ts +93 -0
- package/core/facts/detectors/fs/promises.test.ts +88 -0
- package/core/facts/detectors/fs/promises.ts +75 -0
- package/core/facts/detectors/fs/sync.test.ts +48 -0
- package/core/facts/detectors/fs/sync.ts +3 -0
- package/core/facts/detectors/fs/syncPart1.test.ts +52 -0
- package/core/facts/detectors/fs/syncPart1.ts +3 -0
- package/core/facts/detectors/fs/syncPart1DirTimes.test.ts +58 -0
- package/core/facts/detectors/fs/syncPart1DirTimes.ts +93 -0
- package/core/facts/detectors/fs/syncPart1FileOps.test.ts +64 -0
- package/core/facts/detectors/fs/syncPart1FileOps.ts +93 -0
- package/core/facts/detectors/fs/syncPart1Metadata.test.ts +64 -0
- package/core/facts/detectors/fs/syncPart1Metadata.ts +139 -0
- package/core/facts/detectors/fs/syncPart2.test.ts +62 -0
- package/core/facts/detectors/fs/syncPart2.ts +4 -0
- package/core/facts/detectors/fs/syncPart2Core.test.ts +62 -0
- package/core/facts/detectors/fs/syncPart2Core.ts +70 -0
- package/core/facts/detectors/fs/syncPart2Io.test.ts +62 -0
- package/core/facts/detectors/fs/syncPart2Io.ts +70 -0
- package/core/facts/detectors/fs/syncPart2Permissions.test.ts +66 -0
- package/core/facts/detectors/fs/syncPart2Permissions.ts +93 -0
- package/core/facts/detectors/fs/syncPart2Times.test.ts +66 -0
- package/core/facts/detectors/fs/syncPart2Times.ts +93 -0
- package/core/facts/detectors/fs/syncPart3.test.ts +62 -0
- package/core/facts/detectors/fs/syncPart3.ts +3 -0
- package/core/facts/detectors/fs/syncPart3DescriptorIo.test.ts +69 -0
- package/core/facts/detectors/fs/syncPart3DescriptorIo.ts +93 -0
- package/core/facts/detectors/fs/syncPart3Links.test.ts +62 -0
- package/core/facts/detectors/fs/syncPart3Links.ts +70 -0
- package/core/facts/detectors/fs/syncPart3PathOps.test.ts +72 -0
- package/core/facts/detectors/fs/syncPart3PathOps.ts +116 -0
- package/core/facts/detectors/process/core.test.ts +147 -0
- package/core/facts/detectors/process/core.ts +120 -0
- package/core/facts/detectors/process/index.test.ts +61 -0
- package/core/facts/detectors/process/index.ts +3 -0
- package/core/facts/detectors/process/shell.test.ts +137 -0
- package/core/facts/detectors/process/shell.ts +170 -0
- package/core/facts/detectors/process/spawn.test.ts +155 -0
- package/core/facts/detectors/process/spawn.ts +121 -0
- package/core/facts/detectors/security/index.test.ts +382 -0
- package/core/facts/detectors/security/index.ts +16 -0
- package/core/facts/detectors/security/securityCredentials.test.ts +149 -0
- package/core/facts/detectors/security/securityCredentials.ts +192 -0
- package/core/facts/detectors/security/securityCrypto.test.ts +122 -0
- package/core/facts/detectors/security/securityCrypto.ts +88 -0
- package/core/facts/detectors/security/securityJwt.test.ts +187 -0
- package/core/facts/detectors/security/securityJwt.ts +134 -0
- package/core/facts/detectors/security/securityTls.test.ts +121 -0
- package/core/facts/detectors/security/securityTls.ts +88 -0
- package/core/facts/detectors/text/android.test.ts +87 -0
- package/core/facts/detectors/text/android.ts +38 -0
- package/core/facts/detectors/text/ios.test.ts +83 -0
- package/core/facts/detectors/text/ios.ts +108 -0
- package/core/facts/detectors/text/utils.test.ts +71 -0
- package/core/facts/detectors/text/utils.ts +146 -0
- package/core/facts/detectors/typescript/index.test.ts +231 -0
- package/core/facts/detectors/typescript/index.ts +167 -0
- package/core/facts/detectors/utils/astHelpers.test.ts +79 -0
- package/core/facts/detectors/utils/astHelpers.ts +33 -0
- package/core/facts/detectors/vm/index.test.ts +58 -0
- package/core/facts/detectors/vm/index.ts +27 -0
- package/core/facts/extractHeuristicFacts.ts +394 -0
- package/core/facts/index.test.ts +72 -0
- package/core/facts/index.ts +11 -0
- package/core/gate/Finding.test.ts +52 -0
- package/core/gate/Finding.ts +9 -0
- package/core/gate/GateOutcome.test.ts +20 -0
- package/core/gate/GateOutcome.ts +1 -0
- package/core/gate/GatePolicy.test.ts +28 -0
- package/core/gate/GatePolicy.ts +9 -0
- package/core/gate/GateStage.test.ts +22 -0
- package/core/gate/GateStage.ts +1 -0
- package/core/gate/conditionMatches.test.ts +110 -0
- package/core/gate/conditionMatches.ts +174 -0
- package/core/gate/evaluateGate.test.ts +77 -0
- package/core/gate/evaluateGate.ts +23 -0
- package/core/gate/evaluateRules.test.ts +106 -0
- package/core/gate/evaluateRules.ts +40 -0
- package/core/gate/index.test.ts +39 -0
- package/core/gate/index.ts +6 -0
- package/core/rules/Condition.test.ts +54 -0
- package/core/rules/Condition.ts +40 -0
- package/core/rules/Consequence.test.ts +25 -0
- package/core/rules/Consequence.ts +5 -0
- package/core/rules/README.md +6 -0
- package/core/rules/RuleDefinition.test.ts +55 -0
- package/core/rules/RuleDefinition.ts +20 -0
- package/core/rules/RuleSet.test.ts +48 -0
- package/core/rules/RuleSet.ts +3 -0
- package/core/rules/Severity.test.ts +19 -0
- package/core/rules/Severity.ts +12 -0
- package/core/rules/index.test.ts +41 -0
- package/core/rules/index.ts +7 -0
- package/core/rules/mergeRuleSets.ts +53 -0
- package/core/rules/presets/androidRuleSet.test.ts +22 -0
- package/core/rules/presets/androidRuleSet.ts +62 -0
- package/core/rules/presets/astHeuristicsRuleSet.ts +31 -0
- package/core/rules/presets/backendRuleSet.test.ts +27 -0
- package/core/rules/presets/backendRuleSet.ts +61 -0
- package/core/rules/presets/exampleRuleSet.test.ts +25 -0
- package/core/rules/presets/exampleRuleSet.ts +34 -0
- package/core/rules/presets/frontendRuleSet.test.ts +27 -0
- package/core/rules/presets/frontendRuleSet.ts +61 -0
- package/core/rules/presets/heuristics/android.ts +58 -0
- package/core/rules/presets/heuristics/browser.ts +58 -0
- package/core/rules/presets/heuristics/fsCallbacks.ts +9 -0
- package/core/rules/presets/heuristics/fsCallbacksFileOperationsRules.ts +400 -0
- package/core/rules/presets/heuristics/fsCallbacksMetadataRules.ts +418 -0
- package/core/rules/presets/heuristics/fsPromises.ts +9 -0
- package/core/rules/presets/heuristics/fsPromisesFileOperations.ts +184 -0
- package/core/rules/presets/heuristics/fsPromisesMetadataRules.ts +238 -0
- package/core/rules/presets/heuristics/fsSync.ts +13 -0
- package/core/rules/presets/heuristics/fsSyncAppendRules.ts +22 -0
- package/core/rules/presets/heuristics/fsSyncDescriptorRules.ts +328 -0
- package/core/rules/presets/heuristics/fsSyncFileOperationsRules.ts +382 -0
- package/core/rules/presets/heuristics/fsSyncPathRules.ts +4 -0
- package/core/rules/presets/heuristics/ios.ts +94 -0
- package/core/rules/presets/heuristics/process.ts +241 -0
- package/core/rules/presets/heuristics/security.ts +13 -0
- package/core/rules/presets/heuristics/securityCredentialsRules.ts +80 -0
- package/core/rules/presets/heuristics/securityCryptoRules.ts +61 -0
- package/core/rules/presets/heuristics/securityJwtRules.ts +61 -0
- package/core/rules/presets/heuristics/securityTlsRules.ts +42 -0
- package/core/rules/presets/heuristics/typescript.ts +220 -0
- package/core/rules/presets/heuristics/vm.ts +23 -0
- package/core/rules/presets/index.test.ts +32 -0
- package/core/rules/presets/index.ts +8 -0
- package/core/rules/presets/iosEnterpriseRuleSet.ts +204 -0
- package/core/rules/presets/iosNonNegotiableRuleSet.ts +76 -0
- package/core/rules/presets/rulePackVersions.test.ts +21 -0
- package/core/rules/presets/rulePackVersions.ts +11 -0
- package/core/utils/stableStringify.ts +18 -0
- package/docs/API_REFERENCE.md +233 -0
- package/docs/ARCHITECTURE.md +190 -0
- package/docs/ARCHITECTURE_DETAILED.md +165 -0
- package/docs/AST_HEURISTICS_REINTRODUCTION_PLAN.md +88 -0
- package/docs/BRANCH_PROTECTION_GUIDE.md +50 -0
- package/docs/CODE_STANDARDS.md +73 -0
- package/docs/CONFIGURATION.md +132 -0
- package/docs/CONTRIBUTING.md +92 -0
- package/docs/DEPENDENCIES.md +54 -0
- package/docs/HOW_IT_WORKS.md +155 -0
- package/docs/INSTALLATION.md +172 -0
- package/docs/MCP_AGENT_CONTEXT_CONSUMPTION.md +189 -0
- package/docs/MCP_EVIDENCE_CONTEXT_SERVER.md +242 -0
- package/docs/MCP_SERVERS.md +114 -0
- package/docs/README.md +85 -0
- package/docs/REFRACTOR_PROGRESS.md +155 -0
- package/docs/RELEASE_NOTES.md +175 -0
- package/docs/TESTING.md +101 -0
- package/docs/TODO.md +692 -0
- package/docs/USAGE.md +259 -0
- package/docs/evidence-v2.1.md +49 -0
- package/docs/images/README.md +20 -0
- package/docs/rule-packs/README.md +45 -0
- package/docs/rule-packs/android.md +21 -0
- package/docs/rule-packs/backend.md +24 -0
- package/docs/rule-packs/frontend.md +22 -0
- package/docs/rule-packs/heuristics.md +1304 -0
- package/docs/rule-packs/ios.md +22 -0
- package/docs/skills-repo-enforcement-migration.md +73 -0
- package/docs/validation/README.md +82 -0
- package/docs/validation/adapter-hook-runtime-local-report.md +45 -0
- package/docs/validation/adapter-hook-runtime-validation.md +82 -0
- package/docs/validation/adapter-real-session-report-template.md +63 -0
- package/docs/validation/consumer-ci-startup-failure-playbook.md +184 -0
- package/docs/validation/consumer-startup-escalation-handoff-latest.md +237 -0
- package/docs/validation/enterprise-consumer-isolation-policy.md +45 -0
- package/docs/validation/github-support-ticket-template-startup-failure.md +84 -0
- package/docs/validation/mock-consumer-integration-runbook.md +89 -0
- package/docs/validation/phase5-execution-closure.md +227 -0
- package/docs/validation/phase8-external-rollout-pack.md +168 -0
- package/docs/validation/phase8-post-billing-reactivation-runbook.md +133 -0
- package/docs/validation/skills-rollout-consumer-repositories.md +124 -0
- package/index.js +15 -0
- package/integrations/config/compileSkillsLock.ts +231 -0
- package/integrations/config/heuristics.ts +18 -0
- package/integrations/config/loadProjectRules.ts +43 -0
- package/integrations/config/projectRules.ts +6 -0
- package/integrations/config/projectRulesSchema.ts +85 -0
- package/integrations/config/skillsCompilerTemplates.ts +151 -0
- package/integrations/config/skillsLock.ts +248 -0
- package/integrations/config/skillsPolicy.ts +178 -0
- package/integrations/config/skillsRuleSet.ts +188 -0
- package/integrations/config/skillsSources.ts +88 -0
- package/integrations/evidence/buildEvidence.ts +350 -0
- package/integrations/evidence/generateEvidence.ts +14 -0
- package/integrations/evidence/humanIntent.ts +115 -0
- package/integrations/evidence/readEvidence.ts +47 -0
- package/integrations/evidence/schema.ts +97 -0
- package/integrations/evidence/writeEvidence.ts +201 -0
- package/integrations/gate/stagePolicies.ts +295 -0
- package/integrations/git/EvidenceService.ts +111 -0
- package/integrations/git/GitService.ts +35 -0
- package/integrations/git/baselineRuleSets.ts +58 -0
- package/integrations/git/ciAndroid.cli.ts +4 -0
- package/integrations/git/ciAndroid.ts +1 -0
- package/integrations/git/ciBackend.cli.ts +4 -0
- package/integrations/git/ciBackend.ts +1 -0
- package/integrations/git/ciFrontend.cli.ts +4 -0
- package/integrations/git/ciFrontend.ts +1 -0
- package/integrations/git/ciIOS.cli.ts +4 -0
- package/integrations/git/ciIOS.ts +1 -0
- package/integrations/git/evaluateStagedIOS.ts +127 -0
- package/integrations/git/getCommitRangeFacts.ts +28 -0
- package/integrations/git/gitDiffUtils.ts +90 -0
- package/integrations/git/index.ts +13 -0
- package/integrations/git/preCommitAndroid.cli.ts +4 -0
- package/integrations/git/preCommitAndroid.ts +1 -0
- package/integrations/git/preCommitBackend.cli.ts +4 -0
- package/integrations/git/preCommitBackend.ts +1 -0
- package/integrations/git/preCommitFrontend.cli.ts +4 -0
- package/integrations/git/preCommitFrontend.ts +1 -0
- package/integrations/git/preCommitIOS.cli.ts +4 -0
- package/integrations/git/preCommitIOS.ts +1 -0
- package/integrations/git/prePushAndroid.cli.ts +4 -0
- package/integrations/git/prePushAndroid.ts +1 -0
- package/integrations/git/prePushBackend.cli.ts +4 -0
- package/integrations/git/prePushBackend.ts +1 -0
- package/integrations/git/prePushFrontend.cli.ts +4 -0
- package/integrations/git/prePushFrontend.ts +1 -0
- package/integrations/git/prePushIOS.cli.ts +4 -0
- package/integrations/git/prePushIOS.ts +1 -0
- package/integrations/git/resolveGitRefs.ts +51 -0
- package/integrations/git/runCliCommand.ts +11 -0
- package/integrations/git/runPlatformGate.ts +89 -0
- package/integrations/git/runPlatformGateEvaluation.ts +82 -0
- package/integrations/git/runPlatformGateEvidence.ts +41 -0
- package/integrations/git/runPlatformGateFacts.ts +34 -0
- package/integrations/git/runPlatformGateOutput.ts +11 -0
- package/integrations/git/stageRunners.ts +40 -0
- package/integrations/lifecycle/artifacts.ts +26 -0
- package/integrations/lifecycle/cli.ts +180 -0
- package/integrations/lifecycle/constants.ts +13 -0
- package/integrations/lifecycle/consumerPackage.ts +48 -0
- package/integrations/lifecycle/doctor.ts +90 -0
- package/integrations/lifecycle/gitService.ts +63 -0
- package/integrations/lifecycle/hookBlock.ts +93 -0
- package/integrations/lifecycle/hookManager.ts +107 -0
- package/integrations/lifecycle/index.ts +6 -0
- package/integrations/lifecycle/install.ts +44 -0
- package/integrations/lifecycle/npmService.ts +21 -0
- package/integrations/lifecycle/packageInfo.ts +5 -0
- package/integrations/lifecycle/remove.ts +95 -0
- package/integrations/lifecycle/state.ts +41 -0
- package/integrations/lifecycle/status.ts +30 -0
- package/integrations/lifecycle/uninstall.ts +36 -0
- package/integrations/lifecycle/update.ts +77 -0
- package/integrations/mcp/evidenceContextServer.cli.ts +16 -0
- package/integrations/mcp/evidenceContextServer.ts +152 -0
- package/integrations/mcp/evidenceFacets.ts +3 -0
- package/integrations/mcp/evidenceFacetsBase.ts +94 -0
- package/integrations/mcp/evidenceFacetsSnapshot.ts +104 -0
- package/integrations/mcp/evidenceFacetsSuppressed.ts +3 -0
- package/integrations/mcp/evidenceFacetsSuppressedBase.ts +221 -0
- package/integrations/mcp/evidenceFacetsSuppressedRelations.ts +263 -0
- package/integrations/mcp/evidenceFacetsSuppressedShare.ts +2 -0
- package/integrations/mcp/evidenceFacetsSuppressedShareCore.ts +442 -0
- package/integrations/mcp/evidenceFacetsSuppressedShareTriage.ts +487 -0
- package/integrations/mcp/evidencePayloadCollections.ts +37 -0
- package/integrations/mcp/evidencePayloadCollectionsFindings.ts +64 -0
- package/integrations/mcp/evidencePayloadCollectionsLedger.ts +69 -0
- package/integrations/mcp/evidencePayloadCollectionsPaging.ts +38 -0
- package/integrations/mcp/evidencePayloadCollectionsPlatforms.ts +49 -0
- package/integrations/mcp/evidencePayloadCollectionsRulesets.ts +50 -0
- package/integrations/mcp/evidencePayloadCollectionsSorters.ts +62 -0
- package/integrations/mcp/evidencePayloadConfig.ts +79 -0
- package/integrations/mcp/evidencePayloadSummary.ts +144 -0
- package/integrations/mcp/evidencePayloadSummarySuppressed.ts +361 -0
- package/integrations/mcp/evidencePayloads.ts +8 -0
- package/integrations/mcp/index.ts +1 -0
- package/integrations/platform/detectAndroid.ts +25 -0
- package/integrations/platform/detectBackend.ts +22 -0
- package/integrations/platform/detectFrontend.ts +29 -0
- package/integrations/platform/detectPlatforms.ts +69 -0
- package/package.json +218 -0
- package/scripts/adapter-readiness-cli-lib.ts +64 -0
- package/scripts/adapter-readiness-contract.ts +46 -0
- package/scripts/adapter-readiness-lib.ts +10 -0
- package/scripts/adapter-readiness-markdown-lib.ts +41 -0
- package/scripts/adapter-readiness-markdown-next-actions-lib.ts +33 -0
- package/scripts/adapter-readiness-markdown-sections-lib.ts +78 -0
- package/scripts/adapter-readiness-parser-lib.ts +30 -0
- package/scripts/adapter-readiness-summary-lib.ts +62 -0
- package/scripts/adapter-real-session-analysis-evaluation-lib.ts +49 -0
- package/scripts/adapter-real-session-analysis-lib.ts +8 -0
- package/scripts/adapter-real-session-analysis-messages-lib.ts +58 -0
- package/scripts/adapter-real-session-analysis-signals-lib.ts +59 -0
- package/scripts/adapter-real-session-analysis-status-lib.ts +29 -0
- package/scripts/adapter-real-session-arg-values-lib.ts +47 -0
- package/scripts/adapter-real-session-args-lib.ts +46 -0
- package/scripts/adapter-real-session-audit-snapshot-lib.ts +70 -0
- package/scripts/adapter-real-session-context-lib.ts +7 -0
- package/scripts/adapter-real-session-contract.ts +54 -0
- package/scripts/adapter-real-session-fs-lib.ts +36 -0
- package/scripts/adapter-real-session-git-lib.ts +13 -0
- package/scripts/adapter-real-session-hook-config-lib.ts +24 -0
- package/scripts/adapter-real-session-markdown-core-sections-lib.ts +11 -0
- package/scripts/adapter-real-session-markdown-lib.ts +25 -0
- package/scripts/adapter-real-session-markdown-sections-context-lib.ts +56 -0
- package/scripts/adapter-real-session-markdown-sections-evaluation-lib.ts +71 -0
- package/scripts/adapter-real-session-markdown-sections-lib.ts +34 -0
- package/scripts/adapter-real-session-markdown-snippet-section-lib.ts +44 -0
- package/scripts/adapter-real-session-markdown-snippets-lib.ts +19 -0
- package/scripts/adapter-real-session-markdown-value-formatters-lib.ts +10 -0
- package/scripts/adapter-real-session-report-lib.ts +16 -0
- package/scripts/adapter-real-session-status-parser-lib.ts +42 -0
- package/scripts/adapter-session-status-args-lib.ts +46 -0
- package/scripts/adapter-session-status-audit-latest-lib.ts +22 -0
- package/scripts/adapter-session-status-audit-tail-entries-lib.ts +78 -0
- package/scripts/adapter-session-status-audit-tail-lib.ts +15 -0
- package/scripts/adapter-session-status-command-lib.ts +49 -0
- package/scripts/adapter-session-status-contract.ts +55 -0
- package/scripts/adapter-session-status-hook-log-filter-lib.ts +38 -0
- package/scripts/adapter-session-status-lib.ts +25 -0
- package/scripts/adapter-session-status-log-filter-lib.ts +3 -0
- package/scripts/adapter-session-status-log-utils-lib.ts +23 -0
- package/scripts/adapter-session-status-markdown-lib.ts +65 -0
- package/scripts/adapter-session-status-report-lib.ts +21 -0
- package/scripts/adapter-session-status-tail-readers-lib.ts +58 -0
- package/scripts/adapter-session-status-verdict-lib.ts +43 -0
- package/scripts/adapter-session-status-writes-log-filter-lib.ts +25 -0
- package/scripts/build-adapter-readiness.ts +51 -0
- package/scripts/build-adapter-real-session-report.ts +58 -0
- package/scripts/build-adapter-session-status.ts +42 -0
- package/scripts/build-consumer-startup-failure-support-bundle.ts +22 -0
- package/scripts/build-consumer-startup-triage-arg-flags-lib.ts +26 -0
- package/scripts/build-consumer-startup-triage-arg-values-lib.ts +45 -0
- package/scripts/build-consumer-startup-triage-args-lib.ts +59 -0
- package/scripts/build-consumer-startup-triage-contract.ts +25 -0
- package/scripts/build-consumer-startup-triage-runner-lib.ts +59 -0
- package/scripts/build-consumer-startup-triage.ts +58 -0
- package/scripts/build-consumer-startup-unblock-status.ts +34 -0
- package/scripts/build-consumer-support-ticket-draft.ts +32 -0
- package/scripts/build-mock-consumer-ab-report.ts +34 -0
- package/scripts/build-mock-consumer-startup-triage.ts +71 -0
- package/scripts/build-phase5-blockers-readiness.ts +69 -0
- package/scripts/build-phase5-execution-closure-status-output-lib.ts +22 -0
- package/scripts/build-phase5-execution-closure-status-runner-lib.ts +61 -0
- package/scripts/build-phase5-execution-closure-status.ts +35 -0
- package/scripts/build-phase5-external-handoff-arg-flags-lib.ts +21 -0
- package/scripts/build-phase5-external-handoff-arg-handlers-lib.ts +48 -0
- package/scripts/build-phase5-external-handoff-arg-values-lib.ts +59 -0
- package/scripts/build-phase5-external-handoff-args-lib.ts +25 -0
- package/scripts/build-phase5-external-handoff-contract.ts +39 -0
- package/scripts/build-phase5-external-handoff-inputs-lib.ts +86 -0
- package/scripts/build-phase5-external-handoff.ts +71 -0
- package/scripts/build-phase5-support-portal-payload.sh +67 -0
- package/scripts/build-phase8-ready-handoff-summary.sh +66 -0
- package/scripts/check-consumer-ci-auth.ts +64 -0
- package/scripts/check-package-manifest.ts +54 -0
- package/scripts/check-phase5-escalation-ready-to-submit.sh +74 -0
- package/scripts/check-phase5-latest-ready-chain.sh +44 -0
- package/scripts/check-phase8-loop-guard-coverage.sh +44 -0
- package/scripts/check-phase8-loop-guard.sh +81 -0
- package/scripts/check-refactor-progress-single-active.sh +25 -0
- package/scripts/check-validation-docs-hygiene.ts +42 -0
- package/scripts/clean-validation-artifacts-cli-lib.ts +38 -0
- package/scripts/clean-validation-artifacts-lib.ts +64 -0
- package/scripts/clean-validation-artifacts-output-lib.ts +21 -0
- package/scripts/clean-validation-artifacts.ts +42 -0
- package/scripts/close-phase5-escalation-submission.sh +81 -0
- package/scripts/collect-consumer-ci-artifacts-args-lib.ts +61 -0
- package/scripts/collect-consumer-ci-artifacts-contract.ts +54 -0
- package/scripts/collect-consumer-ci-artifacts-gh-command-lib.ts +17 -0
- package/scripts/collect-consumer-ci-artifacts-gh-fetch-lib.ts +45 -0
- package/scripts/collect-consumer-ci-artifacts-gh-lib.ts +5 -0
- package/scripts/collect-consumer-ci-artifacts-gh-run-fetch-lib.ts +56 -0
- package/scripts/collect-consumer-ci-artifacts-markdown-lib.ts +69 -0
- package/scripts/collect-consumer-ci-artifacts.ts +30 -0
- package/scripts/compile-skills-lock-args-lib.ts +53 -0
- package/scripts/compile-skills-lock-runner-lib.ts +48 -0
- package/scripts/compile-skills-lock.ts +9 -0
- package/scripts/consumer-ci-auth-check-contract.ts +39 -0
- package/scripts/consumer-ci-auth-check-gh-lib.ts +54 -0
- package/scripts/consumer-ci-auth-check-lib.ts +15 -0
- package/scripts/consumer-ci-auth-check-markdown-header-status-lib.ts +32 -0
- package/scripts/consumer-ci-auth-check-markdown-json-lib.ts +19 -0
- package/scripts/consumer-ci-auth-check-markdown-lib.ts +30 -0
- package/scripts/consumer-ci-auth-check-markdown-remediation-lib.ts +36 -0
- package/scripts/consumer-ci-auth-check-markdown-sections-lib.ts +6 -0
- package/scripts/consumer-ci-auth-check-parse-lib.ts +65 -0
- package/scripts/consumer-startup-failure-support-bundle-lib.ts +58 -0
- package/scripts/consumer-startup-triage-command-builders-core-lib.ts +5 -0
- package/scripts/consumer-startup-triage-command-builders-core-required-lib.ts +40 -0
- package/scripts/consumer-startup-triage-command-builders-lib.ts +10 -0
- package/scripts/consumer-startup-triage-command-builders-support-bundle-lib.ts +26 -0
- package/scripts/consumer-startup-triage-command-builders-support-followup-lib.ts +53 -0
- package/scripts/consumer-startup-triage-command-builders-support-lib.ts +5 -0
- package/scripts/consumer-startup-triage-command-builders-workflow-lint-lib.ts +45 -0
- package/scripts/consumer-startup-triage-commands-lib.ts +64 -0
- package/scripts/consumer-startup-triage-contract.ts +41 -0
- package/scripts/consumer-startup-triage-lib.ts +9 -0
- package/scripts/consumer-startup-triage-markdown-lib.ts +63 -0
- package/scripts/consumer-startup-triage-outputs-lib.ts +19 -0
- package/scripts/consumer-startup-unblock-arg-setters-lib.ts +34 -0
- package/scripts/consumer-startup-unblock-args-contract.ts +17 -0
- package/scripts/consumer-startup-unblock-args-defaults-lib.ts +17 -0
- package/scripts/consumer-startup-unblock-args-lib.ts +49 -0
- package/scripts/consumer-startup-unblock-auth-lib.ts +16 -0
- package/scripts/consumer-startup-unblock-blockers-lib.ts +65 -0
- package/scripts/consumer-startup-unblock-cli-lib.ts +10 -0
- package/scripts/consumer-startup-unblock-contract.ts +42 -0
- package/scripts/consumer-startup-unblock-input-lib.ts +17 -0
- package/scripts/consumer-startup-unblock-markdown-lib.ts +47 -0
- package/scripts/consumer-startup-unblock-markdown-next-actions-lib.ts +37 -0
- package/scripts/consumer-startup-unblock-markdown-sections-lib.ts +53 -0
- package/scripts/consumer-startup-unblock-parser-lib.ts +24 -0
- package/scripts/consumer-startup-unblock-runner-lib.ts +69 -0
- package/scripts/consumer-startup-unblock-status-lib.ts +7 -0
- package/scripts/consumer-startup-unblock-summary-lib.ts +54 -0
- package/scripts/consumer-support-bundle-args-defaults-lib.ts +11 -0
- package/scripts/consumer-support-bundle-args-values-lib.ts +27 -0
- package/scripts/consumer-support-bundle-contract.ts +61 -0
- package/scripts/consumer-support-bundle-gh-auth-repo-lib.ts +51 -0
- package/scripts/consumer-support-bundle-gh-command-lib.ts +63 -0
- package/scripts/consumer-support-bundle-gh-diagnostics-collector-lib.ts +66 -0
- package/scripts/consumer-support-bundle-gh-diagnostics-fetch-lib.ts +36 -0
- package/scripts/consumer-support-bundle-gh-lib.ts +8 -0
- package/scripts/consumer-support-bundle-gh-loaders-lib.ts +7 -0
- package/scripts/consumer-support-bundle-gh-workflow-runs-lib.ts +30 -0
- package/scripts/consumer-support-bundle-markdown-context-lib.ts +49 -0
- package/scripts/consumer-support-bundle-markdown-lib.ts +44 -0
- package/scripts/consumer-support-bundle-markdown-run-sections-append-lib.ts +47 -0
- package/scripts/consumer-support-bundle-markdown-sections-append-lib.ts +51 -0
- package/scripts/consumer-support-bundle-markdown-sections-core-lib.ts +67 -0
- package/scripts/consumer-support-bundle-markdown-sections-lib.ts +7 -0
- package/scripts/consumer-support-bundle-markdown-sections-run-diagnostics-lib.ts +34 -0
- package/scripts/consumer-support-bundle-markdown-sections-support-payload-lib.ts +60 -0
- package/scripts/consumer-support-bundle-markdown-top-sections-append-lib.ts +55 -0
- package/scripts/consumer-support-bundle-markdown-top-sections-lib.ts +51 -0
- package/scripts/consumer-support-bundle-runner-lib.ts +49 -0
- package/scripts/consumer-support-ticket-cli-arg-setters-lib.ts +30 -0
- package/scripts/consumer-support-ticket-cli-contract.ts +14 -0
- package/scripts/consumer-support-ticket-cli-defaults-lib.ts +14 -0
- package/scripts/consumer-support-ticket-cli-lib.ts +63 -0
- package/scripts/consumer-support-ticket-draft-diagnostics-sections-lib.ts +67 -0
- package/scripts/consumer-support-ticket-draft-lib.ts +36 -0
- package/scripts/consumer-support-ticket-draft-primary-sections-lib.ts +51 -0
- package/scripts/consumer-support-ticket-draft-sections-lib.ts +10 -0
- package/scripts/consumer-support-ticket-lib.ts +3 -0
- package/scripts/consumer-support-ticket-parser-lib.ts +72 -0
- package/scripts/consumer-support-ticket-runner-lib.ts +42 -0
- package/scripts/consumer-workflow-lint-args-lib.ts +56 -0
- package/scripts/consumer-workflow-lint-command-lib.ts +60 -0
- package/scripts/consumer-workflow-lint-contract.ts +14 -0
- package/scripts/consumer-workflow-lint-markdown-lib.ts +39 -0
- package/scripts/consumer-workflow-lint-runner-lib.ts +52 -0
- package/scripts/fill-adapter-external-ide-replay-closeout.sh +90 -0
- package/scripts/framework-menu-action-contract.ts +17 -0
- package/scripts/framework-menu-actions-diagnostics-adapter-lib.ts +31 -0
- package/scripts/framework-menu-actions-diagnostics-ci-lib.ts +40 -0
- package/scripts/framework-menu-actions-diagnostics-maintenance-lib.ts +22 -0
- package/scripts/framework-menu-actions-diagnostics-support-core-lib.ts +40 -0
- package/scripts/framework-menu-actions-diagnostics-support-lib.ts +15 -0
- package/scripts/framework-menu-actions-diagnostics-support-triage-lib.ts +28 -0
- package/scripts/framework-menu-actions-diagnostics.ts +19 -0
- package/scripts/framework-menu-actions-gates-ci-lib.ts +30 -0
- package/scripts/framework-menu-actions-gates-stage-lib.ts +32 -0
- package/scripts/framework-menu-actions-gates-tools-lib.ts +26 -0
- package/scripts/framework-menu-actions-gates.ts +17 -0
- package/scripts/framework-menu-actions-phase5-exec-lib.ts +32 -0
- package/scripts/framework-menu-actions-phase5-exit-lib.ts +16 -0
- package/scripts/framework-menu-actions-phase5-reports-lib.ts +49 -0
- package/scripts/framework-menu-actions-phase5.ts +17 -0
- package/scripts/framework-menu-actions.ts +22 -0
- package/scripts/framework-menu-builders-adapter.ts +29 -0
- package/scripts/framework-menu-builders-consumer-contract.ts +19 -0
- package/scripts/framework-menu-builders-consumer-mock-ab-lib.ts +22 -0
- package/scripts/framework-menu-builders-consumer-triage-lib.ts +31 -0
- package/scripts/framework-menu-builders-consumer.ts +6 -0
- package/scripts/framework-menu-builders-maintenance.ts +24 -0
- package/scripts/framework-menu-builders-phase5-blockers-lib.ts +16 -0
- package/scripts/framework-menu-builders-phase5-closure-lib.ts +46 -0
- package/scripts/framework-menu-builders-phase5-contract.ts +43 -0
- package/scripts/framework-menu-builders-phase5-handoff-lib.ts +38 -0
- package/scripts/framework-menu-builders-phase5-status-lib.ts +24 -0
- package/scripts/framework-menu-builders-phase5.ts +12 -0
- package/scripts/framework-menu-builders-shared-lib.ts +3 -0
- package/scripts/framework-menu-builders.ts +19 -0
- package/scripts/framework-menu-gate-lib.ts +53 -0
- package/scripts/framework-menu-prompt-types.ts +12 -0
- package/scripts/framework-menu-prompts-adapter.ts +50 -0
- package/scripts/framework-menu-prompts-consumer-ci-lib.ts +36 -0
- package/scripts/framework-menu-prompts-consumer-contract.ts +46 -0
- package/scripts/framework-menu-prompts-consumer-startup-triage-lib.ts +69 -0
- package/scripts/framework-menu-prompts-consumer-support-bundle-lib.ts +20 -0
- package/scripts/framework-menu-prompts-consumer-support-ticket-lib.ts +27 -0
- package/scripts/framework-menu-prompts-consumer-unblock-status-lib.ts +33 -0
- package/scripts/framework-menu-prompts-consumer-workflow-lint-lib.ts +27 -0
- package/scripts/framework-menu-prompts-consumer.ts +26 -0
- package/scripts/framework-menu-prompts-phase5-blockers-lib.ts +24 -0
- package/scripts/framework-menu-prompts-phase5-closure-lib.ts +17 -0
- package/scripts/framework-menu-prompts-phase5-closure-live-lib.ts +51 -0
- package/scripts/framework-menu-prompts-phase5-closure-mock-lib.ts +23 -0
- package/scripts/framework-menu-prompts-phase5-closure-shared-lib.ts +24 -0
- package/scripts/framework-menu-prompts-phase5-contract.ts +48 -0
- package/scripts/framework-menu-prompts-phase5-handoff-lib.ts +54 -0
- package/scripts/framework-menu-prompts-phase5-mock-ab-lib.ts +36 -0
- package/scripts/framework-menu-prompts-phase5-status-lib.ts +31 -0
- package/scripts/framework-menu-prompts-phase5.ts +16 -0
- package/scripts/framework-menu-prompts.ts +32 -0
- package/scripts/framework-menu-runner-common.ts +13 -0
- package/scripts/framework-menu-runner-constants.ts +3 -0
- package/scripts/framework-menu-runner-evidence-lib.ts +14 -0
- package/scripts/framework-menu-runner-git-lib.ts +13 -0
- package/scripts/framework-menu-runner-path-lib.ts +12 -0
- package/scripts/framework-menu-runner-process-lib.ts +27 -0
- package/scripts/framework-menu-runners-adapter-contract.ts +13 -0
- package/scripts/framework-menu-runners-adapter-readiness-lib.ts +20 -0
- package/scripts/framework-menu-runners-adapter-real-session-lib.ts +20 -0
- package/scripts/framework-menu-runners-adapter-session-lib.ts +19 -0
- package/scripts/framework-menu-runners-adapter.ts +9 -0
- package/scripts/framework-menu-runners-consumer-artifacts-lib.ts +11 -0
- package/scripts/framework-menu-runners-consumer-auth-lib.ts +11 -0
- package/scripts/framework-menu-runners-consumer-contract.ts +55 -0
- package/scripts/framework-menu-runners-consumer-exec-lib.ts +13 -0
- package/scripts/framework-menu-runners-consumer-mock-ab-lib.ts +24 -0
- package/scripts/framework-menu-runners-consumer-startup-triage-lib.ts +24 -0
- package/scripts/framework-menu-runners-consumer-support-bundle-lib.ts +11 -0
- package/scripts/framework-menu-runners-consumer-support-ticket-lib.ts +20 -0
- package/scripts/framework-menu-runners-consumer-unblock-lib.ts +22 -0
- package/scripts/framework-menu-runners-consumer-workflow-lib.ts +18 -0
- package/scripts/framework-menu-runners-consumer.ts +21 -0
- package/scripts/framework-menu-runners-phase5-blockers-lib.ts +18 -0
- package/scripts/framework-menu-runners-phase5-closure-lib.ts +25 -0
- package/scripts/framework-menu-runners-phase5-contract.ts +39 -0
- package/scripts/framework-menu-runners-phase5-exec-lib.ts +25 -0
- package/scripts/framework-menu-runners-phase5-handoff-lib.ts +25 -0
- package/scripts/framework-menu-runners-phase5-status-lib.ts +20 -0
- package/scripts/framework-menu-runners-phase5.ts +12 -0
- package/scripts/framework-menu-runners-validation-cleanup-lib.ts +31 -0
- package/scripts/framework-menu-runners-validation-docs-lib.ts +20 -0
- package/scripts/framework-menu-runners-validation-skills-lib.ts +11 -0
- package/scripts/framework-menu-runners-validation.ts +4 -0
- package/scripts/framework-menu-runners.ts +37 -0
- package/scripts/framework-menu-skills-lib.ts +26 -0
- package/scripts/framework-menu.cli.ts +3 -0
- package/scripts/framework-menu.ts +67 -0
- package/scripts/lint-consumer-workflows.ts +29 -0
- package/scripts/mark-phase5-escalation-submitted.sh +49 -0
- package/scripts/mark-phase8-followup-posted-now.sh +33 -0
- package/scripts/mark-phase8-followup-replied-now.sh +52 -0
- package/scripts/mark-phase8-support-followup-state.sh +89 -0
- package/scripts/mock-consumer-ab-blockers-lib.ts +36 -0
- package/scripts/mock-consumer-ab-cli-arg-setters-lib.ts +46 -0
- package/scripts/mock-consumer-ab-cli-defaults-lib.ts +19 -0
- package/scripts/mock-consumer-ab-cli-lib.ts +46 -0
- package/scripts/mock-consumer-ab-contract.ts +30 -0
- package/scripts/mock-consumer-ab-evidence-lib.ts +50 -0
- package/scripts/mock-consumer-ab-markdown-assertions-lib.ts +24 -0
- package/scripts/mock-consumer-ab-markdown-blockers-lib.ts +9 -0
- package/scripts/mock-consumer-ab-markdown-contract.ts +16 -0
- package/scripts/mock-consumer-ab-markdown-header-inputs-lib.ts +21 -0
- package/scripts/mock-consumer-ab-markdown-lib.ts +24 -0
- package/scripts/mock-consumer-ab-markdown-next-actions-lib.ts +22 -0
- package/scripts/mock-consumer-ab-markdown-sections-lib.ts +21 -0
- package/scripts/mock-consumer-ab-report-lib.ts +12 -0
- package/scripts/mock-consumer-ab-runner-lib.ts +51 -0
- package/scripts/mock-consumer-smoke-contract.ts +14 -0
- package/scripts/mock-consumer-smoke-lib.ts +3 -0
- package/scripts/mock-consumer-smoke-summary-lib.ts +59 -0
- package/scripts/mock-consumer-smoke-verdict-lib.ts +27 -0
- package/scripts/mock-consumer-startup-triage-arg-flags-lib.ts +13 -0
- package/scripts/mock-consumer-startup-triage-arg-values-lib.ts +35 -0
- package/scripts/mock-consumer-startup-triage-cli-contract.ts +7 -0
- package/scripts/mock-consumer-startup-triage-cli-lib.ts +56 -0
- package/scripts/mock-consumer-startup-triage-lib.ts +2 -0
- package/scripts/mock-consumer-startup-triage-markdown-lib.ts +57 -0
- package/scripts/mock-consumer-startup-unblock-markdown-lib.ts +38 -0
- package/scripts/package-install-smoke-command-lib.ts +67 -0
- package/scripts/package-install-smoke-consumer-git-lib.ts +10 -0
- package/scripts/package-install-smoke-consumer-git-payload-lib.ts +45 -0
- package/scripts/package-install-smoke-consumer-git-repo-lib.ts +49 -0
- package/scripts/package-install-smoke-consumer-npm-lib.ts +47 -0
- package/scripts/package-install-smoke-consumer-repo-setup-lib.ts +31 -0
- package/scripts/package-install-smoke-contract.ts +6 -0
- package/scripts/package-install-smoke-execution-lib.ts +73 -0
- package/scripts/package-install-smoke-execution-steps-lib.ts +46 -0
- package/scripts/package-install-smoke-execution-summary-lib.ts +51 -0
- package/scripts/package-install-smoke-file-lib.ts +33 -0
- package/scripts/package-install-smoke-fixtures-content-lib.ts +57 -0
- package/scripts/package-install-smoke-fixtures-lib.ts +41 -0
- package/scripts/package-install-smoke-fixtures-write-lib.ts +14 -0
- package/scripts/package-install-smoke-gate-lib.ts +64 -0
- package/scripts/package-install-smoke-lib.ts +3 -0
- package/scripts/package-install-smoke-lifecycle-lib.ts +91 -0
- package/scripts/package-install-smoke-mode-lib.ts +31 -0
- package/scripts/package-install-smoke-repo-setup-lib.ts +2 -0
- package/scripts/package-install-smoke-runner-common.ts +12 -0
- package/scripts/package-install-smoke-tarball-lib.ts +34 -0
- package/scripts/package-install-smoke-workspace-contract.ts +11 -0
- package/scripts/package-install-smoke-workspace-factory-lib.ts +38 -0
- package/scripts/package-install-smoke-workspace-lib.ts +7 -0
- package/scripts/package-install-smoke-workspace-report-lib.ts +44 -0
- package/scripts/package-install-smoke.ts +7 -0
- package/scripts/package-manifest-lib.ts +44 -0
- package/scripts/phase5-blockers-contract.ts +36 -0
- package/scripts/phase5-blockers-detected-blockers-lib.ts +35 -0
- package/scripts/phase5-blockers-markdown-header-inputs-signals-lib.ts +48 -0
- package/scripts/phase5-blockers-markdown-lib.ts +51 -0
- package/scripts/phase5-blockers-markdown-list-utils-lib.ts +13 -0
- package/scripts/phase5-blockers-markdown-next-actions-blocked-lib.ts +46 -0
- package/scripts/phase5-blockers-markdown-next-actions-lib.ts +29 -0
- package/scripts/phase5-blockers-markdown-next-actions-ready-lib.ts +13 -0
- package/scripts/phase5-blockers-markdown-sections-lib.ts +7 -0
- package/scripts/phase5-blockers-markdown-static-sections-lib.ts +26 -0
- package/scripts/phase5-blockers-missing-inputs-lib.ts +16 -0
- package/scripts/phase5-blockers-parser-adapter-lib.ts +44 -0
- package/scripts/phase5-blockers-parser-consumer-lib.ts +32 -0
- package/scripts/phase5-blockers-parser-lib.ts +2 -0
- package/scripts/phase5-blockers-readiness-arg-flags-lib.ts +13 -0
- package/scripts/phase5-blockers-readiness-arg-values-lib.ts +27 -0
- package/scripts/phase5-blockers-readiness-cli-contract.ts +6 -0
- package/scripts/phase5-blockers-readiness-cli-lib.ts +55 -0
- package/scripts/phase5-blockers-readiness-input-lib.ts +17 -0
- package/scripts/phase5-blockers-readiness-lib.ts +8 -0
- package/scripts/phase5-blockers-summary-lib.ts +48 -0
- package/scripts/phase5-execution-closure-commands-lib.ts +32 -0
- package/scripts/phase5-execution-closure-lib.ts +2 -0
- package/scripts/phase5-execution-closure-outputs-lib.ts +25 -0
- package/scripts/phase5-execution-closure-plan-adapter-commands-lib.ts +41 -0
- package/scripts/phase5-execution-closure-plan-adapter-lib.ts +25 -0
- package/scripts/phase5-execution-closure-plan-consumer-lib.ts +5 -0
- package/scripts/phase5-execution-closure-plan-consumer-preflight-lib.ts +58 -0
- package/scripts/phase5-execution-closure-plan-consumer-triage-lib.ts +62 -0
- package/scripts/phase5-execution-closure-plan-contract.ts +42 -0
- package/scripts/phase5-execution-closure-plan-lib.ts +7 -0
- package/scripts/phase5-execution-closure-plan-phase5-args-lib.ts +52 -0
- package/scripts/phase5-execution-closure-plan-phase5-lib.ts +37 -0
- package/scripts/phase5-execution-closure-plan-validation-lib.ts +15 -0
- package/scripts/phase5-execution-closure-report-contract.ts +22 -0
- package/scripts/phase5-execution-closure-report-executions-lib.ts +35 -0
- package/scripts/phase5-execution-closure-report-header-lib.ts +38 -0
- package/scripts/phase5-execution-closure-report-lib.ts +31 -0
- package/scripts/phase5-execution-closure-report-next-actions-lib.ts +19 -0
- package/scripts/phase5-execution-closure-report-sections-lib.ts +51 -0
- package/scripts/phase5-execution-closure-runner-arg-flags-lib.ts +32 -0
- package/scripts/phase5-execution-closure-runner-arg-handlers-lib.ts +33 -0
- package/scripts/phase5-execution-closure-runner-arg-value-handlers-lib.ts +62 -0
- package/scripts/phase5-execution-closure-runner-arg-values-lib.ts +39 -0
- package/scripts/phase5-execution-closure-runner-contract.ts +31 -0
- package/scripts/phase5-execution-closure-runner-exec-command-lib.ts +20 -0
- package/scripts/phase5-execution-closure-runner-exec-error-lib.ts +32 -0
- package/scripts/phase5-execution-closure-runner-exec-lib.ts +35 -0
- package/scripts/phase5-execution-closure-runner-lib.ts +8 -0
- package/scripts/phase5-execution-closure-runner-mappers-lib.ts +30 -0
- package/scripts/phase5-execution-closure-runner-options-normalizer-lib.ts +19 -0
- package/scripts/phase5-execution-closure-runner-parse-lib.ts +23 -0
- package/scripts/phase5-execution-closure-runner-plan-lib.ts +14 -0
- package/scripts/phase5-execution-closure-runner-report-writer-lib.ts +12 -0
- package/scripts/phase5-execution-closure-status-arg-flags-lib.ts +13 -0
- package/scripts/phase5-execution-closure-status-arg-values-lib.ts +35 -0
- package/scripts/phase5-execution-closure-status-blockers-lib.ts +47 -0
- package/scripts/phase5-execution-closure-status-cli-contract.ts +24 -0
- package/scripts/phase5-execution-closure-status-cli-input-lib.ts +17 -0
- package/scripts/phase5-execution-closure-status-cli-lib.ts +10 -0
- package/scripts/phase5-execution-closure-status-cli-parse-lib.ts +59 -0
- package/scripts/phase5-execution-closure-status-contract.ts +48 -0
- package/scripts/phase5-execution-closure-status-lib.ts +8 -0
- package/scripts/phase5-execution-closure-status-markdown-lib.ts +22 -0
- package/scripts/phase5-execution-closure-status-markdown-list-lib.ts +16 -0
- package/scripts/phase5-execution-closure-status-markdown-next-actions-lib.ts +24 -0
- package/scripts/phase5-execution-closure-status-markdown-sections-lib.ts +7 -0
- package/scripts/phase5-execution-closure-status-markdown-static-sections-lib.ts +58 -0
- package/scripts/phase5-execution-closure-status-missing-inputs-lib.ts +19 -0
- package/scripts/phase5-execution-closure-status-parser-lib.ts +4 -0
- package/scripts/phase5-execution-closure-status-summary-helpers-lib.ts +6 -0
- package/scripts/phase5-execution-closure-status-summary-lib.ts +34 -0
- package/scripts/phase5-execution-closure-status-verdict-lib.ts +11 -0
- package/scripts/phase5-external-handoff-contract.ts +51 -0
- package/scripts/phase5-external-handoff-inputs-artifacts-lib.ts +45 -0
- package/scripts/phase5-external-handoff-lib.ts +3 -0
- package/scripts/phase5-external-handoff-markdown-core-sections-lib.ts +70 -0
- package/scripts/phase5-external-handoff-markdown-header-lib.ts +15 -0
- package/scripts/phase5-external-handoff-markdown-lib.ts +44 -0
- package/scripts/phase5-external-handoff-markdown-list-lib.ts +16 -0
- package/scripts/phase5-external-handoff-markdown-list-sections-lib.ts +54 -0
- package/scripts/phase5-external-handoff-markdown-next-actions-lib.ts +27 -0
- package/scripts/phase5-external-handoff-markdown-sections-append-lib.ts +69 -0
- package/scripts/phase5-external-handoff-markdown-sections-lib.ts +12 -0
- package/scripts/phase5-external-handoff-summary-helpers-lib.ts +9 -0
- package/scripts/phase5-external-handoff-summary-lib.ts +46 -0
- package/scripts/phase5-external-handoff-verdict-evaluators-lib.ts +67 -0
- package/scripts/prepare-adapter-external-ide-replay-closeout-auto.sh +100 -0
- package/scripts/prepare-phase5-escalation-submission.sh +21 -0
- package/scripts/refresh-phase5-latest-escalation.sh +94 -0
- package/scripts/run-phase5-execution-closure.ts +58 -0
- package/scripts/run-phase5-post-support-refresh.sh +25 -0
- package/scripts/run-phase8-after-billing-reactivation.sh +31 -0
- package/scripts/run-phase8-autopilot.sh +42 -0
- package/scripts/run-phase8-close-ready.sh +38 -0
- package/scripts/run-phase8-doctor.sh +61 -0
- package/scripts/run-phase8-next-step.sh +39 -0
- package/scripts/run-phase8-status-pack.sh +35 -0
- package/scripts/run-phase8-tick.sh +35 -0
- package/scripts/sync-codex-skills.sh +40 -0
- package/scripts/sync-phase5-latest-docs.sh +119 -0
- package/scripts/validation-docs-hygiene-lib.ts +46 -0
- package/skills.lock.json +178 -0
- package/skills.sources.json +33 -0
- package/tsconfig.json +39 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Consumer Startup Escalation Handoff (Latest)
|
|
2
|
+
|
|
3
|
+
- generated_at: 2026-02-12T11:15:33Z
|
|
4
|
+
- target_repo: `SwiftEnProfundidad/pumuki-actions-healthcheck-temp`
|
|
5
|
+
- phase5_latest_verdict_chain:
|
|
6
|
+
- `phase5-blockers-readiness`: `READY`
|
|
7
|
+
- `phase5-execution-closure-status`: `BLOCKED`
|
|
8
|
+
- `phase5-external-handoff`: `BLOCKED`
|
|
9
|
+
- `consumer-startup-unblock-status`: `BLOCKED`
|
|
10
|
+
|
|
11
|
+
## Current Blocking Signals
|
|
12
|
+
|
|
13
|
+
- `startup_failure_runs: 0`
|
|
14
|
+
- `startup_stalled_runs: 8`
|
|
15
|
+
- `oldest_queued_run_age_minutes: 32`
|
|
16
|
+
- latest queued runs still have:
|
|
17
|
+
- `jobs.total_count: 0`
|
|
18
|
+
- `artifacts.total_count: 0`
|
|
19
|
+
|
|
20
|
+
## Latest Probe URLs
|
|
21
|
+
|
|
22
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21902330502
|
|
23
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21901391166
|
|
24
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21900914631
|
|
25
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21900855192
|
|
26
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21900096926
|
|
27
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21898971835
|
|
28
|
+
|
|
29
|
+
## Cancel API Error Sample
|
|
30
|
+
|
|
31
|
+
- endpoint: `POST /repos/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21900096926/cancel`
|
|
32
|
+
- response: `HTTP 500`
|
|
33
|
+
- message: `Failed to cancel workflow run`
|
|
34
|
+
- x-github-request-id: `86BD:50C44:E9BB08D:D8B86F4:698C4FC9`
|
|
35
|
+
|
|
36
|
+
## Evidence Bundle (Phase5 Latest)
|
|
37
|
+
|
|
38
|
+
- `.audit-reports/phase5-latest/consumer-ci-auth-check.md`
|
|
39
|
+
- `.audit-reports/phase5-latest/consumer-startup-failure-support-bundle.md`
|
|
40
|
+
- `.audit-reports/phase5-latest/consumer-startup-unblock-status.md`
|
|
41
|
+
- `.audit-reports/phase5-latest/consumer-startup-triage-report.md`
|
|
42
|
+
- `.audit-reports/phase5-latest/consumer-support-ticket-draft.md`
|
|
43
|
+
- `.audit-reports/phase5-latest/phase5-blockers-readiness.md`
|
|
44
|
+
- `.audit-reports/phase5-latest/phase5-execution-closure-status.md`
|
|
45
|
+
- `.audit-reports/phase5-latest/phase5-execution-closure-run-report.md`
|
|
46
|
+
- `.audit-reports/phase5-latest/phase5-external-handoff.md`
|
|
47
|
+
|
|
48
|
+
### Packaged Attachment Bundle
|
|
49
|
+
|
|
50
|
+
- archive: `.audit-reports/phase5-latest/consumer-startup-escalation-bundle-latest.tgz`
|
|
51
|
+
- size: `8.0K`
|
|
52
|
+
- sha256: `00fbaa5952e3ca32bf6f3e546b76895aa550cc99f4500fadd7e970803420cc0c`
|
|
53
|
+
|
|
54
|
+
## Escalation Message
|
|
55
|
+
|
|
56
|
+
Persistent GitHub Actions startup blockage is reproducible in a private repository using controlled workflow_dispatch probes. Latest runs remain queued/stalled before job graph creation (`jobs=0`, `artifacts=0`) without progressing to normal execution; cancel attempts on queued runs also return `HTTP 500`. Request platform-side verification of account/repository controls for private Actions execution (policy, billing/quota, or internal restrictions) and explicit root cause confirmation.
|
|
57
|
+
|
|
58
|
+
## Support Ticket Payload (Ready To Paste)
|
|
59
|
+
|
|
60
|
+
Subject:
|
|
61
|
+
|
|
62
|
+
`Persistent GitHub Actions startup blockage with queued runs and cancel HTTP 500 (private repo)`
|
|
63
|
+
|
|
64
|
+
Body:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
Repository: SwiftEnProfundidad/pumuki-actions-healthcheck-temp (private)
|
|
68
|
+
|
|
69
|
+
Current status:
|
|
70
|
+
- phase5-blockers-readiness: READY
|
|
71
|
+
- phase5-execution-closure-status: BLOCKED
|
|
72
|
+
- consumer-startup-unblock-status: BLOCKED
|
|
73
|
+
|
|
74
|
+
Signals:
|
|
75
|
+
- startup_failure_runs: 0
|
|
76
|
+
- startup_stalled_runs: 8
|
|
77
|
+
- oldest_queued_run_age_minutes: 32
|
|
78
|
+
- queued runs have jobs.total_count=0 and artifacts.total_count=0
|
|
79
|
+
|
|
80
|
+
Cancel endpoint sample:
|
|
81
|
+
- POST /repos/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21900096926/cancel
|
|
82
|
+
- HTTP 500 "Failed to cancel workflow run"
|
|
83
|
+
- x-github-request-id: 86BD:50C44:E9BB08D:D8B86F4:698C4FC9
|
|
84
|
+
|
|
85
|
+
Latest run URLs:
|
|
86
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21944339604
|
|
87
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21943852102
|
|
88
|
+
- https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21943766103
|
|
89
|
+
|
|
90
|
+
Please verify platform-side/account-side controls for private Actions startup (policy, quota/billing, or internal restrictions) and confirm root cause.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Submission Tracking
|
|
94
|
+
|
|
95
|
+
- submission_readiness: `READY_TO_SUBMIT`
|
|
96
|
+
- submission_blocker: `NONE`
|
|
97
|
+
- support_ticket_id: `4077449`
|
|
98
|
+
- submitted_at_utc: `2026-02-11T13:54:02Z`
|
|
99
|
+
- submitted_by: `SwiftEnProfundidad`
|
|
100
|
+
- support_channel: `GitHub Support`
|
|
101
|
+
- follow_up_eta: `2026-02-12 18:00 UTC`
|
|
102
|
+
- follow_up_last_posted_at_utc: `2026-02-14T20:02:21Z`
|
|
103
|
+
- follow_up_last_posted_by: `juancarlosmerlosalbarracin`
|
|
104
|
+
- follow_up_state: `DEFERRED_NOT_PRIORITY_TICKET_CLOSED`
|
|
105
|
+
- support_reply_received_at_utc: `NOT_APPLICABLE_TICKET_CLOSED_BY_OPERATOR_2026-02-14T21:15:10Z`
|
|
106
|
+
- support_reply_summary: `Ticket 4077449 closed by operator decision without support response; external support path is de-scoped and not a current Pumuki priority.`
|
|
107
|
+
- loop_guard_started_at_utc: `2026-02-14T19:38:12Z`
|
|
108
|
+
- loop_guard_next_refresh_not_before_utc: `2026-02-15T19:38:12Z`
|
|
109
|
+
- loop_guard_override_condition: `support path de-scoped by operator/product decision (ticket closed)`
|
|
110
|
+
- loop_guard_auto_release_state: `follow_up_state=DEFERRED_NOT_PRIORITY_TICKET_CLOSED`
|
|
111
|
+
- loop_guard_check_command: `bash scripts/check-phase8-loop-guard.sh`
|
|
112
|
+
- loop_guard_check_command_alias: `npm run validation:phase8:loop-guard`
|
|
113
|
+
- loop_guard_coverage_alias: `npm run validation:phase8:loop-guard-coverage`
|
|
114
|
+
- loop_guard_enforced_in: `scripts/run-phase8-tick.sh`, `scripts/run-phase8-autopilot.sh`, `scripts/run-phase8-after-billing-reactivation.sh`, `scripts/run-phase5-post-support-refresh.sh`, `scripts/refresh-phase5-latest-escalation.sh`, `scripts/run-phase8-next-step.sh`, `scripts/run-phase8-status-pack.sh`, `scripts/run-phase8-doctor.sh`
|
|
115
|
+
- follow_up_tracking_command: `N/A (ticket 4077449 closed/de-scoped for current closure scope)`
|
|
116
|
+
- follow_up_tracking_command_alias: `N/A`
|
|
117
|
+
- follow_up_tracking_posted_now_alias: `N/A`
|
|
118
|
+
- follow_up_tracking_replied_now_alias: `N/A`
|
|
119
|
+
- known_external_cause: `BILLING_INACTIVE_OR_NOT_UPDATED`
|
|
120
|
+
- ticket_closure_owner: `SwiftEnProfundidad (manual close planned)`
|
|
121
|
+
- pre_submission_verification: `PASS`
|
|
122
|
+
- pre_submission_verified_at_utc: `2026-02-11T09:54:18Z`
|
|
123
|
+
|
|
124
|
+
## Support Ticket Follow-up Payload (2026-02-14)
|
|
125
|
+
|
|
126
|
+
Use this exact payload in ticket `4077449` as the next support follow-up update:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
Follow-up update for ticket 4077449 (consumer Actions startup queue stall)
|
|
130
|
+
|
|
131
|
+
Current blocker remains active in private repo:
|
|
132
|
+
- sample_size: 20 recent runs
|
|
133
|
+
- queued_runs: 20/20
|
|
134
|
+
- newest_run_id: 21944339604 (created_at: 2026-02-12T11:15:05Z)
|
|
135
|
+
- oldest_run_id: 21942203435 (created_at: 2026-02-12T10:08:37Z)
|
|
136
|
+
- oldest_queued_age_minutes: 3447 (snapshot captured on 2026-02-14T19:35:47Z)
|
|
137
|
+
- latest_run_url: https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21944339604
|
|
138
|
+
- latest_cancel_attempt: POST /actions/runs/21944339604/cancel -> HTTP 500 Failed to cancel workflow run
|
|
139
|
+
- latest_follow_up_api_attempt_1: POST /support/tickets/4077449/comments -> HTTP 404 Not Found
|
|
140
|
+
- latest_follow_up_api_attempt_2: POST /user/support/tickets/4077449/comments -> HTTP 404 Not Found
|
|
141
|
+
- latest_follow_up_payload_artifact: `.audit-reports/phase5-latest/github-support-followup-4077449-2026-02-14-portal-ready.txt`
|
|
142
|
+
- latest_follow_up_payload_sha256: `e9eca0665f26610c3aa83ebec335c65dde99657fe768af5b134fb53792a149c4`
|
|
143
|
+
|
|
144
|
+
Impact:
|
|
145
|
+
- Startup queue remains blocked, preventing READY chain completion for:
|
|
146
|
+
- consumer-startup-unblock-status
|
|
147
|
+
- phase5-execution-closure-status
|
|
148
|
+
|
|
149
|
+
Request:
|
|
150
|
+
- Please confirm account/platform-side root cause and required remediation steps.
|
|
151
|
+
- Once mitigated, we will immediately re-run readiness chain and attach new READY evidence.
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Manual Portal Submission Checklist (Execution)
|
|
155
|
+
|
|
156
|
+
Use this sequence exactly when submitting in GitHub Support portal:
|
|
157
|
+
|
|
158
|
+
1. Open a new support case and paste:
|
|
159
|
+
- Subject: `Persistent GitHub Actions startup blockage with queued runs and cancel HTTP 500 (private repo)`
|
|
160
|
+
- Body: copy from `Support Ticket Payload (Ready To Paste)` above.
|
|
161
|
+
2. Attach the packaged evidence archive:
|
|
162
|
+
- `.audit-reports/phase5-latest/consumer-startup-escalation-bundle-latest.tgz`
|
|
163
|
+
3. Add latest run URLs (minimum 2) in the case body:
|
|
164
|
+
- `https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21944339604`
|
|
165
|
+
- `https://github.com/SwiftEnProfundidad/pumuki-actions-healthcheck-temp/actions/runs/21943852102`
|
|
166
|
+
4. After pressing submit, update `Submission Tracking` in this file:
|
|
167
|
+
- `support_ticket_id: <real id>`
|
|
168
|
+
- `submitted_at_utc: <YYYY-MM-DDTHH:MM:SSZ>`
|
|
169
|
+
- `submitted_by: <github user>`
|
|
170
|
+
- `follow_up_eta: <date/time from support SLA>`
|
|
171
|
+
5. Optional fast update command:
|
|
172
|
+
- `npm run validation:phase5-escalation:mark-submitted -- <support_ticket_id> <submitted_by> "<follow_up_eta>" [submitted_at_utc]`
|
|
173
|
+
6. Optional payload/export command (portal copy/paste + attachments checklist):
|
|
174
|
+
- `npm run validation:phase5-escalation:payload -- .audit-reports/phase5-latest`
|
|
175
|
+
- output: `.audit-reports/phase5-latest/github-support-portal-payload.txt`
|
|
176
|
+
7. Optional deterministic pre-submit gate:
|
|
177
|
+
- `npm run validation:phase5-escalation:ready-to-submit -- .audit-reports/phase5-latest`
|
|
178
|
+
- expected exit code: `0` only when readiness, checksum and attachment checklist are aligned.
|
|
179
|
+
8. Optional one-shot submission package helper:
|
|
180
|
+
- `npm run validation:phase5-escalation:prepare -- .audit-reports/phase5-latest`
|
|
181
|
+
- runs pre-submit gate + payload generation and prints final manual steps.
|
|
182
|
+
9. Optional post-submit close helper (handoff + queue transition):
|
|
183
|
+
- `npm run validation:phase5-escalation:close-submission -- <support_ticket_id> <submitted_by> "<follow_up_eta>" [submitted_at_utc]`
|
|
184
|
+
- applies `Submission Tracking` update and flips queue from `P8-2b` to `P8-3`.
|
|
185
|
+
10. Channel constraint:
|
|
186
|
+
- GitHub CLI does not provide a `support` command for case creation; submission must be done in GitHub Support portal.
|
|
187
|
+
- Direct REST probe endpoints also return `404 Not Found` (`POST /support/tickets`, `POST /user/support/tickets`, `POST /support/tickets/4077449/comments`, `POST /user/support/tickets/4077449/comments`).
|
|
188
|
+
|
|
189
|
+
## Pre-Submission Verification
|
|
190
|
+
|
|
191
|
+
Before sending the support ticket, run:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
shasum -a 256 .audit-reports/phase5-latest/consumer-startup-escalation-bundle-latest.tgz
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Expected:
|
|
198
|
+
|
|
199
|
+
- `00fbaa5952e3ca32bf6f3e546b76895aa550cc99f4500fadd7e970803420cc0c .audit-reports/phase5-latest/consumer-startup-escalation-bundle-latest.tgz`
|
|
200
|
+
|
|
201
|
+
And verify required files are present:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
ls -1 \
|
|
205
|
+
.audit-reports/phase5-latest/consumer-ci-auth-check.md \
|
|
206
|
+
.audit-reports/phase5-latest/consumer-startup-failure-support-bundle.md \
|
|
207
|
+
.audit-reports/phase5-latest/consumer-startup-unblock-status.md \
|
|
208
|
+
.audit-reports/phase5-latest/consumer-support-ticket-draft.md \
|
|
209
|
+
.audit-reports/phase5-latest/phase5-external-handoff.md
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Post-Submission Refresh Sequence
|
|
213
|
+
|
|
214
|
+
After GitHub Support replies/applies a fix:
|
|
215
|
+
|
|
216
|
+
Fast path:
|
|
217
|
+
|
|
218
|
+
1. Run one-shot refresh:
|
|
219
|
+
- `npm run validation:phase5-latest:refresh -- SwiftEnProfundidad/pumuki-actions-healthcheck-temp 8 .audit-reports/phase5-latest .audit-reports/phase5/mock-consumer-ab-report.md`
|
|
220
|
+
2. Run one-shot post-support closure check:
|
|
221
|
+
- `npm run validation:phase5-post-support:refresh -- SwiftEnProfundidad/pumuki-actions-healthcheck-temp 8 .audit-reports/phase5-latest .audit-reports/phase5/mock-consumer-ab-report.md`
|
|
222
|
+
- expected exit code: `0` only when chain is fully `READY`.
|
|
223
|
+
|
|
224
|
+
Equivalent explicit steps:
|
|
225
|
+
|
|
226
|
+
1. Trigger a fresh probe:
|
|
227
|
+
- `gh workflow run health.yml --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp`
|
|
228
|
+
2. Recompute phase5 latest closure:
|
|
229
|
+
- `npx --yes tsx@4.21.0 scripts/run-phase5-execution-closure.ts --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp --limit 7 --out-dir .audit-reports/phase5-latest --skip-adapter --skip-workflow-lint`
|
|
230
|
+
3. Regenerate external handoff:
|
|
231
|
+
- `npx --yes tsx@4.21.0 scripts/build-phase5-external-handoff.ts --repo SwiftEnProfundidad/pumuki-actions-healthcheck-temp --phase5-status-report .audit-reports/phase5-latest/phase5-execution-closure-status.md --phase5-blockers-report .audit-reports/phase5-latest/phase5-blockers-readiness.md --consumer-unblock-report .audit-reports/phase5-latest/consumer-startup-unblock-status.md --mock-ab-report .audit-reports/phase5/mock-consumer-ab-report.md --run-report .audit-reports/phase5-latest/phase5-execution-closure-run-report.md --artifact-url <new_run_url_1> --artifact-url <new_run_url_2> --out .audit-reports/phase5-latest/phase5-external-handoff.md`
|
|
232
|
+
4. Update progress/TODO and set blocker to closed only when:
|
|
233
|
+
- `consumer-startup-unblock-status`: `READY`
|
|
234
|
+
- `phase5-execution-closure-status`: `READY`
|
|
235
|
+
5. Run deterministic chain check:
|
|
236
|
+
- `npm run validation:phase5-latest:ready-check`
|
|
237
|
+
- expected exit code: `0` only when all required reports are `READY`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Enterprise Consumer Isolation Policy
|
|
2
|
+
|
|
3
|
+
This policy defines how Pumuki framework validation is executed during stabilization, to prevent accidental changes in enterprise consumer repositories.
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
- Applies to all framework-maintenance work in this repository.
|
|
8
|
+
- Applies to all external consumer repositories used for diagnostics or rollout validation.
|
|
9
|
+
|
|
10
|
+
## Baseline Rule
|
|
11
|
+
|
|
12
|
+
During framework stabilization, enterprise consumer repositories are read-only validation targets.
|
|
13
|
+
|
|
14
|
+
- Do not commit, push, or open remediation branches in enterprise consumer repositories.
|
|
15
|
+
- Do not change workflows, source files, or configuration in enterprise consumer repositories as part of framework validation.
|
|
16
|
+
- Keep framework implementation and consumer application remediation as separate streams.
|
|
17
|
+
|
|
18
|
+
## Allowed Operations on Enterprise Consumers
|
|
19
|
+
|
|
20
|
+
- Read-only diagnostics:
|
|
21
|
+
- CI artifact collection
|
|
22
|
+
- startup triage report generation
|
|
23
|
+
- workflow lint scans (report-only)
|
|
24
|
+
- evidence capture for incident/support payloads
|
|
25
|
+
- Local temporary files generated by diagnostics are allowed only when ignored and cleaned after execution.
|
|
26
|
+
|
|
27
|
+
## Default Validation Target
|
|
28
|
+
|
|
29
|
+
Use a dedicated mock consumer repository for active integration validation:
|
|
30
|
+
|
|
31
|
+
- install Pumuki from local framework workspace
|
|
32
|
+
- run PRE_COMMIT / PRE_PUSH / CI runners
|
|
33
|
+
- execute deterministic A/B checks
|
|
34
|
+
- validate evidence generation (`.ai_evidence.json`, `version: "2.1"`)
|
|
35
|
+
|
|
36
|
+
## Exception Process
|
|
37
|
+
|
|
38
|
+
Enterprise consumer modifications require explicit operator approval and must be handled in the consumer repository lifecycle (separate change request), not in framework stabilization tasks.
|
|
39
|
+
|
|
40
|
+
## Enforcement Checklist
|
|
41
|
+
|
|
42
|
+
- [ ] Validation run starts in mock consumer repository first.
|
|
43
|
+
- [ ] Enterprise consumer diagnostics are read-only.
|
|
44
|
+
- [ ] No staged changes remain in enterprise consumer repository after diagnostics.
|
|
45
|
+
- [ ] Any required remediation is documented as external follow-up, not applied from framework tasks.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# GitHub Support Ticket Template - Actions Startup Failure (Private Repo)
|
|
2
|
+
|
|
3
|
+
Use this template when startup failures persist after local workflow lint and repository-level permissions checks.
|
|
4
|
+
|
|
5
|
+
## Subject
|
|
6
|
+
|
|
7
|
+
Persistent GitHub Actions `startup_failure` with no jobs in private repository
|
|
8
|
+
|
|
9
|
+
## Repository
|
|
10
|
+
|
|
11
|
+
- Owner/repo: `<owner>/<repo>`
|
|
12
|
+
- Visibility: `private`
|
|
13
|
+
- Example branch: `<branch>`
|
|
14
|
+
|
|
15
|
+
## Problem Summary
|
|
16
|
+
|
|
17
|
+
GitHub Actions runs consistently fail with:
|
|
18
|
+
|
|
19
|
+
- `conclusion: startup_failure`
|
|
20
|
+
- queued/stalled runs accumulating (`status: queued`, no conclusion)
|
|
21
|
+
- cancel attempts on queued runs failing (`POST /cancel -> HTTP 500`)
|
|
22
|
+
- no jobs created (`jobs.total_count = 0`)
|
|
23
|
+
- no check runs (`latest_check_runs_count = 0`)
|
|
24
|
+
- artifact endpoint empty (`total_count = 0`)
|
|
25
|
+
|
|
26
|
+
This happens across push, pull_request, and workflow_dispatch events.
|
|
27
|
+
|
|
28
|
+
## Evidence
|
|
29
|
+
|
|
30
|
+
Run URLs (examples):
|
|
31
|
+
|
|
32
|
+
- `<run_url_1>`
|
|
33
|
+
- `<run_url_2>`
|
|
34
|
+
- `<run_url_3>`
|
|
35
|
+
|
|
36
|
+
Counters snapshot (from latest support bundle):
|
|
37
|
+
|
|
38
|
+
- `startup_failure_runs: <n>`
|
|
39
|
+
- `startup_stalled_runs: <n>`
|
|
40
|
+
- `oldest_queued_run_age_minutes: <n>`
|
|
41
|
+
|
|
42
|
+
API metadata sample:
|
|
43
|
+
|
|
44
|
+
- `GET /repos/<owner>/<repo>/actions/runs/<run_id>`
|
|
45
|
+
- `name`: `<name>`
|
|
46
|
+
- `path`: `<path>`
|
|
47
|
+
- `conclusion`: `startup_failure`
|
|
48
|
+
- `GET /repos/<owner>/<repo>/actions/runs/<run_id>/jobs`
|
|
49
|
+
- `total_count: 0`
|
|
50
|
+
- `GET /repos/<owner>/<repo>/actions/runs/<run_id>/artifacts`
|
|
51
|
+
- `total_count: 0`
|
|
52
|
+
- `POST /repos/<owner>/<repo>/actions/runs/<run_id>/cancel`
|
|
53
|
+
- `HTTP 500`
|
|
54
|
+
- `x-github-request-id: <request_id>`
|
|
55
|
+
- `GET /repos/<owner>/<repo>/check-suites/<suite_id>`
|
|
56
|
+
- `conclusion: startup_failure`
|
|
57
|
+
- `latest_check_runs_count: 0`
|
|
58
|
+
|
|
59
|
+
## Diagnostics Already Performed
|
|
60
|
+
|
|
61
|
+
1. Verified Actions enabled:
|
|
62
|
+
- `GET /repos/<owner>/<repo>/actions/permissions`
|
|
63
|
+
2. Verified workflow permissions:
|
|
64
|
+
- `GET /repos/<owner>/<repo>/actions/permissions/workflow`
|
|
65
|
+
3. Tested access-level toggle (`actions/permissions/access`) and reverted.
|
|
66
|
+
4. Ran semantic workflow lint and fixed known lint findings in a temporary branch.
|
|
67
|
+
5. Attempted to cancel queued runs; GitHub API returned `HTTP 500`.
|
|
68
|
+
6. Re-triggered workflow_dispatch after fixes; startup failure/queue stall persisted.
|
|
69
|
+
|
|
70
|
+
## Expected Behavior
|
|
71
|
+
|
|
72
|
+
At least one workflow job should start for workflow_dispatch on a valid workflow file, and logs should be available.
|
|
73
|
+
|
|
74
|
+
## Request
|
|
75
|
+
|
|
76
|
+
Please check account/repository-level controls for private Actions execution (billing, policy, internal restrictions) and provide the exact reason for startup failure in these runs.
|
|
77
|
+
|
|
78
|
+
## Attachments
|
|
79
|
+
|
|
80
|
+
- CI artifact scan report markdown
|
|
81
|
+
- startup support bundle markdown
|
|
82
|
+
- startup unblock status markdown
|
|
83
|
+
- workflow lint report markdown
|
|
84
|
+
- startup-fix experiment report markdown
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Mock Consumer Integration Runbook
|
|
2
|
+
|
|
3
|
+
Use this runbook to validate framework integration behavior in a dedicated mock consumer repository before running any enterprise-consumer diagnostics.
|
|
4
|
+
|
|
5
|
+
Policy anchor: `docs/validation/enterprise-consumer-isolation-policy.md`.
|
|
6
|
+
|
|
7
|
+
## Goal
|
|
8
|
+
|
|
9
|
+
Validate packaging and runtime behavior (`PRE_COMMIT`, `PRE_PUSH`, `CI`) without touching enterprise consumer repositories.
|
|
10
|
+
|
|
11
|
+
## Preconditions
|
|
12
|
+
|
|
13
|
+
- Framework repository up to date on the active working branch.
|
|
14
|
+
- Dependencies installed in framework workspace (`npm ci`).
|
|
15
|
+
- Local mock consumer repository available (for example: `pumuki-mock-consumer`).
|
|
16
|
+
|
|
17
|
+
## Path A: Deterministic package smoke (recommended baseline)
|
|
18
|
+
|
|
19
|
+
Run both smoke modes from framework workspace:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm run validation:package-smoke
|
|
23
|
+
npm run validation:package-smoke:minimal
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Expected outcomes:
|
|
27
|
+
|
|
28
|
+
- `block` mode: stage commands exit `1` with `snapshot.outcome=BLOCK`.
|
|
29
|
+
- `minimal` mode: stage commands exit `0` with `snapshot.outcome=PASS`.
|
|
30
|
+
|
|
31
|
+
Artifacts:
|
|
32
|
+
|
|
33
|
+
- `.audit-reports/package-smoke/block/summary.md`
|
|
34
|
+
- `.audit-reports/package-smoke/minimal/summary.md`
|
|
35
|
+
|
|
36
|
+
Optional deterministic A/B report (smoke + evidence v2.1 contract):
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm run validation:mock-consumer-ab-report -- \
|
|
40
|
+
--repo <owner>/<repo> \
|
|
41
|
+
--out .audit-reports/mock-consumer/mock-consumer-ab-report.md \
|
|
42
|
+
--block-summary .audit-reports/package-smoke/block/summary.md \
|
|
43
|
+
--minimal-summary .audit-reports/package-smoke/minimal/summary.md \
|
|
44
|
+
--block-evidence .audit-reports/package-smoke/block/ci.ai_evidence.json \
|
|
45
|
+
--minimal-evidence .audit-reports/package-smoke/minimal/ci.ai_evidence.json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Path B: Manual local integration in mock consumer
|
|
49
|
+
|
|
50
|
+
1. Pack framework from current branch:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm pack
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
2. Install tarball in mock consumer:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm install /absolute/path/to/pumuki-<version>.tgz
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
3. Execute stage wrappers from mock consumer:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx tsx integrations/git/preCommitIOS.cli.ts
|
|
66
|
+
npx tsx integrations/git/prePushBackend.cli.ts
|
|
67
|
+
npx tsx integrations/git/ciFrontend.cli.ts
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
4. Inspect deterministic evidence:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
jq -r '.version' .ai_evidence.json
|
|
74
|
+
jq -r '.snapshot.stage' .ai_evidence.json
|
|
75
|
+
jq -r '.snapshot.outcome' .ai_evidence.json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## A/B Checklist
|
|
79
|
+
|
|
80
|
+
- [ ] Same input repo state yields stable evidence semantics (`snapshot/findings/platforms/rulesets`).
|
|
81
|
+
- [ ] `block` and `minimal` smoke modes behave as expected.
|
|
82
|
+
- [ ] No enterprise consumer repository was modified during this validation.
|
|
83
|
+
|
|
84
|
+
## Exit Criteria
|
|
85
|
+
|
|
86
|
+
- Smoke summaries show `Status: PASS` for both modes.
|
|
87
|
+
- Mock consumer evidence is `version: "2.1"`.
|
|
88
|
+
- Mock consumer A/B report reaches `verdict: READY`.
|
|
89
|
+
- Any enterprise-consumer follow-up is documented as external diagnostics/remediation, not applied from framework workspace.
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
# Phase 5 Execution Closure Runbook
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Close the remaining manual blockers for Phase 5 rollout validation using deterministic generated reports, without coupling gate runtime behavior to IDE-specific adapters.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
This runbook is operational. It validates rollout readiness and incident closure evidence. It does not change PRE_COMMIT, PRE_PUSH, or CI gate outcomes in this repository.
|
|
10
|
+
|
|
11
|
+
## One-shot orchestration command
|
|
12
|
+
|
|
13
|
+
Use this command to run the full closure flow end-to-end:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm run validation:phase5-execution-closure -- \
|
|
17
|
+
--repo <owner>/<repo> \
|
|
18
|
+
--out-dir .audit-reports/phase5 \
|
|
19
|
+
--skip-workflow-lint
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Default behavior includes an auth/scope preflight (`check-consumer-ci-auth`) and stops before triage when auth is blocked.
|
|
23
|
+
|
|
24
|
+
Strict adapter mode:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm run validation:phase5-execution-closure -- \
|
|
28
|
+
--repo <owner>/<repo> \
|
|
29
|
+
--out-dir .audit-reports/phase5 \
|
|
30
|
+
--repo-path /absolute/path/to/consumer-repo \
|
|
31
|
+
--actionlint-bin /tmp/actionlint-bin/actionlint \
|
|
32
|
+
--require-adapter-readiness
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Generated orchestration summary:
|
|
36
|
+
|
|
37
|
+
- `.audit-reports/phase5/phase5-execution-closure-run-report.md`
|
|
38
|
+
|
|
39
|
+
Optional: disable auth preflight when you intentionally want triage to execute auth internally:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run validation:phase5-execution-closure -- \
|
|
43
|
+
--repo <owner>/<repo> \
|
|
44
|
+
--out-dir .audit-reports/phase5 \
|
|
45
|
+
--skip-workflow-lint \
|
|
46
|
+
--skip-auth-preflight
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Mock-consumer mode (local, no external GH dependency):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm run validation:phase5-execution-closure -- \
|
|
53
|
+
--repo <owner>/<repo> \
|
|
54
|
+
--out-dir .audit-reports/phase5 \
|
|
55
|
+
--mock-consumer
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
This mode consumes local package-smoke summaries:
|
|
59
|
+
|
|
60
|
+
- `.audit-reports/package-smoke/block/summary.md`
|
|
61
|
+
- `.audit-reports/package-smoke/minimal/summary.md`
|
|
62
|
+
- `.audit-reports/package-smoke/block/ci.ai_evidence.json`
|
|
63
|
+
- `.audit-reports/package-smoke/minimal/ci.ai_evidence.json`
|
|
64
|
+
|
|
65
|
+
and emits local A/B readiness evidence:
|
|
66
|
+
|
|
67
|
+
- `.audit-reports/phase5/mock-consumer-ab-report.md`
|
|
68
|
+
|
|
69
|
+
CI coverage:
|
|
70
|
+
|
|
71
|
+
- `.github/workflows/pumuki-phase5-mock.yml`
|
|
72
|
+
|
|
73
|
+
## Required Inputs
|
|
74
|
+
|
|
75
|
+
- Consumer startup triage report (external consumer repository diagnostics):
|
|
76
|
+
- `.audit-reports/consumer-triage/consumer-startup-triage-report.md`
|
|
77
|
+
|
|
78
|
+
Optional adapter diagnostics input:
|
|
79
|
+
|
|
80
|
+
- Adapter real-session runtime report:
|
|
81
|
+
- `.audit-reports/adapter/adapter-real-session-report.md`
|
|
82
|
+
|
|
83
|
+
## Step 1: Generate/refresh Adapter report
|
|
84
|
+
|
|
85
|
+
Run in this repository:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm run validation:adapter-session-status -- --out .audit-reports/adapter/adapter-session-status.md
|
|
89
|
+
npm run validation:adapter-real-session-report -- \
|
|
90
|
+
--status-report .audit-reports/adapter/adapter-session-status.md \
|
|
91
|
+
--out .audit-reports/adapter/adapter-real-session-report.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If strict runtime checks fail with `node: command not found`, execute:
|
|
95
|
+
|
|
96
|
+
- `docs/validation/adapter-hook-runtime-validation.md`
|
|
97
|
+
|
|
98
|
+
and regenerate both reports.
|
|
99
|
+
|
|
100
|
+
## Step 2: Generate adapter readiness report (optional but recommended)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npm run validation:adapter-readiness -- \
|
|
104
|
+
--adapter-report .audit-reports/adapter/adapter-real-session-report.md \
|
|
105
|
+
--out .audit-reports/adapter/adapter-readiness.md
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Expected adapter verdict when runtime is healthy:
|
|
109
|
+
|
|
110
|
+
- `READY`
|
|
111
|
+
|
|
112
|
+
If verdict is `BLOCKED` or `PENDING`, resolve the next-actions section in that report and regenerate it.
|
|
113
|
+
|
|
114
|
+
## Step 3: Generate/refresh consumer startup triage
|
|
115
|
+
|
|
116
|
+
Run against consumer repository context:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npm run validation:consumer-startup-triage -- \
|
|
120
|
+
--repo <owner>/<repo> \
|
|
121
|
+
--out-dir .audit-reports/phase5 \
|
|
122
|
+
--skip-workflow-lint
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
For local mock-consumer closure, this step is generated by `--mock-consumer` orchestration.
|
|
126
|
+
|
|
127
|
+
Optional with workflow lint:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
npm run validation:consumer-startup-triage -- \
|
|
131
|
+
--repo <owner>/<repo> \
|
|
132
|
+
--repo-path /absolute/path/to/consumer-repo \
|
|
133
|
+
--actionlint-bin /tmp/actionlint-bin/actionlint
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Step 4: Consolidate Phase 5 blockers readiness
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
npm run validation:phase5-blockers-readiness -- \
|
|
140
|
+
--consumer-triage-report .audit-reports/phase5/consumer-startup-triage-report.md \
|
|
141
|
+
--out .audit-reports/phase5/phase5-blockers-readiness.md
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Optional strict adapter mode:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npm run validation:phase5-blockers-readiness -- \
|
|
148
|
+
--require-adapter-report \
|
|
149
|
+
--adapter-report .audit-reports/adapter/adapter-real-session-report.md \
|
|
150
|
+
--consumer-triage-report .audit-reports/phase5/consumer-startup-triage-report.md \
|
|
151
|
+
--out .audit-reports/phase5/phase5-blockers-readiness.md
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Expected verdict to close Phase 5 execution:
|
|
155
|
+
|
|
156
|
+
- `READY`
|
|
157
|
+
|
|
158
|
+
If verdict is `BLOCKED` or `MISSING_INPUTS`, follow the next-actions section in generated report and rerun.
|
|
159
|
+
|
|
160
|
+
## Step 5: Generate execution-closure status snapshot
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npm run validation:phase5-execution-closure-status -- \
|
|
164
|
+
--phase5-blockers-report .audit-reports/phase5/phase5-blockers-readiness.md \
|
|
165
|
+
--consumer-unblock-report .audit-reports/phase5/consumer-startup-unblock-status.md \
|
|
166
|
+
--out .audit-reports/phase5/phase5-execution-closure-status.md
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Optional strict adapter mode:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
npm run validation:phase5-execution-closure-status -- \
|
|
173
|
+
--phase5-blockers-report .audit-reports/phase5/phase5-blockers-readiness.md \
|
|
174
|
+
--consumer-unblock-report .audit-reports/phase5/consumer-startup-unblock-status.md \
|
|
175
|
+
--adapter-readiness-report .audit-reports/adapter/adapter-readiness.md \
|
|
176
|
+
--require-adapter-readiness \
|
|
177
|
+
--out .audit-reports/phase5/phase5-execution-closure-status.md
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Step 6: Generate external handoff report
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
npm run validation:phase5-external-handoff -- \
|
|
184
|
+
--repo <owner>/<repo> \
|
|
185
|
+
--require-mock-ab-report \
|
|
186
|
+
--out .audit-reports/phase5/phase5-external-handoff.md
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Optional strict artifact mode:
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
npm run validation:phase5-external-handoff -- \
|
|
193
|
+
--repo <owner>/<repo> \
|
|
194
|
+
--require-mock-ab-report \
|
|
195
|
+
--require-artifact-urls \
|
|
196
|
+
--artifact-url https://github.com/<owner>/<repo>/actions/runs/<run-id> \
|
|
197
|
+
--out .audit-reports/phase5/phase5-external-handoff.md
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Exit Criteria
|
|
201
|
+
|
|
202
|
+
Phase 5 execution closure is complete when all are true:
|
|
203
|
+
|
|
204
|
+
- `.audit-reports/phase5/phase5-blockers-readiness.md` exists with `- verdict: READY`
|
|
205
|
+
- `.audit-reports/phase5/phase5-execution-closure-status.md` exists with `- verdict: READY`
|
|
206
|
+
- `.audit-reports/phase5/phase5-external-handoff.md` exists with `- verdict: READY`
|
|
207
|
+
- `docs/TODO.md` Phase 5 execution closure item is marked complete
|
|
208
|
+
- Relevant rollout/report docs include links to final generated artifacts
|
|
209
|
+
|
|
210
|
+
## Quick Checklist
|
|
211
|
+
|
|
212
|
+
- [ ] `validation:adapter-real-session-report` generated and reviewed
|
|
213
|
+
- [ ] `validation:adapter-readiness` generated and reviewed
|
|
214
|
+
- [ ] `validation:consumer-startup-triage` generated against target repo
|
|
215
|
+
- [ ] `validation:phase5-blockers-readiness` returns `verdict=READY`
|
|
216
|
+
- [ ] `validation:phase5-execution-closure-status` returns `verdict=READY`
|
|
217
|
+
- [ ] mock-consumer A/B report exists with `verdict=READY` when using `--mock-consumer`
|
|
218
|
+
- [ ] `validation:phase5-external-handoff` returns `verdict=READY`
|
|
219
|
+
- [ ] `docs/TODO.md` execution-closure item updated
|
|
220
|
+
|
|
221
|
+
## Related References
|
|
222
|
+
|
|
223
|
+
- `docs/validation/adapter-hook-runtime-validation.md`
|
|
224
|
+
- `docs/validation/consumer-ci-startup-failure-playbook.md`
|
|
225
|
+
- `docs/validation/phase8-external-rollout-pack.md`
|
|
226
|
+
- `docs/validation/skills-rollout-consumer-repositories.md`
|
|
227
|
+
- `docs/TODO.md`
|