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.
Files changed (744) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/VERSION +1 -0
  4. package/assets/Hook_01.png +0 -0
  5. package/assets/Hook_02.png +0 -0
  6. package/assets/ai-start.png +0 -0
  7. package/assets/ai_gate.png +0 -0
  8. package/assets/ast_intelligence_01.png +0 -0
  9. package/assets/ast_intelligence_01.svg +40 -0
  10. package/assets/ast_intelligence_02.png +0 -0
  11. package/assets/ast_intelligence_02.svg +39 -0
  12. package/assets/ast_intelligence_03.png +0 -0
  13. package/assets/ast_intelligence_03.svg +55 -0
  14. package/assets/ast_intelligence_04.png +0 -0
  15. package/assets/ast_intelligence_04.svg +39 -0
  16. package/assets/ast_intelligence_05.png +0 -0
  17. package/assets/ast_intelligence_05.svg +45 -0
  18. package/assets/logo.png +0 -0
  19. package/assets/logo_banner.svg +29 -0
  20. package/assets/pre-flight-check.png +0 -0
  21. package/bin/_run-ts-entry.js +46 -0
  22. package/bin/pumuki-ci.js +5 -0
  23. package/bin/pumuki-framework.js +5 -0
  24. package/bin/pumuki-mcp-evidence.js +5 -0
  25. package/bin/pumuki-pre-commit.js +5 -0
  26. package/bin/pumuki-pre-push.js +5 -0
  27. package/bin/pumuki.js +5 -0
  28. package/core/facts/DependencyFact.test.ts +38 -0
  29. package/core/facts/DependencyFact.ts +6 -0
  30. package/core/facts/Fact.test.ts +74 -0
  31. package/core/facts/Fact.ts +10 -0
  32. package/core/facts/FactSet.test.ts +38 -0
  33. package/core/facts/FactSet.ts +3 -0
  34. package/core/facts/FileChangeFact.test.ts +36 -0
  35. package/core/facts/FileChangeFact.ts +5 -0
  36. package/core/facts/FileContentFact.test.ts +26 -0
  37. package/core/facts/FileContentFact.ts +5 -0
  38. package/core/facts/HeuristicFact.test.ts +34 -0
  39. package/core/facts/HeuristicFact.ts +10 -0
  40. package/core/facts/detectors/browser/index.test.ts +131 -0
  41. package/core/facts/detectors/browser/index.ts +67 -0
  42. package/core/facts/detectors/fs/callbacks.test.ts +73 -0
  43. package/core/facts/detectors/fs/callbacks.ts +93 -0
  44. package/core/facts/detectors/fs/promises.test.ts +88 -0
  45. package/core/facts/detectors/fs/promises.ts +75 -0
  46. package/core/facts/detectors/fs/sync.test.ts +48 -0
  47. package/core/facts/detectors/fs/sync.ts +3 -0
  48. package/core/facts/detectors/fs/syncPart1.test.ts +52 -0
  49. package/core/facts/detectors/fs/syncPart1.ts +3 -0
  50. package/core/facts/detectors/fs/syncPart1DirTimes.test.ts +58 -0
  51. package/core/facts/detectors/fs/syncPart1DirTimes.ts +93 -0
  52. package/core/facts/detectors/fs/syncPart1FileOps.test.ts +64 -0
  53. package/core/facts/detectors/fs/syncPart1FileOps.ts +93 -0
  54. package/core/facts/detectors/fs/syncPart1Metadata.test.ts +64 -0
  55. package/core/facts/detectors/fs/syncPart1Metadata.ts +139 -0
  56. package/core/facts/detectors/fs/syncPart2.test.ts +62 -0
  57. package/core/facts/detectors/fs/syncPart2.ts +4 -0
  58. package/core/facts/detectors/fs/syncPart2Core.test.ts +62 -0
  59. package/core/facts/detectors/fs/syncPart2Core.ts +70 -0
  60. package/core/facts/detectors/fs/syncPart2Io.test.ts +62 -0
  61. package/core/facts/detectors/fs/syncPart2Io.ts +70 -0
  62. package/core/facts/detectors/fs/syncPart2Permissions.test.ts +66 -0
  63. package/core/facts/detectors/fs/syncPart2Permissions.ts +93 -0
  64. package/core/facts/detectors/fs/syncPart2Times.test.ts +66 -0
  65. package/core/facts/detectors/fs/syncPart2Times.ts +93 -0
  66. package/core/facts/detectors/fs/syncPart3.test.ts +62 -0
  67. package/core/facts/detectors/fs/syncPart3.ts +3 -0
  68. package/core/facts/detectors/fs/syncPart3DescriptorIo.test.ts +69 -0
  69. package/core/facts/detectors/fs/syncPart3DescriptorIo.ts +93 -0
  70. package/core/facts/detectors/fs/syncPart3Links.test.ts +62 -0
  71. package/core/facts/detectors/fs/syncPart3Links.ts +70 -0
  72. package/core/facts/detectors/fs/syncPart3PathOps.test.ts +72 -0
  73. package/core/facts/detectors/fs/syncPart3PathOps.ts +116 -0
  74. package/core/facts/detectors/process/core.test.ts +147 -0
  75. package/core/facts/detectors/process/core.ts +120 -0
  76. package/core/facts/detectors/process/index.test.ts +61 -0
  77. package/core/facts/detectors/process/index.ts +3 -0
  78. package/core/facts/detectors/process/shell.test.ts +137 -0
  79. package/core/facts/detectors/process/shell.ts +170 -0
  80. package/core/facts/detectors/process/spawn.test.ts +155 -0
  81. package/core/facts/detectors/process/spawn.ts +121 -0
  82. package/core/facts/detectors/security/index.test.ts +382 -0
  83. package/core/facts/detectors/security/index.ts +16 -0
  84. package/core/facts/detectors/security/securityCredentials.test.ts +149 -0
  85. package/core/facts/detectors/security/securityCredentials.ts +192 -0
  86. package/core/facts/detectors/security/securityCrypto.test.ts +122 -0
  87. package/core/facts/detectors/security/securityCrypto.ts +88 -0
  88. package/core/facts/detectors/security/securityJwt.test.ts +187 -0
  89. package/core/facts/detectors/security/securityJwt.ts +134 -0
  90. package/core/facts/detectors/security/securityTls.test.ts +121 -0
  91. package/core/facts/detectors/security/securityTls.ts +88 -0
  92. package/core/facts/detectors/text/android.test.ts +87 -0
  93. package/core/facts/detectors/text/android.ts +38 -0
  94. package/core/facts/detectors/text/ios.test.ts +83 -0
  95. package/core/facts/detectors/text/ios.ts +108 -0
  96. package/core/facts/detectors/text/utils.test.ts +71 -0
  97. package/core/facts/detectors/text/utils.ts +146 -0
  98. package/core/facts/detectors/typescript/index.test.ts +231 -0
  99. package/core/facts/detectors/typescript/index.ts +167 -0
  100. package/core/facts/detectors/utils/astHelpers.test.ts +79 -0
  101. package/core/facts/detectors/utils/astHelpers.ts +33 -0
  102. package/core/facts/detectors/vm/index.test.ts +58 -0
  103. package/core/facts/detectors/vm/index.ts +27 -0
  104. package/core/facts/extractHeuristicFacts.ts +394 -0
  105. package/core/facts/index.test.ts +72 -0
  106. package/core/facts/index.ts +11 -0
  107. package/core/gate/Finding.test.ts +52 -0
  108. package/core/gate/Finding.ts +9 -0
  109. package/core/gate/GateOutcome.test.ts +20 -0
  110. package/core/gate/GateOutcome.ts +1 -0
  111. package/core/gate/GatePolicy.test.ts +28 -0
  112. package/core/gate/GatePolicy.ts +9 -0
  113. package/core/gate/GateStage.test.ts +22 -0
  114. package/core/gate/GateStage.ts +1 -0
  115. package/core/gate/conditionMatches.test.ts +110 -0
  116. package/core/gate/conditionMatches.ts +174 -0
  117. package/core/gate/evaluateGate.test.ts +77 -0
  118. package/core/gate/evaluateGate.ts +23 -0
  119. package/core/gate/evaluateRules.test.ts +106 -0
  120. package/core/gate/evaluateRules.ts +40 -0
  121. package/core/gate/index.test.ts +39 -0
  122. package/core/gate/index.ts +6 -0
  123. package/core/rules/Condition.test.ts +54 -0
  124. package/core/rules/Condition.ts +40 -0
  125. package/core/rules/Consequence.test.ts +25 -0
  126. package/core/rules/Consequence.ts +5 -0
  127. package/core/rules/README.md +6 -0
  128. package/core/rules/RuleDefinition.test.ts +55 -0
  129. package/core/rules/RuleDefinition.ts +20 -0
  130. package/core/rules/RuleSet.test.ts +48 -0
  131. package/core/rules/RuleSet.ts +3 -0
  132. package/core/rules/Severity.test.ts +19 -0
  133. package/core/rules/Severity.ts +12 -0
  134. package/core/rules/index.test.ts +41 -0
  135. package/core/rules/index.ts +7 -0
  136. package/core/rules/mergeRuleSets.ts +53 -0
  137. package/core/rules/presets/androidRuleSet.test.ts +22 -0
  138. package/core/rules/presets/androidRuleSet.ts +62 -0
  139. package/core/rules/presets/astHeuristicsRuleSet.ts +31 -0
  140. package/core/rules/presets/backendRuleSet.test.ts +27 -0
  141. package/core/rules/presets/backendRuleSet.ts +61 -0
  142. package/core/rules/presets/exampleRuleSet.test.ts +25 -0
  143. package/core/rules/presets/exampleRuleSet.ts +34 -0
  144. package/core/rules/presets/frontendRuleSet.test.ts +27 -0
  145. package/core/rules/presets/frontendRuleSet.ts +61 -0
  146. package/core/rules/presets/heuristics/android.ts +58 -0
  147. package/core/rules/presets/heuristics/browser.ts +58 -0
  148. package/core/rules/presets/heuristics/fsCallbacks.ts +9 -0
  149. package/core/rules/presets/heuristics/fsCallbacksFileOperationsRules.ts +400 -0
  150. package/core/rules/presets/heuristics/fsCallbacksMetadataRules.ts +418 -0
  151. package/core/rules/presets/heuristics/fsPromises.ts +9 -0
  152. package/core/rules/presets/heuristics/fsPromisesFileOperations.ts +184 -0
  153. package/core/rules/presets/heuristics/fsPromisesMetadataRules.ts +238 -0
  154. package/core/rules/presets/heuristics/fsSync.ts +13 -0
  155. package/core/rules/presets/heuristics/fsSyncAppendRules.ts +22 -0
  156. package/core/rules/presets/heuristics/fsSyncDescriptorRules.ts +328 -0
  157. package/core/rules/presets/heuristics/fsSyncFileOperationsRules.ts +382 -0
  158. package/core/rules/presets/heuristics/fsSyncPathRules.ts +4 -0
  159. package/core/rules/presets/heuristics/ios.ts +94 -0
  160. package/core/rules/presets/heuristics/process.ts +241 -0
  161. package/core/rules/presets/heuristics/security.ts +13 -0
  162. package/core/rules/presets/heuristics/securityCredentialsRules.ts +80 -0
  163. package/core/rules/presets/heuristics/securityCryptoRules.ts +61 -0
  164. package/core/rules/presets/heuristics/securityJwtRules.ts +61 -0
  165. package/core/rules/presets/heuristics/securityTlsRules.ts +42 -0
  166. package/core/rules/presets/heuristics/typescript.ts +220 -0
  167. package/core/rules/presets/heuristics/vm.ts +23 -0
  168. package/core/rules/presets/index.test.ts +32 -0
  169. package/core/rules/presets/index.ts +8 -0
  170. package/core/rules/presets/iosEnterpriseRuleSet.ts +204 -0
  171. package/core/rules/presets/iosNonNegotiableRuleSet.ts +76 -0
  172. package/core/rules/presets/rulePackVersions.test.ts +21 -0
  173. package/core/rules/presets/rulePackVersions.ts +11 -0
  174. package/core/utils/stableStringify.ts +18 -0
  175. package/docs/API_REFERENCE.md +233 -0
  176. package/docs/ARCHITECTURE.md +190 -0
  177. package/docs/ARCHITECTURE_DETAILED.md +165 -0
  178. package/docs/AST_HEURISTICS_REINTRODUCTION_PLAN.md +88 -0
  179. package/docs/BRANCH_PROTECTION_GUIDE.md +50 -0
  180. package/docs/CODE_STANDARDS.md +73 -0
  181. package/docs/CONFIGURATION.md +132 -0
  182. package/docs/CONTRIBUTING.md +92 -0
  183. package/docs/DEPENDENCIES.md +54 -0
  184. package/docs/HOW_IT_WORKS.md +155 -0
  185. package/docs/INSTALLATION.md +172 -0
  186. package/docs/MCP_AGENT_CONTEXT_CONSUMPTION.md +189 -0
  187. package/docs/MCP_EVIDENCE_CONTEXT_SERVER.md +242 -0
  188. package/docs/MCP_SERVERS.md +114 -0
  189. package/docs/README.md +85 -0
  190. package/docs/REFRACTOR_PROGRESS.md +155 -0
  191. package/docs/RELEASE_NOTES.md +175 -0
  192. package/docs/TESTING.md +101 -0
  193. package/docs/TODO.md +692 -0
  194. package/docs/USAGE.md +259 -0
  195. package/docs/evidence-v2.1.md +49 -0
  196. package/docs/images/README.md +20 -0
  197. package/docs/rule-packs/README.md +45 -0
  198. package/docs/rule-packs/android.md +21 -0
  199. package/docs/rule-packs/backend.md +24 -0
  200. package/docs/rule-packs/frontend.md +22 -0
  201. package/docs/rule-packs/heuristics.md +1304 -0
  202. package/docs/rule-packs/ios.md +22 -0
  203. package/docs/skills-repo-enforcement-migration.md +73 -0
  204. package/docs/validation/README.md +82 -0
  205. package/docs/validation/adapter-hook-runtime-local-report.md +45 -0
  206. package/docs/validation/adapter-hook-runtime-validation.md +82 -0
  207. package/docs/validation/adapter-real-session-report-template.md +63 -0
  208. package/docs/validation/consumer-ci-startup-failure-playbook.md +184 -0
  209. package/docs/validation/consumer-startup-escalation-handoff-latest.md +237 -0
  210. package/docs/validation/enterprise-consumer-isolation-policy.md +45 -0
  211. package/docs/validation/github-support-ticket-template-startup-failure.md +84 -0
  212. package/docs/validation/mock-consumer-integration-runbook.md +89 -0
  213. package/docs/validation/phase5-execution-closure.md +227 -0
  214. package/docs/validation/phase8-external-rollout-pack.md +168 -0
  215. package/docs/validation/phase8-post-billing-reactivation-runbook.md +133 -0
  216. package/docs/validation/skills-rollout-consumer-repositories.md +124 -0
  217. package/index.js +15 -0
  218. package/integrations/config/compileSkillsLock.ts +231 -0
  219. package/integrations/config/heuristics.ts +18 -0
  220. package/integrations/config/loadProjectRules.ts +43 -0
  221. package/integrations/config/projectRules.ts +6 -0
  222. package/integrations/config/projectRulesSchema.ts +85 -0
  223. package/integrations/config/skillsCompilerTemplates.ts +151 -0
  224. package/integrations/config/skillsLock.ts +248 -0
  225. package/integrations/config/skillsPolicy.ts +178 -0
  226. package/integrations/config/skillsRuleSet.ts +188 -0
  227. package/integrations/config/skillsSources.ts +88 -0
  228. package/integrations/evidence/buildEvidence.ts +350 -0
  229. package/integrations/evidence/generateEvidence.ts +14 -0
  230. package/integrations/evidence/humanIntent.ts +115 -0
  231. package/integrations/evidence/readEvidence.ts +47 -0
  232. package/integrations/evidence/schema.ts +97 -0
  233. package/integrations/evidence/writeEvidence.ts +201 -0
  234. package/integrations/gate/stagePolicies.ts +295 -0
  235. package/integrations/git/EvidenceService.ts +111 -0
  236. package/integrations/git/GitService.ts +35 -0
  237. package/integrations/git/baselineRuleSets.ts +58 -0
  238. package/integrations/git/ciAndroid.cli.ts +4 -0
  239. package/integrations/git/ciAndroid.ts +1 -0
  240. package/integrations/git/ciBackend.cli.ts +4 -0
  241. package/integrations/git/ciBackend.ts +1 -0
  242. package/integrations/git/ciFrontend.cli.ts +4 -0
  243. package/integrations/git/ciFrontend.ts +1 -0
  244. package/integrations/git/ciIOS.cli.ts +4 -0
  245. package/integrations/git/ciIOS.ts +1 -0
  246. package/integrations/git/evaluateStagedIOS.ts +127 -0
  247. package/integrations/git/getCommitRangeFacts.ts +28 -0
  248. package/integrations/git/gitDiffUtils.ts +90 -0
  249. package/integrations/git/index.ts +13 -0
  250. package/integrations/git/preCommitAndroid.cli.ts +4 -0
  251. package/integrations/git/preCommitAndroid.ts +1 -0
  252. package/integrations/git/preCommitBackend.cli.ts +4 -0
  253. package/integrations/git/preCommitBackend.ts +1 -0
  254. package/integrations/git/preCommitFrontend.cli.ts +4 -0
  255. package/integrations/git/preCommitFrontend.ts +1 -0
  256. package/integrations/git/preCommitIOS.cli.ts +4 -0
  257. package/integrations/git/preCommitIOS.ts +1 -0
  258. package/integrations/git/prePushAndroid.cli.ts +4 -0
  259. package/integrations/git/prePushAndroid.ts +1 -0
  260. package/integrations/git/prePushBackend.cli.ts +4 -0
  261. package/integrations/git/prePushBackend.ts +1 -0
  262. package/integrations/git/prePushFrontend.cli.ts +4 -0
  263. package/integrations/git/prePushFrontend.ts +1 -0
  264. package/integrations/git/prePushIOS.cli.ts +4 -0
  265. package/integrations/git/prePushIOS.ts +1 -0
  266. package/integrations/git/resolveGitRefs.ts +51 -0
  267. package/integrations/git/runCliCommand.ts +11 -0
  268. package/integrations/git/runPlatformGate.ts +89 -0
  269. package/integrations/git/runPlatformGateEvaluation.ts +82 -0
  270. package/integrations/git/runPlatformGateEvidence.ts +41 -0
  271. package/integrations/git/runPlatformGateFacts.ts +34 -0
  272. package/integrations/git/runPlatformGateOutput.ts +11 -0
  273. package/integrations/git/stageRunners.ts +40 -0
  274. package/integrations/lifecycle/artifacts.ts +26 -0
  275. package/integrations/lifecycle/cli.ts +180 -0
  276. package/integrations/lifecycle/constants.ts +13 -0
  277. package/integrations/lifecycle/consumerPackage.ts +48 -0
  278. package/integrations/lifecycle/doctor.ts +90 -0
  279. package/integrations/lifecycle/gitService.ts +63 -0
  280. package/integrations/lifecycle/hookBlock.ts +93 -0
  281. package/integrations/lifecycle/hookManager.ts +107 -0
  282. package/integrations/lifecycle/index.ts +6 -0
  283. package/integrations/lifecycle/install.ts +44 -0
  284. package/integrations/lifecycle/npmService.ts +21 -0
  285. package/integrations/lifecycle/packageInfo.ts +5 -0
  286. package/integrations/lifecycle/remove.ts +95 -0
  287. package/integrations/lifecycle/state.ts +41 -0
  288. package/integrations/lifecycle/status.ts +30 -0
  289. package/integrations/lifecycle/uninstall.ts +36 -0
  290. package/integrations/lifecycle/update.ts +77 -0
  291. package/integrations/mcp/evidenceContextServer.cli.ts +16 -0
  292. package/integrations/mcp/evidenceContextServer.ts +152 -0
  293. package/integrations/mcp/evidenceFacets.ts +3 -0
  294. package/integrations/mcp/evidenceFacetsBase.ts +94 -0
  295. package/integrations/mcp/evidenceFacetsSnapshot.ts +104 -0
  296. package/integrations/mcp/evidenceFacetsSuppressed.ts +3 -0
  297. package/integrations/mcp/evidenceFacetsSuppressedBase.ts +221 -0
  298. package/integrations/mcp/evidenceFacetsSuppressedRelations.ts +263 -0
  299. package/integrations/mcp/evidenceFacetsSuppressedShare.ts +2 -0
  300. package/integrations/mcp/evidenceFacetsSuppressedShareCore.ts +442 -0
  301. package/integrations/mcp/evidenceFacetsSuppressedShareTriage.ts +487 -0
  302. package/integrations/mcp/evidencePayloadCollections.ts +37 -0
  303. package/integrations/mcp/evidencePayloadCollectionsFindings.ts +64 -0
  304. package/integrations/mcp/evidencePayloadCollectionsLedger.ts +69 -0
  305. package/integrations/mcp/evidencePayloadCollectionsPaging.ts +38 -0
  306. package/integrations/mcp/evidencePayloadCollectionsPlatforms.ts +49 -0
  307. package/integrations/mcp/evidencePayloadCollectionsRulesets.ts +50 -0
  308. package/integrations/mcp/evidencePayloadCollectionsSorters.ts +62 -0
  309. package/integrations/mcp/evidencePayloadConfig.ts +79 -0
  310. package/integrations/mcp/evidencePayloadSummary.ts +144 -0
  311. package/integrations/mcp/evidencePayloadSummarySuppressed.ts +361 -0
  312. package/integrations/mcp/evidencePayloads.ts +8 -0
  313. package/integrations/mcp/index.ts +1 -0
  314. package/integrations/platform/detectAndroid.ts +25 -0
  315. package/integrations/platform/detectBackend.ts +22 -0
  316. package/integrations/platform/detectFrontend.ts +29 -0
  317. package/integrations/platform/detectPlatforms.ts +69 -0
  318. package/package.json +218 -0
  319. package/scripts/adapter-readiness-cli-lib.ts +64 -0
  320. package/scripts/adapter-readiness-contract.ts +46 -0
  321. package/scripts/adapter-readiness-lib.ts +10 -0
  322. package/scripts/adapter-readiness-markdown-lib.ts +41 -0
  323. package/scripts/adapter-readiness-markdown-next-actions-lib.ts +33 -0
  324. package/scripts/adapter-readiness-markdown-sections-lib.ts +78 -0
  325. package/scripts/adapter-readiness-parser-lib.ts +30 -0
  326. package/scripts/adapter-readiness-summary-lib.ts +62 -0
  327. package/scripts/adapter-real-session-analysis-evaluation-lib.ts +49 -0
  328. package/scripts/adapter-real-session-analysis-lib.ts +8 -0
  329. package/scripts/adapter-real-session-analysis-messages-lib.ts +58 -0
  330. package/scripts/adapter-real-session-analysis-signals-lib.ts +59 -0
  331. package/scripts/adapter-real-session-analysis-status-lib.ts +29 -0
  332. package/scripts/adapter-real-session-arg-values-lib.ts +47 -0
  333. package/scripts/adapter-real-session-args-lib.ts +46 -0
  334. package/scripts/adapter-real-session-audit-snapshot-lib.ts +70 -0
  335. package/scripts/adapter-real-session-context-lib.ts +7 -0
  336. package/scripts/adapter-real-session-contract.ts +54 -0
  337. package/scripts/adapter-real-session-fs-lib.ts +36 -0
  338. package/scripts/adapter-real-session-git-lib.ts +13 -0
  339. package/scripts/adapter-real-session-hook-config-lib.ts +24 -0
  340. package/scripts/adapter-real-session-markdown-core-sections-lib.ts +11 -0
  341. package/scripts/adapter-real-session-markdown-lib.ts +25 -0
  342. package/scripts/adapter-real-session-markdown-sections-context-lib.ts +56 -0
  343. package/scripts/adapter-real-session-markdown-sections-evaluation-lib.ts +71 -0
  344. package/scripts/adapter-real-session-markdown-sections-lib.ts +34 -0
  345. package/scripts/adapter-real-session-markdown-snippet-section-lib.ts +44 -0
  346. package/scripts/adapter-real-session-markdown-snippets-lib.ts +19 -0
  347. package/scripts/adapter-real-session-markdown-value-formatters-lib.ts +10 -0
  348. package/scripts/adapter-real-session-report-lib.ts +16 -0
  349. package/scripts/adapter-real-session-status-parser-lib.ts +42 -0
  350. package/scripts/adapter-session-status-args-lib.ts +46 -0
  351. package/scripts/adapter-session-status-audit-latest-lib.ts +22 -0
  352. package/scripts/adapter-session-status-audit-tail-entries-lib.ts +78 -0
  353. package/scripts/adapter-session-status-audit-tail-lib.ts +15 -0
  354. package/scripts/adapter-session-status-command-lib.ts +49 -0
  355. package/scripts/adapter-session-status-contract.ts +55 -0
  356. package/scripts/adapter-session-status-hook-log-filter-lib.ts +38 -0
  357. package/scripts/adapter-session-status-lib.ts +25 -0
  358. package/scripts/adapter-session-status-log-filter-lib.ts +3 -0
  359. package/scripts/adapter-session-status-log-utils-lib.ts +23 -0
  360. package/scripts/adapter-session-status-markdown-lib.ts +65 -0
  361. package/scripts/adapter-session-status-report-lib.ts +21 -0
  362. package/scripts/adapter-session-status-tail-readers-lib.ts +58 -0
  363. package/scripts/adapter-session-status-verdict-lib.ts +43 -0
  364. package/scripts/adapter-session-status-writes-log-filter-lib.ts +25 -0
  365. package/scripts/build-adapter-readiness.ts +51 -0
  366. package/scripts/build-adapter-real-session-report.ts +58 -0
  367. package/scripts/build-adapter-session-status.ts +42 -0
  368. package/scripts/build-consumer-startup-failure-support-bundle.ts +22 -0
  369. package/scripts/build-consumer-startup-triage-arg-flags-lib.ts +26 -0
  370. package/scripts/build-consumer-startup-triage-arg-values-lib.ts +45 -0
  371. package/scripts/build-consumer-startup-triage-args-lib.ts +59 -0
  372. package/scripts/build-consumer-startup-triage-contract.ts +25 -0
  373. package/scripts/build-consumer-startup-triage-runner-lib.ts +59 -0
  374. package/scripts/build-consumer-startup-triage.ts +58 -0
  375. package/scripts/build-consumer-startup-unblock-status.ts +34 -0
  376. package/scripts/build-consumer-support-ticket-draft.ts +32 -0
  377. package/scripts/build-mock-consumer-ab-report.ts +34 -0
  378. package/scripts/build-mock-consumer-startup-triage.ts +71 -0
  379. package/scripts/build-phase5-blockers-readiness.ts +69 -0
  380. package/scripts/build-phase5-execution-closure-status-output-lib.ts +22 -0
  381. package/scripts/build-phase5-execution-closure-status-runner-lib.ts +61 -0
  382. package/scripts/build-phase5-execution-closure-status.ts +35 -0
  383. package/scripts/build-phase5-external-handoff-arg-flags-lib.ts +21 -0
  384. package/scripts/build-phase5-external-handoff-arg-handlers-lib.ts +48 -0
  385. package/scripts/build-phase5-external-handoff-arg-values-lib.ts +59 -0
  386. package/scripts/build-phase5-external-handoff-args-lib.ts +25 -0
  387. package/scripts/build-phase5-external-handoff-contract.ts +39 -0
  388. package/scripts/build-phase5-external-handoff-inputs-lib.ts +86 -0
  389. package/scripts/build-phase5-external-handoff.ts +71 -0
  390. package/scripts/build-phase5-support-portal-payload.sh +67 -0
  391. package/scripts/build-phase8-ready-handoff-summary.sh +66 -0
  392. package/scripts/check-consumer-ci-auth.ts +64 -0
  393. package/scripts/check-package-manifest.ts +54 -0
  394. package/scripts/check-phase5-escalation-ready-to-submit.sh +74 -0
  395. package/scripts/check-phase5-latest-ready-chain.sh +44 -0
  396. package/scripts/check-phase8-loop-guard-coverage.sh +44 -0
  397. package/scripts/check-phase8-loop-guard.sh +81 -0
  398. package/scripts/check-refactor-progress-single-active.sh +25 -0
  399. package/scripts/check-validation-docs-hygiene.ts +42 -0
  400. package/scripts/clean-validation-artifacts-cli-lib.ts +38 -0
  401. package/scripts/clean-validation-artifacts-lib.ts +64 -0
  402. package/scripts/clean-validation-artifacts-output-lib.ts +21 -0
  403. package/scripts/clean-validation-artifacts.ts +42 -0
  404. package/scripts/close-phase5-escalation-submission.sh +81 -0
  405. package/scripts/collect-consumer-ci-artifacts-args-lib.ts +61 -0
  406. package/scripts/collect-consumer-ci-artifacts-contract.ts +54 -0
  407. package/scripts/collect-consumer-ci-artifacts-gh-command-lib.ts +17 -0
  408. package/scripts/collect-consumer-ci-artifacts-gh-fetch-lib.ts +45 -0
  409. package/scripts/collect-consumer-ci-artifacts-gh-lib.ts +5 -0
  410. package/scripts/collect-consumer-ci-artifacts-gh-run-fetch-lib.ts +56 -0
  411. package/scripts/collect-consumer-ci-artifacts-markdown-lib.ts +69 -0
  412. package/scripts/collect-consumer-ci-artifacts.ts +30 -0
  413. package/scripts/compile-skills-lock-args-lib.ts +53 -0
  414. package/scripts/compile-skills-lock-runner-lib.ts +48 -0
  415. package/scripts/compile-skills-lock.ts +9 -0
  416. package/scripts/consumer-ci-auth-check-contract.ts +39 -0
  417. package/scripts/consumer-ci-auth-check-gh-lib.ts +54 -0
  418. package/scripts/consumer-ci-auth-check-lib.ts +15 -0
  419. package/scripts/consumer-ci-auth-check-markdown-header-status-lib.ts +32 -0
  420. package/scripts/consumer-ci-auth-check-markdown-json-lib.ts +19 -0
  421. package/scripts/consumer-ci-auth-check-markdown-lib.ts +30 -0
  422. package/scripts/consumer-ci-auth-check-markdown-remediation-lib.ts +36 -0
  423. package/scripts/consumer-ci-auth-check-markdown-sections-lib.ts +6 -0
  424. package/scripts/consumer-ci-auth-check-parse-lib.ts +65 -0
  425. package/scripts/consumer-startup-failure-support-bundle-lib.ts +58 -0
  426. package/scripts/consumer-startup-triage-command-builders-core-lib.ts +5 -0
  427. package/scripts/consumer-startup-triage-command-builders-core-required-lib.ts +40 -0
  428. package/scripts/consumer-startup-triage-command-builders-lib.ts +10 -0
  429. package/scripts/consumer-startup-triage-command-builders-support-bundle-lib.ts +26 -0
  430. package/scripts/consumer-startup-triage-command-builders-support-followup-lib.ts +53 -0
  431. package/scripts/consumer-startup-triage-command-builders-support-lib.ts +5 -0
  432. package/scripts/consumer-startup-triage-command-builders-workflow-lint-lib.ts +45 -0
  433. package/scripts/consumer-startup-triage-commands-lib.ts +64 -0
  434. package/scripts/consumer-startup-triage-contract.ts +41 -0
  435. package/scripts/consumer-startup-triage-lib.ts +9 -0
  436. package/scripts/consumer-startup-triage-markdown-lib.ts +63 -0
  437. package/scripts/consumer-startup-triage-outputs-lib.ts +19 -0
  438. package/scripts/consumer-startup-unblock-arg-setters-lib.ts +34 -0
  439. package/scripts/consumer-startup-unblock-args-contract.ts +17 -0
  440. package/scripts/consumer-startup-unblock-args-defaults-lib.ts +17 -0
  441. package/scripts/consumer-startup-unblock-args-lib.ts +49 -0
  442. package/scripts/consumer-startup-unblock-auth-lib.ts +16 -0
  443. package/scripts/consumer-startup-unblock-blockers-lib.ts +65 -0
  444. package/scripts/consumer-startup-unblock-cli-lib.ts +10 -0
  445. package/scripts/consumer-startup-unblock-contract.ts +42 -0
  446. package/scripts/consumer-startup-unblock-input-lib.ts +17 -0
  447. package/scripts/consumer-startup-unblock-markdown-lib.ts +47 -0
  448. package/scripts/consumer-startup-unblock-markdown-next-actions-lib.ts +37 -0
  449. package/scripts/consumer-startup-unblock-markdown-sections-lib.ts +53 -0
  450. package/scripts/consumer-startup-unblock-parser-lib.ts +24 -0
  451. package/scripts/consumer-startup-unblock-runner-lib.ts +69 -0
  452. package/scripts/consumer-startup-unblock-status-lib.ts +7 -0
  453. package/scripts/consumer-startup-unblock-summary-lib.ts +54 -0
  454. package/scripts/consumer-support-bundle-args-defaults-lib.ts +11 -0
  455. package/scripts/consumer-support-bundle-args-values-lib.ts +27 -0
  456. package/scripts/consumer-support-bundle-contract.ts +61 -0
  457. package/scripts/consumer-support-bundle-gh-auth-repo-lib.ts +51 -0
  458. package/scripts/consumer-support-bundle-gh-command-lib.ts +63 -0
  459. package/scripts/consumer-support-bundle-gh-diagnostics-collector-lib.ts +66 -0
  460. package/scripts/consumer-support-bundle-gh-diagnostics-fetch-lib.ts +36 -0
  461. package/scripts/consumer-support-bundle-gh-lib.ts +8 -0
  462. package/scripts/consumer-support-bundle-gh-loaders-lib.ts +7 -0
  463. package/scripts/consumer-support-bundle-gh-workflow-runs-lib.ts +30 -0
  464. package/scripts/consumer-support-bundle-markdown-context-lib.ts +49 -0
  465. package/scripts/consumer-support-bundle-markdown-lib.ts +44 -0
  466. package/scripts/consumer-support-bundle-markdown-run-sections-append-lib.ts +47 -0
  467. package/scripts/consumer-support-bundle-markdown-sections-append-lib.ts +51 -0
  468. package/scripts/consumer-support-bundle-markdown-sections-core-lib.ts +67 -0
  469. package/scripts/consumer-support-bundle-markdown-sections-lib.ts +7 -0
  470. package/scripts/consumer-support-bundle-markdown-sections-run-diagnostics-lib.ts +34 -0
  471. package/scripts/consumer-support-bundle-markdown-sections-support-payload-lib.ts +60 -0
  472. package/scripts/consumer-support-bundle-markdown-top-sections-append-lib.ts +55 -0
  473. package/scripts/consumer-support-bundle-markdown-top-sections-lib.ts +51 -0
  474. package/scripts/consumer-support-bundle-runner-lib.ts +49 -0
  475. package/scripts/consumer-support-ticket-cli-arg-setters-lib.ts +30 -0
  476. package/scripts/consumer-support-ticket-cli-contract.ts +14 -0
  477. package/scripts/consumer-support-ticket-cli-defaults-lib.ts +14 -0
  478. package/scripts/consumer-support-ticket-cli-lib.ts +63 -0
  479. package/scripts/consumer-support-ticket-draft-diagnostics-sections-lib.ts +67 -0
  480. package/scripts/consumer-support-ticket-draft-lib.ts +36 -0
  481. package/scripts/consumer-support-ticket-draft-primary-sections-lib.ts +51 -0
  482. package/scripts/consumer-support-ticket-draft-sections-lib.ts +10 -0
  483. package/scripts/consumer-support-ticket-lib.ts +3 -0
  484. package/scripts/consumer-support-ticket-parser-lib.ts +72 -0
  485. package/scripts/consumer-support-ticket-runner-lib.ts +42 -0
  486. package/scripts/consumer-workflow-lint-args-lib.ts +56 -0
  487. package/scripts/consumer-workflow-lint-command-lib.ts +60 -0
  488. package/scripts/consumer-workflow-lint-contract.ts +14 -0
  489. package/scripts/consumer-workflow-lint-markdown-lib.ts +39 -0
  490. package/scripts/consumer-workflow-lint-runner-lib.ts +52 -0
  491. package/scripts/fill-adapter-external-ide-replay-closeout.sh +90 -0
  492. package/scripts/framework-menu-action-contract.ts +17 -0
  493. package/scripts/framework-menu-actions-diagnostics-adapter-lib.ts +31 -0
  494. package/scripts/framework-menu-actions-diagnostics-ci-lib.ts +40 -0
  495. package/scripts/framework-menu-actions-diagnostics-maintenance-lib.ts +22 -0
  496. package/scripts/framework-menu-actions-diagnostics-support-core-lib.ts +40 -0
  497. package/scripts/framework-menu-actions-diagnostics-support-lib.ts +15 -0
  498. package/scripts/framework-menu-actions-diagnostics-support-triage-lib.ts +28 -0
  499. package/scripts/framework-menu-actions-diagnostics.ts +19 -0
  500. package/scripts/framework-menu-actions-gates-ci-lib.ts +30 -0
  501. package/scripts/framework-menu-actions-gates-stage-lib.ts +32 -0
  502. package/scripts/framework-menu-actions-gates-tools-lib.ts +26 -0
  503. package/scripts/framework-menu-actions-gates.ts +17 -0
  504. package/scripts/framework-menu-actions-phase5-exec-lib.ts +32 -0
  505. package/scripts/framework-menu-actions-phase5-exit-lib.ts +16 -0
  506. package/scripts/framework-menu-actions-phase5-reports-lib.ts +49 -0
  507. package/scripts/framework-menu-actions-phase5.ts +17 -0
  508. package/scripts/framework-menu-actions.ts +22 -0
  509. package/scripts/framework-menu-builders-adapter.ts +29 -0
  510. package/scripts/framework-menu-builders-consumer-contract.ts +19 -0
  511. package/scripts/framework-menu-builders-consumer-mock-ab-lib.ts +22 -0
  512. package/scripts/framework-menu-builders-consumer-triage-lib.ts +31 -0
  513. package/scripts/framework-menu-builders-consumer.ts +6 -0
  514. package/scripts/framework-menu-builders-maintenance.ts +24 -0
  515. package/scripts/framework-menu-builders-phase5-blockers-lib.ts +16 -0
  516. package/scripts/framework-menu-builders-phase5-closure-lib.ts +46 -0
  517. package/scripts/framework-menu-builders-phase5-contract.ts +43 -0
  518. package/scripts/framework-menu-builders-phase5-handoff-lib.ts +38 -0
  519. package/scripts/framework-menu-builders-phase5-status-lib.ts +24 -0
  520. package/scripts/framework-menu-builders-phase5.ts +12 -0
  521. package/scripts/framework-menu-builders-shared-lib.ts +3 -0
  522. package/scripts/framework-menu-builders.ts +19 -0
  523. package/scripts/framework-menu-gate-lib.ts +53 -0
  524. package/scripts/framework-menu-prompt-types.ts +12 -0
  525. package/scripts/framework-menu-prompts-adapter.ts +50 -0
  526. package/scripts/framework-menu-prompts-consumer-ci-lib.ts +36 -0
  527. package/scripts/framework-menu-prompts-consumer-contract.ts +46 -0
  528. package/scripts/framework-menu-prompts-consumer-startup-triage-lib.ts +69 -0
  529. package/scripts/framework-menu-prompts-consumer-support-bundle-lib.ts +20 -0
  530. package/scripts/framework-menu-prompts-consumer-support-ticket-lib.ts +27 -0
  531. package/scripts/framework-menu-prompts-consumer-unblock-status-lib.ts +33 -0
  532. package/scripts/framework-menu-prompts-consumer-workflow-lint-lib.ts +27 -0
  533. package/scripts/framework-menu-prompts-consumer.ts +26 -0
  534. package/scripts/framework-menu-prompts-phase5-blockers-lib.ts +24 -0
  535. package/scripts/framework-menu-prompts-phase5-closure-lib.ts +17 -0
  536. package/scripts/framework-menu-prompts-phase5-closure-live-lib.ts +51 -0
  537. package/scripts/framework-menu-prompts-phase5-closure-mock-lib.ts +23 -0
  538. package/scripts/framework-menu-prompts-phase5-closure-shared-lib.ts +24 -0
  539. package/scripts/framework-menu-prompts-phase5-contract.ts +48 -0
  540. package/scripts/framework-menu-prompts-phase5-handoff-lib.ts +54 -0
  541. package/scripts/framework-menu-prompts-phase5-mock-ab-lib.ts +36 -0
  542. package/scripts/framework-menu-prompts-phase5-status-lib.ts +31 -0
  543. package/scripts/framework-menu-prompts-phase5.ts +16 -0
  544. package/scripts/framework-menu-prompts.ts +32 -0
  545. package/scripts/framework-menu-runner-common.ts +13 -0
  546. package/scripts/framework-menu-runner-constants.ts +3 -0
  547. package/scripts/framework-menu-runner-evidence-lib.ts +14 -0
  548. package/scripts/framework-menu-runner-git-lib.ts +13 -0
  549. package/scripts/framework-menu-runner-path-lib.ts +12 -0
  550. package/scripts/framework-menu-runner-process-lib.ts +27 -0
  551. package/scripts/framework-menu-runners-adapter-contract.ts +13 -0
  552. package/scripts/framework-menu-runners-adapter-readiness-lib.ts +20 -0
  553. package/scripts/framework-menu-runners-adapter-real-session-lib.ts +20 -0
  554. package/scripts/framework-menu-runners-adapter-session-lib.ts +19 -0
  555. package/scripts/framework-menu-runners-adapter.ts +9 -0
  556. package/scripts/framework-menu-runners-consumer-artifacts-lib.ts +11 -0
  557. package/scripts/framework-menu-runners-consumer-auth-lib.ts +11 -0
  558. package/scripts/framework-menu-runners-consumer-contract.ts +55 -0
  559. package/scripts/framework-menu-runners-consumer-exec-lib.ts +13 -0
  560. package/scripts/framework-menu-runners-consumer-mock-ab-lib.ts +24 -0
  561. package/scripts/framework-menu-runners-consumer-startup-triage-lib.ts +24 -0
  562. package/scripts/framework-menu-runners-consumer-support-bundle-lib.ts +11 -0
  563. package/scripts/framework-menu-runners-consumer-support-ticket-lib.ts +20 -0
  564. package/scripts/framework-menu-runners-consumer-unblock-lib.ts +22 -0
  565. package/scripts/framework-menu-runners-consumer-workflow-lib.ts +18 -0
  566. package/scripts/framework-menu-runners-consumer.ts +21 -0
  567. package/scripts/framework-menu-runners-phase5-blockers-lib.ts +18 -0
  568. package/scripts/framework-menu-runners-phase5-closure-lib.ts +25 -0
  569. package/scripts/framework-menu-runners-phase5-contract.ts +39 -0
  570. package/scripts/framework-menu-runners-phase5-exec-lib.ts +25 -0
  571. package/scripts/framework-menu-runners-phase5-handoff-lib.ts +25 -0
  572. package/scripts/framework-menu-runners-phase5-status-lib.ts +20 -0
  573. package/scripts/framework-menu-runners-phase5.ts +12 -0
  574. package/scripts/framework-menu-runners-validation-cleanup-lib.ts +31 -0
  575. package/scripts/framework-menu-runners-validation-docs-lib.ts +20 -0
  576. package/scripts/framework-menu-runners-validation-skills-lib.ts +11 -0
  577. package/scripts/framework-menu-runners-validation.ts +4 -0
  578. package/scripts/framework-menu-runners.ts +37 -0
  579. package/scripts/framework-menu-skills-lib.ts +26 -0
  580. package/scripts/framework-menu.cli.ts +3 -0
  581. package/scripts/framework-menu.ts +67 -0
  582. package/scripts/lint-consumer-workflows.ts +29 -0
  583. package/scripts/mark-phase5-escalation-submitted.sh +49 -0
  584. package/scripts/mark-phase8-followup-posted-now.sh +33 -0
  585. package/scripts/mark-phase8-followup-replied-now.sh +52 -0
  586. package/scripts/mark-phase8-support-followup-state.sh +89 -0
  587. package/scripts/mock-consumer-ab-blockers-lib.ts +36 -0
  588. package/scripts/mock-consumer-ab-cli-arg-setters-lib.ts +46 -0
  589. package/scripts/mock-consumer-ab-cli-defaults-lib.ts +19 -0
  590. package/scripts/mock-consumer-ab-cli-lib.ts +46 -0
  591. package/scripts/mock-consumer-ab-contract.ts +30 -0
  592. package/scripts/mock-consumer-ab-evidence-lib.ts +50 -0
  593. package/scripts/mock-consumer-ab-markdown-assertions-lib.ts +24 -0
  594. package/scripts/mock-consumer-ab-markdown-blockers-lib.ts +9 -0
  595. package/scripts/mock-consumer-ab-markdown-contract.ts +16 -0
  596. package/scripts/mock-consumer-ab-markdown-header-inputs-lib.ts +21 -0
  597. package/scripts/mock-consumer-ab-markdown-lib.ts +24 -0
  598. package/scripts/mock-consumer-ab-markdown-next-actions-lib.ts +22 -0
  599. package/scripts/mock-consumer-ab-markdown-sections-lib.ts +21 -0
  600. package/scripts/mock-consumer-ab-report-lib.ts +12 -0
  601. package/scripts/mock-consumer-ab-runner-lib.ts +51 -0
  602. package/scripts/mock-consumer-smoke-contract.ts +14 -0
  603. package/scripts/mock-consumer-smoke-lib.ts +3 -0
  604. package/scripts/mock-consumer-smoke-summary-lib.ts +59 -0
  605. package/scripts/mock-consumer-smoke-verdict-lib.ts +27 -0
  606. package/scripts/mock-consumer-startup-triage-arg-flags-lib.ts +13 -0
  607. package/scripts/mock-consumer-startup-triage-arg-values-lib.ts +35 -0
  608. package/scripts/mock-consumer-startup-triage-cli-contract.ts +7 -0
  609. package/scripts/mock-consumer-startup-triage-cli-lib.ts +56 -0
  610. package/scripts/mock-consumer-startup-triage-lib.ts +2 -0
  611. package/scripts/mock-consumer-startup-triage-markdown-lib.ts +57 -0
  612. package/scripts/mock-consumer-startup-unblock-markdown-lib.ts +38 -0
  613. package/scripts/package-install-smoke-command-lib.ts +67 -0
  614. package/scripts/package-install-smoke-consumer-git-lib.ts +10 -0
  615. package/scripts/package-install-smoke-consumer-git-payload-lib.ts +45 -0
  616. package/scripts/package-install-smoke-consumer-git-repo-lib.ts +49 -0
  617. package/scripts/package-install-smoke-consumer-npm-lib.ts +47 -0
  618. package/scripts/package-install-smoke-consumer-repo-setup-lib.ts +31 -0
  619. package/scripts/package-install-smoke-contract.ts +6 -0
  620. package/scripts/package-install-smoke-execution-lib.ts +73 -0
  621. package/scripts/package-install-smoke-execution-steps-lib.ts +46 -0
  622. package/scripts/package-install-smoke-execution-summary-lib.ts +51 -0
  623. package/scripts/package-install-smoke-file-lib.ts +33 -0
  624. package/scripts/package-install-smoke-fixtures-content-lib.ts +57 -0
  625. package/scripts/package-install-smoke-fixtures-lib.ts +41 -0
  626. package/scripts/package-install-smoke-fixtures-write-lib.ts +14 -0
  627. package/scripts/package-install-smoke-gate-lib.ts +64 -0
  628. package/scripts/package-install-smoke-lib.ts +3 -0
  629. package/scripts/package-install-smoke-lifecycle-lib.ts +91 -0
  630. package/scripts/package-install-smoke-mode-lib.ts +31 -0
  631. package/scripts/package-install-smoke-repo-setup-lib.ts +2 -0
  632. package/scripts/package-install-smoke-runner-common.ts +12 -0
  633. package/scripts/package-install-smoke-tarball-lib.ts +34 -0
  634. package/scripts/package-install-smoke-workspace-contract.ts +11 -0
  635. package/scripts/package-install-smoke-workspace-factory-lib.ts +38 -0
  636. package/scripts/package-install-smoke-workspace-lib.ts +7 -0
  637. package/scripts/package-install-smoke-workspace-report-lib.ts +44 -0
  638. package/scripts/package-install-smoke.ts +7 -0
  639. package/scripts/package-manifest-lib.ts +44 -0
  640. package/scripts/phase5-blockers-contract.ts +36 -0
  641. package/scripts/phase5-blockers-detected-blockers-lib.ts +35 -0
  642. package/scripts/phase5-blockers-markdown-header-inputs-signals-lib.ts +48 -0
  643. package/scripts/phase5-blockers-markdown-lib.ts +51 -0
  644. package/scripts/phase5-blockers-markdown-list-utils-lib.ts +13 -0
  645. package/scripts/phase5-blockers-markdown-next-actions-blocked-lib.ts +46 -0
  646. package/scripts/phase5-blockers-markdown-next-actions-lib.ts +29 -0
  647. package/scripts/phase5-blockers-markdown-next-actions-ready-lib.ts +13 -0
  648. package/scripts/phase5-blockers-markdown-sections-lib.ts +7 -0
  649. package/scripts/phase5-blockers-markdown-static-sections-lib.ts +26 -0
  650. package/scripts/phase5-blockers-missing-inputs-lib.ts +16 -0
  651. package/scripts/phase5-blockers-parser-adapter-lib.ts +44 -0
  652. package/scripts/phase5-blockers-parser-consumer-lib.ts +32 -0
  653. package/scripts/phase5-blockers-parser-lib.ts +2 -0
  654. package/scripts/phase5-blockers-readiness-arg-flags-lib.ts +13 -0
  655. package/scripts/phase5-blockers-readiness-arg-values-lib.ts +27 -0
  656. package/scripts/phase5-blockers-readiness-cli-contract.ts +6 -0
  657. package/scripts/phase5-blockers-readiness-cli-lib.ts +55 -0
  658. package/scripts/phase5-blockers-readiness-input-lib.ts +17 -0
  659. package/scripts/phase5-blockers-readiness-lib.ts +8 -0
  660. package/scripts/phase5-blockers-summary-lib.ts +48 -0
  661. package/scripts/phase5-execution-closure-commands-lib.ts +32 -0
  662. package/scripts/phase5-execution-closure-lib.ts +2 -0
  663. package/scripts/phase5-execution-closure-outputs-lib.ts +25 -0
  664. package/scripts/phase5-execution-closure-plan-adapter-commands-lib.ts +41 -0
  665. package/scripts/phase5-execution-closure-plan-adapter-lib.ts +25 -0
  666. package/scripts/phase5-execution-closure-plan-consumer-lib.ts +5 -0
  667. package/scripts/phase5-execution-closure-plan-consumer-preflight-lib.ts +58 -0
  668. package/scripts/phase5-execution-closure-plan-consumer-triage-lib.ts +62 -0
  669. package/scripts/phase5-execution-closure-plan-contract.ts +42 -0
  670. package/scripts/phase5-execution-closure-plan-lib.ts +7 -0
  671. package/scripts/phase5-execution-closure-plan-phase5-args-lib.ts +52 -0
  672. package/scripts/phase5-execution-closure-plan-phase5-lib.ts +37 -0
  673. package/scripts/phase5-execution-closure-plan-validation-lib.ts +15 -0
  674. package/scripts/phase5-execution-closure-report-contract.ts +22 -0
  675. package/scripts/phase5-execution-closure-report-executions-lib.ts +35 -0
  676. package/scripts/phase5-execution-closure-report-header-lib.ts +38 -0
  677. package/scripts/phase5-execution-closure-report-lib.ts +31 -0
  678. package/scripts/phase5-execution-closure-report-next-actions-lib.ts +19 -0
  679. package/scripts/phase5-execution-closure-report-sections-lib.ts +51 -0
  680. package/scripts/phase5-execution-closure-runner-arg-flags-lib.ts +32 -0
  681. package/scripts/phase5-execution-closure-runner-arg-handlers-lib.ts +33 -0
  682. package/scripts/phase5-execution-closure-runner-arg-value-handlers-lib.ts +62 -0
  683. package/scripts/phase5-execution-closure-runner-arg-values-lib.ts +39 -0
  684. package/scripts/phase5-execution-closure-runner-contract.ts +31 -0
  685. package/scripts/phase5-execution-closure-runner-exec-command-lib.ts +20 -0
  686. package/scripts/phase5-execution-closure-runner-exec-error-lib.ts +32 -0
  687. package/scripts/phase5-execution-closure-runner-exec-lib.ts +35 -0
  688. package/scripts/phase5-execution-closure-runner-lib.ts +8 -0
  689. package/scripts/phase5-execution-closure-runner-mappers-lib.ts +30 -0
  690. package/scripts/phase5-execution-closure-runner-options-normalizer-lib.ts +19 -0
  691. package/scripts/phase5-execution-closure-runner-parse-lib.ts +23 -0
  692. package/scripts/phase5-execution-closure-runner-plan-lib.ts +14 -0
  693. package/scripts/phase5-execution-closure-runner-report-writer-lib.ts +12 -0
  694. package/scripts/phase5-execution-closure-status-arg-flags-lib.ts +13 -0
  695. package/scripts/phase5-execution-closure-status-arg-values-lib.ts +35 -0
  696. package/scripts/phase5-execution-closure-status-blockers-lib.ts +47 -0
  697. package/scripts/phase5-execution-closure-status-cli-contract.ts +24 -0
  698. package/scripts/phase5-execution-closure-status-cli-input-lib.ts +17 -0
  699. package/scripts/phase5-execution-closure-status-cli-lib.ts +10 -0
  700. package/scripts/phase5-execution-closure-status-cli-parse-lib.ts +59 -0
  701. package/scripts/phase5-execution-closure-status-contract.ts +48 -0
  702. package/scripts/phase5-execution-closure-status-lib.ts +8 -0
  703. package/scripts/phase5-execution-closure-status-markdown-lib.ts +22 -0
  704. package/scripts/phase5-execution-closure-status-markdown-list-lib.ts +16 -0
  705. package/scripts/phase5-execution-closure-status-markdown-next-actions-lib.ts +24 -0
  706. package/scripts/phase5-execution-closure-status-markdown-sections-lib.ts +7 -0
  707. package/scripts/phase5-execution-closure-status-markdown-static-sections-lib.ts +58 -0
  708. package/scripts/phase5-execution-closure-status-missing-inputs-lib.ts +19 -0
  709. package/scripts/phase5-execution-closure-status-parser-lib.ts +4 -0
  710. package/scripts/phase5-execution-closure-status-summary-helpers-lib.ts +6 -0
  711. package/scripts/phase5-execution-closure-status-summary-lib.ts +34 -0
  712. package/scripts/phase5-execution-closure-status-verdict-lib.ts +11 -0
  713. package/scripts/phase5-external-handoff-contract.ts +51 -0
  714. package/scripts/phase5-external-handoff-inputs-artifacts-lib.ts +45 -0
  715. package/scripts/phase5-external-handoff-lib.ts +3 -0
  716. package/scripts/phase5-external-handoff-markdown-core-sections-lib.ts +70 -0
  717. package/scripts/phase5-external-handoff-markdown-header-lib.ts +15 -0
  718. package/scripts/phase5-external-handoff-markdown-lib.ts +44 -0
  719. package/scripts/phase5-external-handoff-markdown-list-lib.ts +16 -0
  720. package/scripts/phase5-external-handoff-markdown-list-sections-lib.ts +54 -0
  721. package/scripts/phase5-external-handoff-markdown-next-actions-lib.ts +27 -0
  722. package/scripts/phase5-external-handoff-markdown-sections-append-lib.ts +69 -0
  723. package/scripts/phase5-external-handoff-markdown-sections-lib.ts +12 -0
  724. package/scripts/phase5-external-handoff-summary-helpers-lib.ts +9 -0
  725. package/scripts/phase5-external-handoff-summary-lib.ts +46 -0
  726. package/scripts/phase5-external-handoff-verdict-evaluators-lib.ts +67 -0
  727. package/scripts/prepare-adapter-external-ide-replay-closeout-auto.sh +100 -0
  728. package/scripts/prepare-phase5-escalation-submission.sh +21 -0
  729. package/scripts/refresh-phase5-latest-escalation.sh +94 -0
  730. package/scripts/run-phase5-execution-closure.ts +58 -0
  731. package/scripts/run-phase5-post-support-refresh.sh +25 -0
  732. package/scripts/run-phase8-after-billing-reactivation.sh +31 -0
  733. package/scripts/run-phase8-autopilot.sh +42 -0
  734. package/scripts/run-phase8-close-ready.sh +38 -0
  735. package/scripts/run-phase8-doctor.sh +61 -0
  736. package/scripts/run-phase8-next-step.sh +39 -0
  737. package/scripts/run-phase8-status-pack.sh +35 -0
  738. package/scripts/run-phase8-tick.sh +35 -0
  739. package/scripts/sync-codex-skills.sh +40 -0
  740. package/scripts/sync-phase5-latest-docs.sh +119 -0
  741. package/scripts/validation-docs-hygiene-lib.ts +46 -0
  742. package/skills.lock.json +178 -0
  743. package/skills.sources.json +33 -0
  744. package/tsconfig.json +39 -0
@@ -0,0 +1,233 @@
1
+ # API Reference (v2.x)
2
+
3
+ This document describes the active TypeScript API surface used by the deterministic gate flow in this repository.
4
+
5
+ ## Stage policies
6
+
7
+ File: `integrations/gate/stagePolicies.ts`
8
+
9
+ - `policyForPreCommit(): GatePolicy`
10
+ - `policyForPrePush(): GatePolicy`
11
+ - `policyForCI(): GatePolicy`
12
+ - `applyHeuristicSeverityForStage(rules, stage): RuleSet`
13
+
14
+ ## Git stage runners
15
+
16
+ File: `integrations/git/stageRunners.ts`
17
+
18
+ - `runPreCommitStage(): Promise<number>`
19
+ - `runPrePushStage(): Promise<number>`
20
+ - `runCiStage(): Promise<number>`
21
+
22
+ Exit code contract:
23
+
24
+ - `0` on pass/warn
25
+ - `1` on block or runner error
26
+
27
+ ## Platform wrappers (exports)
28
+
29
+ File: `integrations/git/index.ts`
30
+
31
+ - `runPreCommitIOS`, `runPreCommitBackend`, `runPreCommitFrontend`, `runPreCommitAndroid`
32
+ - `runPrePushIOS`, `runPrePushBackend`, `runPrePushFrontend`, `runPrePushAndroid`
33
+ - `runCiIOS`, `runCiBackend`, `runCiFrontend`, `runCiAndroid`
34
+ - `evaluateStagedIOS` (legacy compatibility entry still exported)
35
+
36
+ ## Shared execution entry
37
+
38
+ File: `integrations/git/runPlatformGate.ts`
39
+
40
+ Primary function:
41
+
42
+ - `runPlatformGate(params: { policy: GatePolicy; scope: GateScope }): Promise<number>`
43
+
44
+ Behavior:
45
+
46
+ - Builds facts from staged or range scope.
47
+ - Detects platforms from facts.
48
+ - Loads and merges baseline + project rules.
49
+ - Applies optional heuristic rule-pack and stage-aware promotion.
50
+ - Evaluates findings + gate decision.
51
+ - Writes `.ai_evidence.json` via `generateEvidence`.
52
+
53
+ ## Git scope helpers
54
+
55
+ Files:
56
+
57
+ - `integrations/git/getCommitRangeFacts.ts`
58
+ - `integrations/git/resolveGitRefs.ts`
59
+ - `integrations/git/runCliCommand.ts`
60
+
61
+ Key helpers:
62
+
63
+ - `getFactsForCommitRange({ fromRef, toRef, extensions })`
64
+ - `resolveUpstreamRef()`
65
+ - `resolveCiBaseRef()`
66
+ - `runCliCommand(runner)`
67
+
68
+ ## Evidence API
69
+
70
+ Files:
71
+
72
+ - `integrations/evidence/schema.ts`
73
+ - `integrations/evidence/buildEvidence.ts`
74
+ - `integrations/evidence/writeEvidence.ts`
75
+ - `integrations/evidence/generateEvidence.ts`
76
+
77
+ Key types:
78
+
79
+ - `AiEvidenceV2_1`
80
+ - `Snapshot`
81
+ - `LedgerEntry`
82
+ - `PlatformState`
83
+ - `RulesetState`
84
+
85
+ Contract:
86
+
87
+ - Source of truth: `version: "2.1"`
88
+ - Deterministic output order
89
+ - Snapshot + ledger merge model
90
+
91
+ ## Rule packs
92
+
93
+ Files:
94
+
95
+ - `core/rules/presets/iosEnterpriseRuleSet.ts`
96
+ - `core/rules/presets/backendRuleSet.ts`
97
+ - `core/rules/presets/frontendRuleSet.ts`
98
+ - `core/rules/presets/androidRuleSet.ts`
99
+ - `core/rules/presets/astHeuristicsRuleSet.ts`
100
+ - `core/rules/presets/rulePackVersions.ts`
101
+
102
+ ## MCP read-only evidence context
103
+
104
+ Files:
105
+
106
+ - `integrations/mcp/evidenceContextServer.ts`
107
+ - `integrations/mcp/evidenceContextServer.cli.ts`
108
+
109
+ CLI:
110
+
111
+ ```bash
112
+ npm run mcp:evidence
113
+ ```
114
+
115
+ Read-only endpoints:
116
+
117
+ - `GET /health`
118
+ - `GET /status`
119
+ - includes `context_api.endpoints[]`, `context_api.filters`, and `context_api.pagination_bounds` capabilities
120
+ - `GET /ai-evidence`
121
+ - `GET /ai-evidence/summary`
122
+ - snapshot metadata includes `has_findings` (fast boolean gate for non-empty findings)
123
+ - snapshot metadata includes `findings_files_count` (deterministic count of distinct files with findings)
124
+ - snapshot metadata includes `findings_rules_count` (deterministic count of distinct rule IDs in findings)
125
+ - snapshot metadata includes `findings_with_lines_count` (deterministic count of findings with line metadata)
126
+ - snapshot metadata includes `findings_without_lines_count` (deterministic count of findings without line metadata)
127
+ - includes `rulesets_platforms_count` (deterministic count of distinct platforms covered by loaded rulesets)
128
+ - includes `rulesets_bundles_count` (deterministic count of distinct loaded ruleset bundles)
129
+ - includes `rulesets_hashes_count` (deterministic count of distinct loaded ruleset hashes)
130
+ - includes `ledger_files_count` (deterministic count of distinct files with open ledger entries)
131
+ - includes `ledger_rules_count` (deterministic count of distinct rule IDs with open ledger entries)
132
+ - includes `suppressed_replacement_rules_count` (deterministic count of distinct replacement rule IDs in suppressed findings)
133
+ - includes `suppressed_platforms_count` (deterministic count of distinct platforms represented in suppressed findings)
134
+ - includes `suppressed_files_count` (deterministic count of distinct files represented in suppressed findings)
135
+ - includes `suppressed_rules_count` (deterministic count of distinct original rule IDs represented in suppressed findings)
136
+ - snapshot metadata includes `severity_counts` (deterministic key order)
137
+ - snapshot metadata includes `findings_by_platform` (deterministic platform-key order)
138
+ - snapshot metadata includes `highest_severity` (deterministic severity ranking)
139
+ - snapshot metadata includes `blocking_findings_count` (count of CRITICAL+ERROR findings)
140
+ - includes `ledger_by_platform` (deterministic platform-key order)
141
+ - includes `rulesets_by_platform` (deterministic platform-key order)
142
+ - includes `rulesets_fingerprint` (deterministic ordered hash signature)
143
+ - includes `platform_confidence_counts` (deterministic counts by platform confidence level)
144
+ - includes `suppressed_findings_count` (deterministic count of suppressed findings in consolidation)
145
+ - includes `tracked_platforms_count` (deterministic count of currently tracked platforms)
146
+ - includes `detected_platforms_count` (deterministic count of currently detected platforms)
147
+ - includes `non_detected_platforms_count` (deterministic count of currently tracked but non-detected platforms)
148
+ - `GET /ai-evidence/snapshot`
149
+ - `GET /ai-evidence/findings`
150
+ - `GET /ai-evidence/findings?limit=...&offset=...`
151
+ - deterministic bound: `maxLimit=100`
152
+ - pagination metadata includes `has_more` when `limit` is provided
153
+ - `GET /ai-evidence/rulesets`
154
+ - `GET /ai-evidence/rulesets?platform=...&bundle=...`
155
+ - `GET /ai-evidence/rulesets?limit=...&offset=...`
156
+ - deterministic bound: `maxLimit=100`
157
+ - pagination metadata includes `has_more` when `limit` is provided
158
+ - `GET /ai-evidence/platforms`
159
+ - `GET /ai-evidence/platforms?detectedOnly=false&confidence=...`
160
+ - `GET /ai-evidence/platforms?detectedOnly=false&limit=...&offset=...`
161
+ - deterministic bound: `maxLimit=100`
162
+ - pagination metadata includes `has_more` when `limit` is provided
163
+ - `GET /ai-evidence/ledger`
164
+ - `GET /ai-evidence/ledger?lastSeenAfter=...&lastSeenBefore=...`
165
+ - `GET /ai-evidence/ledger?lastSeenAfter=...&lastSeenBefore=...&limit=...&offset=...`
166
+ - deterministic bound: `maxLimit=100`
167
+ - pagination metadata includes `has_more` when `limit` is provided
168
+
169
+ Reference: `docs/MCP_EVIDENCE_CONTEXT_SERVER.md`.
170
+ Consumption: `docs/MCP_AGENT_CONTEXT_CONSUMPTION.md`.
171
+
172
+ ## Local execution quick refs
173
+
174
+ ```bash
175
+ npm run framework:menu
176
+ npm run validation:adapter-readiness
177
+ npm run typecheck
178
+ npm run test:deterministic
179
+ ```
180
+
181
+ ## Optional diagnostics adapters
182
+
183
+ Files:
184
+
185
+ - `scripts/build-adapter-readiness.ts`
186
+ - `scripts/adapter-readiness-lib.ts`
187
+ - `scripts/build-phase5-blockers-readiness.ts`
188
+ - `scripts/phase5-blockers-readiness-lib.ts`
189
+ - `scripts/build-phase5-execution-closure-status.ts`
190
+ - `scripts/phase5-execution-closure-status-lib.ts`
191
+ - `scripts/run-phase5-execution-closure.ts`
192
+ - `scripts/phase5-execution-closure-lib.ts`
193
+ - `scripts/clean-validation-artifacts.ts`
194
+ - `scripts/clean-validation-artifacts-lib.ts`
195
+ - `scripts/framework-menu.ts`
196
+
197
+ Commands:
198
+
199
+ - `npm run validation:adapter-readiness`
200
+ - `npm run validation:adapter-session-status`
201
+ - `npm run validation:adapter-real-session-report`
202
+ - `npm run validation:phase5-blockers-readiness`
203
+ - `npm run validation:phase5-execution-closure-status`
204
+ - `npm run validation:phase5-execution-closure`
205
+ - `npm run validation:phase5-external-handoff`
206
+ - `npm run validation:clean-artifacts`
207
+
208
+ `validation:phase5-execution-closure` notes:
209
+
210
+ - defaults to output directory `.audit-reports/phase5`
211
+ - runs auth preflight and fails fast on auth/scope blockers
212
+ - supports `--skip-auth-preflight` when preflight must be bypassed
213
+
214
+ Framework menu action:
215
+
216
+ - `Build adapter readiness report`
217
+ - `Build phase5 execution closure status report`
218
+ - `Run phase5 execution closure (one-shot orchestration)`
219
+ - `Build phase5 external handoff report`
220
+ - `Clean local validation artifacts`
221
+
222
+ Deterministic argument builders exported from menu module:
223
+
224
+ - `buildAdapterReadinessCommandArgs({ scriptPath, adapterReportFile, outFile })`
225
+ - `buildCleanValidationArtifactsCommandArgs({ scriptPath, dryRun })`
226
+ - `buildPhase5BlockersReadinessCommandArgs({ scriptPath, adapterReportFile, consumerTriageReportFile, outFile })`
227
+ - `buildPhase5ExecutionClosureStatusCommandArgs({ scriptPath, phase5BlockersReportFile, consumerUnblockReportFile, adapterReadinessReportFile, outFile, requireAdapterReadiness })`
228
+ - `buildPhase5ExternalHandoffCommandArgs({ scriptPath, repo, phase5StatusReportFile, phase5BlockersReportFile, consumerUnblockReportFile, mockAbReportFile, runReportFile, outFile, artifactUrls, requireArtifactUrls, requireMockAbReport })`
229
+ - `buildPhase5ExecutionClosureCommandArgs({ scriptPath, repo, limit, outDir, runWorkflowLint, includeAuthPreflight, repoPath, actionlintBin, includeAdapter, requireAdapterReadiness })`
230
+
231
+ Current adapter implementation note:
232
+
233
+ - The adapter report input flag is named `adapterReportFile` / `--adapter-report` for compatibility with existing runbooks.
@@ -0,0 +1,190 @@
1
+ # Architecture (v2.x)
2
+
3
+ ## Objective
4
+
5
+ Provide deterministic governance for AI-assisted development with strict separation of concerns.
6
+
7
+ Core pipeline:
8
+
9
+ `Facts -> Rules -> Gate -> ai_evidence v2.1`
10
+
11
+ ## Invariants
12
+
13
+ - Evidence is the state source of truth (`.ai_evidence.json`, `version: "2.1"`).
14
+ - Gate decision is deterministic for each stage scope and policy.
15
+ - Domain logic stays pure in `core/*` (no shell/filesystem/network coupling).
16
+ - Integrations adapt external systems and delegate decisions to domain logic.
17
+ - Platform detection and rule-pack loading are data-driven from facts.
18
+
19
+ ## Layer model
20
+
21
+ ### Domain (`core/*`)
22
+
23
+ - Facts model (`core/facts/*`)
24
+ - Rule definitions and presets (`core/rules/*`)
25
+ - Gate evaluation (`core/gate/*`)
26
+
27
+ No infrastructure dependencies.
28
+
29
+ ### Integrations (`integrations/*`)
30
+
31
+ - Git scope and execution adapters (`integrations/git/*`)
32
+ - Stage policies (`integrations/gate/*`)
33
+ - Platform detection (`integrations/platform/*`)
34
+ - Evidence persistence (`integrations/evidence/*`)
35
+ - MCP read-only server (`integrations/mcp/*`)
36
+
37
+ ## Stage architecture
38
+
39
+ Policy source: `integrations/gate/stagePolicies.ts`
40
+
41
+ - `PRE_COMMIT`
42
+ - Scope: staged (`git diff --cached`)
43
+ - Block from `CRITICAL`
44
+ - `PRE_PUSH`
45
+ - Scope: `upstream..HEAD`
46
+ - Block from `ERROR`
47
+ - `CI`
48
+ - Scope: `baseRef..HEAD`
49
+ - Block from `ERROR`
50
+
51
+ ## Runtime entrypoints
52
+
53
+ - Shared execution: `integrations/git/runPlatformGate.ts`
54
+ - Stage runners: `integrations/git/stageRunners.ts`
55
+ - CLI wrappers: `integrations/git/*.cli.ts`
56
+ - Interactive menu: `scripts/framework-menu.ts`
57
+
58
+ ## IDE adapter boundary
59
+
60
+ - `core/*` and `integrations/*` are IDE-agnostic; they must not depend on editor-specific runtime hooks.
61
+ - IDE diagnostics adapters (provider-specific runtime checks/reports) live in `scripts/*` and `docs/validation/*`.
62
+ - PRE_COMMIT, PRE_PUSH, and CI gate outcomes depend only on facts/rules/gate/evidence contracts.
63
+
64
+ ## Platform and rule-pack model
65
+
66
+ Detected platforms can be combined in one run:
67
+
68
+ - `ios`
69
+ - `backend`
70
+ - `frontend`
71
+ - `android`
72
+
73
+ Baseline packs:
74
+
75
+ - `iosEnterpriseRuleSet`
76
+ - `backendRuleSet`
77
+ - `frontendRuleSet`
78
+ - `androidRuleSet`
79
+ - `astHeuristicsRuleSet` (feature-flagged)
80
+
81
+ Version map: `core/rules/presets/rulePackVersions.ts`.
82
+
83
+ ## Evidence architecture
84
+
85
+ Writer path:
86
+
87
+ - `integrations/evidence/generateEvidence.ts`
88
+ - `buildEvidence`
89
+ - `writeEvidence`
90
+
91
+ Evidence properties:
92
+
93
+ - deterministic snapshot + ledger
94
+ - deduped findings
95
+ - stable JSON ordering
96
+ - platforms and rulesets traceability
97
+
98
+ Schema reference: `docs/evidence-v2.1.md`.
99
+
100
+ ## CI architecture
101
+
102
+ - Reusable workflow: `.github/workflows/pumuki-gate-template.yml`
103
+ - Platform workflows:
104
+ - `.github/workflows/pumuki-ios.yml`
105
+ - `.github/workflows/pumuki-backend.yml`
106
+ - `.github/workflows/pumuki-frontend.yml`
107
+ - `.github/workflows/pumuki-android.yml`
108
+
109
+ Each run publishes `.ai_evidence.json` artifact.
110
+
111
+ ## MCP architecture
112
+
113
+ Current active MCP integration in repo:
114
+
115
+ - `integrations/mcp/evidenceContextServer.ts`
116
+ - `integrations/mcp/evidenceContextServer.cli.ts`
117
+
118
+ Purpose: read-only exposure of evidence context for agents.
119
+
120
+ ## Architectural guardrails
121
+
122
+ - Do not move decision logic from `core/*` into integrations.
123
+ - Do not couple integrations directly to each other when shared runtime exists.
124
+ - Prefer extending facts/rules/policies over adding ad-hoc shell conditions.
125
+
126
+ ## Critical Module Map
127
+
128
+ Critical modules must document, at minimum:
129
+
130
+ - purpose (single responsibility),
131
+ - stable entrypoints (files consumed by other modules),
132
+ - deterministic invariants (behavior that must not change between refactors).
133
+
134
+ ### MCP evidence payload and facets
135
+
136
+ Purpose:
137
+ - deterministic transformation from evidence snapshots to MCP facets/payloads.
138
+
139
+ Stable entrypoints:
140
+ - `integrations/mcp/evidenceFacetsBase.ts`
141
+ - `integrations/mcp/evidenceFacetsSuppressed.ts`
142
+ - `integrations/mcp/evidenceFacetsSuppressedBase.ts`
143
+ - `integrations/mcp/evidenceFacetsSuppressedRelations.ts`
144
+ - `integrations/mcp/evidenceFacetsSuppressedShare.ts`
145
+ - `integrations/mcp/evidenceFacetsSuppressedShareCore.ts`
146
+ - `integrations/mcp/evidenceFacetsSuppressedShareTriage.ts`
147
+ - `integrations/mcp/evidenceFacetsSnapshot.ts`
148
+ - `integrations/mcp/evidencePayloadConfig.ts`
149
+ - `integrations/mcp/evidencePayloadCollections.ts`
150
+ - `integrations/mcp/evidencePayloadSummary.ts`
151
+
152
+ Deterministic invariants:
153
+ - facet computation is pure from evidence inputs (no side effects).
154
+ - facet keys and tuple naming stay stable across releases.
155
+ - suppression and share metrics remain reproducible for the same snapshot.
156
+
157
+ ### Git gate runtime
158
+
159
+ Purpose:
160
+ - orchestrate facts, rules, policies, and evidence emission for stage-gate decisions.
161
+
162
+ Stable entrypoints:
163
+ - `integrations/git/runPlatformGate.ts`
164
+ - `integrations/git/baselineRuleSets.ts`
165
+
166
+ Deterministic invariants:
167
+ - gate outcome depends only on facts + policy evaluation.
168
+ - evidence emission always includes stage/policy/ruleset traceability.
169
+ - stage runners remain thin wrappers over shared orchestration.
170
+
171
+ ### Detector partitions
172
+
173
+ Purpose:
174
+ - expose stable detector barrels while keeping implementations split by concern.
175
+
176
+ Stable entrypoints:
177
+ - `core/facts/detectors/fs/sync.ts`
178
+ - `core/facts/detectors/process/index.ts`
179
+
180
+ Partition files:
181
+ - `core/facts/detectors/fs/syncPart1.ts`
182
+ - `core/facts/detectors/fs/syncPart2.ts`
183
+ - `core/facts/detectors/fs/syncPart3.ts`
184
+ - `core/facts/detectors/process/core.ts`
185
+ - `core/facts/detectors/process/shell.ts`
186
+ - `core/facts/detectors/process/spawn.ts`
187
+
188
+ Deterministic invariants:
189
+ - barrels define the public detector surface.
190
+ - partition internals may move, exported behavior and fact shapes must stay stable.
@@ -0,0 +1,165 @@
1
+ # Detailed Architecture (v2.x)
2
+
3
+ This document describes the active deterministic architecture implemented in this repository.
4
+
5
+ ## Design goal
6
+
7
+ Provide a reproducible decision system for AI-assisted development with a strict separation between domain and integrations.
8
+
9
+ Primary pipeline:
10
+
11
+ `Facts -> Rules -> Gate -> ai_evidence v2.1`
12
+
13
+ ## Layer boundaries
14
+
15
+ ### `core/` (domain)
16
+
17
+ Pure logic without I/O or shell dependencies:
18
+
19
+ - `core/facts/*`
20
+ - `core/rules/*`
21
+ - `core/gate/*`
22
+
23
+ Responsibilities:
24
+
25
+ - Represent facts and conditions.
26
+ - Evaluate rules against facts.
27
+ - Evaluate gate outcome from findings.
28
+
29
+ ### `integrations/` (adapters)
30
+
31
+ Runtime adapters around the domain:
32
+
33
+ - `integrations/git/*`
34
+ - `integrations/platform/*`
35
+ - `integrations/gate/*`
36
+ - `integrations/evidence/*`
37
+ - `integrations/mcp/*`
38
+
39
+ Responsibilities:
40
+
41
+ - Collect facts from Git scopes (staged/range).
42
+ - Resolve refs (`@{u}`, `GITHUB_BASE_REF`).
43
+ - Load rule packs and project overrides.
44
+ - Build/write deterministic evidence.
45
+ - Expose read-only evidence context via MCP endpoint.
46
+
47
+ Boundary rule:
48
+
49
+ - IDE/editor-specific diagnostics (provider-specific runtime validation) stay in `scripts/*` and `docs/validation/*`; they must not participate in core gate decisions.
50
+
51
+ ## Stage execution architecture
52
+
53
+ ### Shared runtime entry
54
+
55
+ `integrations/git/runPlatformGate.ts`
56
+
57
+ Responsibilities:
58
+
59
+ 1. Build facts from selected scope.
60
+ 2. Detect active platforms from facts.
61
+ 3. Load baseline packs for detected platforms.
62
+ 4. Optionally add heuristic facts/rules.
63
+ 5. Merge project overrides.
64
+ 6. Evaluate findings and gate decision.
65
+ 7. Generate `.ai_evidence.json`.
66
+ 8. Return process code (`0`/`1`).
67
+
68
+ ### Stage runners
69
+
70
+ `integrations/git/stageRunners.ts`
71
+
72
+ - `runPreCommitStage()`
73
+ - `runPrePushStage()`
74
+ - `runCiStage()`
75
+
76
+ Policy source: `integrations/gate/stagePolicies.ts`.
77
+
78
+ Ref resolution source: `integrations/git/resolveGitRefs.ts`.
79
+
80
+ ## Multi-platform model
81
+
82
+ Platform detection is combined in a single run:
83
+
84
+ - `ios`
85
+ - `backend`
86
+ - `frontend`
87
+ - `android`
88
+
89
+ Detector source: `integrations/platform/detectPlatforms.ts`.
90
+
91
+ Detected platforms drive baseline rule-pack loading and evidence `platforms` state.
92
+
93
+ ## Rules architecture
94
+
95
+ Baseline packs:
96
+
97
+ - `iosEnterpriseRuleSet`
98
+ - `backendRuleSet`
99
+ - `frontendRuleSet`
100
+ - `androidRuleSet`
101
+ - `astHeuristicsRuleSet` (feature-flagged)
102
+
103
+ Versioning source:
104
+
105
+ - `core/rules/presets/rulePackVersions.ts`
106
+
107
+ Merge strategy:
108
+
109
+ - Baseline first, then project overrides.
110
+ - Locked baseline protections are enforced unless explicitly relaxed.
111
+
112
+ ## Evidence architecture (v2.1)
113
+
114
+ Schema source: `integrations/evidence/schema.ts`.
115
+
116
+ Writer path:
117
+
118
+ - `integrations/evidence/generateEvidence.ts`
119
+ - `buildEvidence`
120
+ - `writeEvidence`
121
+
122
+ Deterministic properties:
123
+
124
+ - `snapshot` + `ledger`
125
+ - deduped findings
126
+ - stable output order
127
+ - per-run `rulesets` hash traceability
128
+
129
+ ## CI architecture
130
+
131
+ Reusable template:
132
+
133
+ - `.github/workflows/pumuki-gate-template.yml`
134
+
135
+ Platform workflows:
136
+
137
+ - `.github/workflows/pumuki-ios.yml`
138
+ - `.github/workflows/pumuki-backend.yml`
139
+ - `.github/workflows/pumuki-frontend.yml`
140
+ - `.github/workflows/pumuki-android.yml`
141
+
142
+ All workflows use shared runner path + upload `.ai_evidence.json` artifact.
143
+
144
+ ## MCP architecture
145
+
146
+ Read-only context server:
147
+
148
+ - `integrations/mcp/evidenceContextServer.ts`
149
+ - CLI: `integrations/mcp/evidenceContextServer.cli.ts`
150
+
151
+ Contract:
152
+
153
+ - serves evidence only when `version === "2.1"`
154
+ - health endpoint + deterministic error behavior
155
+
156
+ ## Extension points (current model)
157
+
158
+ - Add typed facts in `core/facts/*`.
159
+ - Add declarative rules in `core/rules/presets/*`.
160
+ - Add platform detector in `integrations/platform/*`.
161
+ - Add stage/runner wrappers in `integrations/git/*` reusing shared runtime.
162
+
163
+ Constraint:
164
+
165
+ - Keep domain pure (`core/*`), keep shell and file I/O in integrations.
@@ -0,0 +1,88 @@
1
+ # AST Heuristics Reintroduction Plan (Post-Validation)
2
+
3
+ This document defines how to reintroduce selective AST heuristics after core validation is stable.
4
+
5
+ ## Validation gate before implementation
6
+
7
+ Do not enable new semantic extractors until:
8
+
9
+ - TypeScript baseline is clean for `core/**` and `integrations/**`
10
+ - Existing multi-platform PRE_COMMIT/PRE_PUSH/CI flows remain deterministic
11
+ - Evidence output stays on schema `version: "2.1"`
12
+
13
+ ## Initial heuristic backlog
14
+
15
+ ### iOS (Swift)
16
+
17
+ - Detect force unwrap usage by AST node analysis
18
+ - Detect `AnyView` usage by type reference, not text match
19
+ - Detect callback-style APIs outside approved bridge layers
20
+
21
+ ### Backend / Frontend (TypeScript)
22
+
23
+ - Detect empty `catch` blocks by AST
24
+ - Detect unrestricted `any` usage by node kind
25
+ - Detect production `console.log` in executable code paths
26
+
27
+ ### Android (Kotlin)
28
+
29
+ - Detect `Thread.sleep` invocation nodes
30
+ - Detect `GlobalScope` usage in production paths
31
+ - Detect `runBlocking` outside test/source-set exceptions
32
+
33
+ ## Integration contract
34
+
35
+ - New semantics should be emitted as typed Facts in `core/facts/*`.
36
+ - Rules remain declarative in Rule Packs and evaluated by existing gate.
37
+ - No changes to evidence contract except additive typed fields when required.
38
+
39
+ ## Rollout phases
40
+
41
+ 1. Add Facts behind feature flag (default off).
42
+ 2. Add rules consuming those Facts with `WARN` severity first.
43
+ 3. Promote selected rules to `ERROR`/`CRITICAL` after project validation window.
44
+
45
+ ## Feature flag
46
+
47
+ - Flag: `PUMUKI_ENABLE_AST_HEURISTICS`
48
+ - Values that enable: `1`, `true`, `yes`, `on`
49
+ - Default: disabled
50
+
51
+ When enabled, the gate records `astHeuristicsRuleSet@0.4.0` in evidence `rulesets[]`.
52
+
53
+ For GitHub Actions gates using the reusable workflow template:
54
+
55
+ - Input: `enable_ast_heuristics: true`
56
+
57
+ Current pilot implemented:
58
+
59
+ - `heuristics.ts.empty-catch.ast`
60
+ - `heuristics.ts.explicit-any.ast`
61
+ - `heuristics.ts.console-log.ast`
62
+ - `heuristics.ios.force-unwrap.ast`
63
+ - `heuristics.ios.anyview.ast`
64
+ - `heuristics.ios.force-try.ast`
65
+ - `heuristics.ios.force-cast.ast`
66
+ - `heuristics.ios.callback-style.ast`
67
+ - `heuristics.android.thread-sleep.ast`
68
+ - `heuristics.android.globalscope.ast`
69
+ - `heuristics.android.run-blocking.ast`
70
+ - Scope: `apps/frontend/**`, `apps/web/**`, and `apps/backend/**` TypeScript files (`.ts`, `.tsx`)
71
+ - Scope exclusions: test paths (`__tests__`, `tests`, `*.spec.*`, `*.test.*`)
72
+ - Detection: semantic AST parse of `catch {}` with empty block
73
+ - Detection: semantic AST parse of explicit `any` type usage (TS/TSX)
74
+ - Detection: semantic AST parse of `console.log(...)` invocation nodes
75
+ - Scope: `apps/ios/**` Swift files (`.swift`)
76
+ - Scope exclusions: iOS test paths (`/Tests/`, `/tests/`, `*Test.swift`, `*Tests.swift`)
77
+ - Scope exclusions: bridge layers (`/Bridge/`, `/Bridges/`, `*Bridge.swift`)
78
+ - Detection: token-aware scan for force unwrap operator usage (`value!`) outside comments/strings
79
+ - Detection: token-aware scan for `AnyView` type erasure usage outside comments/strings
80
+ - Detection: token-aware scan for force try usage (`try!`) outside comments/strings
81
+ - Detection: token-aware scan for force cast usage (`as!`) outside comments/strings
82
+ - Detection: token-aware scan for callback-style signatures (`@escaping` + completion/handler) outside bridge layers
83
+ - Scope: `apps/android/**` Kotlin files (`.kt`, `.kts`)
84
+ - Scope exclusions: Android test paths (`/test/`, `/androidTest/`, `*Test.kt`, `*Tests.kt`)
85
+ - Detection: token-aware scan for `Thread.sleep(...)` usage in production Kotlin code
86
+ - Detection: token-aware scan for `GlobalScope.launch/async/...` usage in production Kotlin code
87
+ - Detection: token-aware scan for `runBlocking(...)` usage in production Kotlin code
88
+ - Severity: `WARN`