@chongyan/autospec 1.0.1 → 1.0.3

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 (595) hide show
  1. package/LICENSE +242 -21
  2. package/README.md +54 -476
  3. package/dist/README.md +54 -0
  4. package/dist/adapters/claude-code/README.md.enc +6 -0
  5. package/dist/adapters/claude-code/agents.js +1 -0
  6. package/dist/adapters/claude-code/commands.config.js +1 -0
  7. package/dist/adapters/claude-code/commands.js +1 -0
  8. package/dist/adapters/claude-code/hooks.config.js +2 -0
  9. package/dist/adapters/claude-code/hooks.js +1 -0
  10. package/dist/adapters/claude-code/install.js +1 -0
  11. package/dist/adapters/claude-code/skills.js +1 -0
  12. package/dist/adapters/codex/README.md.enc +6 -0
  13. package/dist/adapters/codex/hooks/pre-commit.sh +10 -0
  14. package/dist/adapters/codex/install.js +1 -0
  15. package/dist/adapters/codex/prompts/env-learn.md.enc +6 -0
  16. package/dist/adapters/codex/prompts/review.md.enc +6 -0
  17. package/dist/adapters/codex/wrappers/autospec-cli.sh +118 -0
  18. package/dist/adapters/codex/wrappers/parallel.sh +20 -0
  19. package/dist/adapters/codex/wrappers/post-task.sh +138 -0
  20. package/dist/bin/autospec.js +2 -0
  21. package/dist/knowledge/README.en.md.enc +6 -0
  22. package/dist/knowledge/README.md.enc +6 -0
  23. package/dist/knowledge/change-management.md.enc +6 -0
  24. package/dist/knowledge/cognition-engine.md.enc +6 -0
  25. package/dist/knowledge/config/baseline-permissions.md.enc +6 -0
  26. package/dist/knowledge/config/external-mounts.yaml.enc +6 -0
  27. package/dist/knowledge/config/model-profiles.yaml.enc +6 -0
  28. package/dist/knowledge/config/role-composition.yaml.enc +6 -0
  29. package/dist/knowledge/config/token-optimization.yaml.enc +6 -0
  30. package/dist/knowledge/config/validation-patterns.yaml.enc +6 -0
  31. package/dist/knowledge/constitution.md.enc +6 -0
  32. package/dist/knowledge/core-rules.md.enc +6 -0
  33. package/dist/knowledge/environment/adapters/README.md.enc +6 -0
  34. package/dist/knowledge/environment/detection-patterns.yaml.enc +6 -0
  35. package/dist/knowledge/environment/failure-patterns.json +223 -0
  36. package/dist/knowledge/environment/repair-strategies.json +206 -0
  37. package/dist/knowledge/memory/README.md.enc +6 -0
  38. package/dist/knowledge/memory/field/README.md.enc +6 -0
  39. package/dist/knowledge/memory/project/decisions/README.md.enc +6 -0
  40. package/dist/knowledge/memory/project/evolution-log.md.enc +6 -0
  41. package/dist/knowledge/memory/project/health-metrics.md.enc +6 -0
  42. package/dist/knowledge/memory/team/best-practices.md.enc +6 -0
  43. package/dist/knowledge/pipeline/code.md.enc +6 -0
  44. package/dist/knowledge/pipeline/explore.md.enc +6 -0
  45. package/dist/knowledge/pipeline/plan.md.enc +6 -0
  46. package/dist/knowledge/pipeline/protocol.md.enc +6 -0
  47. package/dist/knowledge/protocol/capabilities.yaml.enc +6 -0
  48. package/dist/knowledge/protocol/evolve-integration.md.enc +6 -0
  49. package/dist/knowledge/skills/README.md.enc +6 -0
  50. package/dist/knowledge/skills/adversarial-review.md.enc +6 -0
  51. package/dist/knowledge/skills/analyze-requirement.md.enc +6 -0
  52. package/dist/knowledge/skills/channel-operations.md.enc +6 -0
  53. package/dist/knowledge/skills/content-operations.md.enc +6 -0
  54. package/dist/knowledge/skills/content-prompts.md.enc +6 -0
  55. package/dist/knowledge/skills/conversion-optimization.md.enc +6 -0
  56. package/dist/knowledge/skills/data-operations.md.enc +6 -0
  57. package/dist/knowledge/skills/design-solution.md.enc +6 -0
  58. package/dist/knowledge/skills/growth-strategies.md.enc +6 -0
  59. package/dist/knowledge/skills/implement-code.md.enc +6 -0
  60. package/dist/knowledge/skills/knowledge-distill.md.enc +6 -0
  61. package/dist/knowledge/skills/parallel-dev.md.enc +6 -0
  62. package/dist/knowledge/skills/private-domain-traffic.md.enc +6 -0
  63. package/dist/knowledge/skills/skill-format.md.enc +6 -0
  64. package/dist/knowledge/skills/social-commerce.md.enc +6 -0
  65. package/dist/knowledge/skills/team-orchestration.md.enc +6 -0
  66. package/dist/knowledge/skills/unified-review.md.enc +6 -0
  67. package/dist/knowledge/skills/user-operations.md.enc +6 -0
  68. package/dist/knowledge/templates/autospec-config.yaml.enc +6 -0
  69. package/dist/knowledge/templates/smoke-test.md.enc +6 -0
  70. package/dist/knowledge/templates/spec/SPEC.md.enc +6 -0
  71. package/dist/knowledge/templates/spec/layers/delta.md.enc +6 -0
  72. package/dist/knowledge/templates/spec/layers/how.md.enc +6 -0
  73. package/dist/knowledge/templates/spec/layers/plan.md.enc +6 -0
  74. package/dist/knowledge/templates/spec/layers/what.md.enc +6 -0
  75. package/dist/knowledge/templates/spec/layers/why.md.enc +6 -0
  76. package/dist/knowledge/templates/wiki/catalog.yaml.enc +6 -0
  77. package/dist/knowledge/templates/wiki/content.md.enc +6 -0
  78. package/dist/knowledge/templates/wiki/meta.yaml.enc +6 -0
  79. package/dist/package.json +62 -0
  80. package/dist/plugins/.claude-plugin/plugin.json +671 -0
  81. package/dist/plugins/agents/roles/ai-engineer.md.enc +6 -0
  82. package/dist/plugins/agents/roles/backend-engineer.md.enc +6 -0
  83. package/dist/plugins/agents/roles/ceo.md.enc +6 -0
  84. package/dist/plugins/agents/roles/channel-ops.md.enc +6 -0
  85. package/dist/plugins/agents/roles/content-ops.md.enc +6 -0
  86. package/dist/plugins/agents/roles/conversion-ops.md.enc +6 -0
  87. package/dist/plugins/agents/roles/data-engineer.md.enc +6 -0
  88. package/dist/plugins/agents/roles/data-ops.md.enc +6 -0
  89. package/dist/plugins/agents/roles/devops-engineer.md.enc +6 -0
  90. package/dist/plugins/agents/roles/frontend-engineer.md.enc +6 -0
  91. package/dist/plugins/agents/roles/marketing-director.md.enc +6 -0
  92. package/dist/plugins/agents/roles/operations-director.md.enc +6 -0
  93. package/dist/plugins/agents/roles/private-traffic.md.enc +6 -0
  94. package/dist/plugins/agents/roles/product-owner.md.enc +6 -0
  95. package/dist/plugins/agents/roles/quality-engineer.md.enc +6 -0
  96. package/dist/plugins/agents/roles/security-engineer.md.enc +6 -0
  97. package/dist/plugins/agents/roles/tech-lead.md.enc +6 -0
  98. package/dist/plugins/agents/roles/user-ops.md.enc +6 -0
  99. package/dist/plugins/agents/support/blind-comparator.md.enc +6 -0
  100. package/dist/plugins/agents/support/consistency-checker.md.enc +6 -0
  101. package/dist/plugins/agents/support/experiment-evaluator.md.enc +6 -0
  102. package/dist/plugins/agents/support/failure-diagnostician.md.enc +6 -0
  103. package/dist/plugins/agents/support/independent-reviewer.md.enc +6 -0
  104. package/dist/plugins/agents/support/memory-curator.md.enc +6 -0
  105. package/dist/plugins/agents/support/monitoring-agent.md.enc +6 -0
  106. package/dist/plugins/agents/support/safety-auditor.md.enc +6 -0
  107. package/dist/plugins/agents/support/skill-benchmarker.md.enc +6 -0
  108. package/dist/plugins/agents/support/skill-forger.md.enc +6 -0
  109. package/dist/plugins/agents/support/stage-gate-evaluator.md.enc +6 -0
  110. package/dist/plugins/agents/support/team-orchestrator.md.enc +6 -0
  111. package/dist/plugins/agents/support/test-coverage-reviewer.md.enc +6 -0
  112. package/dist/plugins/benchmarks/templates/README.en.md.enc +6 -0
  113. package/dist/plugins/benchmarks/templates/README.md.enc +6 -0
  114. package/dist/plugins/benchmarks/templates/commands/code-template.yaml.enc +6 -0
  115. package/dist/plugins/benchmarks/templates/commands/explore-template.yaml.enc +6 -0
  116. package/dist/plugins/benchmarks/templates/commands/field-evolve-template.yaml.enc +6 -0
  117. package/dist/plugins/benchmarks/templates/commands/plan-template.yaml.enc +6 -0
  118. package/dist/plugins/benchmarks/templates/commands/project-evolve-template.yaml.enc +6 -0
  119. package/dist/plugins/benchmarks/templates/commands/review-template.yaml.enc +6 -0
  120. package/dist/plugins/benchmarks/templates/commands/run-template.yaml.enc +6 -0
  121. package/dist/plugins/benchmarks/templates/skills/benchmark-executor-template.yaml.enc +6 -0
  122. package/dist/plugins/benchmarks/templates/skills/benchmark-generator-template.yaml.enc +6 -0
  123. package/dist/plugins/benchmarks/templates/skills/delivery-stage-template.yaml.enc +6 -0
  124. package/dist/plugins/benchmarks/templates/skills/design-stage-template.yaml.enc +6 -0
  125. package/dist/plugins/benchmarks/templates/skills/exploration-phase-template.yaml.enc +6 -0
  126. package/dist/plugins/benchmarks/templates/skills/field-evolve-analyzer-template.yaml.enc +6 -0
  127. package/dist/plugins/benchmarks/templates/skills/field-evolve-distiller-template.yaml.enc +6 -0
  128. package/dist/plugins/benchmarks/templates/skills/field-evolve-executor-template.yaml.enc +6 -0
  129. package/dist/plugins/benchmarks/templates/skills/field-evolve-fixer-template.yaml.enc +6 -0
  130. package/dist/plugins/benchmarks/templates/skills/field-evolve-learner-template.yaml.enc +6 -0
  131. package/dist/plugins/benchmarks/templates/skills/field-evolve-scanner-template.yaml.enc +6 -0
  132. package/dist/plugins/benchmarks/templates/skills/field-evolve-template.yaml.enc +6 -0
  133. package/dist/plugins/benchmarks/templates/skills/field-evolve-verifier-template.yaml.enc +6 -0
  134. package/dist/plugins/benchmarks/templates/skills/implementation-stage-template.yaml.enc +6 -0
  135. package/dist/plugins/benchmarks/templates/skills/layer1-validation-template.yaml.enc +6 -0
  136. package/dist/plugins/benchmarks/templates/skills/project-evolve-analyzer-template.yaml.enc +6 -0
  137. package/dist/plugins/benchmarks/templates/skills/project-evolve-fixer-template.yaml.enc +6 -0
  138. package/dist/plugins/benchmarks/templates/skills/project-evolve-generator-template.yaml.enc +6 -0
  139. package/dist/plugins/benchmarks/templates/skills/project-evolve-learner-template.yaml.enc +6 -0
  140. package/dist/plugins/benchmarks/templates/skills/project-evolve-reviewer-template.yaml.enc +6 -0
  141. package/dist/plugins/benchmarks/templates/skills/project-evolve-scanner-template.yaml.enc +6 -0
  142. package/dist/plugins/benchmarks/templates/skills/project-evolve-template.yaml.enc +6 -0
  143. package/dist/plugins/benchmarks/templates/skills/project-evolve-verifier-template.yaml.enc +6 -0
  144. package/dist/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml.enc +6 -0
  145. package/dist/plugins/benchmarks/templates/skills/skill-forge-template.yaml.enc +6 -0
  146. package/dist/plugins/benchmarks/templates/skills/startup-guard-template.yaml.enc +6 -0
  147. package/dist/plugins/benchmarks/templates/skills/testing-stage-template.yaml.enc +6 -0
  148. package/dist/plugins/commands/README.en.md.enc +6 -0
  149. package/dist/plugins/commands/README.md.enc +6 -0
  150. package/dist/plugins/commands/automation.md.enc +6 -0
  151. package/dist/plugins/commands/code.md.enc +6 -0
  152. package/dist/plugins/commands/contribute.md.enc +6 -0
  153. package/dist/plugins/commands/dashboard.md.enc +6 -0
  154. package/dist/plugins/commands/env.md.enc +6 -0
  155. package/dist/plugins/commands/explore.md.enc +6 -0
  156. package/dist/plugins/commands/field-evolve.md.enc +6 -0
  157. package/dist/plugins/commands/global.md.enc +6 -0
  158. package/dist/plugins/commands/init.md.enc +6 -0
  159. package/dist/plugins/commands/list.md.enc +6 -0
  160. package/dist/plugins/commands/memory.md.enc +6 -0
  161. package/dist/plugins/commands/monitor.md.enc +6 -0
  162. package/dist/plugins/commands/org.md.enc +6 -0
  163. package/dist/plugins/commands/persist.md.enc +6 -0
  164. package/dist/plugins/commands/plan.md.enc +6 -0
  165. package/dist/plugins/commands/plugin.md.enc +6 -0
  166. package/dist/plugins/commands/project-evolve.md.enc +6 -0
  167. package/dist/plugins/commands/review.md.enc +6 -0
  168. package/dist/plugins/commands/run.md.enc +6 -0
  169. package/dist/plugins/commands/status.md.enc +6 -0
  170. package/dist/plugins/commands/sync.md.enc +6 -0
  171. package/dist/plugins/commands/update.md.enc +6 -0
  172. package/dist/plugins/env-capabilities/env-core/plugin.json +33 -0
  173. package/dist/plugins/hooks/README.en.md.enc +6 -0
  174. package/dist/plugins/hooks/README.md.enc +6 -0
  175. package/dist/plugins/hooks/artifact-evaluation-hook.js +2 -0
  176. package/dist/plugins/hooks/cognitive-dreamer.js +2 -0
  177. package/dist/plugins/hooks/cognitive-sync.js +2 -0
  178. package/dist/plugins/hooks/cognitive-tracker.js +2 -0
  179. package/dist/plugins/hooks/config/detection-patterns.yaml.enc +6 -0
  180. package/dist/plugins/hooks/constitution-guard.js +2 -0
  181. package/dist/plugins/hooks/do-review-separation-guard.js +2 -0
  182. package/dist/plugins/hooks/environment-autocommit.js +2 -0
  183. package/dist/plugins/hooks/environment-doctor.js +1 -0
  184. package/dist/plugins/hooks/environment-startup-scan.js +2 -0
  185. package/dist/plugins/hooks/execution-tracker.js +2 -0
  186. package/dist/plugins/hooks/frozen-zone-guard.js +2 -0
  187. package/dist/plugins/hooks/layer1-validator.js +2 -0
  188. package/dist/plugins/hooks/lib/artifact-evaluator.js +1 -0
  189. package/dist/plugins/hooks/lib/auto-fix-loop.js +1 -0
  190. package/dist/plugins/hooks/lib/benchmarks/change-detector.js +1 -0
  191. package/dist/plugins/hooks/lib/benchmarks/evaluator.js +1 -0
  192. package/dist/plugins/hooks/lib/benchmarks/integration-example.js +1 -0
  193. package/dist/plugins/hooks/lib/cognitive/adaptive-matcher.js +1 -0
  194. package/dist/plugins/hooks/lib/cognitive/base-store.js +1 -0
  195. package/dist/plugins/hooks/lib/cognitive/causal-engine.js +1 -0
  196. package/dist/plugins/hooks/lib/cognitive/cognitive-config.js +1 -0
  197. package/dist/plugins/hooks/lib/cognitive/cognitive-fingerprint.js +1 -0
  198. package/dist/plugins/hooks/lib/cognitive/collective-sync.js +1 -0
  199. package/dist/plugins/hooks/lib/cognitive/confidence-engine.js +1 -0
  200. package/dist/plugins/hooks/lib/cognitive/dream-engine.js +1 -0
  201. package/dist/plugins/hooks/lib/cognitive/episodic-store.js +1 -0
  202. package/dist/plugins/hooks/lib/cognitive/index.js +1 -0
  203. package/dist/plugins/hooks/lib/cognitive/kernel.js +1 -0
  204. package/dist/plugins/hooks/lib/cognitive/knowledge-distiller.js +1 -0
  205. package/dist/plugins/hooks/lib/cognitive/memory-transport.js +1 -0
  206. package/dist/plugins/hooks/lib/cognitive/persistence-manager.js +1 -0
  207. package/dist/plugins/hooks/lib/cognitive/priority-store.js +1 -0
  208. package/dist/plugins/hooks/lib/cognitive/procedural-store.js +1 -0
  209. package/dist/plugins/hooks/lib/cognitive/semantic-store.js +1 -0
  210. package/dist/plugins/hooks/lib/cognitive/skill-tuner.js +1 -0
  211. package/dist/plugins/hooks/lib/cognitive/wiki-materializer.js +1 -0
  212. package/dist/plugins/hooks/lib/detection-pattern-loader.js +1 -0
  213. package/dist/plugins/hooks/lib/directory-discovery.js +1 -0
  214. package/dist/plugins/hooks/lib/environment-capability-package.js +1 -0
  215. package/dist/plugins/hooks/lib/environment-capability-probe.js +1 -0
  216. package/dist/plugins/hooks/lib/environment-config-loader.js +1 -0
  217. package/dist/plugins/hooks/lib/environment-executor.js +1 -0
  218. package/dist/plugins/hooks/lib/environment-feedback.js +1 -0
  219. package/dist/plugins/hooks/lib/environment-health-monitor.js +1 -0
  220. package/dist/plugins/hooks/lib/environment-knowledge-synthesizer.js +1 -0
  221. package/dist/plugins/hooks/lib/environment-knowledge-validator.js +1 -0
  222. package/dist/plugins/hooks/lib/environment-learning-discoverer.js +1 -0
  223. package/dist/plugins/hooks/lib/environment-learning-engine.js +1 -0
  224. package/dist/plugins/hooks/lib/environment-module-repository.js +1 -0
  225. package/dist/plugins/hooks/lib/environment-planner.js +1 -0
  226. package/dist/plugins/hooks/lib/environment-plugin-registry.js +1 -0
  227. package/dist/plugins/hooks/lib/environment-readiness.js +1 -0
  228. package/dist/plugins/hooks/lib/environment-route-ranking.js +1 -0
  229. package/dist/plugins/hooks/lib/environment-strategy-overlay.js +1 -0
  230. package/dist/plugins/hooks/lib/execution-path.js +1 -0
  231. package/dist/plugins/hooks/lib/external-mount-adapter.js +1 -0
  232. package/dist/plugins/hooks/lib/external-scanner.js +1 -0
  233. package/dist/plugins/hooks/lib/hook-error-recorder.js +1 -0
  234. package/dist/plugins/hooks/lib/hook-logger.js +1 -0
  235. package/dist/plugins/hooks/lib/hook-runner.js +2 -0
  236. package/dist/plugins/hooks/lib/hook-state-manager.js +1 -0
  237. package/dist/plugins/hooks/lib/memory-extractor.js +1 -0
  238. package/dist/plugins/hooks/lib/memory-manager.js +1 -0
  239. package/dist/plugins/hooks/lib/metrics-analyzer.js +1 -0
  240. package/dist/plugins/hooks/lib/mount-manager.js +1 -0
  241. package/dist/plugins/hooks/lib/plugin-activation-registry.js +1 -0
  242. package/dist/plugins/hooks/lib/plugin-selector.js +1 -0
  243. package/dist/plugins/hooks/lib/plugin-source-registry.js +1 -0
  244. package/dist/plugins/hooks/lib/plugin-workspace-registry.js +1 -0
  245. package/dist/plugins/hooks/lib/project-evolution/auto-fixer.js +1 -0
  246. package/dist/plugins/hooks/lib/project-evolution/memory-manager.js +1 -0
  247. package/dist/plugins/hooks/lib/project-evolution/pattern-detector.js +1 -0
  248. package/dist/plugins/hooks/lib/project-evolution/semantic-indexer.js +1 -0
  249. package/dist/plugins/hooks/lib/rollback-tracker.js +1 -0
  250. package/dist/plugins/hooks/lib/source-code-scanner.js +1 -0
  251. package/dist/plugins/hooks/lib/technology-stack-detector.js +1 -0
  252. package/dist/plugins/hooks/lib/test-failure-analyzer.js +1 -0
  253. package/dist/plugins/hooks/lib/test-failure-fixer.js +1 -0
  254. package/dist/plugins/hooks/lib/trace-context.js +1 -0
  255. package/dist/plugins/hooks/lib/validation-patterns.js +1 -0
  256. package/dist/plugins/hooks/memory-sync.js +1 -0
  257. package/dist/plugins/hooks/pipeline-observer.js +2 -0
  258. package/dist/plugins/hooks/retry-limit-guard.js +2 -0
  259. package/dist/plugins/hooks/scope-sentinel.js +2 -0
  260. package/dist/plugins/hooks/secret-scanner.js +2 -0
  261. package/dist/plugins/hooks/stop-evolve-prompt.js +1 -0
  262. package/dist/plugins/hooks/trace-initialization.js +2 -0
  263. package/dist/plugins/hooks/version-checker.js +2 -0
  264. package/dist/plugins/memory/templates/code-quality.yaml.enc +6 -0
  265. package/dist/plugins/memory/templates/multi-system.yaml.enc +6 -0
  266. package/dist/plugins/memory/templates/team-habits.yaml.enc +6 -0
  267. package/dist/plugins/memory/templates/testing.yaml.enc +6 -0
  268. package/dist/plugins/skills/README.en.md.enc +6 -0
  269. package/dist/plugins/skills/README.md.enc +6 -0
  270. package/dist/plugins/skills/ab-test-executor/SKILL.md.enc +6 -0
  271. package/dist/plugins/skills/benchmark-executor/SKILL.md.enc +6 -0
  272. package/dist/plugins/skills/benchmark-generator/SKILL.md.enc +6 -0
  273. package/dist/plugins/skills/content-prompts/SKILL.md.enc +6 -0
  274. package/dist/plugins/skills/delivery-stage/SKILL.md.enc +6 -0
  275. package/dist/plugins/skills/design-stage/SKILL.md.enc +6 -0
  276. package/dist/plugins/skills/environment-learning/SKILL.md.enc +6 -0
  277. package/dist/plugins/skills/environment-resilience/build-failure-doctor.md.enc +6 -0
  278. package/dist/plugins/skills/environment-resilience/environment-repair.md.enc +6 -0
  279. package/dist/plugins/skills/environment-resilience/pre-flight-check.md.enc +6 -0
  280. package/dist/plugins/skills/experiment-evaluator/SKILL.md.enc +6 -0
  281. package/dist/plugins/skills/exploration-phase/SKILL.md.enc +6 -0
  282. package/dist/plugins/skills/field-evolve-analyzer/SKILL.md.enc +6 -0
  283. package/dist/plugins/skills/field-evolve-distiller/SKILL.md.enc +6 -0
  284. package/dist/plugins/skills/field-evolve-executor/SKILL.md.enc +6 -0
  285. package/dist/plugins/skills/field-evolve-executor/executor.js +2 -0
  286. package/dist/plugins/skills/field-evolve-fixer/SKILL.md.enc +6 -0
  287. package/dist/plugins/skills/field-evolve-learner/SKILL.md.enc +6 -0
  288. package/dist/plugins/skills/field-evolve-scanner/SKILL.md.enc +6 -0
  289. package/dist/plugins/skills/field-evolve-scanner/scripts/fallback-scanner.js +2 -0
  290. package/dist/plugins/skills/field-evolve-verifier/SKILL.md.enc +6 -0
  291. package/dist/plugins/skills/heartbeat-monitor/SKILL.md.enc +6 -0
  292. package/dist/plugins/skills/implementation-stage/SKILL.md.enc +6 -0
  293. package/dist/plugins/skills/layer1-validation/SKILL.md.enc +6 -0
  294. package/dist/plugins/skills/multi-role-orchestration/SKILL.md.enc +6 -0
  295. package/dist/plugins/skills/ops-content-marketing/SKILL.md.enc +6 -0
  296. package/dist/plugins/skills/ops-conversion/SKILL.md.enc +6 -0
  297. package/dist/plugins/skills/ops-data-driven/SKILL.md.enc +6 -0
  298. package/dist/plugins/skills/ops-growth-strategies/SKILL.md.enc +6 -0
  299. package/dist/plugins/skills/ops-private-domain/SKILL.md.enc +6 -0
  300. package/dist/plugins/skills/ops-social-commerce/SKILL.md.enc +6 -0
  301. package/dist/plugins/skills/ops-user-growth/SKILL.md.enc +6 -0
  302. package/dist/plugins/skills/pending-dashboard/SKILL.md.enc +6 -0
  303. package/dist/plugins/skills/project-evolve-analyzer/SKILL.md.enc +6 -0
  304. package/dist/plugins/skills/project-evolve-fixer/SKILL.md.enc +6 -0
  305. package/dist/plugins/skills/project-evolve-generator/SKILL.md.enc +6 -0
  306. package/dist/plugins/skills/project-evolve-learner/SKILL.md.enc +6 -0
  307. package/dist/plugins/skills/project-evolve-reviewer/SKILL.md.enc +6 -0
  308. package/dist/plugins/skills/project-evolve-scanner/SKILL.md.enc +6 -0
  309. package/dist/plugins/skills/project-evolve-scanner/scripts/dependency-reuse-checker.js +2 -0
  310. package/dist/plugins/skills/project-evolve-scanner/scripts/subsystem-coverage.js +2 -0
  311. package/dist/plugins/skills/project-evolve-verifier/SKILL.md.enc +6 -0
  312. package/dist/plugins/skills/requirement-stage/SKILL.md.enc +6 -0
  313. package/dist/plugins/skills/secret-scanner/SKILL.md.enc +6 -0
  314. package/dist/plugins/skills/skill-forge/SKILL.md.enc +6 -0
  315. package/dist/plugins/skills/skill-forge/references/description-guide.md.enc +6 -0
  316. package/dist/plugins/skills/skill-forge/references/quality-rubric.md.enc +6 -0
  317. package/dist/plugins/skills/skill-forge/references/skill-template.md.enc +6 -0
  318. package/dist/plugins/skills/startup-guard/SKILL.md.enc +6 -0
  319. package/dist/plugins/skills/tdd-workflow/SKILL.md.enc +6 -0
  320. package/dist/plugins/skills/testing-stage/SKILL.md.enc +6 -0
  321. package/dist/plugins/skills/tracking-validator/SKILL.md.enc +6 -0
  322. package/dist/scripts/build-crypto.js +2 -0
  323. package/dist/scripts/cli/contribute.js +1 -0
  324. package/dist/scripts/cli/dashboard.js +1 -0
  325. package/dist/scripts/cli/env.js +1 -0
  326. package/dist/scripts/cli/global-init.js +1 -0
  327. package/dist/scripts/cli/global.js +1 -0
  328. package/dist/scripts/cli/index.js +1 -0
  329. package/dist/scripts/cli/init.js +1 -0
  330. package/dist/scripts/cli/list.js +1 -0
  331. package/dist/scripts/cli/memory.js +1 -0
  332. package/dist/scripts/cli/org.js +1 -0
  333. package/dist/scripts/cli/plugin.js +1 -0
  334. package/dist/scripts/cli/practice-report.js +1 -0
  335. package/dist/scripts/cli/runtime-governance.js +1 -0
  336. package/dist/scripts/cli/system.js +1 -0
  337. package/dist/scripts/cli/update.js +1 -0
  338. package/dist/scripts/commands/catalog.js +1 -0
  339. package/dist/scripts/commands/slash-command-docs.js +1 -0
  340. package/dist/scripts/config/external-mounts.config.js +2 -0
  341. package/dist/scripts/heartbeat/check.js +2 -0
  342. package/dist/scripts/heartbeat/setup-cron.js +2 -0
  343. package/dist/scripts/install/adapters.js +1 -0
  344. package/dist/scripts/install/constants.js +1 -0
  345. package/dist/scripts/install/file-reader.js +1 -0
  346. package/dist/scripts/install/index.js +1 -0
  347. package/dist/scripts/install/shards/constants-shard.js +1 -0
  348. package/dist/scripts/install/shards/crypto-config-shard.js +1 -0
  349. package/dist/scripts/install/shards/error-messages-shard.js +1 -0
  350. package/dist/scripts/install/shards/reassemble.js +1 -0
  351. package/dist/scripts/install/shards/utils-shard.js +1 -0
  352. package/dist/scripts/install/shards/version-info-shard.js +1 -0
  353. package/dist/scripts/postinstall.js +1 -0
  354. package/dist/scripts/state.js +1 -0
  355. package/package.json +21 -12
  356. package/README.en.md +0 -472
  357. package/bin/autospec.js +0 -3
  358. package/knowledge/README.md +0 -144
  359. package/knowledge/checklists/code.md +0 -182
  360. package/knowledge/checklists/design.md +0 -196
  361. package/knowledge/checklists/release.md +0 -70
  362. package/knowledge/checklists/requirement.md +0 -169
  363. package/knowledge/checklists/test.md +0 -46
  364. package/knowledge/config/README.en.md +0 -44
  365. package/knowledge/config/README.md +0 -44
  366. package/knowledge/config/role-composition.yaml +0 -98
  367. package/knowledge/config/role-extensions.yaml +0 -140
  368. package/knowledge/config/skill-compositions.yaml +0 -142
  369. package/knowledge/config/team-stage.yaml +0 -95
  370. package/knowledge/config/team-tasks.yaml +0 -139
  371. package/knowledge/config/team-triggers.yaml +0 -198
  372. package/knowledge/config/validation-patterns.yaml +0 -137
  373. package/knowledge/domain/README.md +0 -115
  374. package/knowledge/domain/flows/README.md +0 -194
  375. package/knowledge/domain/glossary.md +0 -143
  376. package/knowledge/domain/rules.md +0 -138
  377. package/knowledge/environment/README.en.md +0 -36
  378. package/knowledge/environment/README.md +0 -87
  379. package/knowledge/environment/component-knowledge.md +0 -316
  380. package/knowledge/environment/detection-patterns.yaml +0 -502
  381. package/knowledge/environment/middleware-knowledge.md +0 -237
  382. package/knowledge/environment/template-registry.md +0 -321
  383. package/knowledge/guides/domain-driven-design.md +0 -345
  384. package/knowledge/guides/knowledge-management.md +0 -369
  385. package/knowledge/guides/requirement-engineering.md +0 -329
  386. package/knowledge/guides/stages/ai-effect-evaluator.md +0 -93
  387. package/knowledge/guides/stages/code-implementer.md +0 -205
  388. package/knowledge/guides/stages/code-reviewer.md +0 -111
  389. package/knowledge/guides/stages/consistency-checker.md +0 -177
  390. package/knowledge/guides/stages/design-planner.md +0 -401
  391. package/knowledge/guides/stages/design-reviewer.md +0 -83
  392. package/knowledge/guides/stages/integration-test-runner.md +0 -105
  393. package/knowledge/guides/stages/release-checker.md +0 -205
  394. package/knowledge/guides/stages/requirement-analyzer.md +0 -195
  395. package/knowledge/guides/stages/requirement-reviewer.md +0 -83
  396. package/knowledge/guides/stages/security-reviewer.md +0 -89
  397. package/knowledge/guides/stages/test-context-analyzer.md +0 -250
  398. package/knowledge/guides/stages/test-generator.md +0 -241
  399. package/knowledge/guides/stages/test-planner.md +0 -183
  400. package/knowledge/guides/stages/test-reviewer.md +0 -76
  401. package/knowledge/guides/stages/unit-test-runner.md +0 -83
  402. package/knowledge/guides/support/ai-agent-analyzer.md +0 -362
  403. package/knowledge/guides/support/ai-anomaly-analyzer.md +0 -213
  404. package/knowledge/guides/support/ai-artifact-evaluator.md +0 -192
  405. package/knowledge/guides/support/ai-capability-analyzer.md +0 -193
  406. package/knowledge/guides/support/ai-component-analyzer.md +0 -169
  407. package/knowledge/guides/support/ai-data-validator.md +0 -276
  408. package/knowledge/guides/support/ai-evaluation-planner.md +0 -374
  409. package/knowledge/guides/support/ai-path-evaluator.md +0 -274
  410. package/knowledge/guides/support/ai-pipeline-evaluator.md +0 -219
  411. package/knowledge/guides/support/ai-rag-analyzer.md +0 -339
  412. package/knowledge/guides/support/ai-task-assessor.md +0 -418
  413. package/knowledge/guides/support/ai-test-diagnostics.md +0 -133
  414. package/knowledge/guides/support/complexity-assessor.md +0 -268
  415. package/knowledge/guides/support/component-discovery.md +0 -183
  416. package/knowledge/guides/support/environment-scanner.md +0 -207
  417. package/knowledge/guides/support/environment-validator.md +0 -207
  418. package/knowledge/guides/support/knowledge-generator.md +0 -234
  419. package/knowledge/guides/support/methodology-extractor.md +0 -55
  420. package/knowledge/guides/support/pipeline-protocol.md +0 -438
  421. package/knowledge/guides/support/practice-logger.md +0 -359
  422. package/knowledge/guides/support/scope-inference.md +0 -174
  423. package/knowledge/guides/support/skill-distiller.md +0 -91
  424. package/knowledge/guides/support/skill-updater.md +0 -45
  425. package/knowledge/guides/support/skill-validator.md +0 -72
  426. package/knowledge/guides/support/team-orchestrator.md +0 -323
  427. package/knowledge/guides/support/tech-stack-analyzer.md +0 -139
  428. package/knowledge/guides/support/test-runner.md +0 -254
  429. package/knowledge/guides/system-design.md +0 -352
  430. package/knowledge/organization/ai-native-team.md +0 -318
  431. package/knowledge/organization/team-metrics.md +0 -228
  432. package/knowledge/principles/constitution.md +0 -134
  433. package/knowledge/principles/core-principles.md +0 -368
  434. package/knowledge/principles/design-philosophy.md +0 -877
  435. package/knowledge/principles/evolution.md +0 -553
  436. package/knowledge/process/01-requirement.md +0 -113
  437. package/knowledge/process/02-design.md +0 -123
  438. package/knowledge/process/03-implementation.md +0 -90
  439. package/knowledge/process/04-review.md +0 -80
  440. package/knowledge/process/05-testing.md +0 -90
  441. package/knowledge/process/06-delivery.md +0 -88
  442. package/knowledge/process/README.en.md +0 -38
  443. package/knowledge/process/README.md +0 -48
  444. package/knowledge/process/ai-sdlc.md +0 -475
  445. package/knowledge/process/overview.md +0 -319
  446. package/knowledge/standards/code-review.md +0 -876
  447. package/knowledge/standards/coding-style.md +0 -940
  448. package/knowledge/standards/data-consistency.md +0 -1085
  449. package/knowledge/standards/document-versioning.md +0 -210
  450. package/knowledge/standards/risk-detection.md +0 -186
  451. package/knowledge/templates/ai-evaluation.md +0 -150
  452. package/knowledge/templates/api-design.md +0 -117
  453. package/knowledge/templates/database-design.md +0 -132
  454. package/knowledge/templates/domain-driven-design.md +0 -321
  455. package/knowledge/templates/product-proposal.md +0 -201
  456. package/knowledge/templates/system-design.md +0 -227
  457. package/knowledge/templates/task-breakdown.md +0 -107
  458. package/knowledge/templates/test-case.md +0 -170
  459. package/plugins/.claude-plugin/plugin.json +0 -134
  460. package/plugins/agents/roles/ai-engineer.md +0 -129
  461. package/plugins/agents/roles/backend-engineer.md +0 -165
  462. package/plugins/agents/roles/ceo.md +0 -94
  463. package/plugins/agents/roles/data-engineer.md +0 -135
  464. package/plugins/agents/roles/devops-engineer.md +0 -181
  465. package/plugins/agents/roles/frontend-engineer.md +0 -129
  466. package/plugins/agents/roles/product-owner.md +0 -98
  467. package/plugins/agents/roles/quality-engineer.md +0 -129
  468. package/plugins/agents/roles/security-engineer.md +0 -180
  469. package/plugins/agents/roles/tech-lead.md +0 -97
  470. package/plugins/agents/support/blind-comparator.md +0 -88
  471. package/plugins/agents/support/consistency-checker.md +0 -103
  472. package/plugins/agents/support/failure-diagnostician.md +0 -141
  473. package/plugins/agents/support/independent-reviewer.md +0 -80
  474. package/plugins/agents/support/safety-auditor.md +0 -121
  475. package/plugins/agents/support/skill-benchmarker.md +0 -86
  476. package/plugins/agents/support/skill-forger.md +0 -105
  477. package/plugins/agents/support/stage-gate-evaluator.md +0 -121
  478. package/plugins/agents/support/test-coverage-reviewer.md +0 -73
  479. package/plugins/benchmarks/templates/README.md +0 -44
  480. package/plugins/benchmarks/templates/commands/explore-template.yaml +0 -48
  481. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +0 -84
  482. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +0 -106
  483. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +0 -48
  484. package/plugins/commands/README.en.md +0 -96
  485. package/plugins/commands/README.md +0 -96
  486. package/plugins/commands/apply.md +0 -191
  487. package/plugins/commands/archive.md +0 -76
  488. package/plugins/commands/env-export.md +0 -79
  489. package/plugins/commands/env-sync.md +0 -640
  490. package/plugins/commands/env-template.md +0 -223
  491. package/plugins/commands/env-update.md +0 -264
  492. package/plugins/commands/env-validate.md +0 -176
  493. package/plugins/commands/env.md +0 -79
  494. package/plugins/commands/explore.md +0 -76
  495. package/plugins/commands/field-evolve.md +0 -536
  496. package/plugins/commands/memory.md +0 -249
  497. package/plugins/commands/project-evolve.md +0 -821
  498. package/plugins/commands/propose.md +0 -93
  499. package/plugins/commands/review.md +0 -140
  500. package/plugins/commands/run.md +0 -224
  501. package/plugins/commands/status.md +0 -62
  502. package/plugins/commands/validate.md +0 -108
  503. package/plugins/hooks/README.en.md +0 -56
  504. package/plugins/hooks/README.md +0 -56
  505. package/plugins/hooks/ai-project-guard.js +0 -329
  506. package/plugins/hooks/artifact-evaluation-hook.js +0 -237
  507. package/plugins/hooks/constitution-guard.js +0 -211
  508. package/plugins/hooks/environment-autocommit.js +0 -264
  509. package/plugins/hooks/environment-manager.js +0 -778
  510. package/plugins/hooks/execution-tracker.js +0 -354
  511. package/plugins/hooks/frozen-zone-guard.js +0 -140
  512. package/plugins/hooks/layer1-validator.js +0 -423
  513. package/plugins/hooks/lib/artifact-evaluator.js +0 -414
  514. package/plugins/hooks/lib/benchmarks/change-detector.js +0 -390
  515. package/plugins/hooks/lib/benchmarks/evaluator.js +0 -605
  516. package/plugins/hooks/lib/benchmarks/integration-example.js +0 -169
  517. package/plugins/hooks/lib/data-and-ai-detector.js +0 -275
  518. package/plugins/hooks/lib/detection-pattern-loader.js +0 -865
  519. package/plugins/hooks/lib/directory-discovery.js +0 -395
  520. package/plugins/hooks/lib/environment-config-loader.js +0 -341
  521. package/plugins/hooks/lib/environment-detector.js +0 -553
  522. package/plugins/hooks/lib/environment-evolver.js +0 -564
  523. package/plugins/hooks/lib/environment-registry.js +0 -813
  524. package/plugins/hooks/lib/execution-path.js +0 -427
  525. package/plugins/hooks/lib/hook-error-recorder.js +0 -245
  526. package/plugins/hooks/lib/hook-logger.js +0 -538
  527. package/plugins/hooks/lib/hook-runner.js +0 -97
  528. package/plugins/hooks/lib/hook-state-manager.js +0 -480
  529. package/plugins/hooks/lib/memory-extractor.js +0 -377
  530. package/plugins/hooks/lib/memory-manager.js +0 -673
  531. package/plugins/hooks/lib/metrics-analyzer.js +0 -489
  532. package/plugins/hooks/lib/project-evolution/auto-fixer.js +0 -511
  533. package/plugins/hooks/lib/project-evolution/memory-manager.js +0 -346
  534. package/plugins/hooks/lib/project-evolution/pattern-detector.js +0 -476
  535. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +0 -480
  536. package/plugins/hooks/lib/project-structure-detector.js +0 -326
  537. package/plugins/hooks/lib/rollback-tracker.js +0 -346
  538. package/plugins/hooks/lib/source-code-scanner.js +0 -596
  539. package/plugins/hooks/lib/technology-stack-detector.js +0 -374
  540. package/plugins/hooks/lib/test-failure-analyzer.js +0 -375
  541. package/plugins/hooks/lib/test-failure-fixer.js +0 -268
  542. package/plugins/hooks/lib/trace-context.js +0 -277
  543. package/plugins/hooks/lib/validation-patterns.js +0 -415
  544. package/plugins/hooks/memory-sync.js +0 -171
  545. package/plugins/hooks/pipeline-observer.js +0 -413
  546. package/plugins/hooks/scope-sentinel.js +0 -204
  547. package/plugins/hooks/trace-initialization.js +0 -169
  548. package/plugins/memory/templates/code-quality.yaml +0 -149
  549. package/plugins/memory/templates/multi-system.yaml +0 -155
  550. package/plugins/memory/templates/team-habits.yaml +0 -119
  551. package/plugins/memory/templates/testing.yaml +0 -121
  552. package/plugins/skills/README.en.md +0 -47
  553. package/plugins/skills/README.md +0 -104
  554. package/plugins/skills/benchmark-executor/README.md +0 -93
  555. package/plugins/skills/benchmark-executor/SKILL.md +0 -647
  556. package/plugins/skills/benchmark-generator/SKILL.md +0 -349
  557. package/plugins/skills/delivery-stage/SKILL.md +0 -203
  558. package/plugins/skills/design-stage/SKILL.md +0 -216
  559. package/plugins/skills/evolution-process/SKILL.md +0 -291
  560. package/plugins/skills/exploration-phase/SKILL.md +0 -133
  561. package/plugins/skills/implementation-stage/SKILL.md +0 -179
  562. package/plugins/skills/layer1-validation/SKILL.md +0 -79
  563. package/plugins/skills/pending-dashboard/SKILL.md +0 -109
  564. package/plugins/skills/project-evolution/SKILL.md +0 -847
  565. package/plugins/skills/requirement-stage/SKILL.md +0 -183
  566. package/plugins/skills/skill-forge/SKILL.md +0 -223
  567. package/plugins/skills/skill-forge/references/description-guide.md +0 -92
  568. package/plugins/skills/skill-forge/references/quality-rubric.md +0 -104
  569. package/plugins/skills/skill-forge/references/skill-template.md +0 -106
  570. package/plugins/skills/startup-guard/SKILL.md +0 -38
  571. package/plugins/skills/testing-stage/SKILL.md +0 -195
  572. package/scripts/cli/global-init.js +0 -288
  573. package/scripts/cli/global.js +0 -324
  574. package/scripts/cli/index.js +0 -55
  575. package/scripts/cli/init.js +0 -382
  576. package/scripts/cli/list.js +0 -69
  577. package/scripts/cli/org.js +0 -340
  578. package/scripts/cli/update.js +0 -44
  579. package/scripts/config/commands.config.js +0 -145
  580. package/scripts/config/hooks.config.js +0 -197
  581. package/scripts/evolution/evolution-router.js +0 -273
  582. package/scripts/evolution/evolution-signal-collector.js +0 -307
  583. package/scripts/evolution/knowledge-loader.js +0 -346
  584. package/scripts/evolution/marketplace.js +0 -317
  585. package/scripts/evolution/version-manager.js +0 -371
  586. package/scripts/install/agents.js +0 -106
  587. package/scripts/install/commands.js +0 -133
  588. package/scripts/install/constants.js +0 -424
  589. package/scripts/install/hook-logger.js +0 -536
  590. package/scripts/install/hooks.js +0 -110
  591. package/scripts/install/index.js +0 -39
  592. package/scripts/install/skills.js +0 -95
  593. package/scripts/postinstall.js +0 -25
  594. package/scripts/state.js +0 -376
  595. /package/{plugins → dist/plugins}/hooks/lib/hook-runner.sh +0 -0
@@ -1,423 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * AutoSpec Hook: Layer 1 Validator
5
- *
6
- * 统一的 Layer 1 验证管理 Hook,合并了三个相关功能:
7
- * - PreToolUse: Layer 1 强制检查(原 layer1-mandatory.js)
8
- * - PostToolUse: Layer 1 结果捕获(原 layer1-post-check.js)
9
- * - PostToolUse: 质量指标追踪(原 pipeline-quality-tracker.js)
10
- *
11
- * 职责:
12
- * 1. 阻止未执行 Layer 1 验证就标记阶段完成
13
- * 2. 捕获 Layer 1 验证命令的执行结果
14
- * 3. 追踪质量指标到 metrics.json
15
- *
16
- * Security Level: CRITICAL - fail-closed
17
- */
18
-
19
- import { createHookLogger, safeJsonParse, handleHookError, readStdin, findProjectRootAsync, fileExists } from './lib/hook-logger.js';
20
- import { recordHookExecution } from './lib/hook-error-recorder.js';
21
- import {
22
- detectValidationType,
23
- isLayer1Validation,
24
- extractTestMetrics,
25
- } from './lib/validation-patterns.js';
26
- import {
27
- getState,
28
- readStateField,
29
- hasLayer1Execution,
30
- getMetrics,
31
- updateMetrics,
32
- updateStageMetrics,
33
- incrementTotalMetric,
34
- incrementStageMetric,
35
- addErrorEntry,
36
- } from './lib/hook-state-manager.js';
37
- import { getTraceId, recordEvent } from './lib/trace-context.js';
38
- import { analyzeFailures, requiresHumanConfirmation } from './lib/test-failure-analyzer.js';
39
-
40
- const logger = createHookLogger('layer1-validator');
41
-
42
- /**
43
- * 分析测试失败
44
- */
45
- async function analyzeTestFailure(testOutput, command) {
46
- try {
47
- // 构建测试结果对象
48
- const testResult = {
49
- success: false,
50
- output: testOutput || '',
51
- command: command
52
- };
53
-
54
- // 调用本地 analyzer 分析失败原因
55
- const analysis = analyzeFailures(testResult);
56
- return analysis;
57
- } catch (e) {
58
- logger.debug('Test analysis failed', { error: e.message });
59
- return null;
60
- }
61
- }
62
-
63
- /**
64
- * PreToolUse 处理:Layer 1 强制检查
65
- * 阻止未执行 Layer 1 验证就标记阶段完成
66
- */
67
- async function handlePreToolUse(input, projectRoot) {
68
- const toolName = input.tool_name;
69
- if (toolName !== 'Write' && toolName !== 'Edit') {
70
- logger.debug('Not a write/edit operation, skipping', { toolName });
71
- return;
72
- }
73
-
74
- // Check if this is an attempt to update state.json
75
- const filePath = (input.tool_input?.file_path || '').replace(/\\/g, '/');
76
- if (!filePath.includes('state.json') && !filePath.includes('.autospec/state')) {
77
- logger.debug('Not a state.json operation, skipping', { filePath });
78
- return;
79
- }
80
-
81
- logger.debug('Intercepting state.json modification');
82
-
83
- // Check if state exists
84
- const currentState = getState(projectRoot, true);
85
- if (!currentState) {
86
- logger.debug('state.json does not exist yet, allowing');
87
- return;
88
- }
89
-
90
- // Get new content (if Edit, get replacement text; if Write, get content)
91
- let newContent = '';
92
- if (toolName === 'Write') {
93
- newContent = input.tool_input?.content || '';
94
- } else if (toolName === 'Edit') {
95
- newContent = input.tool_input?.new_string || '';
96
- }
97
-
98
- // Check if we're marking a stage as complete
99
- const isMarkingComplete = newContent.includes('completed') ||
100
- newContent.includes('"status": "completed"');
101
-
102
- if (!isMarkingComplete) {
103
- logger.debug('Not a completion update, allowing');
104
- return;
105
- }
106
-
107
- logger.info('Detected stage completion attempt');
108
-
109
- // Check what stage is being marked complete
110
- const stageMatch = newContent.match(/stage0?(\d)/i) ||
111
- newContent.match(/"stage": "?(\d+)"?/);
112
- const stageNum = stageMatch ? stageMatch[1] : null;
113
-
114
- logger.debug('Checking stage', { stageNum });
115
-
116
- // Stage 1 (requirement) doesn't always need Layer 1 (it's analysis, not code)
117
- // But stages 3+ (implementation, review, testing) definitely need Layer 1
118
- if (stageNum && parseInt(stageNum) >= 3) {
119
- const currentStageKey = 'stage' + (parseInt(stageNum) < 10 ? '0' : '') + stageNum;
120
-
121
- // 使用 state-utils 检查 Layer 1 执行记录
122
- const hasLayer1 = hasLayer1Execution(projectRoot, currentStageKey);
123
-
124
- logger.debug('Layer 1 check', { stage: currentStageKey, hasLayer1 });
125
-
126
- if (!hasLayer1) {
127
- logger.info('BLOCKED: No Layer 1 execution for stage completion', { stage: stageNum });
128
-
129
- const output = {
130
- hookSpecificOutput: {
131
- hookEventName: 'PreToolUse',
132
- permissionDecision: 'deny',
133
- permissionDecisionReason:
134
- `[AutoSpec Layer 1 Validator] ❌ BLOCKED - DP6 Violation\n` +
135
- `Attempting to mark Stage ${stageNum} as completed without Layer 1 validation.\n\n` +
136
- `Constitution DP6 requires: "Layer 1 must be real execution"\n` +
137
- `Required steps before completion:\n` +
138
- ` - /autospec:validate (runs build, test, lint)\n` +
139
- ` - Or: Bash commands for build/test with real execution\n\n` +
140
- `Layer 1 results not found in state.json for this stage.\n` +
141
- `Run validation first, then mark complete.`
142
- }
143
- };
144
- process.stdout.write(JSON.stringify(output));
145
- }
146
- }
147
-
148
- logger.debug('Allowing state update');
149
- }
150
-
151
- /**
152
- * PostToolUse 处理:Layer 1 结果捕获 + 质量指标追踪
153
- * 使用 state-utils.js 进行状态管理
154
- */
155
- async function handlePostToolUse(input, projectRoot) {
156
- const toolName = input.tool_name;
157
- const toolInput = input.tool_input || {};
158
- const response = input.tool_response || {};
159
-
160
- logger.debug('Tracking Layer 1 metrics');
161
-
162
- // Only track when a pipeline is active
163
- const currentState = getState(projectRoot, true);
164
- if (!currentState) {
165
- logger.debug('No active pipeline (state.json not found), skipping');
166
- return;
167
- }
168
-
169
- // Load current stage
170
- const currentStage = String(currentState.currentStage || '');
171
-
172
- let updated = false;
173
- let contextMessage = '';
174
-
175
- // ========== Layer 1 验证命令检测(Bash 命令)==========
176
- if (toolName === 'Bash') {
177
- const command = toolInput.command || '';
178
- const validationType = detectValidationType(command);
179
-
180
- if (validationType) {
181
- const exitCode = response.exitCode ?? (response.error ? 1 : 0);
182
- const passed = exitCode === 0;
183
-
184
- // 检查是否为该阶段的首次 Layer 1 尝试
185
- const metrics = getMetrics(projectRoot, true);
186
- const stageMetrics = metrics?.stages?.[currentStage] || {};
187
- const isFirstAttempt = !stageMetrics.layer1FirstAttempts || stageMetrics.layer1FirstAttempts === 0;
188
-
189
- // 记录首次尝试
190
- if (isFirstAttempt) {
191
- incrementStageMetric(projectRoot, currentStage, 'layer1FirstAttempts');
192
- incrementTotalMetric(projectRoot, 'layer1FirstAttempts');
193
- logger.debug('First Layer 1 attempt for stage', { stage: currentStage });
194
-
195
- // 如果首次通过,记录
196
- if (passed) {
197
- incrementStageMetric(projectRoot, currentStage, 'layer1FirstPass');
198
- incrementTotalMetric(projectRoot, 'layer1FirstPass');
199
- logger.info('First attempt Layer 1 PASS', { stage: currentStage });
200
- }
201
- }
202
-
203
- // 更新指标 - 使用 state-utils
204
- if (passed) {
205
- incrementTotalMetric(projectRoot, 'layer1Pass');
206
- if (currentStage) incrementStageMetric(projectRoot, currentStage, 'layer1Pass');
207
- logger.debug('Layer 1 validation passed', { stage: currentStage });
208
- } else {
209
- incrementTotalMetric(projectRoot, 'layer1Fail');
210
- if (currentStage) incrementStageMetric(projectRoot, currentStage, 'layer1Fail');
211
-
212
- // 添加错误记录
213
- addErrorEntry(projectRoot, {
214
- type: 'layer1_fail',
215
- command: command.substring(0, 100),
216
- stage: currentStage
217
- }, currentStage);
218
-
219
- logger.info('Layer 1 validation failed', { stage: currentStage, exitCode });
220
-
221
- // 使用 test 模块分析测试失败原因
222
- if (validationType === 'test') {
223
- const testOutput = response.stdout || response.stderr || '';
224
- const analysis = await analyzeTestFailure(testOutput, command);
225
-
226
- if (analysis && analysis.errors && analysis.errors.length > 0) {
227
- // 构建详细的错误分析消息
228
- let analysisDetails = `\n\n[Test Module Analysis]\n`;
229
- analysisDetails += `Error Type: ${analysis.errorType || 'unknown'}\n`;
230
- analysisDetails += `Severity: ${analysis.severity || 'medium'}\n`;
231
-
232
- if (analysis.errors && analysis.errors.length > 0) {
233
- analysisDetails += `\nDetected Errors:\n`;
234
- for (const err of analysis.errors.slice(0, 5)) {
235
- analysisDetails += ` - [${err.type}] ${err.message}\n`;
236
- if (err.file) analysisDetails += ` File: ${err.file}\n`;
237
- if (err.line) analysisDetails += ` Line: ${err.line}\n`;
238
- }
239
- }
240
-
241
- if (analysis.suggestions && analysis.suggestions.length > 0) {
242
- analysisDetails += `\nSuggested Fixes:\n`;
243
- for (const suggestion of analysis.suggestions.slice(0, 3)) {
244
- analysisDetails += ` - ${suggestion}\n`;
245
- }
246
- }
247
-
248
- // 检查是否需要人工确认
249
- const needsHuman = analysis.requiresHumanConfirmation || false;
250
- if (needsHuman) {
251
- analysisDetails += `\n⚠️ Human confirmation recommended for this failure.`;
252
- }
253
-
254
- // 提示 AI 可以调用深度分析 skill
255
- analysisDetails += `\n\n[AI Analysis Available]
256
- For comprehensive test diagnostics and quality assessment:
257
- - Read framework/skills/support/ai-test-diagnostics.md
258
- - Then use Agent tool with the test output for detailed diagnosis and improvement suggestions`;
259
-
260
- contextMessage = analysisDetails;
261
- }
262
- }
263
-
264
- // Alert on consecutive failures
265
- const metrics = getMetrics(projectRoot, true);
266
- const recentErrors = metrics?.totals?.errors?.filter(e => e.type === 'layer1_fail') || [];
267
- if (recentErrors.length >= 3) {
268
- contextMessage = (contextMessage ? contextMessage + '\n\n' : '') +
269
- `[AutoSpec Quality Alert] Layer 1 has failed ${recentErrors.length} times in this pipeline.\n` +
270
- `Consider: Is this a systemic issue? Check design assumptions or environment setup.`;
271
- logger.info('Consecutive failures alert triggered', { count: recentErrors.length });
272
- }
273
- }
274
-
275
- // 生成上下文消息(原 layer1-post-check 功能)
276
- const status = passed ? 'PASS' : 'FAIL';
277
- let validationMessage =
278
- `[AutoSpec Layer 1] Validation command detected: ${command.substring(0, 80)}\n` +
279
- `Type: ${validationType} | Result: ${status}\n`;
280
-
281
- if (passed) {
282
- validationMessage += `Layer 1 PASS — proceed to Layer 2 review if applicable.`;
283
- } else {
284
- validationMessage +=
285
- `Layer 1 FAIL — DO NOT proceed to Layer 2 review.\n` +
286
- `[CP6 Error Analysis Required] Before retrying, analyze the root cause:\n` +
287
- ` 1. Is this a code bug? → Fix the specific issue\n` +
288
- ` 2. Is this a design gap? → Flag for design-stage rollback\n` +
289
- ` 3. Is this an environment issue? → Mark as BLOCKED\n` +
290
- `Record this failure in the stage results for practice-log (error pattern tracking).`;
291
- }
292
-
293
- contextMessage = contextMessage ? contextMessage + '\n\n' + validationMessage : validationMessage;
294
- updated = true;
295
-
296
- // 记录事件到 trace 日志
297
- const traceId = getTraceId(projectRoot);
298
- if (traceId) {
299
- recordEvent(projectRoot, passed ? 'layer1_pass' : 'layer1_fail', {
300
- source: 'layer1-validator',
301
- stage: currentStage,
302
- tool: 'Bash',
303
- action: 'validation',
304
- data: {
305
- command: command.substring(0, 100),
306
- validationType,
307
- exitCode,
308
- isFirstAttempt,
309
- firstPass: isFirstAttempt && passed
310
- }
311
- });
312
- }
313
- }
314
- }
315
-
316
- // ========== Agent 调用追踪 ==========
317
- if (toolName === 'Agent') {
318
- incrementTotalMetric(projectRoot, 'agentCalls');
319
- if (currentStage) incrementStageMetric(projectRoot, currentStage, 'agentCalls');
320
-
321
- const agentResult = response.error ? 'fail' : 'success';
322
- if (agentResult === 'success') {
323
- incrementTotalMetric(projectRoot, 'agentSuccess');
324
- if (currentStage) incrementStageMetric(projectRoot, currentStage, 'agentSuccess');
325
- } else {
326
- incrementTotalMetric(projectRoot, 'agentFail');
327
- if (currentStage) incrementStageMetric(projectRoot, currentStage, 'agentFail');
328
- }
329
- logger.debug('Agent call tracked', { result: agentResult, stage: currentStage });
330
- updated = true;
331
- }
332
-
333
- // ========== 用户干预追踪 ==========
334
- if (toolName === 'AskUserQuestion') {
335
- incrementTotalMetric(projectRoot, 'humanInterventions');
336
- logger.debug('Human intervention tracked');
337
- updated = true;
338
- }
339
-
340
- // Metrics are automatically saved by state-utils functions
341
- if (updated) {
342
- logger.debug('Metrics updated via state-utils');
343
- }
344
-
345
- // Output context message if any alert was triggered
346
- if (contextMessage) {
347
- const output = {
348
- hookSpecificOutput: {
349
- hookEventName: 'PostToolUse',
350
- additionalContext: contextMessage
351
- }
352
- };
353
- process.stdout.write(JSON.stringify(output));
354
- }
355
- }
356
-
357
- /**
358
- * 主函数
359
- */
360
- async function main() {
361
- const startTime = Date.now();
362
- let input;
363
- let projectRoot = null;
364
-
365
- try {
366
- const rawInput = await readStdin(1000);
367
- input = safeJsonParse(rawInput, null, 'hook input');
368
-
369
- if (!input) {
370
- logger.debug('Empty or invalid input, skipping');
371
- process.exit(0);
372
- }
373
-
374
- // Find project root
375
- const cwd = input.cwd || process.cwd();
376
- projectRoot = await findProjectRootAsync(cwd);
377
-
378
- if (!projectRoot) {
379
- logger.debug('No .autospec directory found, skipping');
380
- process.exit(0);
381
- }
382
-
383
- // 根据事件类型分发到不同处理函数
384
- const eventName = input.event_name;
385
-
386
- if (eventName === 'PreToolUse') {
387
- await handlePreToolUse(input, projectRoot);
388
- } else if (eventName === 'PostToolUse') {
389
- await handlePostToolUse(input, projectRoot);
390
- } else {
391
- logger.debug('Unknown event type, skipping', { eventName });
392
- }
393
-
394
- // 记录成功执行
395
- recordHookExecution(projectRoot, 'layer1-validator', input, null, Date.now() - startTime, true);
396
- process.exit(0);
397
-
398
- } catch (err) {
399
- // 使用增强的错误处理
400
- const result = handleHookError('layer1-validator', err, {
401
- eventName: input?.event_name || 'Unknown',
402
- projectRoot,
403
- input
404
- });
405
-
406
- // 记录失败的执行
407
- if (projectRoot) {
408
- recordHookExecution(projectRoot, 'layer1-validator', input, result, Date.now() - startTime, false);
409
- }
410
-
411
- process.stdout.write(JSON.stringify(result.hookSpecificOutput));
412
-
413
- // 关键 hook:根据错误类型决定退出码
414
- // fail-closed: 如果 shouldBlock 为 true,使用 exit(2) 阻止操作
415
- if (result.shouldBlock) {
416
- process.exit(2);
417
- } else {
418
- process.exit(0);
419
- }
420
- }
421
- }
422
-
423
- main();