tribunal-kit 9.2.5 → 9.2.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 (902) hide show
  1. package/.agent/ADRs/ADR-001-system-architecture-intelligence.md +1 -1
  2. package/.agent/ARCHITECTURE.md +4 -4
  3. package/.agent/agents/agent-shield-auditor.md +4 -1
  4. package/.agent/agents/anti-slop-auditor.md +79 -0
  5. package/.agent/agents/api-architect.md +5 -0
  6. package/.agent/agents/architecture-auditor.md +20 -19
  7. package/.agent/agents/backend-security-architect.md +115 -0
  8. package/.agent/agents/frontend-reviewer.md +2 -0
  9. package/.agent/agents/frontend-specialist.md +2 -1
  10. package/.agent/agents/harness-manager.md +8 -0
  11. package/.agent/agents/human-gate-negotiator.md +6 -2
  12. package/.agent/agents/kernel-scheduler.md +4 -0
  13. package/.agent/agents/memory-archivist.md +5 -0
  14. package/.agent/agents/orchestrator.md +0 -1
  15. package/.agent/agents/project-planner.md +0 -1
  16. package/.agent/agents/security-auditor.md +0 -1
  17. package/.agent/agents/system-architect.md +15 -1
  18. package/.agent/agents/ui-ux-auditor.md +5 -0
  19. package/.agent/agents/ui-visual-auditor.md +5 -0
  20. package/.agent/config/claude.json +2 -2
  21. package/.agent/config/plugin.json +2 -2
  22. package/.agent/config/system-prompt.md +1 -1
  23. package/.agent/history/architecture-intelligence.html +1880 -0
  24. package/.agent/history/architecture-model.json +19764 -0
  25. package/.agent/history/architecture-verification.json +50 -0
  26. package/.agent/history/integrity_manifest.json +1905 -0
  27. package/.agent/plans/implementation_plan.md +15 -8
  28. package/.agent/plans/task.md +6 -0
  29. package/.agent/routing_index.json +31 -22
  30. package/.agent/rules/GEMINI.md +1 -1
  31. package/.agent/rules/kernel.md +16 -13
  32. package/.agent/scripts/_utils.js +6 -1
  33. package/.agent/scripts/ab_json_experiment.js +129 -0
  34. package/.agent/scripts/adaptive_execution.js +511 -0
  35. package/.agent/scripts/architecture_diff.js +303 -0
  36. package/.agent/scripts/architecture_extractor.js +792 -0
  37. package/.agent/scripts/architecture_health.js +293 -0
  38. package/.agent/scripts/architecture_intelligence.js +3100 -0
  39. package/.agent/scripts/architecture_mapper.js +91 -25
  40. package/.agent/scripts/architecture_verifier.js +303 -0
  41. package/.agent/scripts/architecture_visualizer.js +880 -0
  42. package/.agent/scripts/backend_audit.js +238 -0
  43. package/.agent/scripts/backend_report_generator.js +161 -0
  44. package/.agent/scripts/benchmark_suite.js +493 -0
  45. package/.agent/scripts/blast_radius_engine.js +274 -0
  46. package/.agent/scripts/capability_evolution.js +453 -0
  47. package/.agent/scripts/checklist.js +8 -4
  48. package/.agent/scripts/concept_extractor.js +240 -0
  49. package/.agent/scripts/consideration_engine.js +284 -0
  50. package/.agent/scripts/consolidation_experiment.js +543 -0
  51. package/.agent/scripts/context_compiler.js +49 -18
  52. package/.agent/scripts/coverage_engine.js +102 -0
  53. package/.agent/scripts/cross_agent_correlator.js +223 -0
  54. package/.agent/scripts/cross_domain_engine.js +1883 -0
  55. package/.agent/scripts/dependency_analyzer.js +26 -4
  56. package/.agent/scripts/engineering_memory.js +1313 -0
  57. package/.agent/scripts/evidence_verifier.js +171 -0
  58. package/.agent/scripts/finding_schema.js +104 -0
  59. package/.agent/scripts/findings_validator.js +147 -0
  60. package/.agent/scripts/guardrail_engine.js +43 -24
  61. package/.agent/scripts/harness_manager.js +30 -18
  62. package/.agent/scripts/impact_classifier.js +6 -5
  63. package/.agent/scripts/integrity_manifest.js +45 -9
  64. package/.agent/scripts/judgment_engine.js +790 -0
  65. package/.agent/scripts/lint_runner.js +4 -2
  66. package/.agent/scripts/live_abc_benchmark.js +452 -0
  67. package/.agent/scripts/materiality_engine.js +251 -0
  68. package/.agent/scripts/mcp_server.js +81 -59
  69. package/.agent/scripts/memory_archivist.js +18 -12
  70. package/.agent/scripts/memory_consolidator.js +6 -6
  71. package/.agent/scripts/memory_engine.js +33 -17
  72. package/.agent/scripts/outcome_engine.js +624 -0
  73. package/.agent/scripts/outcome_optimization_engine.js +1632 -0
  74. package/.agent/scripts/pipeline_engine.js +26 -11
  75. package/.agent/scripts/secret_redactor.js +119 -0
  76. package/.agent/scripts/session_logger.js +4 -4
  77. package/.agent/scripts/session_manager.js +6 -1
  78. package/.agent/scripts/simulation_engine.js +1478 -0
  79. package/.agent/scripts/skill_intelligence.js +1371 -0
  80. package/.agent/scripts/swarm_dispatcher.js +29 -20
  81. package/.agent/scripts/syscall_registry.js +28 -23
  82. package/.agent/scripts/test_runner.js +1 -1
  83. package/.agent/scripts/tier3_audit.js +195 -0
  84. package/.agent/scripts/validation_engine.js +236 -0
  85. package/.agent/scripts/verification_auditor.js +266 -0
  86. package/.agent/scripts/verify_all.js +5 -3
  87. package/.agent/skill-intelligence/taxonomy/engineering-concepts.json +555 -0
  88. package/.agent/skill_topic_map.json +133 -146
  89. package/.agent/skills/12-principles-of-animation/SKILL.md +92 -22
  90. package/.agent/skills/60fps-animation/SKILL.md +83 -26
  91. package/.agent/skills/accessible-animation/SKILL.md +93 -31
  92. package/.agent/skills/adapt/SKILL.md +92 -22
  93. package/.agent/skills/adr-generation/SKILL.md +88 -12
  94. package/.agent/skills/advanced-rag-pipelines/SKILL.md +83 -22
  95. package/.agent/skills/agent-organizer/SKILL.md +85 -27
  96. package/.agent/skills/agent-syscall-guidelines/SKILL.md +100 -25
  97. package/.agent/skills/agentic-patterns/SKILL.md +93 -23
  98. package/.agent/skills/agentic-workflows-2026/SKILL.md +92 -20
  99. package/.agent/skills/agentshield-security/SKILL.md +85 -26
  100. package/.agent/skills/ai-app-hardening/SKILL.md +92 -20
  101. package/.agent/skills/ai-prompt-injection-defense/SKILL.md +83 -22
  102. package/.agent/skills/animation-on-scroll/SKILL.md +93 -31
  103. package/.agent/skills/animation-systems/SKILL.md +93 -31
  104. package/.agent/skills/antfu-conventions/SKILL.md +92 -22
  105. package/.agent/skills/anti-slop-enforcement/SKILL.md +118 -0
  106. package/.agent/skills/api-patterns/SKILL.md +83 -22
  107. package/.agent/skills/api-security-auditor/SKILL.md +102 -24
  108. package/.agent/skills/app-builder/SKILL.md +85 -30
  109. package/.agent/skills/appflow-wireframe/SKILL.md +78 -18
  110. package/.agent/skills/apple-design/SKILL.md +92 -22
  111. package/.agent/skills/architecture/SKILL.md +83 -22
  112. package/.agent/skills/architecture-drift/SKILL.md +88 -12
  113. package/.agent/skills/architecture-intelligence/SKILL.md +53 -0
  114. package/.agent/skills/audit-and-fix/SKILL.md +95 -25
  115. package/.agent/skills/authentication-best-practices/SKILL.md +92 -22
  116. package/.agent/skills/autonomous-execution/SKILL.md +86 -8
  117. package/.agent/skills/backend-alembic/SKILL.md +91 -0
  118. package/.agent/skills/backend-architecture-auditor/SKILL.md +101 -0
  119. package/.agent/skills/backend-mongodb/SKILL.md +133 -0
  120. package/.agent/skills/backend-mysql/SKILL.md +84 -0
  121. package/.agent/skills/backend-performance-auditor/SKILL.md +100 -0
  122. package/.agent/skills/backend-postgresql/SKILL.md +117 -0
  123. package/.agent/skills/backend-redis/SKILL.md +122 -0
  124. package/.agent/skills/backend-security-expert/SKILL.md +83 -22
  125. package/.agent/skills/backend-sqlalchemy/SKILL.md +107 -0
  126. package/.agent/skills/backend-sqlite/SKILL.md +93 -0
  127. package/.agent/skills/backend-testing-auditor/SKILL.md +113 -0
  128. package/.agent/skills/baseline-ui/SKILL.md +92 -22
  129. package/.agent/skills/bash-linux/SKILL.md +84 -26
  130. package/.agent/skills/behavioral-modes/SKILL.md +93 -23
  131. package/.agent/skills/better-colors/SKILL.md +92 -22
  132. package/.agent/skills/better-typography/SKILL.md +88 -18
  133. package/.agent/skills/better-ui/SKILL.md +83 -22
  134. package/.agent/skills/bolder/SKILL.md +92 -22
  135. package/.agent/skills/brainstorming/SKILL.md +83 -23
  136. package/.agent/skills/browser-audit/SKILL.md +94 -24
  137. package/.agent/skills/browser-native-ai/SKILL.md +92 -22
  138. package/.agent/skills/build-primitive/SKILL.md +92 -22
  139. package/.agent/skills/building-native-ui/SKILL.md +83 -22
  140. package/.agent/skills/cicd-pro/SKILL.md +83 -22
  141. package/.agent/skills/clarify/SKILL.md +92 -22
  142. package/.agent/skills/clean-code/SKILL.md +83 -22
  143. package/.agent/skills/cloud-architect/SKILL.md +83 -22
  144. package/.agent/skills/cobejs/SKILL.md +92 -22
  145. package/.agent/skills/code-review-checklist/SKILL.md +92 -22
  146. package/.agent/skills/codebase-design/SKILL.md +83 -22
  147. package/.agent/skills/colorize/SKILL.md +92 -22
  148. package/.agent/skills/compact-landing/SKILL.md +92 -22
  149. package/.agent/skills/company-logos/SKILL.md +92 -22
  150. package/.agent/skills/config-validator/SKILL.md +84 -26
  151. package/.agent/skills/containerization-pro/SKILL.md +83 -22
  152. package/.agent/skills/context-engineering-pro/SKILL.md +92 -20
  153. package/.agent/skills/create-design-md/SKILL.md +92 -22
  154. package/.agent/skills/critique/SKILL.md +93 -23
  155. package/.agent/skills/csharp-developer/SKILL.md +92 -22
  156. package/.agent/skills/data-validation-schemas/SKILL.md +84 -26
  157. package/.agent/skills/database-design/SKILL.md +83 -22
  158. package/.agent/skills/delight/SKILL.md +92 -22
  159. package/.agent/skills/deployment-procedures/SKILL.md +84 -26
  160. package/.agent/skills/design-lab/SKILL.md +93 -23
  161. package/.agent/skills/devops-engineer/SKILL.md +92 -22
  162. package/.agent/skills/devops-incident-responder/SKILL.md +84 -26
  163. package/.agent/skills/diagnosing-bugs/SKILL.md +93 -23
  164. package/.agent/skills/distill/SKILL.md +92 -22
  165. package/.agent/skills/documentation-templates/SKILL.md +84 -26
  166. package/.agent/skills/domain-modeling/SKILL.md +92 -22
  167. package/.agent/skills/duckdb-analytical-sql/SKILL.md +91 -19
  168. package/.agent/skills/edge-ai-mobile/SKILL.md +91 -19
  169. package/.agent/skills/edge-computing/SKILL.md +84 -26
  170. package/.agent/skills/emil-design-eng/SKILL.md +92 -22
  171. package/.agent/skills/error-resilience/SKILL.md +83 -22
  172. package/.agent/skills/expo-router-v4/SKILL.md +90 -18
  173. package/.agent/skills/extract-design-system/SKILL.md +84 -26
  174. package/.agent/skills/fabel-protocol/SKILL.md +93 -23
  175. package/.agent/skills/failure-mode-analysis/SKILL.md +88 -12
  176. package/.agent/skills/fastapi-pro/SKILL.md +123 -0
  177. package/.agent/skills/fixing-accessibility/SKILL.md +92 -22
  178. package/.agent/skills/fixing-metadata/SKILL.md +92 -22
  179. package/.agent/skills/fixing-motion-performance/SKILL.md +92 -22
  180. package/.agent/skills/framer-motion-expert/SKILL.md +85 -30
  181. package/.agent/skills/frontend-design/SKILL.md +92 -22
  182. package/.agent/skills/frontend-security-expert/SKILL.md +83 -22
  183. package/.agent/skills/game-design-expert/SKILL.md +84 -26
  184. package/.agent/skills/game-engineering-expert/SKILL.md +84 -26
  185. package/.agent/skills/generative-ui-expert/SKILL.md +92 -22
  186. package/.agent/skills/geo-fundamentals/SKILL.md +84 -26
  187. package/.agent/skills/git-pro/SKILL.md +83 -22
  188. package/.agent/skills/github-operations/SKILL.md +92 -22
  189. package/.agent/skills/gpt-taste/SKILL.md +92 -22
  190. package/.agent/skills/graph-engineering/SKILL.md +116 -28
  191. package/.agent/skills/gsap-core/SKILL.md +92 -22
  192. package/.agent/skills/gsap-frameworks/SKILL.md +92 -22
  193. package/.agent/skills/gsap-performance/SKILL.md +92 -22
  194. package/.agent/skills/gsap-plugins/SKILL.md +92 -22
  195. package/.agent/skills/gsap-react/SKILL.md +92 -22
  196. package/.agent/skills/gsap-scrolltrigger/SKILL.md +92 -22
  197. package/.agent/skills/gsap-timeline/SKILL.md +92 -22
  198. package/.agent/skills/gsap-utils/SKILL.md +92 -22
  199. package/.agent/skills/harden/SKILL.md +92 -22
  200. package/.agent/skills/harness-protocol/SKILL.md +93 -23
  201. package/.agent/skills/hf-cli/SKILL.md +86 -6
  202. package/.agent/skills/hf-cloud-aws-context-discovery/SKILL.md +86 -8
  203. package/.agent/skills/hf-cloud-python-env-setup/SKILL.md +86 -8
  204. package/.agent/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +86 -8
  205. package/.agent/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +86 -8
  206. package/.agent/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +86 -8
  207. package/.agent/skills/hf-cloud-serving-image-selection/SKILL.md +86 -8
  208. package/.agent/skills/hf-mem/SKILL.md +86 -6
  209. package/.agent/skills/huggingface-best/SKILL.md +86 -16
  210. package/.agent/skills/huggingface-community-evals/SKILL.md +86 -8
  211. package/.agent/skills/huggingface-datasets/SKILL.md +86 -8
  212. package/.agent/skills/huggingface-gradio/SKILL.md +86 -8
  213. package/.agent/skills/huggingface-llm-trainer/SKILL.md +86 -9
  214. package/.agent/skills/huggingface-local-models/SKILL.md +86 -8
  215. package/.agent/skills/huggingface-lora-space-builder/SKILL.md +86 -8
  216. package/.agent/skills/huggingface-paper-publisher/SKILL.md +86 -7
  217. package/.agent/skills/huggingface-papers/SKILL.md +86 -8
  218. package/.agent/skills/huggingface-spaces/SKILL.md +86 -8
  219. package/.agent/skills/huggingface-tool-builder/SKILL.md +86 -8
  220. package/.agent/skills/huggingface-trackio/SKILL.md +77 -8
  221. package/.agent/skills/huggingface-vision-trainer/SKILL.md +86 -8
  222. package/.agent/skills/huggingface-zerogpu/SKILL.md +86 -8
  223. package/.agent/skills/human-gate-negotiation/SKILL.md +96 -30
  224. package/.agent/skills/i18n-localization/SKILL.md +84 -26
  225. package/.agent/skills/impeccable/SKILL.md +92 -22
  226. package/.agent/skills/improve-codebase-architecture/SKILL.md +92 -22
  227. package/.agent/skills/improve-ui/SKILL.md +92 -22
  228. package/.agent/skills/intelligent-routing/SKILL.md +81 -18
  229. package/.agent/skills/knowledge-graph/SKILL.md +94 -24
  230. package/.agent/skills/landing-page/SKILL.md +93 -23
  231. package/.agent/skills/lint-and-validate/SKILL.md +84 -26
  232. package/.agent/skills/llm-engineering/SKILL.md +92 -22
  233. package/.agent/skills/local-first/SKILL.md +84 -26
  234. package/.agent/skills/local-first-architecture/SKILL.md +83 -22
  235. package/.agent/skills/lottie-animation/SKILL.md +92 -22
  236. package/.agent/skills/marquee-loop/SKILL.md +92 -22
  237. package/.agent/skills/masked-reveal/SKILL.md +93 -24
  238. package/.agent/skills/mcp-builder/SKILL.md +84 -26
  239. package/.agent/skills/micro-interaction/SKILL.md +93 -31
  240. package/.agent/skills/mobile-design/SKILL.md +83 -22
  241. package/.agent/skills/monorepo-management/SKILL.md +84 -26
  242. package/.agent/skills/morphing-icons/SKILL.md +93 -24
  243. package/.agent/skills/motion-engineering/SKILL.md +84 -23
  244. package/.agent/skills/nextjs-react-expert/SKILL.md +83 -22
  245. package/.agent/skills/nodejs-best-practices/SKILL.md +83 -22
  246. package/.agent/skills/observability/SKILL.md +92 -22
  247. package/.agent/skills/opentelemetry-observability/SKILL.md +91 -19
  248. package/.agent/skills/page-transition-animation/SKILL.md +92 -22
  249. package/.agent/skills/parallel-agents/SKILL.md +85 -27
  250. package/.agent/skills/performance-profiling/SKILL.md +93 -23
  251. package/.agent/skills/plan-writing/SKILL.md +83 -22
  252. package/.agent/skills/platform-engineer/SKILL.md +84 -26
  253. package/.agent/skills/platform-engineering-opentofu/SKILL.md +91 -19
  254. package/.agent/skills/playwright-ai-e2e/SKILL.md +92 -20
  255. package/.agent/skills/playwright-best-practices/SKILL.md +85 -27
  256. package/.agent/skills/polish/SKILL.md +92 -22
  257. package/.agent/skills/powershell-windows/SKILL.md +92 -22
  258. package/.agent/skills/pricing-page/SKILL.md +92 -22
  259. package/.agent/skills/product-aware-heuristics/SKILL.md +93 -23
  260. package/.agent/skills/progressive-blur/SKILL.md +92 -22
  261. package/.agent/skills/project-idioms/SKILL.md +93 -23
  262. package/.agent/skills/property-based-testing/SKILL.md +92 -20
  263. package/.agent/skills/python-patterns/SKILL.md +84 -26
  264. package/.agent/skills/python-pro/SKILL.md +83 -22
  265. package/.agent/skills/quieter/SKILL.md +92 -22
  266. package/.agent/skills/react-doctor/SKILL.md +92 -22
  267. package/.agent/skills/react-specialist/SKILL.md +83 -22
  268. package/.agent/skills/readme-builder/SKILL.md +84 -26
  269. package/.agent/skills/realtime-patterns/SKILL.md +92 -22
  270. package/.agent/skills/red-team-tactics/SKILL.md +83 -22
  271. package/.agent/skills/redesign-skill/SKILL.md +92 -22
  272. package/.agent/skills/review-animations/SKILL.md +92 -22
  273. package/.agent/skills/rust-pro/SKILL.md +83 -22
  274. package/.agent/skills/semantic-filesystem-navigation/SKILL.md +79 -24
  275. package/.agent/skills/seo-fundamentals/SKILL.md +84 -26
  276. package/.agent/skills/server-management/SKILL.md +84 -26
  277. package/.agent/skills/session-log-interrogation/SKILL.md +81 -29
  278. package/.agent/skills/shadcn-ui-expert/SKILL.md +84 -26
  279. package/.agent/skills/shape/SKILL.md +93 -23
  280. package/.agent/skills/skill-creator/SKILL.md +88 -20
  281. package/.agent/skills/soft-skill/SKILL.md +92 -22
  282. package/.agent/skills/sounds-on-the-web/SKILL.md +92 -22
  283. package/.agent/skills/sql-pro/SKILL.md +83 -22
  284. package/.agent/skills/subagent-driven-development/SKILL.md +92 -32
  285. package/.agent/skills/supabase-postgres-best-practices/SKILL.md +83 -22
  286. package/.agent/skills/svg-animation/SKILL.md +93 -24
  287. package/.agent/skills/swiftui-expert/SKILL.md +84 -26
  288. package/.agent/skills/swiss-design/SKILL.md +92 -22
  289. package/.agent/skills/system-design-pro/SKILL.md +90 -16
  290. package/.agent/skills/systematic-debugging/SKILL.md +85 -27
  291. package/.agent/skills/tailwind-patterns/SKILL.md +92 -22
  292. package/.agent/skills/taste-skill/SKILL.md +92 -22
  293. package/.agent/skills/tdd-workflow/SKILL.md +84 -23
  294. package/.agent/skills/test-result-analyzer/SKILL.md +93 -23
  295. package/.agent/skills/testing-patterns/SKILL.md +93 -23
  296. package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +92 -22
  297. package/.agent/skills/thinking-protocol/SKILL.md +79 -21
  298. package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +92 -22
  299. package/.agent/skills/train-sentence-transformers/SKILL.md +86 -8
  300. package/.agent/skills/transformers-js/SKILL.md +86 -15
  301. package/.agent/skills/transitions-dev/SKILL.md +92 -22
  302. package/.agent/skills/trend-researcher/SKILL.md +92 -22
  303. package/.agent/skills/tribunal-instincts-memory/SKILL.md +86 -31
  304. package/.agent/skills/trl-training/SKILL.md +86 -16
  305. package/.agent/skills/typescript-advanced/SKILL.md +83 -22
  306. package/.agent/skills/typeset/SKILL.md +92 -22
  307. package/.agent/skills/ui-reasoning-engine/SKILL.md +93 -23
  308. package/.agent/skills/ui-skill-packs/SKILL.md +94 -24
  309. package/.agent/skills/ui-skills-root/SKILL.md +94 -24
  310. package/.agent/skills/ui-ux-pro-max/SKILL.md +93 -23
  311. package/.agent/skills/ui-ux-researcher/SKILL.md +92 -22
  312. package/.agent/skills/vector-search-pgvector/SKILL.md +91 -19
  313. package/.agent/skills/verification-before-completion/SKILL.md +90 -18
  314. package/.agent/skills/vue-expert/SKILL.md +83 -22
  315. package/.agent/skills/vulnerability-scanner/SKILL.md +93 -26
  316. package/.agent/skills/web-accessibility-auditor/SKILL.md +84 -26
  317. package/.agent/skills/web-design-guidelines/SKILL.md +92 -22
  318. package/.agent/skills/web-quality-audit/SKILL.md +92 -22
  319. package/.agent/skills/webapp-testing/SKILL.md +85 -27
  320. package/.agent/skills/webgpu-performance/SKILL.md +92 -22
  321. package/.agent/skills/whimsy-injector/SKILL.md +93 -23
  322. package/.agent/skills/workflow-optimizer/SKILL.md +93 -23
  323. package/.agent/skills/zero-trust-passkeys/SKILL.md +91 -19
  324. package/.agent/skills_inventory.json +4272 -0
  325. package/.agent/workflows/arch.md +96 -0
  326. package/.agent/workflows/assimilate.md +4 -1
  327. package/.agent/workflows/audit.md +0 -1
  328. package/.agent/workflows/generate.md +26 -21
  329. package/.agent/workflows/htop.md +5 -1
  330. package/.agent/workflows/marathon.md +0 -1
  331. package/.agent/workflows/resume.md +5 -2
  332. package/.agent/workflows/skill-enhancement-engine.md +1 -1
  333. package/.agent/workflows/skill-intelligence.md +216 -0
  334. package/.agent/workflows/team-mode.md +4 -1
  335. package/.agent/workflows/tribunal-backend.md +19 -7
  336. package/.agent/workflows/tribunal-frontend.md +6 -0
  337. package/.agent/workflows/tribunal-ui.md +5 -0
  338. package/.agents/skills/12-principles-of-animation/SKILL.md +92 -22
  339. package/.agents/skills/60fps-animation/SKILL.md +83 -26
  340. package/.agents/skills/accessible-animation/SKILL.md +93 -31
  341. package/.agents/skills/adapt/SKILL.md +92 -22
  342. package/.agents/skills/adr-generation/SKILL.md +88 -12
  343. package/.agents/skills/advanced-rag-pipelines/SKILL.md +83 -22
  344. package/.agents/skills/agent-organizer/SKILL.md +85 -27
  345. package/.agents/skills/agent-syscall-guidelines/SKILL.md +100 -25
  346. package/.agents/skills/agentic-patterns/SKILL.md +93 -23
  347. package/.agents/skills/agentic-workflows-2026/SKILL.md +92 -20
  348. package/.agents/skills/agentshield-security/SKILL.md +85 -26
  349. package/.agents/skills/ai-app-hardening/SKILL.md +92 -20
  350. package/.agents/skills/ai-prompt-injection-defense/SKILL.md +83 -22
  351. package/.agents/skills/animation-on-scroll/SKILL.md +93 -31
  352. package/.agents/skills/animation-systems/SKILL.md +93 -31
  353. package/.agents/skills/antfu-conventions/SKILL.md +92 -22
  354. package/.agents/skills/anti-slop-enforcement/SKILL.md +118 -0
  355. package/.agents/skills/api-patterns/SKILL.md +83 -22
  356. package/.agents/skills/api-security-auditor/SKILL.md +102 -24
  357. package/.agents/skills/app-builder/SKILL.md +85 -30
  358. package/.agents/skills/appflow-wireframe/SKILL.md +78 -18
  359. package/.agents/skills/apple-design/SKILL.md +92 -22
  360. package/.agents/skills/architecture/SKILL.md +83 -22
  361. package/.agents/skills/architecture-drift/SKILL.md +88 -12
  362. package/.agents/skills/architecture-intelligence/SKILL.md +53 -0
  363. package/.agents/skills/audit-and-fix/SKILL.md +95 -25
  364. package/.agents/skills/authentication-best-practices/SKILL.md +92 -22
  365. package/.agents/skills/autonomous-execution/SKILL.md +86 -8
  366. package/.agents/skills/backend-alembic/SKILL.md +91 -0
  367. package/.agents/skills/backend-architecture-auditor/SKILL.md +101 -0
  368. package/.agents/skills/backend-mongodb/SKILL.md +133 -0
  369. package/.agents/skills/backend-mysql/SKILL.md +84 -0
  370. package/.agents/skills/backend-performance-auditor/SKILL.md +100 -0
  371. package/.agents/skills/backend-postgresql/SKILL.md +117 -0
  372. package/.agents/skills/backend-redis/SKILL.md +122 -0
  373. package/.agents/skills/backend-security-expert/SKILL.md +83 -22
  374. package/.agents/skills/backend-sqlalchemy/SKILL.md +107 -0
  375. package/.agents/skills/backend-sqlite/SKILL.md +93 -0
  376. package/.agents/skills/backend-testing-auditor/SKILL.md +113 -0
  377. package/.agents/skills/baseline-ui/SKILL.md +92 -22
  378. package/.agents/skills/bash-linux/SKILL.md +84 -26
  379. package/.agents/skills/behavioral-modes/SKILL.md +93 -23
  380. package/.agents/skills/better-colors/SKILL.md +92 -22
  381. package/.agents/skills/better-typography/SKILL.md +88 -18
  382. package/.agents/skills/better-ui/SKILL.md +83 -22
  383. package/.agents/skills/bolder/SKILL.md +92 -22
  384. package/.agents/skills/brainstorming/SKILL.md +83 -23
  385. package/.agents/skills/browser-audit/SKILL.md +94 -24
  386. package/.agents/skills/browser-native-ai/SKILL.md +92 -22
  387. package/.agents/skills/build-primitive/SKILL.md +92 -22
  388. package/.agents/skills/building-native-ui/SKILL.md +83 -22
  389. package/.agents/skills/cicd-pro/SKILL.md +83 -22
  390. package/.agents/skills/clarify/SKILL.md +92 -22
  391. package/.agents/skills/clean-code/SKILL.md +83 -22
  392. package/.agents/skills/cloud-architect/SKILL.md +83 -22
  393. package/.agents/skills/cobejs/SKILL.md +92 -22
  394. package/.agents/skills/code-review-checklist/SKILL.md +92 -22
  395. package/.agents/skills/codebase-design/SKILL.md +83 -22
  396. package/.agents/skills/colorize/SKILL.md +92 -22
  397. package/.agents/skills/compact-landing/SKILL.md +92 -22
  398. package/.agents/skills/company-logos/SKILL.md +92 -22
  399. package/.agents/skills/config-validator/SKILL.md +84 -26
  400. package/.agents/skills/containerization-pro/SKILL.md +83 -22
  401. package/.agents/skills/context-engineering-pro/SKILL.md +92 -20
  402. package/.agents/skills/create-design-md/SKILL.md +92 -22
  403. package/.agents/skills/critique/SKILL.md +93 -23
  404. package/.agents/skills/csharp-developer/SKILL.md +92 -22
  405. package/.agents/skills/data-validation-schemas/SKILL.md +84 -26
  406. package/.agents/skills/database-design/SKILL.md +83 -22
  407. package/.agents/skills/delight/SKILL.md +92 -22
  408. package/.agents/skills/deployment-procedures/SKILL.md +84 -26
  409. package/.agents/skills/design-lab/SKILL.md +93 -23
  410. package/.agents/skills/devops-engineer/SKILL.md +92 -22
  411. package/.agents/skills/devops-incident-responder/SKILL.md +84 -26
  412. package/.agents/skills/diagnosing-bugs/SKILL.md +93 -23
  413. package/.agents/skills/distill/SKILL.md +92 -22
  414. package/.agents/skills/documentation-templates/SKILL.md +84 -26
  415. package/.agents/skills/domain-modeling/SKILL.md +92 -22
  416. package/.agents/skills/duckdb-analytical-sql/SKILL.md +91 -19
  417. package/.agents/skills/edge-ai-mobile/SKILL.md +91 -19
  418. package/.agents/skills/edge-computing/SKILL.md +84 -26
  419. package/.agents/skills/emil-design-eng/SKILL.md +92 -22
  420. package/.agents/skills/error-resilience/SKILL.md +83 -22
  421. package/.agents/skills/expo-router-v4/SKILL.md +90 -18
  422. package/.agents/skills/extract-design-system/SKILL.md +84 -26
  423. package/.agents/skills/fabel-protocol/SKILL.md +93 -23
  424. package/.agents/skills/failure-mode-analysis/SKILL.md +88 -12
  425. package/.agents/skills/fastapi-pro/SKILL.md +123 -0
  426. package/.agents/skills/fixing-accessibility/SKILL.md +92 -22
  427. package/.agents/skills/fixing-metadata/SKILL.md +92 -22
  428. package/.agents/skills/fixing-motion-performance/SKILL.md +92 -22
  429. package/.agents/skills/framer-motion-expert/SKILL.md +85 -30
  430. package/.agents/skills/frontend-design/SKILL.md +92 -22
  431. package/.agents/skills/frontend-security-expert/SKILL.md +83 -22
  432. package/.agents/skills/game-design-expert/SKILL.md +84 -26
  433. package/.agents/skills/game-engineering-expert/SKILL.md +84 -26
  434. package/.agents/skills/generative-ui-expert/SKILL.md +92 -22
  435. package/.agents/skills/geo-fundamentals/SKILL.md +84 -26
  436. package/.agents/skills/git-pro/SKILL.md +83 -22
  437. package/.agents/skills/github-operations/SKILL.md +92 -22
  438. package/.agents/skills/gpt-taste/SKILL.md +92 -22
  439. package/.agents/skills/graph-engineering/SKILL.md +116 -28
  440. package/.agents/skills/gsap-core/SKILL.md +92 -22
  441. package/.agents/skills/gsap-frameworks/SKILL.md +92 -22
  442. package/.agents/skills/gsap-performance/SKILL.md +92 -22
  443. package/.agents/skills/gsap-plugins/SKILL.md +92 -22
  444. package/.agents/skills/gsap-react/SKILL.md +92 -22
  445. package/.agents/skills/gsap-scrolltrigger/SKILL.md +92 -22
  446. package/.agents/skills/gsap-timeline/SKILL.md +92 -22
  447. package/.agents/skills/gsap-utils/SKILL.md +92 -22
  448. package/.agents/skills/harden/SKILL.md +92 -22
  449. package/.agents/skills/harness-protocol/SKILL.md +93 -23
  450. package/.agents/skills/hf-cli/SKILL.md +86 -6
  451. package/.agents/skills/hf-cloud-aws-context-discovery/SKILL.md +86 -8
  452. package/.agents/skills/hf-cloud-python-env-setup/SKILL.md +86 -8
  453. package/.agents/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +86 -8
  454. package/.agents/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +86 -8
  455. package/.agents/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +86 -8
  456. package/.agents/skills/hf-cloud-serving-image-selection/SKILL.md +86 -8
  457. package/.agents/skills/hf-mem/SKILL.md +86 -6
  458. package/.agents/skills/huggingface-best/SKILL.md +86 -16
  459. package/.agents/skills/huggingface-community-evals/SKILL.md +86 -8
  460. package/.agents/skills/huggingface-datasets/SKILL.md +86 -8
  461. package/.agents/skills/huggingface-gradio/SKILL.md +86 -8
  462. package/.agents/skills/huggingface-llm-trainer/SKILL.md +86 -9
  463. package/.agents/skills/huggingface-local-models/SKILL.md +86 -8
  464. package/.agents/skills/huggingface-lora-space-builder/SKILL.md +86 -8
  465. package/.agents/skills/huggingface-paper-publisher/SKILL.md +86 -7
  466. package/.agents/skills/huggingface-papers/SKILL.md +86 -8
  467. package/.agents/skills/huggingface-spaces/SKILL.md +86 -8
  468. package/.agents/skills/huggingface-tool-builder/SKILL.md +86 -8
  469. package/.agents/skills/huggingface-trackio/SKILL.md +77 -8
  470. package/.agents/skills/huggingface-vision-trainer/SKILL.md +86 -8
  471. package/.agents/skills/huggingface-zerogpu/SKILL.md +86 -8
  472. package/.agents/skills/human-gate-negotiation/SKILL.md +96 -30
  473. package/.agents/skills/i18n-localization/SKILL.md +84 -26
  474. package/.agents/skills/impeccable/SKILL.md +92 -22
  475. package/.agents/skills/improve-codebase-architecture/SKILL.md +92 -22
  476. package/.agents/skills/improve-ui/SKILL.md +92 -22
  477. package/.agents/skills/intelligent-routing/SKILL.md +81 -18
  478. package/.agents/skills/knowledge-graph/SKILL.md +94 -24
  479. package/.agents/skills/landing-page/SKILL.md +93 -23
  480. package/.agents/skills/lint-and-validate/SKILL.md +84 -26
  481. package/.agents/skills/llm-engineering/SKILL.md +92 -22
  482. package/.agents/skills/local-first/SKILL.md +84 -26
  483. package/.agents/skills/local-first-architecture/SKILL.md +83 -22
  484. package/.agents/skills/lottie-animation/SKILL.md +92 -22
  485. package/.agents/skills/marquee-loop/SKILL.md +92 -22
  486. package/.agents/skills/masked-reveal/SKILL.md +93 -24
  487. package/.agents/skills/mcp-builder/SKILL.md +84 -26
  488. package/.agents/skills/micro-interaction/SKILL.md +93 -31
  489. package/.agents/skills/mobile-design/SKILL.md +83 -22
  490. package/.agents/skills/monorepo-management/SKILL.md +84 -26
  491. package/.agents/skills/morphing-icons/SKILL.md +93 -24
  492. package/.agents/skills/motion-engineering/SKILL.md +84 -23
  493. package/.agents/skills/nextjs-react-expert/SKILL.md +83 -22
  494. package/.agents/skills/nodejs-best-practices/SKILL.md +83 -22
  495. package/.agents/skills/observability/SKILL.md +92 -22
  496. package/.agents/skills/opentelemetry-observability/SKILL.md +91 -19
  497. package/.agents/skills/page-transition-animation/SKILL.md +92 -22
  498. package/.agents/skills/parallel-agents/SKILL.md +85 -27
  499. package/.agents/skills/performance-profiling/SKILL.md +93 -23
  500. package/.agents/skills/plan-writing/SKILL.md +83 -22
  501. package/.agents/skills/platform-engineer/SKILL.md +84 -26
  502. package/.agents/skills/platform-engineering-opentofu/SKILL.md +91 -19
  503. package/.agents/skills/playwright-ai-e2e/SKILL.md +92 -20
  504. package/.agents/skills/playwright-best-practices/SKILL.md +85 -27
  505. package/.agents/skills/polish/SKILL.md +92 -22
  506. package/.agents/skills/powershell-windows/SKILL.md +92 -22
  507. package/.agents/skills/pricing-page/SKILL.md +92 -22
  508. package/.agents/skills/product-aware-heuristics/SKILL.md +93 -23
  509. package/.agents/skills/progressive-blur/SKILL.md +92 -22
  510. package/.agents/skills/project-idioms/SKILL.md +93 -23
  511. package/.agents/skills/property-based-testing/SKILL.md +92 -20
  512. package/.agents/skills/python-patterns/SKILL.md +84 -26
  513. package/.agents/skills/python-pro/SKILL.md +83 -22
  514. package/.agents/skills/quieter/SKILL.md +92 -22
  515. package/.agents/skills/react-doctor/SKILL.md +92 -22
  516. package/.agents/skills/react-specialist/SKILL.md +83 -22
  517. package/.agents/skills/readme-builder/SKILL.md +84 -26
  518. package/.agents/skills/realtime-patterns/SKILL.md +92 -22
  519. package/.agents/skills/red-team-tactics/SKILL.md +83 -22
  520. package/.agents/skills/redesign-skill/SKILL.md +92 -22
  521. package/.agents/skills/review-animations/SKILL.md +92 -22
  522. package/.agents/skills/rust-pro/SKILL.md +83 -22
  523. package/.agents/skills/semantic-filesystem-navigation/SKILL.md +79 -24
  524. package/.agents/skills/seo-fundamentals/SKILL.md +84 -26
  525. package/.agents/skills/server-management/SKILL.md +84 -26
  526. package/.agents/skills/session-log-interrogation/SKILL.md +81 -29
  527. package/.agents/skills/shadcn-ui-expert/SKILL.md +84 -26
  528. package/.agents/skills/shape/SKILL.md +93 -23
  529. package/.agents/skills/skill-creator/SKILL.md +88 -20
  530. package/.agents/skills/soft-skill/SKILL.md +92 -22
  531. package/.agents/skills/sounds-on-the-web/SKILL.md +92 -22
  532. package/.agents/skills/sql-pro/SKILL.md +83 -22
  533. package/.agents/skills/subagent-driven-development/SKILL.md +92 -32
  534. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +83 -22
  535. package/.agents/skills/svg-animation/SKILL.md +93 -24
  536. package/.agents/skills/swiftui-expert/SKILL.md +84 -26
  537. package/.agents/skills/swiss-design/SKILL.md +92 -22
  538. package/.agents/skills/system-design-pro/SKILL.md +90 -16
  539. package/.agents/skills/systematic-debugging/SKILL.md +85 -27
  540. package/.agents/skills/tailwind-patterns/SKILL.md +92 -22
  541. package/.agents/skills/taste-skill/SKILL.md +92 -22
  542. package/.agents/skills/tdd-workflow/SKILL.md +84 -23
  543. package/.agents/skills/test-result-analyzer/SKILL.md +93 -23
  544. package/.agents/skills/testing-patterns/SKILL.md +93 -23
  545. package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +92 -22
  546. package/.agents/skills/thinking-protocol/SKILL.md +79 -21
  547. package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +92 -22
  548. package/.agents/skills/train-sentence-transformers/SKILL.md +86 -8
  549. package/.agents/skills/transformers-js/SKILL.md +86 -15
  550. package/.agents/skills/transitions-dev/SKILL.md +92 -22
  551. package/.agents/skills/trend-researcher/SKILL.md +92 -22
  552. package/.agents/skills/tribunal-instincts-memory/SKILL.md +86 -31
  553. package/.agents/skills/trl-training/SKILL.md +86 -16
  554. package/.agents/skills/typescript-advanced/SKILL.md +83 -22
  555. package/.agents/skills/typeset/SKILL.md +92 -22
  556. package/.agents/skills/ui-reasoning-engine/SKILL.md +93 -23
  557. package/.agents/skills/ui-skill-packs/SKILL.md +94 -24
  558. package/.agents/skills/ui-skills-root/SKILL.md +94 -24
  559. package/.agents/skills/ui-ux-pro-max/SKILL.md +93 -23
  560. package/.agents/skills/ui-ux-researcher/SKILL.md +92 -22
  561. package/.agents/skills/vector-search-pgvector/SKILL.md +91 -19
  562. package/.agents/skills/verification-before-completion/SKILL.md +90 -18
  563. package/.agents/skills/vue-expert/SKILL.md +83 -22
  564. package/.agents/skills/vulnerability-scanner/SKILL.md +93 -26
  565. package/.agents/skills/web-accessibility-auditor/SKILL.md +84 -26
  566. package/.agents/skills/web-design-guidelines/SKILL.md +92 -22
  567. package/.agents/skills/web-quality-audit/SKILL.md +92 -22
  568. package/.agents/skills/webapp-testing/SKILL.md +85 -27
  569. package/.agents/skills/webgpu-performance/SKILL.md +92 -22
  570. package/.agents/skills/whimsy-injector/SKILL.md +93 -23
  571. package/.agents/skills/workflow-optimizer/SKILL.md +93 -23
  572. package/.agents/skills/zero-trust-passkeys/SKILL.md +91 -19
  573. package/CONTRIBUTING.md +2 -2
  574. package/README.md +64 -42
  575. package/bin/adapter-install.js +1 -1
  576. package/bin/mcp-server.js +51 -42
  577. package/bin/wrapper.js +16 -0
  578. package/package.json +167 -169
  579. package/plugins/core-plugin.json +26 -26
  580. package/plugins/gemini/extension.json +6 -6
  581. package/skills/12-principles-of-animation/SKILL.md +92 -22
  582. package/skills/60fps-animation/SKILL.md +83 -26
  583. package/skills/accessible-animation/SKILL.md +93 -31
  584. package/skills/adapt/SKILL.md +92 -22
  585. package/skills/adr-generation/SKILL.md +88 -12
  586. package/skills/advanced-rag-pipelines/SKILL.md +83 -22
  587. package/skills/agent-organizer/SKILL.md +85 -27
  588. package/skills/agent-syscall-guidelines/SKILL.md +100 -25
  589. package/skills/agentic-patterns/SKILL.md +93 -23
  590. package/skills/agentic-workflows-2026/SKILL.md +92 -20
  591. package/skills/agentshield-security/SKILL.md +85 -26
  592. package/skills/ai-app-hardening/SKILL.md +92 -20
  593. package/skills/ai-prompt-injection-defense/SKILL.md +83 -22
  594. package/skills/animation-on-scroll/SKILL.md +93 -31
  595. package/skills/animation-systems/SKILL.md +93 -31
  596. package/skills/antfu-conventions/SKILL.md +92 -22
  597. package/skills/anti-slop-enforcement/SKILL.md +118 -0
  598. package/skills/api-patterns/SKILL.md +83 -22
  599. package/skills/api-security-auditor/SKILL.md +102 -24
  600. package/skills/app-builder/SKILL.md +85 -30
  601. package/skills/appflow-wireframe/SKILL.md +78 -18
  602. package/skills/apple-design/SKILL.md +92 -22
  603. package/skills/architecture/SKILL.md +83 -22
  604. package/skills/architecture-drift/SKILL.md +88 -12
  605. package/skills/architecture-intelligence/SKILL.md +53 -0
  606. package/skills/audit-and-fix/SKILL.md +95 -25
  607. package/skills/authentication-best-practices/SKILL.md +92 -22
  608. package/skills/autonomous-execution/SKILL.md +86 -8
  609. package/skills/backend-alembic/SKILL.md +91 -0
  610. package/skills/backend-architecture-auditor/SKILL.md +101 -0
  611. package/skills/backend-mongodb/SKILL.md +133 -0
  612. package/skills/backend-mysql/SKILL.md +84 -0
  613. package/skills/backend-performance-auditor/SKILL.md +100 -0
  614. package/skills/backend-postgresql/SKILL.md +117 -0
  615. package/skills/backend-redis/SKILL.md +122 -0
  616. package/skills/backend-security-expert/SKILL.md +83 -22
  617. package/skills/backend-sqlalchemy/SKILL.md +107 -0
  618. package/skills/backend-sqlite/SKILL.md +93 -0
  619. package/skills/backend-testing-auditor/SKILL.md +113 -0
  620. package/skills/baseline-ui/SKILL.md +92 -22
  621. package/skills/bash-linux/SKILL.md +84 -26
  622. package/skills/behavioral-modes/SKILL.md +93 -23
  623. package/skills/better-colors/SKILL.md +92 -22
  624. package/skills/better-typography/SKILL.md +88 -18
  625. package/skills/better-ui/SKILL.md +83 -22
  626. package/skills/bolder/SKILL.md +92 -22
  627. package/skills/brainstorming/SKILL.md +83 -23
  628. package/skills/browser-audit/SKILL.md +94 -24
  629. package/skills/browser-native-ai/SKILL.md +92 -22
  630. package/skills/build-primitive/SKILL.md +92 -22
  631. package/skills/building-native-ui/SKILL.md +83 -22
  632. package/skills/cicd-pro/SKILL.md +83 -22
  633. package/skills/clarify/SKILL.md +92 -22
  634. package/skills/clean-code/SKILL.md +83 -22
  635. package/skills/cloud-architect/SKILL.md +83 -22
  636. package/skills/cobejs/SKILL.md +92 -22
  637. package/skills/code-review-checklist/SKILL.md +92 -22
  638. package/skills/codebase-design/SKILL.md +83 -22
  639. package/skills/colorize/SKILL.md +92 -22
  640. package/skills/compact-landing/SKILL.md +92 -22
  641. package/skills/company-logos/SKILL.md +92 -22
  642. package/skills/config-validator/SKILL.md +84 -26
  643. package/skills/containerization-pro/SKILL.md +83 -22
  644. package/skills/context-engineering-pro/SKILL.md +92 -20
  645. package/skills/create-design-md/SKILL.md +92 -22
  646. package/skills/critique/SKILL.md +93 -23
  647. package/skills/csharp-developer/SKILL.md +92 -22
  648. package/skills/data-validation-schemas/SKILL.md +84 -26
  649. package/skills/database-design/SKILL.md +83 -22
  650. package/skills/delight/SKILL.md +92 -22
  651. package/skills/deployment-procedures/SKILL.md +84 -26
  652. package/skills/design-lab/SKILL.md +93 -23
  653. package/skills/devops-engineer/SKILL.md +92 -22
  654. package/skills/devops-incident-responder/SKILL.md +84 -26
  655. package/skills/diagnosing-bugs/SKILL.md +93 -23
  656. package/skills/distill/SKILL.md +92 -22
  657. package/skills/documentation-templates/SKILL.md +84 -26
  658. package/skills/domain-modeling/SKILL.md +92 -22
  659. package/skills/duckdb-analytical-sql/SKILL.md +91 -19
  660. package/skills/edge-ai-mobile/SKILL.md +91 -19
  661. package/skills/edge-computing/SKILL.md +84 -26
  662. package/skills/emil-design-eng/SKILL.md +92 -22
  663. package/skills/error-resilience/SKILL.md +83 -22
  664. package/skills/expo-router-v4/SKILL.md +90 -18
  665. package/skills/extract-design-system/SKILL.md +84 -26
  666. package/skills/fabel-protocol/SKILL.md +93 -23
  667. package/skills/failure-mode-analysis/SKILL.md +88 -12
  668. package/skills/fastapi-pro/SKILL.md +123 -0
  669. package/skills/fixing-accessibility/SKILL.md +92 -22
  670. package/skills/fixing-metadata/SKILL.md +92 -22
  671. package/skills/fixing-motion-performance/SKILL.md +92 -22
  672. package/skills/framer-motion-expert/SKILL.md +85 -30
  673. package/skills/frontend-design/SKILL.md +92 -22
  674. package/skills/frontend-security-expert/SKILL.md +83 -22
  675. package/skills/game-design-expert/SKILL.md +84 -26
  676. package/skills/game-engineering-expert/SKILL.md +84 -26
  677. package/skills/generative-ui-expert/SKILL.md +92 -22
  678. package/skills/geo-fundamentals/SKILL.md +84 -26
  679. package/skills/git-pro/SKILL.md +83 -22
  680. package/skills/github-operations/SKILL.md +92 -22
  681. package/skills/gpt-taste/SKILL.md +92 -22
  682. package/skills/graph-engineering/SKILL.md +116 -28
  683. package/skills/gsap-core/SKILL.md +92 -22
  684. package/skills/gsap-frameworks/SKILL.md +92 -22
  685. package/skills/gsap-performance/SKILL.md +92 -22
  686. package/skills/gsap-plugins/SKILL.md +92 -22
  687. package/skills/gsap-react/SKILL.md +92 -22
  688. package/skills/gsap-scrolltrigger/SKILL.md +92 -22
  689. package/skills/gsap-timeline/SKILL.md +92 -22
  690. package/skills/gsap-utils/SKILL.md +92 -22
  691. package/skills/harden/SKILL.md +92 -22
  692. package/skills/harness-protocol/SKILL.md +93 -23
  693. package/skills/hf-cli/SKILL.md +86 -6
  694. package/skills/hf-cloud-aws-context-discovery/SKILL.md +86 -8
  695. package/skills/hf-cloud-python-env-setup/SKILL.md +86 -8
  696. package/skills/hf-cloud-sagemaker-deployment-planner/SKILL.md +86 -8
  697. package/skills/hf-cloud-sagemaker-iam-preflight/SKILL.md +86 -8
  698. package/skills/hf-cloud-sagemaker-production-defaults/SKILL.md +86 -8
  699. package/skills/hf-cloud-serving-image-selection/SKILL.md +86 -8
  700. package/skills/hf-mem/SKILL.md +86 -6
  701. package/skills/huggingface-best/SKILL.md +86 -16
  702. package/skills/huggingface-community-evals/SKILL.md +86 -8
  703. package/skills/huggingface-datasets/SKILL.md +86 -8
  704. package/skills/huggingface-gradio/SKILL.md +86 -8
  705. package/skills/huggingface-llm-trainer/SKILL.md +86 -9
  706. package/skills/huggingface-local-models/SKILL.md +86 -8
  707. package/skills/huggingface-lora-space-builder/SKILL.md +86 -8
  708. package/skills/huggingface-paper-publisher/SKILL.md +86 -7
  709. package/skills/huggingface-papers/SKILL.md +86 -8
  710. package/skills/huggingface-spaces/SKILL.md +86 -8
  711. package/skills/huggingface-tool-builder/SKILL.md +86 -8
  712. package/skills/huggingface-trackio/SKILL.md +77 -8
  713. package/skills/huggingface-vision-trainer/SKILL.md +86 -8
  714. package/skills/huggingface-zerogpu/SKILL.md +86 -8
  715. package/skills/human-gate-negotiation/SKILL.md +96 -30
  716. package/skills/i18n-localization/SKILL.md +84 -26
  717. package/skills/impeccable/SKILL.md +92 -22
  718. package/skills/improve-codebase-architecture/SKILL.md +92 -22
  719. package/skills/improve-ui/SKILL.md +92 -22
  720. package/skills/intelligent-routing/SKILL.md +81 -18
  721. package/skills/knowledge-graph/SKILL.md +94 -24
  722. package/skills/landing-page/SKILL.md +93 -23
  723. package/skills/lint-and-validate/SKILL.md +84 -26
  724. package/skills/llm-engineering/SKILL.md +92 -22
  725. package/skills/local-first/SKILL.md +84 -26
  726. package/skills/local-first-architecture/SKILL.md +83 -22
  727. package/skills/lottie-animation/SKILL.md +92 -22
  728. package/skills/marquee-loop/SKILL.md +92 -22
  729. package/skills/masked-reveal/SKILL.md +93 -24
  730. package/skills/mcp-builder/SKILL.md +84 -26
  731. package/skills/micro-interaction/SKILL.md +93 -31
  732. package/skills/mobile-design/SKILL.md +83 -22
  733. package/skills/monorepo-management/SKILL.md +84 -26
  734. package/skills/morphing-icons/SKILL.md +93 -24
  735. package/skills/motion-engineering/SKILL.md +84 -23
  736. package/skills/nextjs-react-expert/SKILL.md +83 -22
  737. package/skills/nodejs-best-practices/SKILL.md +83 -22
  738. package/skills/observability/SKILL.md +92 -22
  739. package/skills/opentelemetry-observability/SKILL.md +91 -19
  740. package/skills/page-transition-animation/SKILL.md +92 -22
  741. package/skills/parallel-agents/SKILL.md +85 -27
  742. package/skills/performance-profiling/SKILL.md +93 -23
  743. package/skills/plan-writing/SKILL.md +83 -22
  744. package/skills/platform-engineer/SKILL.md +84 -26
  745. package/skills/platform-engineering-opentofu/SKILL.md +91 -19
  746. package/skills/playwright-ai-e2e/SKILL.md +92 -20
  747. package/skills/playwright-best-practices/SKILL.md +85 -27
  748. package/skills/polish/SKILL.md +92 -22
  749. package/skills/powershell-windows/SKILL.md +92 -22
  750. package/skills/pricing-page/SKILL.md +92 -22
  751. package/skills/product-aware-heuristics/SKILL.md +93 -23
  752. package/skills/progressive-blur/SKILL.md +92 -22
  753. package/skills/project-idioms/SKILL.md +93 -23
  754. package/skills/property-based-testing/SKILL.md +92 -20
  755. package/skills/python-patterns/SKILL.md +84 -26
  756. package/skills/python-pro/SKILL.md +83 -22
  757. package/skills/quieter/SKILL.md +92 -22
  758. package/skills/react-doctor/SKILL.md +92 -22
  759. package/skills/react-specialist/SKILL.md +83 -22
  760. package/skills/readme-builder/SKILL.md +84 -26
  761. package/skills/realtime-patterns/SKILL.md +92 -22
  762. package/skills/red-team-tactics/SKILL.md +83 -22
  763. package/skills/redesign-skill/SKILL.md +92 -22
  764. package/skills/review-animations/SKILL.md +92 -22
  765. package/skills/rust-pro/SKILL.md +83 -22
  766. package/skills/semantic-filesystem-navigation/SKILL.md +79 -24
  767. package/skills/seo-fundamentals/SKILL.md +84 -26
  768. package/skills/server-management/SKILL.md +84 -26
  769. package/skills/session-log-interrogation/SKILL.md +81 -29
  770. package/skills/shadcn-ui-expert/SKILL.md +84 -26
  771. package/skills/shape/SKILL.md +93 -23
  772. package/skills/skill-creator/SKILL.md +88 -20
  773. package/skills/soft-skill/SKILL.md +92 -22
  774. package/skills/sounds-on-the-web/SKILL.md +92 -22
  775. package/skills/sql-pro/SKILL.md +83 -22
  776. package/skills/subagent-driven-development/SKILL.md +92 -32
  777. package/skills/supabase-postgres-best-practices/SKILL.md +83 -22
  778. package/skills/svg-animation/SKILL.md +93 -24
  779. package/skills/swiftui-expert/SKILL.md +84 -26
  780. package/skills/swiss-design/SKILL.md +92 -22
  781. package/skills/system-design-pro/SKILL.md +90 -16
  782. package/skills/systematic-debugging/SKILL.md +85 -27
  783. package/skills/tailwind-patterns/SKILL.md +92 -22
  784. package/skills/taste-skill/SKILL.md +92 -22
  785. package/skills/tdd-workflow/SKILL.md +84 -23
  786. package/skills/test-result-analyzer/SKILL.md +93 -23
  787. package/skills/testing-patterns/SKILL.md +93 -23
  788. package/skills/thermo-nuclear-code-quality-review/SKILL.md +92 -22
  789. package/skills/thinking-protocol/SKILL.md +79 -21
  790. package/skills/to-spring-or-not-to-spring/SKILL.md +92 -22
  791. package/skills/train-sentence-transformers/SKILL.md +86 -8
  792. package/skills/transformers-js/SKILL.md +86 -15
  793. package/skills/transitions-dev/SKILL.md +92 -22
  794. package/skills/trend-researcher/SKILL.md +92 -22
  795. package/skills/tribunal-instincts-memory/SKILL.md +86 -31
  796. package/skills/trl-training/SKILL.md +86 -16
  797. package/skills/typescript-advanced/SKILL.md +83 -22
  798. package/skills/typeset/SKILL.md +92 -22
  799. package/skills/ui-reasoning-engine/SKILL.md +93 -23
  800. package/skills/ui-skill-packs/SKILL.md +94 -24
  801. package/skills/ui-skills-root/SKILL.md +94 -24
  802. package/skills/ui-ux-pro-max/SKILL.md +93 -23
  803. package/skills/ui-ux-researcher/SKILL.md +92 -22
  804. package/skills/vector-search-pgvector/SKILL.md +91 -19
  805. package/skills/verification-before-completion/SKILL.md +90 -18
  806. package/skills/vue-expert/SKILL.md +83 -22
  807. package/skills/vulnerability-scanner/SKILL.md +93 -26
  808. package/skills/web-accessibility-auditor/SKILL.md +84 -26
  809. package/skills/web-design-guidelines/SKILL.md +92 -22
  810. package/skills/web-quality-audit/SKILL.md +92 -22
  811. package/skills/webapp-testing/SKILL.md +85 -27
  812. package/skills/webgpu-performance/SKILL.md +92 -22
  813. package/skills/whimsy-injector/SKILL.md +93 -23
  814. package/skills/workflow-optimizer/SKILL.md +93 -23
  815. package/skills/zero-trust-passkeys/SKILL.md +91 -19
  816. package/src/browser/audit.js +11 -7
  817. package/src/browser/case_bridge.js +4 -3
  818. package/src/browser/cdp.js +60 -47
  819. package/src/browser/discovery.js +22 -12
  820. package/src/browser/idpi.js +6 -3
  821. package/src/browser/index.js +3 -2
  822. package/src/browser/launcher.js +49 -3
  823. package/src/browser/sentinel.js +13 -7
  824. package/src/browser/synapse.js +1 -1
  825. package/src/browser/trimmer.js +16 -7
  826. package/src/cli.js +404 -349
  827. package/src/commands/align.js +184 -177
  828. package/src/commands/arch.js +261 -0
  829. package/src/commands/audit-web.js +20 -6
  830. package/src/commands/browse.js +9 -3
  831. package/src/commands/case.js +93 -66
  832. package/src/commands/compare-web.js +12 -4
  833. package/src/commands/compile.js +81 -75
  834. package/src/commands/context.js +167 -63
  835. package/src/commands/contract.js +89 -106
  836. package/src/commands/deconstruct.js +18 -6
  837. package/src/commands/graph.js +47 -39
  838. package/src/commands/guardrail.js +45 -73
  839. package/src/commands/heal.js +15 -5
  840. package/src/commands/hook.js +29 -25
  841. package/src/commands/init.js +398 -329
  842. package/src/commands/learn.js +198 -107
  843. package/src/commands/marathon.js +65 -42
  844. package/src/commands/memory.js +501 -391
  845. package/src/commands/minimal.js +73 -59
  846. package/src/commands/mutate.js +31 -27
  847. package/src/commands/native.js +235 -81
  848. package/src/commands/optimize.js +303 -270
  849. package/src/commands/review.js +971 -0
  850. package/src/commands/sdd.js +65 -55
  851. package/src/commands/skill-intelligence.js +1165 -0
  852. package/src/commands/status.js +15 -5
  853. package/src/commands/sync.js +24 -22
  854. package/src/commands/system1.js +413 -0
  855. package/src/commands/uninstall.js +59 -50
  856. package/src/commands/update.js +41 -34
  857. package/src/commands/validate.js +13 -5
  858. package/src/context/ranker.js +337 -0
  859. package/src/esm/index.mjs +3 -1
  860. package/src/evolution/engine.js +296 -0
  861. package/src/mcp/server.js +2 -2
  862. package/src/synthesis/claim_check_separator.js +294 -0
  863. package/src/system1/browser_intelligence.js +300 -0
  864. package/src/system1/constants.js +49 -0
  865. package/src/system1/decision_engine.js +498 -0
  866. package/src/system1/evidence_engine.js +602 -0
  867. package/src/system1/evolution_pipeline.js +581 -0
  868. package/src/system1/index.d.ts +114 -0
  869. package/src/system1/index.js +102 -0
  870. package/src/system1/laya-package-lock.json +303 -0
  871. package/src/system1/laya-package.json +16 -0
  872. package/src/system1/provider.js +127 -0
  873. package/src/system1/reviewer_orchestrator.js +477 -0
  874. package/src/tui/banner.js +1 -1
  875. package/src/tui/reviewer-grid.js +3 -7
  876. package/src/tui/shimmer.js +1 -3
  877. package/src/tui/theme.js +20 -20
  878. package/src/tui/wizard.js +4 -8
  879. package/src/types.js +2 -2
  880. package/src/utils/fs.js +106 -78
  881. package/src/utils/hasher.js +90 -88
  882. package/src/utils/helpers.js +40 -41
  883. package/src/utils/logger.js +38 -31
  884. package/src/utils/version.js +120 -101
  885. package/scripts/apply-version.js +0 -57
  886. package/scripts/audit_skill_sdo.js +0 -89
  887. package/scripts/benchmark.js +0 -231
  888. package/scripts/build-graph.js +0 -71
  889. package/scripts/changelog.js +0 -190
  890. package/scripts/clean-pycache.js +0 -42
  891. package/scripts/context_compiler.js +0 -1143
  892. package/scripts/fix-vbc.js +0 -96
  893. package/scripts/fix-vbc.ps1 +0 -3
  894. package/scripts/modernize_skills.js +0 -268
  895. package/scripts/package-cores.js +0 -116
  896. package/scripts/skill_enhancement_engine.js +0 -608
  897. package/scripts/stress_benchmark.js +0 -358
  898. package/scripts/sync-skills.js +0 -61
  899. package/scripts/sync-version.js +0 -177
  900. package/scripts/telemetry_gc.js +0 -156
  901. package/scripts/validate-payload.js +0 -73
  902. package/scripts/visual_audit.js +0 -136
@@ -0,0 +1,880 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * architecture_visualizer.js — Tribunal Architecture Intelligence Explorer
4
+ * ═════════════════════════════════════════════════════════════════════════════
5
+ * Generates an ultra-premium, zero-dependency, self-contained standalone HTML
6
+ * interactive architecture explorer with 5 dynamic projections:
7
+ *
8
+ * 1. System Topology (Services, Endpoints, Datastores, Queues)
9
+ * 2. Security Trust Zones (Public Untrusted, DMZ, Authenticated, Datastore)
10
+ * 3. Failure Architecture (Timeouts, Retries, Fallbacks, Circuit Breakers)
11
+ * 4. Data Lineage & Persistence
12
+ * 5. Interactive Blast Radius Simulator (Real-time downstream impact on click)
13
+ *
14
+ * Features:
15
+ * - Offline zero-CDN execution
16
+ * - Dark aesthetic with vibrant HSL design tokens
17
+ * - Pan, zoom, search, node filtering, and focus isolation
18
+ * - Live Evidence Drawer with verified source files, line numbers, and L1-L5 badges
19
+ *
20
+ * Zero external dependencies.
21
+ */
22
+
23
+ 'use strict';
24
+
25
+ const fs = require('fs');
26
+ const path = require('path');
27
+ const { GREEN, CYAN, RED, DIM, RESET, BOX, banner, timer, formatMs } = require('./_colors');
28
+
29
+ class ArchitectureVisualizer {
30
+ constructor(model, verification = null) {
31
+ this.model = model;
32
+ this.verification = verification;
33
+ }
34
+
35
+ generateHtml() {
36
+ const rawDataJson = JSON.stringify({
37
+ model: this.model,
38
+ verification: this.verification,
39
+ }).replace(/</g, '\\u003c');
40
+
41
+ return `<!DOCTYPE html>
42
+ <html lang="en">
43
+ <head>
44
+ <meta charset="UTF-8">
45
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
46
+ <title>Tribunal Architecture Intelligence Explorer</title>
47
+ <style>
48
+ :root {
49
+ --bg: #09090b;
50
+ --bg-panel: rgba(18, 18, 24, 0.85);
51
+ --bg-card: #14141e;
52
+ --border: #272738;
53
+ --border-bright: #3f3f5a;
54
+ --text: #f4f4f6;
55
+ --text-dim: #9494a8;
56
+ --accent-cyan: #06b6d4;
57
+ --accent-blue: #3b82f6;
58
+ --accent-green: #10b981;
59
+ --accent-amber: #f59e0b;
60
+ --accent-rose: #f43f5e;
61
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
62
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
63
+ }
64
+
65
+ * { box-sizing: border-box; margin: 0; padding: 0; }
66
+ body {
67
+ background: var(--bg);
68
+ color: var(--text);
69
+ font-family: var(--font-sans);
70
+ height: 100vh;
71
+ overflow: hidden;
72
+ display: flex;
73
+ flex-direction: column;
74
+ }
75
+
76
+ /* Top Navigation Bar */
77
+ header {
78
+ height: 56px;
79
+ background: var(--bg-panel);
80
+ backdrop-filter: blur(12px);
81
+ border-bottom: 1px solid var(--border);
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+ padding: 0 20px;
86
+ z-index: 50;
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ .brand {
91
+ display: flex;
92
+ align-items: center;
93
+ gap: 10px;
94
+ font-weight: 700;
95
+ font-size: 15px;
96
+ letter-spacing: -0.01em;
97
+ }
98
+ .brand-badge {
99
+ background: linear-gradient(135deg, #06b6d4, #3b82f6);
100
+ color: #000;
101
+ font-size: 10px;
102
+ font-weight: 800;
103
+ padding: 2px 7px;
104
+ border-radius: 4px;
105
+ text-transform: uppercase;
106
+ }
107
+
108
+ /* Projection Tabs */
109
+ .projection-tabs {
110
+ display: flex;
111
+ gap: 4px;
112
+ background: rgba(0, 0, 0, 0.4);
113
+ padding: 3px;
114
+ border-radius: 8px;
115
+ border: 1px solid var(--border);
116
+ }
117
+ .tab-btn {
118
+ background: transparent;
119
+ border: none;
120
+ color: var(--text-dim);
121
+ padding: 6px 14px;
122
+ border-radius: 6px;
123
+ font-size: 12px;
124
+ font-weight: 600;
125
+ cursor: pointer;
126
+ transition: all 0.15s ease;
127
+ }
128
+ .tab-btn:hover { color: var(--text); }
129
+ .tab-btn.active {
130
+ background: var(--border-bright);
131
+ color: #fff;
132
+ box-shadow: 0 1px 3px rgba(0,0,0,0.3);
133
+ }
134
+
135
+ .header-actions {
136
+ display: flex;
137
+ align-items: center;
138
+ gap: 12px;
139
+ }
140
+ .search-box {
141
+ position: relative;
142
+ }
143
+ .search-box input {
144
+ background: #14141e;
145
+ border: 1px solid var(--border);
146
+ border-radius: 6px;
147
+ color: var(--text);
148
+ font-size: 12px;
149
+ padding: 6px 12px 6px 28px;
150
+ outline: none;
151
+ width: 220px;
152
+ transition: border-color 0.15s ease;
153
+ }
154
+ .search-box input:focus { border-color: var(--accent-cyan); }
155
+ .search-icon {
156
+ position: absolute;
157
+ left: 9px;
158
+ top: 7px;
159
+ color: var(--text-dim);
160
+ font-size: 12px;
161
+ }
162
+
163
+ /* Main Canvas Area */
164
+ .viewport {
165
+ flex: 1;
166
+ position: relative;
167
+ overflow: hidden;
168
+ cursor: grab;
169
+ user-select: none;
170
+ }
171
+ .viewport:active { cursor: grabbing; }
172
+
173
+ svg#arch-canvas {
174
+ width: 100%;
175
+ height: 100%;
176
+ display: block;
177
+ }
178
+
179
+ /* Floating Controls */
180
+ .canvas-controls {
181
+ position: absolute;
182
+ bottom: 20px;
183
+ left: 20px;
184
+ display: flex;
185
+ gap: 6px;
186
+ background: var(--bg-panel);
187
+ backdrop-filter: blur(8px);
188
+ padding: 4px;
189
+ border-radius: 8px;
190
+ border: 1px solid var(--border);
191
+ z-index: 40;
192
+ }
193
+ .ctrl-btn {
194
+ background: transparent;
195
+ border: 1px solid transparent;
196
+ color: var(--text);
197
+ width: 32px;
198
+ height: 32px;
199
+ border-radius: 6px;
200
+ display: flex;
201
+ align-items: center;
202
+ justify-content: center;
203
+ cursor: pointer;
204
+ font-size: 14px;
205
+ transition: background 0.1s ease;
206
+ }
207
+ .ctrl-btn:hover { background: var(--border); }
208
+
209
+ /* Legend Overlay */
210
+ .legend-card {
211
+ position: absolute;
212
+ bottom: 20px;
213
+ right: 20px;
214
+ background: var(--bg-panel);
215
+ backdrop-filter: blur(8px);
216
+ padding: 12px 16px;
217
+ border-radius: 8px;
218
+ border: 1px solid var(--border);
219
+ font-size: 11px;
220
+ z-index: 40;
221
+ max-width: 280px;
222
+ }
223
+ .legend-title {
224
+ font-weight: 700;
225
+ margin-bottom: 8px;
226
+ text-transform: uppercase;
227
+ letter-spacing: 0.05em;
228
+ color: var(--text-dim);
229
+ }
230
+ .legend-item {
231
+ display: flex;
232
+ align-items: center;
233
+ gap: 8px;
234
+ margin-bottom: 4px;
235
+ }
236
+ .legend-dot {
237
+ width: 10px;
238
+ height: 10px;
239
+ border-radius: 3px;
240
+ }
241
+
242
+ /* Slide-over Evidence Drawer */
243
+ #evidence-drawer {
244
+ position: absolute;
245
+ top: 56px;
246
+ right: 0;
247
+ bottom: 0;
248
+ width: 440px;
249
+ background: var(--bg-panel);
250
+ backdrop-filter: blur(16px);
251
+ border-left: 1px solid var(--border);
252
+ padding: 24px;
253
+ overflow-y: auto;
254
+ transform: translateX(100%);
255
+ transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
256
+ z-index: 60;
257
+ }
258
+ #evidence-drawer.open { transform: translateX(0); }
259
+
260
+ .drawer-close {
261
+ position: absolute;
262
+ top: 16px;
263
+ right: 16px;
264
+ background: transparent;
265
+ border: none;
266
+ color: var(--text-dim);
267
+ font-size: 18px;
268
+ cursor: pointer;
269
+ }
270
+ .drawer-close:hover { color: var(--text); }
271
+
272
+ .drawer-title { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
273
+ .drawer-subtitle { font-size: 12px; color: var(--text-dim); margin-bottom: 16px; font-family: var(--font-mono); }
274
+
275
+ .stat-pill-group {
276
+ display: flex;
277
+ gap: 8px;
278
+ flex-wrap: wrap;
279
+ margin-bottom: 20px;
280
+ }
281
+ .stat-pill {
282
+ background: var(--bg-card);
283
+ border: 1px solid var(--border);
284
+ padding: 6px 12px;
285
+ border-radius: 6px;
286
+ font-size: 11px;
287
+ }
288
+ .stat-pill strong { color: var(--accent-cyan); }
289
+
290
+ .section-title {
291
+ font-size: 12px;
292
+ font-weight: 700;
293
+ text-transform: uppercase;
294
+ letter-spacing: 0.05em;
295
+ color: var(--text-dim);
296
+ margin: 16px 0 8px 0;
297
+ }
298
+
299
+ .evidence-block {
300
+ background: #0d0d14;
301
+ border: 1px solid var(--border);
302
+ border-radius: 6px;
303
+ padding: 12px;
304
+ margin-bottom: 8px;
305
+ font-family: var(--font-mono);
306
+ font-size: 11px;
307
+ }
308
+ .evidence-loc { color: var(--accent-cyan); font-weight: 600; margin-bottom: 4px; }
309
+ .evidence-snippet {
310
+ color: #cbd5e1;
311
+ white-space: pre-wrap;
312
+ word-break: break-all;
313
+ background: rgba(0,0,0,0.3);
314
+ padding: 6px;
315
+ border-radius: 4px;
316
+ margin-top: 6px;
317
+ }
318
+ .confidence-badge {
319
+ display: inline-block;
320
+ padding: 2px 6px;
321
+ border-radius: 4px;
322
+ font-size: 9px;
323
+ font-weight: 800;
324
+ text-transform: uppercase;
325
+ }
326
+ .conf-L1 { background: #065f46; color: #34d399; }
327
+ .conf-L2 { background: #1e3a8a; color: #60a5fa; }
328
+ .conf-L3 { background: #78350f; color: #fbbf24; }
329
+ .conf-L5 { background: #881337; color: #f43f5e; }
330
+
331
+ /* SVG Graphical Node Styling */
332
+ .node-group { cursor: pointer; transition: opacity 0.2s; }
333
+ .node-box {
334
+ stroke-width: 1.5px;
335
+ rx: 8px;
336
+ transition: all 0.2s ease;
337
+ }
338
+ .node-group:hover .node-box {
339
+ stroke-width: 2.5px;
340
+ filter: drop-shadow(0 0 8px rgba(6, 182, 212, 0.4));
341
+ }
342
+ .node-text-title {
343
+ font-family: var(--font-sans);
344
+ font-weight: 700;
345
+ fill: #ffffff;
346
+ font-size: 12px;
347
+ pointer-events: none;
348
+ }
349
+ .node-text-sub {
350
+ font-family: var(--font-sans);
351
+ font-size: 10px;
352
+ fill: #9494a8;
353
+ pointer-events: none;
354
+ }
355
+ .edge-path {
356
+ fill: none;
357
+ stroke-width: 1.5px;
358
+ transition: stroke 0.2s, stroke-width 0.2s;
359
+ }
360
+ .edge-marker { fill: #475569; }
361
+
362
+ /* Dimming & Highlight states */
363
+ .dimmed { opacity: 0.15; }
364
+ .highlighted { opacity: 1 !important; }
365
+ .highlighted-edge { stroke: #06b6d4 !important; stroke-width: 2.5px !important; }
366
+ .blast-ring-1 { stroke: #f43f5e !important; stroke-width: 3px !important; }
367
+ .blast-ring-2 { stroke: #f59e0b !important; stroke-width: 2.5px !important; }
368
+ .blast-ring-3 { stroke: #3b82f6 !important; stroke-width: 2px !important; }
369
+ </style>
370
+ </head>
371
+ <body>
372
+
373
+ <header>
374
+ <div class="brand">
375
+ <span>⚖️ Tribunal Architecture Intelligence</span>
376
+ <span class="brand-badge">TAI Fact Graph</span>
377
+ </div>
378
+
379
+ <div class="projection-tabs">
380
+ <button class="tab-btn active" data-projection="topology">Topology</button>
381
+ <button class="tab-btn" data-projection="security">Security Zones</button>
382
+ <button class="tab-btn" data-projection="failure">Failure Modes</button>
383
+ <button class="tab-btn" data-projection="blast">Blast Radius Simulator</button>
384
+ </div>
385
+
386
+ <div class="header-actions">
387
+ <div class="search-box">
388
+ <span class="search-icon">🔍</span>
389
+ <input type="text" id="node-search" placeholder="Search architecture...">
390
+ </div>
391
+ </div>
392
+ </header>
393
+
394
+ <main class="viewport" id="viewport">
395
+ <svg id="arch-canvas">
396
+ <defs>
397
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
398
+ <path d="M 0 1.5 L 8 5 L 0 8.5 z" fill="#64748b" />
399
+ </marker>
400
+ <marker id="arrow-active" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
401
+ <path d="M 0 1.5 L 8 5 L 0 8.5 z" fill="#06b6d4" />
402
+ </marker>
403
+ <marker id="arrow-warn" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
404
+ <path d="M 0 1.5 L 8 5 L 0 8.5 z" fill="#f59e0b" />
405
+ </marker>
406
+ </defs>
407
+ <g id="world-layer">
408
+ <g id="zones-layer"></g>
409
+ <g id="edges-layer"></g>
410
+ <g id="nodes-layer"></g>
411
+ </g>
412
+ </svg>
413
+
414
+ <div class="canvas-controls">
415
+ <button class="ctrl-btn" id="btn-zoom-in" title="Zoom In">+</button>
416
+ <button class="ctrl-btn" id="btn-zoom-out" title="Zoom Out">−</button>
417
+ <button class="ctrl-btn" id="btn-zoom-reset" title="Fit Screen">⛶</button>
418
+ </div>
419
+
420
+ <div class="legend-card" id="legend">
421
+ <div class="legend-title" id="legend-title">System Topology</div>
422
+ <div id="legend-items"></div>
423
+ </div>
424
+ </main>
425
+
426
+ <aside id="evidence-drawer">
427
+ <button class="drawer-close" id="drawer-close">✕</button>
428
+ <div id="drawer-content"></div>
429
+ </aside>
430
+
431
+ <script id="tribunal-architecture-data" type="application/json">
432
+ ${rawDataJson}
433
+ </script>
434
+
435
+ <script>
436
+ (function () {
437
+ const rawData = JSON.parse(document.getElementById('tribunal-architecture-data').textContent);
438
+ const model = rawData.model;
439
+ const entities = model.entities || [];
440
+ const relationships = model.relationships || [];
441
+ const trustBoundaries = model.trustBoundaries || [];
442
+
443
+ let currentProjection = 'topology';
444
+ let selectedNodeId = null;
445
+
446
+ // Transform & Pan/Zoom State
447
+ let transform = { x: 80, y: 80, k: 0.75 };
448
+ let isPanning = false;
449
+ let startPoint = { x: 0, y: 0 };
450
+
451
+ const viewport = document.getElementById('viewport');
452
+ const world = document.getElementById('world-layer');
453
+ const nodesLayer = document.getElementById('nodes-layer');
454
+ const edgesLayer = document.getElementById('edges-layer');
455
+ const zonesLayer = document.getElementById('zones-layer');
456
+ const drawer = document.getElementById('evidence-drawer');
457
+ const drawerContent = document.getElementById('drawer-content');
458
+ const drawerClose = document.getElementById('drawer-close');
459
+
460
+ // ── Build Spatial Layout with Semantic Column Zoning ──────────────────
461
+ const NODE_W = 160;
462
+ const NODE_H = 60;
463
+ const GAP_X = 240;
464
+ const GAP_Y = 90;
465
+
466
+ const columnMap = {
467
+ endpoint: 0,
468
+ module: 1,
469
+ event_bus: 2,
470
+ queue: 2,
471
+ cache: 2,
472
+ datastore: 3,
473
+ external_api: 3,
474
+ identity_provider: 0,
475
+ test_suite: 1,
476
+ };
477
+
478
+ const columns = [[], [], [], []];
479
+ entities.forEach(e => {
480
+ const col = columnMap[e.kind] ?? 1;
481
+ columns[col].push(e);
482
+ });
483
+
484
+ const nodeCoords = new Map();
485
+ columns.forEach((colEntities, colIdx) => {
486
+ colEntities.forEach((entity, rowIdx) => {
487
+ nodeCoords.set(entity.id, {
488
+ x: colIdx * (NODE_W + GAP_X) + 100,
489
+ y: rowIdx * (NODE_H + GAP_Y) + 100,
490
+ w: NODE_W,
491
+ h: NODE_H,
492
+ entity
493
+ });
494
+ });
495
+ });
496
+
497
+ // ── Render Graph ──────────────────────────────────────────────────────
498
+ function updateCanvasTransform() {
499
+ world.setAttribute('transform', \`translate(\${transform.x}, \${transform.y}) scale(\${transform.k})\`);
500
+ }
501
+
502
+ function renderEdges() {
503
+ edgesLayer.innerHTML = '';
504
+ relationships.forEach(rel => {
505
+ const src = nodeCoords.get(rel.sourceId);
506
+ const tgt = nodeCoords.get(rel.targetId);
507
+ if (!src || !tgt) return;
508
+
509
+ const x1 = src.x + src.w;
510
+ const y1 = src.y + src.h / 2;
511
+ const x2 = tgt.x;
512
+ const y2 = tgt.y + tgt.h / 2;
513
+
514
+ const dx = (x2 - x1) / 2;
515
+ const d = \`M \${x1} \${y1} C \${x1 + dx} \${y1}, \${x2 - dx} \${y2}, \${x2} \${y2}\`;
516
+
517
+ const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
518
+ path.setAttribute('d', d);
519
+ path.setAttribute('class', 'edge-path');
520
+ path.setAttribute('data-id', rel.id);
521
+ path.setAttribute('data-source', rel.sourceId);
522
+ path.setAttribute('data-target', rel.targetId);
523
+
524
+ let strokeColor = '#334155';
525
+ let marker = 'url(#arrow)';
526
+
527
+ if (currentProjection === 'failure' && rel.failureMode && !rel.failureMode.hasTimeout) {
528
+ strokeColor = '#f59e0b';
529
+ marker = 'url(#arrow-warn)';
530
+ }
531
+
532
+ path.setAttribute('stroke', strokeColor);
533
+ path.setAttribute('marker-end', marker);
534
+ edgesLayer.appendChild(path);
535
+ });
536
+ }
537
+
538
+ function renderNodes() {
539
+ nodesLayer.innerHTML = '';
540
+ entities.forEach(entity => {
541
+ const coord = nodeCoords.get(entity.id);
542
+ if (!coord) return;
543
+
544
+ const g = document.createElementNS('http://www.w3.org/2000/svg', 'g');
545
+ g.setAttribute('class', 'node-group');
546
+ g.setAttribute('data-id', entity.id);
547
+ g.setAttribute('transform', \`translate(\${coord.x}, \${coord.y})\`);
548
+
549
+ // Color tokens by projection
550
+ let stroke = '#272738';
551
+ let fill = '#14141e';
552
+
553
+ if (currentProjection === 'topology') {
554
+ if (entity.kind === 'endpoint') stroke = '#06b6d4';
555
+ else if (entity.kind === 'datastore' || entity.kind === 'cache') stroke = '#3b82f6';
556
+ else if (entity.kind === 'queue' || entity.kind === 'event_bus') stroke = '#a855f7';
557
+ else if (entity.kind === 'external_api') stroke = '#f43f5e';
558
+ else stroke = '#475569';
559
+ } else if (currentProjection === 'security') {
560
+ if (entity.trustZone === 'public_untrusted') stroke = '#f43f5e';
561
+ else if (entity.trustZone === 'dmz_gateway') stroke = '#f59e0b';
562
+ else if (entity.trustZone === 'internal_service') stroke = '#10b981';
563
+ else if (entity.trustZone === 'isolated_datastore') stroke = '#3b82f6';
564
+ else stroke = '#64748b';
565
+ } else if (currentProjection === 'failure') {
566
+ if (entity.kind === 'external_api') stroke = '#f59e0b';
567
+ else stroke = '#334155';
568
+ }
569
+
570
+ const rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
571
+ rect.setAttribute('width', coord.w);
572
+ rect.setAttribute('height', coord.h);
573
+ rect.setAttribute('class', 'node-box');
574
+ rect.setAttribute('fill', fill);
575
+ rect.setAttribute('stroke', stroke);
576
+
577
+ const title = document.createElementNS('http://www.w3.org/2000/svg', 'text');
578
+ title.setAttribute('x', 12);
579
+ title.setAttribute('y', 26);
580
+ title.setAttribute('class', 'node-text-title');
581
+ const cleanName = entity.name.length > 18 ? entity.name.slice(0, 16) + '...' : entity.name;
582
+ title.textContent = cleanName;
583
+
584
+ const sub = document.createElementNS('http://www.w3.org/2000/svg', 'text');
585
+ sub.setAttribute('x', 12);
586
+ sub.setAttribute('y', 44);
587
+ sub.setAttribute('class', 'node-text-sub');
588
+ sub.textContent = entity.kind.replace('_', ' ').toUpperCase();
589
+
590
+ g.appendChild(rect);
591
+ g.appendChild(title);
592
+ g.appendChild(sub);
593
+
594
+ g.addEventListener('click', (ev) => {
595
+ ev.stopPropagation();
596
+ onNodeClick(entity.id);
597
+ });
598
+
599
+ nodesLayer.appendChild(g);
600
+ });
601
+ }
602
+
603
+ function updateLegend() {
604
+ const titleEl = document.getElementById('legend-title');
605
+ const itemsEl = document.getElementById('legend-items');
606
+
607
+ const legends = {
608
+ topology: {
609
+ title: 'System Topology',
610
+ items: [
611
+ { color: '#06b6d4', label: 'HTTP API Endpoint' },
612
+ { color: '#475569', label: 'Internal Module' },
613
+ { color: '#3b82f6', label: 'Datastore / Cache' },
614
+ { color: '#a855f7', label: 'Queue / Event Channel' },
615
+ { color: '#f43f5e', label: 'External Service' },
616
+ ]
617
+ },
618
+ security: {
619
+ title: 'Security Trust Zones',
620
+ items: [
621
+ { color: '#f43f5e', label: 'Public Untrusted' },
622
+ { color: '#f59e0b', label: 'DMZ Gateway / Auth' },
623
+ { color: '#10b981', label: 'Authenticated Service' },
624
+ { color: '#3b82f6', label: 'Isolated Datastore' },
625
+ ]
626
+ },
627
+ failure: {
628
+ title: 'Failure Architecture',
629
+ items: [
630
+ { color: '#f59e0b', label: 'External (No Timeout)' },
631
+ { color: '#10b981', label: 'Resilient RPC' },
632
+ ]
633
+ },
634
+ blast: {
635
+ title: 'Blast Radius Simulator',
636
+ items: [
637
+ { color: '#f43f5e', label: 'Ring 1 (Direct Impact)' },
638
+ { color: '#f59e0b', label: 'Ring 2 (Transitive Depth 2)' },
639
+ { color: '#3b82f6', label: 'Ring 3+ (Deep Transitive)' },
640
+ ]
641
+ }
642
+ };
643
+
644
+ const cur = legends[currentProjection] || legends.topology;
645
+ titleEl.textContent = cur.title;
646
+ itemsEl.innerHTML = cur.items.map(it => \`
647
+ <div class="legend-item">
648
+ <div class="legend-dot" style="background: \${it.color}"></div>
649
+ <span>\${it.label}</span>
650
+ </div>
651
+ \`).join('');
652
+ }
653
+
654
+ // ── Interactive Selection & Blast Simulation ─────────────────────────
655
+ function onNodeClick(id) {
656
+ selectedNodeId = id;
657
+ const entity = entities.find(e => e.id === id);
658
+ if (!entity) return;
659
+
660
+ // Reset styling
661
+ document.querySelectorAll('.node-group').forEach(el => el.classList.remove('dimmed', 'highlighted'));
662
+ document.querySelectorAll('.edge-path').forEach(el => {
663
+ el.classList.remove('dimmed', 'highlighted-edge', 'blast-ring-1', 'blast-ring-2', 'blast-ring-3');
664
+ });
665
+
666
+ if (currentProjection === 'blast') {
667
+ // Live Blast Simulation
668
+ const ring1 = new Set();
669
+ const ring2 = new Set();
670
+ const ring3 = new Set();
671
+
672
+ relationships.forEach(r => {
673
+ if (r.targetId === id) ring1.add(r.sourceId);
674
+ });
675
+ relationships.forEach(r => {
676
+ if (ring1.has(r.targetId) && r.sourceId !== id) ring2.add(r.sourceId);
677
+ });
678
+ relationships.forEach(r => {
679
+ if (ring2.has(r.targetId) && !ring1.has(r.sourceId) && r.sourceId !== id) ring3.add(r.sourceId);
680
+ });
681
+
682
+ document.querySelectorAll('.node-group').forEach(el => {
683
+ const elId = el.getAttribute('data-id');
684
+ if (elId === id) el.classList.add('highlighted');
685
+ else if (ring1.has(elId) || ring2.has(elId) || ring3.has(elId)) el.classList.add('highlighted');
686
+ else el.classList.add('dimmed');
687
+ });
688
+
689
+ document.querySelectorAll('.edge-path').forEach(el => {
690
+ const tgt = el.getAttribute('data-target');
691
+ if (tgt === id) el.classList.add('blast-ring-1');
692
+ else if (ring1.has(tgt)) el.classList.add('blast-ring-2');
693
+ else if (ring2.has(tgt)) el.classList.add('blast-ring-3');
694
+ else el.classList.add('dimmed');
695
+ });
696
+ } else {
697
+ // Standard connected focus
698
+ const connectedNodes = new Set([id]);
699
+ relationships.forEach(r => {
700
+ if (r.sourceId === id) connectedNodes.add(r.targetId);
701
+ if (r.targetId === id) connectedNodes.add(r.sourceId);
702
+ });
703
+
704
+ document.querySelectorAll('.node-group').forEach(el => {
705
+ const elId = el.getAttribute('data-id');
706
+ if (connectedNodes.has(elId)) el.classList.add('highlighted');
707
+ else el.classList.add('dimmed');
708
+ });
709
+
710
+ document.querySelectorAll('.edge-path').forEach(el => {
711
+ const s = el.getAttribute('data-source');
712
+ const t = el.getAttribute('data-target');
713
+ if (s === id || t === id) el.classList.add('highlighted-edge');
714
+ else el.classList.add('dimmed');
715
+ });
716
+ }
717
+
718
+ openDrawer(entity);
719
+ }
720
+
721
+ function openDrawer(entity) {
722
+ drawer.classList.add('open');
723
+ const sources = entity.sources || [];
724
+
725
+ drawerContent.innerHTML = \`
726
+ <h2 class="drawer-title">\${entity.name}</h2>
727
+ <div class="drawer-subtitle">\${entity.id}</div>
728
+
729
+ <div class="stat-pill-group">
730
+ <div class="stat-pill">Kind: <strong>\${entity.kind}</strong></div>
731
+ <div class="stat-pill">Zone: <strong>\${entity.trustZone || 'none'}</strong></div>
732
+ <div class="stat-pill">Risk: <strong>\${entity.blastRadius?.riskScore || 0.1}</strong></div>
733
+ <div class="stat-pill">Confidence: <span class="confidence-badge conf-\${entity.confidence || 'L1'}">\${entity.confidence || 'L1'} FACT</span></div>
734
+ </div>
735
+
736
+ <div class="section-title">Verified Source Code Evidence</div>
737
+ \${sources.map(s => \`
738
+ <div class="evidence-block">
739
+ <div class="evidence-loc">\${s.file}:\${s.startLine}\${s.endLine ? '-' + s.endLine : ''}</div>
740
+ <div>Hash: <code>\${s.contentHash || 'verified'}</code></div>
741
+ \${s.snippet ? \`<div class="evidence-snippet">\${s.snippet}</div>\` : ''}
742
+ </div>
743
+ \`).join('')}
744
+
745
+ <div class="section-title">Architectural Role & Description</div>
746
+ <p style="font-size: 13px; line-height: 1.5; color: #cbd5e1; margin-bottom: 16px;">
747
+ \${entity.role || 'Internal architectural component extracted deterministically from codebase AST.'}
748
+ </p>
749
+ \`;
750
+ }
751
+
752
+ drawerClose.addEventListener('click', () => {
753
+ drawer.classList.remove('open');
754
+ document.querySelectorAll('.node-group').forEach(el => el.classList.remove('dimmed', 'highlighted'));
755
+ document.querySelectorAll('.edge-path').forEach(el => {
756
+ el.classList.remove('dimmed', 'highlighted-edge', 'blast-ring-1', 'blast-ring-2', 'blast-ring-3');
757
+ });
758
+ });
759
+
760
+ // ── Event Handlers: Pan / Zoom / Tabs ────────────────────────────────
761
+ viewport.addEventListener('mousedown', (e) => {
762
+ if (e.target.closest('.node-group')) return;
763
+ isPanning = true;
764
+ startPoint = { x: e.clientX - transform.x, y: e.clientY - transform.y };
765
+ });
766
+ window.addEventListener('mousemove', (e) => {
767
+ if (!isPanning) return;
768
+ transform.x = e.clientX - startPoint.x;
769
+ transform.y = e.clientY - startPoint.y;
770
+ updateCanvasTransform();
771
+ });
772
+ window.addEventListener('mouseup', () => { isPanning = false; });
773
+
774
+ viewport.addEventListener('wheel', (e) => {
775
+ e.preventDefault();
776
+ const factor = e.deltaY > 0 ? 0.9 : 1.1;
777
+ transform.k = Math.max(0.2, Math.min(3.0, transform.k * factor));
778
+ updateCanvasTransform();
779
+ });
780
+
781
+ document.getElementById('btn-zoom-in').addEventListener('click', () => {
782
+ transform.k = Math.min(3.0, transform.k * 1.2);
783
+ updateCanvasTransform();
784
+ });
785
+ document.getElementById('btn-zoom-out').addEventListener('click', () => {
786
+ transform.k = Math.max(0.2, transform.k / 1.2);
787
+ updateCanvasTransform();
788
+ });
789
+ document.getElementById('btn-zoom-reset').addEventListener('click', () => {
790
+ transform = { x: 80, y: 80, k: 0.75 };
791
+ updateCanvasTransform();
792
+ });
793
+
794
+ document.querySelectorAll('.tab-btn').forEach(btn => {
795
+ btn.addEventListener('click', () => {
796
+ document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
797
+ btn.classList.add('active');
798
+ currentProjection = btn.getAttribute('data-projection');
799
+ updateLegend();
800
+ renderNodes();
801
+ renderEdges();
802
+ if (selectedNodeId) onNodeClick(selectedNodeId);
803
+ });
804
+ });
805
+
806
+ // Search Handler
807
+ document.getElementById('node-search').addEventListener('input', (e) => {
808
+ const query = e.target.value.toLowerCase().trim();
809
+ if (!query) {
810
+ document.querySelectorAll('.node-group').forEach(el => el.classList.remove('dimmed', 'highlighted'));
811
+ return;
812
+ }
813
+ document.querySelectorAll('.node-group').forEach(el => {
814
+ const id = el.getAttribute('data-id').toLowerCase();
815
+ const ent = entities.find(x => x.id.toLowerCase() === id);
816
+ if (id.includes(query) || (ent && ent.name.toLowerCase().includes(query))) {
817
+ el.classList.add('highlighted');
818
+ el.classList.remove('dimmed');
819
+ } else {
820
+ el.classList.add('dimmed');
821
+ el.classList.remove('highlighted');
822
+ }
823
+ });
824
+ });
825
+
826
+ // Initial Mount
827
+ updateCanvasTransform();
828
+ updateLegend();
829
+ renderNodes();
830
+ renderEdges();
831
+ })();
832
+ </script>
833
+ </body>
834
+ </html>`;
835
+ }
836
+
837
+ saveHtml(outputPath) {
838
+ const dest =
839
+ outputPath || path.join(process.cwd(), '.agent', 'history', 'architecture-intelligence.html');
840
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
841
+ const html = this.generateHtml();
842
+ fs.writeFileSync(dest, html, 'utf8');
843
+ return dest;
844
+ }
845
+ }
846
+
847
+ // ── Standalone CLI ────────────────────────────────────────────────────────────
848
+ if (require.main === module) {
849
+ const t = timer();
850
+ const repoRoot = process.cwd();
851
+ const modelFile = path.join(repoRoot, '.agent', 'history', 'architecture-model.json');
852
+ const verifFile = path.join(repoRoot, '.agent', 'history', 'architecture-verification.json');
853
+
854
+ console.log(banner('Tribunal Architecture Intelligence Visualizer'));
855
+
856
+ if (!fs.existsSync(modelFile)) {
857
+ console.error(
858
+ ` ${RED}✖ architecture-model.json not found.${RESET} Run architecture_extractor.js first.`,
859
+ );
860
+ process.exit(1);
861
+ }
862
+
863
+ const model = JSON.parse(fs.readFileSync(modelFile, 'utf8'));
864
+ const verification = fs.existsSync(verifFile)
865
+ ? JSON.parse(fs.readFileSync(verifFile, 'utf8'))
866
+ : null;
867
+
868
+ const visualizer = new ArchitectureVisualizer(model, verification);
869
+ const outPath = visualizer.saveHtml();
870
+
871
+ console.log(` ${GREEN}${BOX.check} Interactive Architecture Explorer Generated!${RESET}`);
872
+ console.log(` ${DIM}File:${RESET} ${CYAN}${outPath}${RESET} (${formatMs(t())})`);
873
+ console.log(
874
+ ` ${DIM}Projections Enabled:${RESET} Topology, Security Zones, Failure Modes, Blast Simulator\n`,
875
+ );
876
+ }
877
+
878
+ module.exports = {
879
+ ArchitectureVisualizer,
880
+ };