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,114 @@
|
|
|
1
|
+
# MCP Servers (v2.x)
|
|
2
|
+
|
|
3
|
+
This repository currently exposes a single active MCP-oriented server implementation:
|
|
4
|
+
|
|
5
|
+
- **Evidence Context Server** (read-only)
|
|
6
|
+
|
|
7
|
+
## Evidence Context Server
|
|
8
|
+
|
|
9
|
+
### Source files
|
|
10
|
+
|
|
11
|
+
- `integrations/mcp/evidenceContextServer.ts`
|
|
12
|
+
- `integrations/mcp/evidenceContextServer.cli.ts`
|
|
13
|
+
- `integrations/mcp/index.ts`
|
|
14
|
+
|
|
15
|
+
### Purpose
|
|
16
|
+
|
|
17
|
+
Expose deterministic evidence (`.ai_evidence.json`) to external agents without allowing writes.
|
|
18
|
+
|
|
19
|
+
### Contract
|
|
20
|
+
|
|
21
|
+
- Serves evidence only when file exists and `version === "2.1"`.
|
|
22
|
+
- Returns deterministic JSON payload from local repo root.
|
|
23
|
+
|
|
24
|
+
### Default runtime
|
|
25
|
+
|
|
26
|
+
- Host: `127.0.0.1`
|
|
27
|
+
- Port: `7341`
|
|
28
|
+
- Route: `/ai-evidence`
|
|
29
|
+
|
|
30
|
+
### Endpoints
|
|
31
|
+
|
|
32
|
+
- `GET /health`
|
|
33
|
+
- `200 { "status": "ok" }`
|
|
34
|
+
- `GET /status`
|
|
35
|
+
- `200` with evidence health summary and `context_api` filter/pagination capabilities (including `present`, `valid`, `version`, `stage`, `outcome`, `has_findings`, `tracked_platforms_count`, `detected_platforms_count`, `non_detected_platforms_count`, `suppressed_findings_count`, `suppressed_replacement_rule_platform_pairs_ratio_pct`, `suppressed_non_replacement_rule_platform_pairs_ratio_pct`, and related suppression facets)
|
|
36
|
+
- `GET /ai-evidence`
|
|
37
|
+
- `200` with evidence payload when valid
|
|
38
|
+
- `404` when missing or invalid
|
|
39
|
+
- `GET /ai-evidence/summary`
|
|
40
|
+
- `200` with compact deterministic summary (including `snapshot.has_findings`, `snapshot.findings_files_count`, `snapshot.findings_rules_count`, `snapshot.findings_with_lines_count`, `snapshot.findings_without_lines_count`, `snapshot.severity_counts`, `snapshot.findings_by_platform`, `snapshot.highest_severity`, `snapshot.blocking_findings_count`, `ledger_count`, `ledger_files_count`, `ledger_rules_count`, `ledger_by_platform`, `rulesets_count`, `rulesets_platforms_count`, `rulesets_bundles_count`, `rulesets_hashes_count`, `rulesets_by_platform`, `rulesets_fingerprint`, `platform_confidence_counts`, `suppressed_findings_count`, `suppressed_replacement_rules_count`, `suppressed_platforms_count`, `suppressed_files_count`, `suppressed_rules_count`, `tracked_platforms_count`, `detected_platforms_count`, `non_detected_platforms_count`, `suppressed_replacement_rule_platform_pairs_ratio_pct`, `suppressed_non_replacement_rule_platform_pairs_ratio_pct`)
|
|
41
|
+
- `404` when missing or invalid
|
|
42
|
+
- `GET /ai-evidence/snapshot`
|
|
43
|
+
- `200` with deterministic snapshot + findings
|
|
44
|
+
- `404` when missing or invalid
|
|
45
|
+
- `GET /ai-evidence/findings`
|
|
46
|
+
- `200` with deterministic findings list
|
|
47
|
+
- supports `?severity=...&ruleId=...&platform=...`
|
|
48
|
+
- supports `?limit=...&offset=...` for deterministic pagination
|
|
49
|
+
- applies deterministic `maxLimit=100` bound
|
|
50
|
+
- paginated responses include `pagination.has_more`
|
|
51
|
+
- `404` when missing or invalid
|
|
52
|
+
- `GET /ai-evidence/rulesets`
|
|
53
|
+
- `200` with deterministic sorted rulesets
|
|
54
|
+
- supports `?platform=...&bundle=...` for deterministic filtered slices
|
|
55
|
+
- supports `?limit=...&offset=...` for deterministic pagination (`maxLimit=100`)
|
|
56
|
+
- paginated responses include `pagination.has_more`
|
|
57
|
+
- `404` when missing or invalid
|
|
58
|
+
- `GET /ai-evidence/platforms`
|
|
59
|
+
- `200` with detected platforms only
|
|
60
|
+
- supports `?detectedOnly=false` for full platform state
|
|
61
|
+
- supports `?confidence=HIGH|MEDIUM|LOW` for deterministic filtered slices
|
|
62
|
+
- supports `?limit=...&offset=...` for deterministic pagination (`maxLimit=100`)
|
|
63
|
+
- paginated responses include `pagination.has_more`
|
|
64
|
+
- `404` when missing or invalid
|
|
65
|
+
- `GET /ai-evidence/ledger`
|
|
66
|
+
- `200` with deterministic sorted open-ledger entries
|
|
67
|
+
- supports `?lastSeenAfter=...&lastSeenBefore=...` for deterministic time-window slices
|
|
68
|
+
- supports `?limit=...&offset=...` for deterministic pagination (`maxLimit=100`)
|
|
69
|
+
- paginated responses include `pagination.has_more`
|
|
70
|
+
- `404` when missing or invalid
|
|
71
|
+
|
|
72
|
+
### Run locally
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm run mcp:evidence
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Or directly:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npx tsx integrations/mcp/evidenceContextServer.cli.ts
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Environment variables
|
|
85
|
+
|
|
86
|
+
- `PUMUKI_EVIDENCE_HOST`
|
|
87
|
+
- `PUMUKI_EVIDENCE_PORT`
|
|
88
|
+
- `PUMUKI_EVIDENCE_ROUTE`
|
|
89
|
+
|
|
90
|
+
Example:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
PUMUKI_EVIDENCE_PORT=7342 npm run mcp:evidence
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Testing
|
|
97
|
+
|
|
98
|
+
Server behavior is covered in:
|
|
99
|
+
|
|
100
|
+
- `integrations/mcp/__tests__/evidenceContextServer.test.ts`
|
|
101
|
+
|
|
102
|
+
Run:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm run test:mcp
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Scope note
|
|
109
|
+
|
|
110
|
+
Legacy MCP references (older automation/watcher services) are not part of the active v2.x documentation surface.
|
|
111
|
+
|
|
112
|
+
Consumption pattern reference:
|
|
113
|
+
|
|
114
|
+
- `docs/MCP_AGENT_CONTEXT_CONSUMPTION.md`
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Documentation Index (v2.x)
|
|
2
|
+
|
|
3
|
+
This index is the canonical entry point for framework documentation in this repository.
|
|
4
|
+
|
|
5
|
+
Language baseline: active repository documentation is maintained in English.
|
|
6
|
+
|
|
7
|
+
## Core Architecture
|
|
8
|
+
|
|
9
|
+
- `ARCHITECTURE.md`: normative architecture contract and layer boundaries.
|
|
10
|
+
- `ARCHITECTURE_DETAILED.md`: deeper implementation-level architecture details.
|
|
11
|
+
- `HOW_IT_WORKS.md`: operational flow from facts to evidence.
|
|
12
|
+
- `API_REFERENCE.md`: exported APIs and integration entrypoints.
|
|
13
|
+
- `AST_HEURISTICS_REINTRODUCTION_PLAN.md`: staged plan for semantic heuristics.
|
|
14
|
+
|
|
15
|
+
## Configuration and Operations
|
|
16
|
+
|
|
17
|
+
- `INSTALLATION.md`: installation and bootstrap.
|
|
18
|
+
- `USAGE.md`: daily usage patterns and stage execution.
|
|
19
|
+
- `CONFIGURATION.md`: runtime and repository configuration.
|
|
20
|
+
- `CONTRIBUTING.md`: contribution standards and guardrails.
|
|
21
|
+
- `CODE_STANDARDS.md`: coding conventions for v2.x work.
|
|
22
|
+
- `DEPENDENCIES.md`: dependency policy and maintenance notes.
|
|
23
|
+
- `TESTING.md`: validation strategy and test command matrix.
|
|
24
|
+
- `BRANCH_PROTECTION_GUIDE.md`: branch protection policy and setup.
|
|
25
|
+
- `skills-repo-enforcement-migration.md`: migration path for skills enforcement.
|
|
26
|
+
|
|
27
|
+
## Evidence and Integrations
|
|
28
|
+
|
|
29
|
+
- `evidence-v2.1.md`: deterministic evidence schema and behavior.
|
|
30
|
+
- `MCP_EVIDENCE_CONTEXT_SERVER.md`: evidence context server contract.
|
|
31
|
+
- `MCP_SERVERS.md`: MCP integration overview.
|
|
32
|
+
- `MCP_AGENT_CONTEXT_CONSUMPTION.md`: deterministic pre-action context consumption pattern for agents.
|
|
33
|
+
|
|
34
|
+
## Rule Packs
|
|
35
|
+
|
|
36
|
+
- `rule-packs/README.md`: rule pack versions and override model.
|
|
37
|
+
- `rule-packs/ios.md`
|
|
38
|
+
- `rule-packs/backend.md`
|
|
39
|
+
- `rule-packs/frontend.md`
|
|
40
|
+
- `rule-packs/android.md`
|
|
41
|
+
- `rule-packs/heuristics.md`
|
|
42
|
+
|
|
43
|
+
## Validation and Runbooks
|
|
44
|
+
|
|
45
|
+
- `validation/README.md`: validation docs policy.
|
|
46
|
+
- `validation/consumer-ci-startup-failure-playbook.md`
|
|
47
|
+
- `validation/consumer-startup-escalation-handoff-latest.md`
|
|
48
|
+
- `validation/phase5-execution-closure.md`
|
|
49
|
+
- `validation/phase8-external-rollout-pack.md`
|
|
50
|
+
- `validation/phase8-post-billing-reactivation-runbook.md`
|
|
51
|
+
- `validation/adapter-hook-runtime-validation.md`
|
|
52
|
+
- `validation/adapter-hook-runtime-local-report.md`
|
|
53
|
+
- `validation/adapter-real-session-report-template.md`
|
|
54
|
+
- `validation/enterprise-consumer-isolation-policy.md`
|
|
55
|
+
- `validation/mock-consumer-integration-runbook.md`
|
|
56
|
+
- `validation/github-support-ticket-template-startup-failure.md`
|
|
57
|
+
- `validation/skills-rollout-consumer-repositories.md`
|
|
58
|
+
- `validation/archive/README.md`: historical validation reports.
|
|
59
|
+
|
|
60
|
+
## Vendored Codex Skills
|
|
61
|
+
|
|
62
|
+
- `codex-skills/swift-concurrency.md`
|
|
63
|
+
- `codex-skills/swiftui-expert-skill.md`
|
|
64
|
+
- `codex-skills/windsurf-rules-android.md`
|
|
65
|
+
- `codex-skills/windsurf-rules-backend.md`
|
|
66
|
+
- `codex-skills/windsurf-rules-frontend.md`
|
|
67
|
+
- `codex-skills/windsurf-rules-ios.md`
|
|
68
|
+
|
|
69
|
+
## Assets
|
|
70
|
+
|
|
71
|
+
- `images/README.md`: visual asset inventory and usage notes.
|
|
72
|
+
|
|
73
|
+
## Change Tracking
|
|
74
|
+
|
|
75
|
+
- `RELEASE_NOTES.md`: v2.x release notes and rollout checkpoints.
|
|
76
|
+
- `TODO.md`: active operational work tracking.
|
|
77
|
+
- `REFRACTOR_PROGRESS.md`: linear phase-by-phase status (done/in-progress/pending).
|
|
78
|
+
|
|
79
|
+
## Root-Level Pointers
|
|
80
|
+
|
|
81
|
+
- `README.md` (repository root) is the product-facing overview.
|
|
82
|
+
- `ARCHITECTURE.md` (repository root) is a conceptual shortcut; use this index and `docs/ARCHITECTURE.md` for canonical references.
|
|
83
|
+
- `CHANGELOG.md` (repository root) tracks top-level package changes for the active baseline.
|
|
84
|
+
- `AGENTS.md` (repository root) defines repository execution constraints for coding agents.
|
|
85
|
+
- `CLAUDE.md` (repository root) provides a concise agent profile aligned with repository policies.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# Refactor Progress Tracker
|
|
2
|
+
|
|
3
|
+
Estado consolidado del refactor con seguimiento de tareas y evidencia del avance.
|
|
4
|
+
|
|
5
|
+
## Leyenda
|
|
6
|
+
- ✅ Completada
|
|
7
|
+
- 🚧 En progreso
|
|
8
|
+
- ⏳ Pendiente
|
|
9
|
+
|
|
10
|
+
## Fase 1 — Crítico (bloquea release)
|
|
11
|
+
- ✅ Corregir `jest.config.js` para descubrir y ejecutar tests TS reales de Jest (`*.spec.ts`) con `babel-jest`.
|
|
12
|
+
- ✅ Validar ejecución de suites tras corrección: suites y pruebas recuperadas, cobertura global `4.12%`.
|
|
13
|
+
- ✅ Definir baseline mínimo de cobertura para rutas críticas (`gate`, `evidence`, `heuristics`).
|
|
14
|
+
|
|
15
|
+
## Fase 2 — Alto (calidad)
|
|
16
|
+
- ⏳ Dividir `integrations/mcp/evidenceFacets.ts` por dominios de facetas.
|
|
17
|
+
- ⏳ Dividir `integrations/mcp/evidencePayloads.ts` por builders/contextos.
|
|
18
|
+
- ✅ Particionar `integrations/gate/__tests__/stagePolicies-promotions-first.test.ts` en suites pequeñas.
|
|
19
|
+
- ✅ Particionar `integrations/gate/__tests__/stagePolicies-promotions-second.test.ts` en suites pequeñas.
|
|
20
|
+
- ✅ Particionar `integrations/gate/__tests__/stagePolicies-promotions-third.test.ts` en suites pequeñas.
|
|
21
|
+
- ✅ Consolidar micro-módulos redundantes en `scripts/`:
|
|
22
|
+
- `consumer-support-bundle-gh-*`
|
|
23
|
+
- `framework-menu-runners-validation-*`
|
|
24
|
+
- `consumer-support-bundle-markdown-sections-*`
|
|
25
|
+
- ⏳ Reducir backlog de archivos sin test en `core/` e `integrations/`.
|
|
26
|
+
- ✅ Añadir test unitario para `integrations/git/runPlatformGateOutput.ts`.
|
|
27
|
+
- ✅ Añadir test unitario para `integrations/git/runPlatformGateFacts.ts`.
|
|
28
|
+
- ✅ Añadir test unitario para `integrations/git/runPlatformGateEvidence.ts`.
|
|
29
|
+
- ✅ Añadir test unitario para `integrations/git/runPlatformGateEvaluation.ts`.
|
|
30
|
+
- ✅ Añadir test unitario para `integrations/git/runPlatformGate.ts`.
|
|
31
|
+
- ✅ Añadir test unitario para `integrations/git/getCommitRangeFacts.ts`.
|
|
32
|
+
- ✅ Añadir test unitario para `integrations/git/baselineRuleSets.ts`.
|
|
33
|
+
- ✅ Añadir test unitario para `integrations/git/GitService.ts`.
|
|
34
|
+
- ✅ Añadir test unitario para `integrations/git/runCliCommand.ts`.
|
|
35
|
+
- ✅ Añadir test unitario para `integrations/git/ciIOS.ts`.
|
|
36
|
+
- ✅ Añadir test unitario para `integrations/git/ciAndroid.ts`.
|
|
37
|
+
- ✅ Añadir test unitario para `integrations/git/ciBackend.ts`.
|
|
38
|
+
- ✅ Añadir test unitario para `integrations/git/ciFrontend.ts`.
|
|
39
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitIOS.ts`.
|
|
40
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitAndroid.ts`.
|
|
41
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitBackend.ts`.
|
|
42
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitFrontend.ts`.
|
|
43
|
+
- ✅ Añadir test unitario para `integrations/git/prePushIOS.ts`.
|
|
44
|
+
- ✅ Añadir test unitario para `integrations/git/prePushAndroid.ts`.
|
|
45
|
+
- ✅ Añadir test unitario para `integrations/git/prePushBackend.ts`.
|
|
46
|
+
- ✅ Añadir test unitario para `integrations/git/prePushFrontend.ts`.
|
|
47
|
+
- ✅ Añadir test unitario para `integrations/git/prePushIOS.cli.ts`.
|
|
48
|
+
- ✅ Añadir test unitario para `integrations/git/prePushAndroid.cli.ts`.
|
|
49
|
+
- ✅ Añadir test unitario para `integrations/git/prePushBackend.cli.ts`.
|
|
50
|
+
- ✅ Añadir test unitario para `integrations/git/prePushFrontend.cli.ts`.
|
|
51
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitIOS.cli.ts`.
|
|
52
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitAndroid.cli.ts`.
|
|
53
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitBackend.cli.ts`.
|
|
54
|
+
- ✅ Añadir test unitario para `integrations/git/preCommitFrontend.cli.ts`.
|
|
55
|
+
- ✅ Añadir test unitario para `integrations/git/ciIOS.cli.ts`.
|
|
56
|
+
- ✅ Añadir test unitario para `integrations/git/ciAndroid.cli.ts`.
|
|
57
|
+
- ✅ Añadir test unitario para `integrations/git/ciBackend.cli.ts`.
|
|
58
|
+
- ✅ Añadir test unitario para `integrations/git/ciFrontend.cli.ts`.
|
|
59
|
+
- ✅ Añadir test unitario para `core/facts/detectors/text/utils.ts`.
|
|
60
|
+
- ✅ Añadir test unitario para `core/facts/detectors/text/android.ts`.
|
|
61
|
+
- ✅ Añadir test unitario para `core/facts/detectors/text/ios.ts`.
|
|
62
|
+
- ✅ Añadir test unitario para `core/facts/detectors/browser/index.ts`.
|
|
63
|
+
- ✅ Añadir test unitario para `core/facts/detectors/security/index.ts`.
|
|
64
|
+
- ✅ Añadir test unitario para `core/facts/detectors/typescript/index.ts`.
|
|
65
|
+
- ✅ Añadir test unitario para `core/facts/detectors/vm/index.ts`.
|
|
66
|
+
- ✅ Añadir test unitario para `core/facts/detectors/process/core.ts`.
|
|
67
|
+
- ✅ Añadir test unitario para `core/facts/detectors/process/shell.ts`.
|
|
68
|
+
- ✅ Añadir test unitario para `core/facts/detectors/process/spawn.ts`.
|
|
69
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/callbacks.ts`.
|
|
70
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/promises.ts`.
|
|
71
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart1.ts`.
|
|
72
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart1Metadata.ts`.
|
|
73
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart1FileOps.ts`.
|
|
74
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart1DirTimes.ts`.
|
|
75
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart2.ts`.
|
|
76
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart2Core.ts`.
|
|
77
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart2Permissions.ts`.
|
|
78
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart2Io.ts`.
|
|
79
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart2Times.ts`.
|
|
80
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart3.ts`.
|
|
81
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart3DescriptorIo.ts`.
|
|
82
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart3Links.ts`.
|
|
83
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/syncPart3PathOps.ts`.
|
|
84
|
+
- ✅ Añadir test unitario para `core/facts/detectors/fs/sync.ts`.
|
|
85
|
+
- ✅ Añadir test unitario para `core/facts/detectors/process/index.ts`.
|
|
86
|
+
- ✅ Añadir test unitario para `core/facts/detectors/security/securityCredentials.ts`.
|
|
87
|
+
- ✅ Añadir test unitario para `core/facts/detectors/security/securityCrypto.ts`.
|
|
88
|
+
- ✅ Añadir test unitario para `core/facts/detectors/security/securityJwt.ts`.
|
|
89
|
+
- ✅ Añadir test unitario para `core/facts/detectors/security/securityTls.ts`.
|
|
90
|
+
- ✅ Añadir test unitario para `core/facts/detectors/utils/astHelpers.ts`.
|
|
91
|
+
- ✅ Añadir test unitario para `core/facts/index.ts`.
|
|
92
|
+
- ✅ Añadir test unitario para `core/facts/Fact.ts`.
|
|
93
|
+
- ✅ Añadir test unitario para `core/facts/FactSet.ts`.
|
|
94
|
+
- ✅ Añadir test unitario para `core/facts/FileChangeFact.ts`.
|
|
95
|
+
- ✅ Añadir test unitario para `core/facts/FileContentFact.ts`.
|
|
96
|
+
- ✅ Añadir test unitario para `core/facts/DependencyFact.ts`.
|
|
97
|
+
- ✅ Añadir test unitario para `core/facts/HeuristicFact.ts`.
|
|
98
|
+
- ✅ Añadir test unitario para `core/gate/Finding.ts`.
|
|
99
|
+
- ✅ Añadir test unitario para `core/gate/GateOutcome.ts`.
|
|
100
|
+
- ✅ Añadir test unitario para `core/gate/GatePolicy.ts`.
|
|
101
|
+
- ✅ Añadir test unitario para `core/gate/GateStage.ts`.
|
|
102
|
+
- ✅ Añadir test unitario para `core/gate/conditionMatches.ts`.
|
|
103
|
+
- ✅ Añadir test unitario para `core/gate/evaluateRules.ts`.
|
|
104
|
+
- ✅ Añadir test unitario para `core/gate/evaluateGate.ts`.
|
|
105
|
+
- ✅ Añadir test unitario para `core/gate/index.ts`.
|
|
106
|
+
- ✅ Añadir test unitario para `core/rules/Condition.ts`.
|
|
107
|
+
- ✅ Añadir test unitario para `core/rules/Consequence.ts`.
|
|
108
|
+
- ✅ Añadir test unitario para `core/rules/RuleDefinition.ts`.
|
|
109
|
+
- ✅ Añadir test unitario para `core/rules/RuleSet.ts`.
|
|
110
|
+
- ✅ Añadir test unitario para `core/rules/Severity.ts`.
|
|
111
|
+
- ✅ Añadir test unitario para `core/rules/index.ts`.
|
|
112
|
+
- ✅ Añadir test unitario para `core/rules/presets/index.ts`.
|
|
113
|
+
- ✅ Añadir test unitario para `core/rules/presets/rulePackVersions.ts`.
|
|
114
|
+
- ✅ Añadir test unitario para `core/rules/presets/androidRuleSet.ts`.
|
|
115
|
+
- ✅ Añadir test unitario para `core/rules/presets/backendRuleSet.ts`.
|
|
116
|
+
- ✅ Añadir test unitario para `core/rules/presets/frontendRuleSet.ts`.
|
|
117
|
+
- ✅ Añadir test unitario para `core/rules/presets/exampleRuleSet.ts`.
|
|
118
|
+
- ⏳ Añadir test unitario para `core/rules/presets/iosEnterpriseRuleSet.ts`.
|
|
119
|
+
|
|
120
|
+
## Fase 3 — Medio (deuda técnica)
|
|
121
|
+
- ✅ Reducir acoplamiento en `integrations/git/runPlatformGate.ts`.
|
|
122
|
+
- ✅ Particionar detectores grandes (`core/facts/detectors/fs/sync.ts`, `core/facts/detectors/process/index.ts`).
|
|
123
|
+
- ✅ Resolver ciclos detectados por `madge` en scripts de `phase5`/`mock-consumer`.
|
|
124
|
+
|
|
125
|
+
## Fase 4 — Bajo (nice-to-have)
|
|
126
|
+
- ✅ Añadir guardrail de tamaño de archivo/imports en CI.
|
|
127
|
+
- ✅ Normalizar documentación mínima en módulos críticos.
|
|
128
|
+
|
|
129
|
+
## Operaciones de entorno
|
|
130
|
+
- ✅ Convertir `ast-intelligence-hooks` en repositorio Git standalone (sin dependencia de `worktree` legacy).
|
|
131
|
+
- ✅ Verificar integridad post-conversión (`.git` directorio propio, branch/HEAD intactos, estado limpio).
|
|
132
|
+
- ✅ Ejecutar siguiente lote de refactor solicitado por el usuario.
|
|
133
|
+
- ✅ Ejecutar demo end-to-end de Pumuki sobre mock consumer (pack → install → stages).
|
|
134
|
+
- ✅ Validar estado base del mock consumer antes de reinstalar Pumuki.
|
|
135
|
+
- ✅ Resetear `pumuki-mock-consumer` a estado base sin instalación activa de `pumuki`.
|
|
136
|
+
- ✅ Limpiar worktree del mock consumer (tracked restaurado, untracked aislado fuera del repo).
|
|
137
|
+
- ✅ Diagnosticar residuos en mock: `node_modules/pumuki` y `node_modules/.package-lock.json` están versionados (tracked), no ignorados.
|
|
138
|
+
- ✅ Corregir empaquetado NPM para incluir runtime faltante (`core/utils`, heuristics presets, AST detectors) y desbloquear runtime en consumidor mock.
|
|
139
|
+
- ✅ Implementar lifecycle enterprise (`pumuki install|uninstall|update|doctor|status`) con estado local en `git config` y hooks idempotentes.
|
|
140
|
+
- ✅ Integrar guardrail lifecycle round-trip en `validation:package-smoke` (`install -> stages -> uninstall`) con verificación de `git status` estable.
|
|
141
|
+
- ✅ Validar guardrails del lote (`validation:package-manifest`, `validation:package-smoke`, `validation:package-smoke:minimal`).
|
|
142
|
+
- ✅ Alinear el lote de lifecycle con reglas activas del repositorio (cambios mínimos y comportamiento determinista).
|
|
143
|
+
- ✅ Revalidar lifecycle en local (`typecheck`, `lifecycle tests`, `validation:package-manifest`, `validation:lifecycle-smoke`, `validation:package-smoke`).
|
|
144
|
+
- ✅ Corregir `test:mcp` para suite MCP dividida y revalidar `test:deterministic` completo.
|
|
145
|
+
- ✅ Añadir comando de una sola ejecución `pumuki remove` (cleanup + desinstalación de paquete) y validar E2E en consumidor temporal.
|
|
146
|
+
- ✅ Sincronizar documentación afectada por lifecycle (`README`, `CHANGELOG`, `INSTALLATION`, `USAGE`) en el mismo lote.
|
|
147
|
+
- ✅ Endurecer `pumuki remove` para podar residuo huérfano `node_modules/.package-lock.json` y validar con test dedicado.
|
|
148
|
+
- ✅ Completar `pumuki-mock-consumer` con escenarios reproducibles multi-plataforma (`clean`, `violations`, `mixed`) y script de aplicación de escenarios.
|
|
149
|
+
- ✅ Unificar iOS del mock exclusivamente bajo `apps/ios/` (eliminando duplicación `ios/`) para mantener estructura homogénea `apps/*`.
|
|
150
|
+
- ✅ Migrar nombre canónico del paquete a `pumuki` y alinear comandos enterprise cortos (`npm install/update/uninstall pumuki`) con documentación y validaciones.
|
|
151
|
+
- 🚧 Ejecutar matriz E2E completa en `pumuki-mock-consumer` (`install -> pre-commit/pre-push/ci -> remove`) sobre escenarios `clean`, `violations` y `mixed`.
|
|
152
|
+
|
|
153
|
+
## Notas
|
|
154
|
+
- Estrategia obligatoria: commits atómicos por tarea.
|
|
155
|
+
- Limpieza inmediata de ramas feature tras merge completado.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Release Notes (v2.x line)
|
|
2
|
+
|
|
3
|
+
This file tracks the active deterministic framework line used in this repository.
|
|
4
|
+
Detailed commit history remains available through Git history (`git log` / `git show`).
|
|
5
|
+
|
|
6
|
+
## 2026-02 (enterprise-refactor updates)
|
|
7
|
+
|
|
8
|
+
### Documentation governance hardening
|
|
9
|
+
|
|
10
|
+
- Active docs quality guardrails expanded and integrated into stage-gates:
|
|
11
|
+
- English-only baseline check for active enterprise docs.
|
|
12
|
+
- Markdown reference-integrity check for active docs.
|
|
13
|
+
- Root governance docs (`README.md`, `ARCHITECTURE.md`, `CHANGELOG.md`, `CLAUDE.md`) included in active-doc guardrails.
|
|
14
|
+
- Stage-gates command simplified to glob-based test targets for maintainability while preserving deterministic coverage.
|
|
15
|
+
- Root `CHANGELOG.md` normalized to active enterprise v2 baseline to avoid legacy drift.
|
|
16
|
+
|
|
17
|
+
### Deterministic gate foundation
|
|
18
|
+
|
|
19
|
+
- Shared execution flow consolidated in `integrations/git/runPlatformGate.ts`.
|
|
20
|
+
- Stage runners unified in `integrations/git/stageRunners.ts`.
|
|
21
|
+
- Stage policies standardized in `integrations/gate/stagePolicies.ts`.
|
|
22
|
+
|
|
23
|
+
### Multi-platform support
|
|
24
|
+
|
|
25
|
+
- Combined detection and evaluation for `ios`, `backend`, `frontend`, `android`.
|
|
26
|
+
- Stage wrappers exported for all supported platforms (`PRE_COMMIT`, `PRE_PUSH`, `CI`).
|
|
27
|
+
|
|
28
|
+
### Evidence v2.1
|
|
29
|
+
|
|
30
|
+
- Canonical schema and deterministic write path (`snapshot + ledger`).
|
|
31
|
+
- Stable serialization and rule-pack hash traceability.
|
|
32
|
+
- `human_intent` preservation + expiry enforcement.
|
|
33
|
+
|
|
34
|
+
### CI integration
|
|
35
|
+
|
|
36
|
+
- Reusable gate workflow template plus platform-specific workflows.
|
|
37
|
+
- Evidence artifact upload standardized across runs.
|
|
38
|
+
- Package-install smoke gate added for published/runtime behavior:
|
|
39
|
+
- workflow: `.github/workflows/pumuki-package-smoke.yml`
|
|
40
|
+
- `block` matrix mode validates expected blocking path (`exit 1`, `outcome=BLOCK`)
|
|
41
|
+
- `minimal` matrix mode validates expected pass path (`exit 0`, `outcome=PASS`)
|
|
42
|
+
- both modes validate evidence v2.1 stage metadata and upload artifacts
|
|
43
|
+
- Package manifest guardrail added:
|
|
44
|
+
- command: `npm run validation:package-manifest`
|
|
45
|
+
- enforces required runtime paths in tarball and forbids legacy/tests/archive diagnostics content
|
|
46
|
+
- Package manifest guardrail internal hardening:
|
|
47
|
+
- reusable inspection library: `scripts/package-manifest-lib.ts`
|
|
48
|
+
- regression test coverage in stage-gates:
|
|
49
|
+
- `scripts/__tests__/package-manifest-lib.test.ts`
|
|
50
|
+
- Framework menu portability hardening:
|
|
51
|
+
- removed host-specific consumer repo path defaults from `scripts/framework-menu.ts`
|
|
52
|
+
- added `PUMUKI_CONSUMER_REPO_PATH` support for environment-specific menu defaults
|
|
53
|
+
- Mock consumer validation hardening:
|
|
54
|
+
- new runbook: `docs/validation/mock-consumer-integration-runbook.md`
|
|
55
|
+
- formalized package-smoke + manual mock-consumer A/B checklist
|
|
56
|
+
- validation docs hygiene allowlist updated accordingly
|
|
57
|
+
- Phase 5 mock-closure automation:
|
|
58
|
+
- `scripts/build-mock-consumer-startup-triage.ts` generates triage + unblock reports from local package-smoke summaries
|
|
59
|
+
- `validation:phase5-execution-closure` supports `--mock-consumer`
|
|
60
|
+
- mock mode now includes a deterministic mock consumer A/B report step:
|
|
61
|
+
- output: `.audit-reports/phase5/mock-consumer-ab-report.md`
|
|
62
|
+
- mock mode disables external GH preflight/workflow-lint by default and keeps closure flow deterministic
|
|
63
|
+
- local mock execution now reaches:
|
|
64
|
+
- `phase5-blockers-readiness` => `verdict=READY`
|
|
65
|
+
- `phase5-execution-closure-status` => `verdict=READY`
|
|
66
|
+
- Mock consumer A/B validation automation:
|
|
67
|
+
- `scripts/build-mock-consumer-ab-report.ts` validates block/minimal smoke outcomes plus evidence v2.1 contract
|
|
68
|
+
- command: `npm run validation:mock-consumer-ab-report -- --repo <owner>/<repo>`
|
|
69
|
+
- output: `.audit-reports/mock-consumer/mock-consumer-ab-report.md`
|
|
70
|
+
- framework menu action:
|
|
71
|
+
- `Build mock consumer A/B validation report`
|
|
72
|
+
- Phase5 mock-closure CI hardening:
|
|
73
|
+
- workflow: `.github/workflows/pumuki-phase5-mock.yml`
|
|
74
|
+
- deterministic sequence: package smoke (`block`, `minimal`) -> phase5 mock closure one-shot
|
|
75
|
+
- artifact bundle: `phase5-mock-closure`
|
|
76
|
+
- workflow contract guardrail:
|
|
77
|
+
- `scripts/__tests__/phase5-mock-workflow-contract.test.ts`
|
|
78
|
+
|
|
79
|
+
### AST heuristics pilot
|
|
80
|
+
|
|
81
|
+
- Typed heuristic facts extracted in core domain.
|
|
82
|
+
- Declarative heuristic rule-pack with optional feature flag.
|
|
83
|
+
- iOS force-cast (`as!`) heuristic added to coverage.
|
|
84
|
+
- Stage-aware heuristic maturity:
|
|
85
|
+
- `PRE_COMMIT`: heuristic findings remain `WARN`
|
|
86
|
+
- `PRE_PUSH` / `CI`: selected heuristics promoted to `ERROR`
|
|
87
|
+
|
|
88
|
+
### Documentation cleanup
|
|
89
|
+
|
|
90
|
+
- Primary and secondary docs rewritten to v2.x model:
|
|
91
|
+
- `README.md`
|
|
92
|
+
- `docs/USAGE.md`
|
|
93
|
+
- `docs/HOW_IT_WORKS.md`
|
|
94
|
+
- `docs/API_REFERENCE.md`
|
|
95
|
+
|
|
96
|
+
### Hardening and validation updates (latest)
|
|
97
|
+
|
|
98
|
+
- Evidence consolidation hardened:
|
|
99
|
+
- deterministic file-level collapse across same semantic family, including same-rule multi-line duplicates
|
|
100
|
+
- additive `consolidation.suppressed[]` trace for auditability
|
|
101
|
+
- MCP evidence server expanded with compact/full filters:
|
|
102
|
+
- `includeSuppressed=false`
|
|
103
|
+
- `view=compact|full`
|
|
104
|
+
- IDE adapter cascade-hook runtime hardening (Adapter baseline):
|
|
105
|
+
- robust Node resolver wrapper
|
|
106
|
+
- optional strict mode `PUMUKI_HOOK_STRICT_NODE=1`
|
|
107
|
+
- explicit diagnostics (`--diagnose`, `PUMUKI_HOOK_DIAGNOSTIC=1`)
|
|
108
|
+
- local diagnostics collector + repeatable local simulation command:
|
|
109
|
+
- `npm run validate:adapter-hooks-local`
|
|
110
|
+
- provider-agnostic alias commands:
|
|
111
|
+
- `npm run validation:adapter-session-status`
|
|
112
|
+
- `npm run validation:adapter-real-session-report`
|
|
113
|
+
- real-session validation checklist:
|
|
114
|
+
- `docs/validation/adapter-hook-runtime-validation.md`
|
|
115
|
+
- Consumer startup diagnostics one-shot orchestrator:
|
|
116
|
+
- `npm run validation:consumer-startup-triage`
|
|
117
|
+
- Phase 5 blockers readiness report:
|
|
118
|
+
- `npm run validation:phase5-blockers-readiness`
|
|
119
|
+
- Adapter report is optional by default; use `--require-adapter-report` for strict adapter-mode gating.
|
|
120
|
+
- deterministic verdicts: `READY | BLOCKED | MISSING_INPUTS`
|
|
121
|
+
- Phase 5 execution closure status snapshot:
|
|
122
|
+
- `npm run validation:phase5-execution-closure-status`
|
|
123
|
+
- deterministic verdicts: `READY | BLOCKED | MISSING_INPUTS`
|
|
124
|
+
- framework menu action:
|
|
125
|
+
- `Build phase5 execution closure status report`
|
|
126
|
+
- Phase 5 execution closure one-shot orchestration:
|
|
127
|
+
- `npm run validation:phase5-execution-closure`
|
|
128
|
+
- executes adapter diagnostics (optional), consumer startup triage, blockers readiness, and closure status in one command
|
|
129
|
+
- includes consumer auth/scope preflight and fail-fast behavior before triage
|
|
130
|
+
- optional bypass: `--skip-auth-preflight`
|
|
131
|
+
- emits deterministic run summary (recommended out-dir): `.audit-reports/phase5/phase5-execution-closure-run-report.md`
|
|
132
|
+
- framework menu action:
|
|
133
|
+
- `Run phase5 execution closure (one-shot orchestration)`
|
|
134
|
+
- Phase 5 external handoff report:
|
|
135
|
+
- `npm run validation:phase5-external-handoff`
|
|
136
|
+
- deterministic verdicts: `READY | BLOCKED | MISSING_INPUTS`
|
|
137
|
+
- optional strict flags:
|
|
138
|
+
- `--require-mock-ab-report`
|
|
139
|
+
- `--require-artifact-urls`
|
|
140
|
+
- framework menu action:
|
|
141
|
+
- `Build phase5 external handoff report`
|
|
142
|
+
- Adapter-only readiness report:
|
|
143
|
+
- `npm run validation:adapter-readiness`
|
|
144
|
+
- deterministic verdicts: `READY | BLOCKED | PENDING`
|
|
145
|
+
- IDE-agnostic gate boundary hardening:
|
|
146
|
+
- runtime boundary test in `integrations/git/__tests__/ideAgnosticBoundary.test.ts`
|
|
147
|
+
- explicit architecture/docs contract that IDE diagnostics remain optional adapters
|
|
148
|
+
- Active docs governance hardening:
|
|
149
|
+
- provider-agnostic docs guardrail test:
|
|
150
|
+
- `scripts/__tests__/enterprise-docs-agnostic.test.ts`
|
|
151
|
+
- docs index coverage guardrail test:
|
|
152
|
+
- `scripts/__tests__/docs-index-coverage.test.ts`
|
|
153
|
+
- Compatibility command hardening:
|
|
154
|
+
- legacy provider-named hook scripts now delegate to adapter-native scripts in `package.json`
|
|
155
|
+
- regression guardrail:
|
|
156
|
+
- `scripts/__tests__/adapter-script-aliases.test.ts`
|
|
157
|
+
- Provider-agnostic legacy ruleset resolution:
|
|
158
|
+
- `integrations/git/resolveLegacyRulesetFile.ts`
|
|
159
|
+
- discovers legacy tooling rule directories without provider-specific hardcoding
|
|
160
|
+
- regression guardrail:
|
|
161
|
+
- `integrations/git/__tests__/resolveLegacyRulesetFile.test.ts`
|
|
162
|
+
- Phase 5 execution closure runbook:
|
|
163
|
+
- `docs/validation/phase5-execution-closure.md`
|
|
164
|
+
- Validation artifact hygiene helper:
|
|
165
|
+
- `npm run validation:clean-artifacts` (`--dry-run` supported)
|
|
166
|
+
- cleans local generated `docs/validation/**/artifacts` directories and `.audit_tmp`
|
|
167
|
+
- framework menu action:
|
|
168
|
+
- `Clean local validation artifacts`
|
|
169
|
+
- Rule-pack docs drift prevention:
|
|
170
|
+
- automated version sync test `scripts/__tests__/rule-pack-docs-sync.test.ts`
|
|
171
|
+
|
|
172
|
+
## Notes
|
|
173
|
+
|
|
174
|
+
- Legacy 5.3.4 migration/release notes were removed from active docs to avoid drift.
|
|
175
|
+
- Historical commit trace remains available in Git history.
|
package/docs/TESTING.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Testing Guide (v2.x)
|
|
2
|
+
|
|
3
|
+
This guide documents the active deterministic test surface.
|
|
4
|
+
|
|
5
|
+
## Core commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm run typecheck
|
|
9
|
+
npm run test:evidence
|
|
10
|
+
npm run test:mcp
|
|
11
|
+
npm run test:heuristics
|
|
12
|
+
npm run test:deterministic
|
|
13
|
+
npm run validation:package-manifest
|
|
14
|
+
npm run validation:package-smoke
|
|
15
|
+
npm run validation:package-smoke:minimal
|
|
16
|
+
npm run validation:lifecycle-smoke
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## What each suite validates
|
|
20
|
+
|
|
21
|
+
- `npm run typecheck`
|
|
22
|
+
- TypeScript compile checks for production sources (`core/**/*.ts`, `integrations/**/*.ts`).
|
|
23
|
+
|
|
24
|
+
- `npm run test:evidence`
|
|
25
|
+
- Deterministic evidence behavior (`snapshot`, `ledger`, `human_intent`).
|
|
26
|
+
|
|
27
|
+
- `npm run test:mcp`
|
|
28
|
+
- Read-only evidence context server behavior.
|
|
29
|
+
|
|
30
|
+
- `npm run test:heuristics`
|
|
31
|
+
- Typed AST heuristic fact extraction coverage across platforms.
|
|
32
|
+
|
|
33
|
+
- `npm run test:deterministic`
|
|
34
|
+
- Aggregated deterministic suite (`evidence + mcp + heuristics`).
|
|
35
|
+
|
|
36
|
+
- `npm run validation:package-manifest`
|
|
37
|
+
- Dry-run package manifest guardrail.
|
|
38
|
+
- Fails if required runtime files are missing or forbidden paths are bundled (`legacy/`, tests, archive docs, local audit artifacts).
|
|
39
|
+
|
|
40
|
+
- `npm run validation:package-smoke`
|
|
41
|
+
- Package-install smoke (`BLOCK` scenario): `npm pack` + temporary consumer install + intentional multi-platform violations.
|
|
42
|
+
- Validates `pumuki-pre-commit` / `pumuki-pre-push` / `pumuki-ci` blocking path and evidence v2.1 metadata.
|
|
43
|
+
- Writes artifacts to `.audit-reports/package-smoke/block/`.
|
|
44
|
+
|
|
45
|
+
- `npm run validation:package-smoke:minimal`
|
|
46
|
+
- Package-install smoke (`PASS` scenario): `npm pack` + temporary consumer install + clean minimal staged/range path.
|
|
47
|
+
- Validates allow path (exit `0`) with evidence v2.1 metadata.
|
|
48
|
+
- Writes artifacts to `.audit-reports/package-smoke/minimal/`.
|
|
49
|
+
|
|
50
|
+
- `npm run validation:lifecycle-smoke`
|
|
51
|
+
- Lifecycle round-trip smoke on minimal scenario.
|
|
52
|
+
- Validates `pumuki install -> stage runners -> pumuki uninstall --purge-artifacts`.
|
|
53
|
+
- Fails if repo `git status --short` after uninstall differs from pre-install snapshot.
|
|
54
|
+
|
|
55
|
+
## Test locations
|
|
56
|
+
|
|
57
|
+
- `integrations/evidence/__tests__/buildEvidence.test.ts`
|
|
58
|
+
- `integrations/evidence/__tests__/humanIntent.test.ts`
|
|
59
|
+
- `integrations/mcp/__tests__/evidenceContextServer.test.ts`
|
|
60
|
+
- `core/facts/__tests__/extractHeuristicFacts.test.ts`
|
|
61
|
+
- `integrations/gate/__tests__/stagePolicies.test.ts`
|
|
62
|
+
|
|
63
|
+
## Recommended validation before commit
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm run typecheck
|
|
67
|
+
npm run test:deterministic
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## CI alignment
|
|
71
|
+
|
|
72
|
+
Workflows rely on the same deterministic model and should remain consistent with local commands:
|
|
73
|
+
|
|
74
|
+
- `.github/workflows/pumuki-evidence-tests.yml`
|
|
75
|
+
- `.github/workflows/pumuki-heuristics-tests.yml`
|
|
76
|
+
- `.github/workflows/pumuki-gate-template.yml`
|
|
77
|
+
- `.github/workflows/pumuki-package-smoke.yml`
|
|
78
|
+
|
|
79
|
+
## Adding tests
|
|
80
|
+
|
|
81
|
+
### Principles
|
|
82
|
+
|
|
83
|
+
- Keep tests deterministic and side-effect free.
|
|
84
|
+
- Prefer `node:test` for TypeScript files executed with `tsx`.
|
|
85
|
+
- Keep domain tests in `core/*` and adapter tests in `integrations/*`.
|
|
86
|
+
- Validate behavior, not implementation details.
|
|
87
|
+
|
|
88
|
+
### Minimal `node:test` example
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import assert from 'node:assert/strict';
|
|
92
|
+
import test from 'node:test';
|
|
93
|
+
|
|
94
|
+
test('example', () => {
|
|
95
|
+
assert.equal(1 + 1, 2);
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Legacy note
|
|
100
|
+
|
|
101
|
+
A legacy `npm test` (Jest) command exists in `package.json`, but the v2.x deterministic baseline is governed by the explicit `test:*` scripts listed above.
|