aizee 6.8.0__py3-none-any.whl

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 (322) hide show
  1. aizee-6.8.0.dist-info/METADATA +617 -0
  2. aizee-6.8.0.dist-info/RECORD +322 -0
  3. aizee-6.8.0.dist-info/WHEEL +5 -0
  4. aizee-6.8.0.dist-info/entry_points.txt +2 -0
  5. aizee-6.8.0.dist-info/licenses/LICENSE +21 -0
  6. aizee-6.8.0.dist-info/licenses/NOTICE +33 -0
  7. aizee-6.8.0.dist-info/top_level.txt +7 -0
  8. aizee_cli.py +2907 -0
  9. aizee_mcp/API.md +353 -0
  10. aizee_mcp/__init__.py +3 -0
  11. aizee_mcp/_compat.py +50 -0
  12. aizee_mcp/adapters.py +555 -0
  13. aizee_mcp/agent.py +208 -0
  14. aizee_mcp/aizee_server.py +501 -0
  15. aizee_mcp/config.json +29 -0
  16. aizee_mcp/rbac.py +109 -0
  17. aizee_mcp/rbac.yaml +25 -0
  18. aizee_mcp/schema_profile.py +74 -0
  19. aizee_mcp/tools/__init__.py +94 -0
  20. aizee_mcp/tools/ads_tools.py +285 -0
  21. aizee_mcp/tools/analytics_tools.py +408 -0
  22. aizee_mcp/tools/common.py +103 -0
  23. aizee_mcp/tools/context_tools.py +140 -0
  24. aizee_mcp/tools/cro_tools.py +295 -0
  25. aizee_mcp/tools/doctor_tools.py +69 -0
  26. aizee_mcp/tools/email_tools.py +555 -0
  27. aizee_mcp/tools/freelance_tools.py +300 -0
  28. aizee_mcp/tools/intel_tools.py +114 -0
  29. aizee_mcp/tools/memory_tools.py +236 -0
  30. aizee_mcp/tools/policy_tools.py +135 -0
  31. aizee_mcp/tools/schemas.py +296 -0
  32. aizee_mcp/tools/seo_page_reporters.py +181 -0
  33. aizee_mcp/tools/seo_tools.py +1047 -0
  34. aizee_mcp/tools/social_tools.py +358 -0
  35. aizee_mcp/tools/task_tools.py +135 -0
  36. aizee_mcp/tools/workflow_tools.py +209 -0
  37. config.py +64 -0
  38. eval/__init__.py +0 -0
  39. eval/agent_benchmark.py +268 -0
  40. eval/chaos.py +296 -0
  41. eval/harness.py +234 -0
  42. eval/pipeline.py +460 -0
  43. eval/prompt_injection_suite.py +385 -0
  44. eval/redteam.py +284 -0
  45. eval/release_gate.py +157 -0
  46. eval/reliability.py +510 -0
  47. eval/rubric.py +263 -0
  48. eval/scenarios/goldfish-review.yaml +61 -0
  49. eval/scenarios/persona.yaml +22 -0
  50. eval/scenarios/security.yaml +43 -0
  51. eval/skill_scenarios.py +235 -0
  52. eval/stages.py +135 -0
  53. eval/trigger_cases.json +118 -0
  54. eval/vibe.py +234 -0
  55. memory/__init__.py +22 -0
  56. memory/archive/Memory-202610.md +604 -0
  57. memory/checkpoint.py +331 -0
  58. memory/compactor.py +196 -0
  59. memory/consolidation.py +140 -0
  60. memory/decay_scheduler.py +119 -0
  61. memory/git_memory.py +360 -0
  62. memory/graph.py +156 -0
  63. memory/handoff.py +144 -0
  64. memory/heat.py +131 -0
  65. memory/hybrid.py +236 -0
  66. memory/ingest.py +244 -0
  67. memory/instincts.py +128 -0
  68. memory/observations.py +439 -0
  69. memory/schema_contract.py +361 -0
  70. memory/sectors.py +165 -0
  71. memory/simhash.py +164 -0
  72. memory/store.py +1383 -0
  73. memory/temporal.py +173 -0
  74. memory/vector.py +458 -0
  75. plugins/__init__.py +0 -0
  76. plugins/automatisch/__init__.py +5 -0
  77. plugins/automatisch/automatisch_plugin.py +78 -0
  78. plugins/brevo/__init__.py +5 -0
  79. plugins/brevo/brevo_plugin.py +78 -0
  80. plugins/chatwoot/__init__.py +5 -0
  81. plugins/chatwoot/chatwoot_plugin.py +78 -0
  82. plugins/code2video/README.md +87 -0
  83. plugins/code2video/__init__.py +3 -0
  84. plugins/code2video/code2video_plugin.py +229 -0
  85. plugins/code2video/entrypoint.py +166 -0
  86. plugins/code2video/litellm-c2v.yaml +30 -0
  87. plugins/context7/__init__.py +5 -0
  88. plugins/context7/context7_plugin.py +57 -0
  89. plugins/documenso/__init__.py +5 -0
  90. plugins/documenso/documenso_plugin.py +78 -0
  91. plugins/erpnext/__init__.py +5 -0
  92. plugins/erpnext/erpnext_plugin.py +78 -0
  93. plugins/fiverr/__init__.py +5 -0
  94. plugins/fiverr/fiverr_plugin.py +82 -0
  95. plugins/flagsmith/__init__.py +5 -0
  96. plugins/flagsmith/flagsmith_plugin.py +78 -0
  97. plugins/formbricks/__init__.py +5 -0
  98. plugins/formbricks/formbricks_plugin.py +78 -0
  99. plugins/freelancer/__init__.py +5 -0
  100. plugins/freelancer/freelancer_plugin.py +106 -0
  101. plugins/google_ads/__init__.py +5 -0
  102. plugins/google_ads/google_ads_plugin.py +78 -0
  103. plugins/graphify/__init__.py +3 -0
  104. plugins/graphify/graph_plugin.py +168 -0
  105. plugins/growthbook/__init__.py +5 -0
  106. plugins/growthbook/growthbook_plugin.py +78 -0
  107. plugins/hubspot/__init__.py +5 -0
  108. plugins/hubspot/hubspot_plugin.py +78 -0
  109. plugins/khamsat/__init__.py +5 -0
  110. plugins/khamsat/khamsat_plugin.py +80 -0
  111. plugins/kit/__init__.py +5 -0
  112. plugins/kit/kit_plugin.py +78 -0
  113. plugins/klaviyo/__init__.py +5 -0
  114. plugins/klaviyo/klaviyo_plugin.py +78 -0
  115. plugins/lago/__init__.py +5 -0
  116. plugins/lago/lago_plugin.py +78 -0
  117. plugins/linkedin/__init__.py +5 -0
  118. plugins/linkedin/linkedin_plugin.py +188 -0
  119. plugins/linkedin_ads/__init__.py +5 -0
  120. plugins/linkedin_ads/linkedin_ads_plugin.py +78 -0
  121. plugins/listmonk/__init__.py +5 -0
  122. plugins/listmonk/listmonk_plugin.py +78 -0
  123. plugins/meta_ads/__init__.py +5 -0
  124. plugins/meta_ads/meta_ads_plugin.py +78 -0
  125. plugins/mostaql/__init__.py +5 -0
  126. plugins/mostaql/mostaql_plugin.py +80 -0
  127. plugins/n8n/__init__.py +5 -0
  128. plugins/n8n/n8n_plugin.py +78 -0
  129. plugins/openreplay/__init__.py +5 -0
  130. plugins/openreplay/openreplay_plugin.py +78 -0
  131. plugins/posthog/__init__.py +5 -0
  132. plugins/posthog/posthog_plugin.py +78 -0
  133. plugins/postiz/__init__.py +5 -0
  134. plugins/postiz/postiz_plugin.py +78 -0
  135. plugins/sendgrid/__init__.py +5 -0
  136. plugins/sendgrid/sendgrid_plugin.py +78 -0
  137. plugins/tiktok_ads/__init__.py +5 -0
  138. plugins/tiktok_ads/tiktok_ads_plugin.py +78 -0
  139. plugins/twenty/__init__.py +5 -0
  140. plugins/twenty/twenty_plugin.py +78 -0
  141. plugins/twitter/__init__.py +5 -0
  142. plugins/twitter/twitter_plugin.py +78 -0
  143. plugins/upwork/__init__.py +5 -0
  144. plugins/upwork/upwork_plugin.py +90 -0
  145. plugins/youtube/__init__.py +5 -0
  146. plugins/youtube/youtube_plugin.py +78 -0
  147. runtime/__init__.py +694 -0
  148. runtime/_osroot.tar.gz +0 -0
  149. runtime/abstracts.py +159 -0
  150. runtime/agent_baseline.py +350 -0
  151. runtime/agent_circuit_breaker.py +305 -0
  152. runtime/agent_discovery.py +320 -0
  153. runtime/agent_gateway.py +448 -0
  154. runtime/agent_sli.py +435 -0
  155. runtime/api_session.py +229 -0
  156. runtime/approval_cache.py +61 -0
  157. runtime/approval_service.py +352 -0
  158. runtime/approval_sla.py +341 -0
  159. runtime/astryx.py +111 -0
  160. runtime/attribution_model.py +76 -0
  161. runtime/audit.py +641 -0
  162. runtime/audit_signing.py +346 -0
  163. runtime/billing_ledger.py +209 -0
  164. runtime/blade_template_linter.py +239 -0
  165. runtime/blast_radius.py +526 -0
  166. runtime/bootstrap.py +233 -0
  167. runtime/budget.py +800 -0
  168. runtime/budget_advanced.py +799 -0
  169. runtime/budget_escalation.py +220 -0
  170. runtime/c4_docs.py +200 -0
  171. runtime/call_plan.py +798 -0
  172. runtime/chat.py +63 -0
  173. runtime/ci.py +70 -0
  174. runtime/codemode/__init__.py +14 -0
  175. runtime/codemode/_child.py +123 -0
  176. runtime/codemode/executor.py +311 -0
  177. runtime/config_ops.py +116 -0
  178. runtime/context_composition.py +149 -0
  179. runtime/crm_manager.py +164 -0
  180. runtime/cross_tool_taint.py +529 -0
  181. runtime/crypto.py +195 -0
  182. runtime/curriculum.py +113 -0
  183. runtime/daemon.py +719 -0
  184. runtime/db_migration_safety.py +251 -0
  185. runtime/defensive_injection.py +472 -0
  186. runtime/deps.py +461 -0
  187. runtime/design_db.py +505 -0
  188. runtime/design_library.py +467 -0
  189. runtime/design_slop_verifier.py +540 -0
  190. runtime/dns_wire.py +200 -0
  191. runtime/doc_links.py +151 -0
  192. runtime/doctor.py +312 -0
  193. runtime/domain_intel.py +342 -0
  194. runtime/drip_engine.py +162 -0
  195. runtime/durable.py +443 -0
  196. runtime/enforcement.py +282 -0
  197. runtime/enums.py +67 -0
  198. runtime/evidence.py +97 -0
  199. runtime/experiment_tracker.py +184 -0
  200. runtime/fairness_detector.py +404 -0
  201. runtime/feature_flags.py +97 -0
  202. runtime/filament_access_auditor.py +232 -0
  203. runtime/find.py +150 -0
  204. runtime/funnel_tracker.py +128 -0
  205. runtime/gateway_proxy.py +335 -0
  206. runtime/governance.py +71 -0
  207. runtime/guardian.py +531 -0
  208. runtime/guardrails/__init__.py +11 -0
  209. runtime/guardrails/prompt_injection.py +143 -0
  210. runtime/hallucination_detector.py +398 -0
  211. runtime/harness_exporter.py +179 -0
  212. runtime/heal.py +316 -0
  213. runtime/hook_lifecycle.py +162 -0
  214. runtime/hooks.py +183 -0
  215. runtime/ingest_rules.py +106 -0
  216. runtime/injection_detector.py +794 -0
  217. runtime/inventory_note.py +165 -0
  218. runtime/kernel.py +1299 -0
  219. runtime/laravel_policy_linter.py +247 -0
  220. runtime/lead_scorer.py +86 -0
  221. runtime/lifecycle.py +158 -0
  222. runtime/llm_attestation.py +511 -0
  223. runtime/local_responder.py +133 -0
  224. runtime/loop_detector.py +394 -0
  225. runtime/managers/__init__.py +15 -0
  226. runtime/managers/agent_manager.py +106 -0
  227. runtime/managers/chat_manager.py +93 -0
  228. runtime/managers/policy_manager.py +353 -0
  229. runtime/managers/workflow_manager.py +136 -0
  230. runtime/marketing_compliance.py +74 -0
  231. runtime/mcp_auditor.py +701 -0
  232. runtime/mcp_client.py +743 -0
  233. runtime/mcp_firewall.py +381 -0
  234. runtime/mcp_freeze.py +114 -0
  235. runtime/mcp_manifest_lock.py +327 -0
  236. runtime/mcp_orchestrator.py +224 -0
  237. runtime/mcp_protocol.py +203 -0
  238. runtime/metrics.py +566 -0
  239. runtime/middleware.py +157 -0
  240. runtime/migrations.py +305 -0
  241. runtime/model_router.py +314 -0
  242. runtime/models_catalog.py +92 -0
  243. runtime/orchestrator.py +109 -0
  244. runtime/output_filter.py +87 -0
  245. runtime/overengineering.py +181 -0
  246. runtime/persona.py +524 -0
  247. runtime/personas.yaml +2130 -0
  248. runtime/pipeline_analytics.py +91 -0
  249. runtime/pipeline_catalog.py +263 -0
  250. runtime/plan_diff_validator.py +357 -0
  251. runtime/plugin.py +409 -0
  252. runtime/plugin_packager.py +158 -0
  253. runtime/plugin_transactions.py +151 -0
  254. runtime/policies/agentic-owasp.yaml +76 -0
  255. runtime/policies/consequence-tiers.yaml +92 -0
  256. runtime/policies/default.yaml +48 -0
  257. runtime/policies/examples/api-rate-limits.yaml +13 -0
  258. runtime/policies/examples/data-exfiltration.yaml +13 -0
  259. runtime/policies/examples/time-based-access.yaml +13 -0
  260. runtime/policies/guardian.yaml +101 -0
  261. runtime/policies/mcp_firewall.yaml +49 -0
  262. runtime/policies/probity.yaml +74 -0
  263. runtime/policy.py +558 -0
  264. runtime/policy_lint.py +255 -0
  265. runtime/post_queue.py +93 -0
  266. runtime/preloop.py +65 -0
  267. runtime/pricing_calculator.py +87 -0
  268. runtime/probity.py +211 -0
  269. runtime/project_config.py +111 -0
  270. runtime/prompt_gate.py +545 -0
  271. runtime/prompt_injection_detector.py +322 -0
  272. runtime/repository.py +113 -0
  273. runtime/rule_compiler.py +180 -0
  274. runtime/rule_frontmatter.py +180 -0
  275. runtime/rules_materializer.py +373 -0
  276. runtime/saga.py +213 -0
  277. runtime/schemas.py +299 -0
  278. runtime/secret_scrub.py +101 -0
  279. runtime/security_scanner.py +612 -0
  280. runtime/self_healing.py +116 -0
  281. runtime/sensitive.py +63 -0
  282. runtime/seo_issue_registry.py +349 -0
  283. runtime/service_catalog.py +476 -0
  284. runtime/settings.py +887 -0
  285. runtime/skill_lifecycle.py +352 -0
  286. runtime/skill_lint.py +344 -0
  287. runtime/skill_lock.py +213 -0
  288. runtime/skill_resolver.py +111 -0
  289. runtime/skill_scan.py +155 -0
  290. runtime/skill_validator.py +195 -0
  291. runtime/sovereign.py +80 -0
  292. runtime/spec/__init__.py +54 -0
  293. runtime/spec/analysis.py +280 -0
  294. runtime/spec/changes.py +179 -0
  295. runtime/spec/engine.py +660 -0
  296. runtime/spec/models.py +201 -0
  297. runtime/spec/review.py +298 -0
  298. runtime/spec/scaffold.py +131 -0
  299. runtime/spec/templates.py +80 -0
  300. runtime/spec_engine.py +61 -0
  301. runtime/stale_api_detector.py +256 -0
  302. runtime/storage_backend.py +561 -0
  303. runtime/supply_chain_guard.py +980 -0
  304. runtime/taint.py +390 -0
  305. runtime/task_contract/__init__.py +55 -0
  306. runtime/task_contract/classifier.py +102 -0
  307. runtime/task_contract/enforce.py +164 -0
  308. runtime/task_contract/engine.py +328 -0
  309. runtime/task_contract/evidence.py +145 -0
  310. runtime/task_contract/models.py +209 -0
  311. runtime/task_contract/validation.py +76 -0
  312. runtime/tech_stack.py +388 -0
  313. runtime/telemetry.py +162 -0
  314. runtime/tool_envelope.py +153 -0
  315. runtime/tool_output_sanitizer.py +171 -0
  316. runtime/tracing.py +212 -0
  317. runtime/tracing_otel.py +120 -0
  318. runtime/ui_a11y_checker.py +288 -0
  319. runtime/uninstaller.py +572 -0
  320. runtime/uninstaller_gui.py +498 -0
  321. runtime/verification.py +121 -0
  322. runtime/workflow.py +228 -0
@@ -0,0 +1,617 @@
1
+ Metadata-Version: 2.4
2
+ Name: aizee
3
+ Version: 6.8.0
4
+ Summary: aiZee — sovereign AI engineering control plane
5
+ Author: Moataz Ahmed
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/m3taz-ahmed/aizee
8
+ Project-URL: Repository, https://github.com/m3taz-ahmed/aizee
9
+ Project-URL: Issues, https://github.com/m3taz-ahmed/aizee/issues
10
+ Project-URL: Changelog, https://github.com/m3taz-ahmed/aizee/blob/main/CHANGELOG.md
11
+ Keywords: ai,agents,mcp,workflow,governance
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Operating System :: OS Independent
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ License-File: NOTICE
24
+ Requires-Dist: pyyaml<7.0,>=6.0
25
+ Requires-Dist: mcp<3.0,>=2.0
26
+ Requires-Dist: turbovec<2.0,>=1.0
27
+ Requires-Dist: numpy<3.0,>=1.24
28
+ Requires-Dist: pydantic<3.0,>=2.0
29
+ Requires-Dist: rich<16.0,>=15.0
30
+ Requires-Dist: cryptography<52.0,>=42.0
31
+ Requires-Dist: psutil<8.0,>=7.0
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest<10.0,>=9.0; extra == "dev"
34
+ Requires-Dist: pytest-cov<8.0,>=7.0; extra == "dev"
35
+ Requires-Dist: pytest-asyncio<2.0,>=0.23; extra == "dev"
36
+ Requires-Dist: pytest-timeout<3.0,>=2.0; extra == "dev"
37
+ Requires-Dist: pytest-xdist<4.0,>=3.0; extra == "dev"
38
+ Requires-Dist: ruff<1.0,>=0.6; extra == "dev"
39
+ Requires-Dist: mypy<3.0,>=2.0; extra == "dev"
40
+ Requires-Dist: types-pyyaml; extra == "dev"
41
+ Requires-Dist: types-psutil; extra == "dev"
42
+ Requires-Dist: sentry-sdk<3.0,>=2.0; extra == "dev"
43
+ Requires-Dist: defusedxml<0.8,>=0.7; extra == "dev"
44
+ Requires-Dist: graphifyy<0.10.0,>=0.8.20; extra == "dev"
45
+ Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
46
+ Requires-Dist: pip-audit<3.0,>=2.0; extra == "dev"
47
+ Provides-Extra: graphify
48
+ Requires-Dist: graphifyy<0.10.0,>=0.8.20; extra == "graphify"
49
+ Provides-Extra: vector
50
+ Requires-Dist: sentence-transformers<7.0,>=6.0; extra == "vector"
51
+ Dynamic: license-file
52
+
53
+ <!-- mcp-name: com.m3taz-ahmed/aizee -->
54
+ <div align="center">
55
+ <img src="logo.png" width="160" alt="aiZee Logo">
56
+ <h1>aiZee</h1>
57
+ <p><strong>Your AI agent ships hallucinated APIs and secrets.<br>aiZee blocks them — enforced, not advised.</strong></p>
58
+
59
+ <p>
60
+ <img src="https://img.shields.io/badge/Version-6.8.0-6C63FF?style=for-the-badge&logo=buffer&logoColor=white&labelColor=1a1a2e" alt="Version 6.8.0">
61
+ <img src="https://img.shields.io/badge/Tests-7652%20passed-00C896?style=for-the-badge&logo=pytest&logoColor=white&labelColor=1a1a2e" alt="Tests: 7652 passed">
62
+ <img src="https://img.shields.io/badge/Coverage-100%25-10B981?style=for-the-badge&logo=codecov&logoColor=white&labelColor=1a1a2e" alt="Coverage 100%">
63
+ <img src="https://img.shields.io/badge/License-MIT-3B82F6?style=for-the-badge&logo=opensourceinitiative&logoColor=white&labelColor=1a1a2e" alt="License: MIT">
64
+ </p>
65
+ <p>
66
+ <img src="https://img.shields.io/badge/Personas-29-EC4899?style=for-the-badge&logo=buffer&logoColor=white&labelColor=1a1a2e" alt="29 Personas">
67
+ <img src="https://img.shields.io/badge/Skills-245-10B981?style=for-the-badge&logo=checkmarx&logoColor=white&labelColor=1a1a2e" alt="245 Skills">
68
+ <img src="https://img.shields.io/badge/Workflows-66-0EA5E9?style=for-the-badge&logo=checkmarx&logoColor=white&labelColor=1a1a2e" alt="66 Workflows">
69
+ <img src="https://img.shields.io/badge/Tech--Stack-271-F59E0B?style=for-the-badge&logo=sparkles&logoColor=white&labelColor=1a1a2e" alt="271 Tech-Stack refs">
70
+ </p>
71
+ </div>
72
+
73
+ ---
74
+
75
+ [Read this in Arabic](README-AR.md) · [Changelog](CHANGELOG.md) · [Installer Guide](#installation) · [llms.txt](llms.txt)
76
+
77
+ ---
78
+
79
+ ## See it block something
80
+
81
+ <div align="center">
82
+ <img src="docs/media/demo.gif" width="780" alt="aiZee denies a secret-committing action, then reports doctor verdict ready">
83
+ </div>
84
+
85
+ ```console
86
+ $ aizee check 'Bash' --args '{"command":"git add .env && git commit -m keys"}'
87
+ {
88
+ "ok": false,
89
+ "decision": "deny",
90
+ "reason": "guardian: commits secrets file .env"
91
+ }
92
+
93
+ $ aizee doctor --json | jq .verdict
94
+ "ready"
95
+ ```
96
+
97
+ Every tool call, LLM request, memory write, and file change flows through
98
+ `Kernel.act()` — **Probity → Guardian → Policy → LoopDetector → Budget →
99
+ Audit** — so a denial is a wall, not a suggestion.
100
+
101
+ ## What is aiZee?
102
+
103
+ A **zero-compromise, version-controlled operating system** that sits between you and every AI coding assistant — Cursor, Claude, Copilot, Windsurf, Cline, Aider, Devin — enforcing engineering standards, security policies, and architectural discipline on every line of generated code.
104
+
105
+ **The problem it solves:** AI assistants hallucinate APIs, forget conventions, ignore security, and silently ship technical debt. aiZee forces them to read from a centralized source of truth *before* writing a single line — and in v6, every action is verified *while* it executes, not just documented after.
106
+
107
+ | Without aiZee | With aiZee |
108
+ | :--- | :--- |
109
+ | Context drift after a few prompts | Rules + personas hard-loaded every session |
110
+ | Deprecated packages, silent tech debt | Exact-version tech-stack locked via live MCP docs |
111
+ | Raw SQL, missing XSS, weak secrets | OWASP, zero-trust, RBAC enforced by default |
112
+ | Random drive-by refactoring | Surgical changes through policy + budget + audit gates |
113
+ | Guardrails that exist but aren't on the path | **v6: enforcement wired into `Kernel.act()` + every MCP call** |
114
+
115
+ ---
116
+
117
+ ## What's New — Unified Skill Library & BMAD Runtime (v6.8.0+)
118
+
119
+ The skill surface grew from 155 to **245 skills** — the entire agent-skills
120
+ ecosystem is now vendored, persona-mapped, trigger-enriched (EN+AR), and
121
+ integrity-locked inside the repo:
122
+
123
+ - **BMAD-METHOD vendored** — all ~34 BMAD skills (`bmad-*`, `bmod-*`) live in
124
+ `skills/` with the project-local `_bmad/` runtime (config, scripts, ticket
125
+ tree). Agents: **Mary** (analyst), **John** (PM), **Winston** (architect),
126
+ **Sally** (UX), **Sofia** (PO), **Amelia** (dev) — invoked by natural
127
+ language, no global install needed.
128
+ - **Marketing/growth suite** — ~55 skills (seo-audit, ai-seo, cro, ads,
129
+ cold-email, launch, pricing, paywalls, onboarding, referrals, revops…)
130
+ with bilingual triggers.
131
+ - **Lifecycle-aware persona routing** — `runtime/lifecycle.py` reads the
132
+ active BMAD initiative (`_bmad/config.toml` + `_bmad-output/` artifacts)
133
+ and biases persona detection toward the current phase (discovery → PRD →
134
+ breakdown → architecture → UX → implementation → review → retro).
135
+ Non-BMAD projects are unaffected (`phase=None` → keyword-only routing).
136
+ - **Handoff hints** — `detect_multiple` emits `next_persona_hint`, the
137
+ highest-scoring persona outside the selected set, injected into context
138
+ for smooth cross-domain transitions.
139
+ - **Per-project skill distribution** — `scripts/distribute-agent-skills.py`
140
+ junctions/hardlinks all 245 skills into `.agents/skills` (every agent
141
+ harness: Devin, Claude, Cursor, Codex…) plus `.claude/skills` and
142
+ `.devin/skills`; nothing stays global, so unrelated sessions stay lean.
143
+ - **Trigger enrichment + lint** — imported skills got Arabic glossary
144
+ triggers; `scripts/enrich-imported-triggers.py` /
145
+ `enrich-bmad-triggers.py` are idempotent and re-runnable after upstream
146
+ updates.
147
+ - **FINOPS persona fixed** — new dedicated `finops` skill replaces the
148
+ mismatched `performance-engineer` mapping.
149
+ - **External deps manifest** — `deps.yaml` declares every tool aiZee
150
+ features need (binaries, pip, git-repos, docker, env); `aizee deps
151
+ check|install` verifies and provisions them (see
152
+ [External Tooling](#external-tooling--auto-provisioning)).
153
+
154
+ Full analysis: `tech-stack/persona-bmad-review.md`.
155
+
156
+ ## What's New in v6.7.0 — vercel-labs Adoption Pass
157
+
158
+ From a survey of all 396 vercel-labs repos (28 deep-studied; report in
159
+ `vercel-labs-study-2026-11.md`):
160
+
161
+ - **Inert plan engine** — `aizee plan validate|run|resume` runs
162
+ callscript-style JSON plans: no eval, all-issues validation, bounded
163
+ fan-outs/call budgets, suspend/resume that never re-runs settled side
164
+ effects, auditable `plan_hash`.
165
+ - **Skill lock + drift** — `skills-lock.json` pins every skill by folder
166
+ hash (`skillFolderHash` equivalent); `aizee skill lock-check` reports
167
+ changed/missing/unlocked, `lock-update` rebuilds.
168
+ - **Canonical SKILL.md lint** — kebab-case dirs, exact `SKILL.md`, 500-line
169
+ progressive-disclosure cap, folded into `aizee skill lint`.
170
+ - **MCP tool-surface freeze** — `aizee mcp freeze <server> [--check]`
171
+ snapshot-locks tool definitions and detects added/removed/changed tools.
172
+ - **Doc→code drift gate** — `aizee check-docs` validates
173
+ `wiki path#symbol refs` links across docs (lat.md-style).
174
+ - **Offline models.dev catalog** — `aizee models --catalog [--query]`:
175
+ 886 models/12 providers vendored snapshot.
176
+ - **Error contract** — `AizeeError.scope`/`public` + `to_public_dict()`
177
+ redaction for safe MCP/CLI envelopes.
178
+ - **Activation layer** — every capability is wired for automatic use, not
179
+ just installed: a `Command Surface & Auto-Triggers` section in
180
+ `AGENTS.md` (propagated to all agent adapters) + four trigger skills
181
+ (`inert-plan-runner`, `mcp-surface-integrity`, `docs-drift-check`,
182
+ `skill-lock-integrity`) so persona-detection surfaces the right
183
+ command at the right moment, and event rules fire the gates
184
+ (post-install → lock-check, MCP change → freeze --check, doc edit →
185
+ check-docs) without being asked.
186
+
187
+ ## What's New in v6.6.0 — Repo-Study Adoption Pass
188
+
189
+ Adopted from a structured study of google/elephant-goldfish-model,
190
+ wotschofsky/domain-digger, and godotengine/godot
191
+ (full report in `repo-study-2026-11.md`):
192
+
193
+ - **Goldfish spec review** — `aizee spec review <spec_id|--file> [--preset]`
194
+ plans a fresh-zero-context reviewer pipeline (EGM port): semantic
195
+ spec/plan split, 5-stage reviewer personas, severity triage +
196
+ traceability consolidation. Vendored Apache-2.0 rubrics + personas live
197
+ under `resources/`; workflow: `workflows/65-goldfish-review.md`.
198
+ - **Multi-harness skill packaging** — `aizee skill link --pack <dir>`
199
+ emits an EGM-style portable bundle: canonical `plugin.json` plus
200
+ `.claude-plugin/`, `.codex-plugin/`, `.cursor-plugin/`, `.agents/`
201
+ manifests, vendored `skills/`, `agents/` personas, and `resources/`
202
+ rubrics. Replacement is fail-closed on non-bundle destinations.
203
+ - **Domain intelligence toolkit** — `aizee intel <domain>` plus 7 MCP
204
+ tools (`runtime/dns_wire.py` + `runtime/domain_intel.py`, a Python
205
+ rewrite of domain-digger concepts): wire-format DNS codec, UDP→TCP
206
+ fallback, iterative authoritative walking, DoH, WHOIS, certificate
207
+ history, and subdomain enumeration — all bounded and fail-closed.
208
+ - **Skill scenario evals** — `eval/skill_scenarios.py` runs static/live
209
+ behavioral checks (`eval/scenarios/goldfish-review.yaml`) and feeds the
210
+ eval harness as a `skill-scenarios` gate.
211
+ - **Godot reference** — full engine source pinned under `refs/godot`
212
+ (local-only) + `tech-stack/godot-4.md` records the verified portable
213
+ install (`4.7.2.stable.official`) for the GAME vertical.
214
+
215
+ ## What's New in v6.1.0 — Lean Surface
216
+
217
+ The headline change: **the default surface is small and honest**. The MCP fleet is reduced to what is actually used, marketing tool modules are gated off instead of deleted, dead code is gone, and installers remove retired files on upgrade.
218
+
219
+ ### Lean defaults
220
+
221
+ - **3 MCP servers by default** — `aizee` (governance), `graphify`, `context7`. The marketing/social/freelance MCP servers are gone from every shipped config.
222
+ - **46 MCP tools enabled** — 7 marketing-domain tool modules (ads, analytics, CRO, email, freelance, SEO, social) still ship but are disabled via `disabledToolModules` in `aizee_mcp/config.json`. Remove a name to re-enable it.
223
+ - **31 plugins disabled** — `plugins.yaml` ships them `enabled: false`; the sandbox blocks the rest. `code2video`, `graphify`, `context7` stay on.
224
+ - **Dead code removed** — unused runtime modules (`a2a_server`, `semantic_search`, `provider_registry`, `sql_injection_guard`, `plugin_system`, …) and their tests deleted.
225
+
226
+ ### Upgrade hygiene
227
+
228
+ - **Stale-file cleanup** — `scripts/stale_files.txt` lists retired paths; `install.ps1`, `install.sh`, and `scripts/update.py` delete them from existing installs while preserving `state/`, `brain/`, and `.env`.
229
+ - **Unified test tree** — all tests live under `tests/{runtime,memory,eval,aizee_mcp,…}`.
230
+ - **Design library seeded** — `design-library/` now ships real `DESIGN.md` seeds (editorial, midnight, minimal) so `DesignLibrary` no longer resolves an empty catalog.
231
+ - **`Memory.md` self-compaction** — kept under its 500-line budget via `aizee memory compact` (archive in `memory/archive/`).
232
+
233
+ ### v6.0.0 recap — Governed Runtime
234
+
235
+ Enforcement moved onto the execution path in v6.0.0:
236
+
237
+ - **`runtime/enforcement.py`** — unified helper: MCP firewall → AgentGateway request checks → execution → gateway response checks → audit. Shared by every call path.
238
+ - **`Kernel.act()`** — AgentGateway verdicts (ALLOW / REDACT / BLOCK) now gate real actions; prompt-injection and secret-leak checks apply to prompt-like fields without blocking ordinary file writes.
239
+ - **Outbound MCP** — `McpClient` (sync + async) and `McpAgent` run the firewall and gateway around every external tool call.
240
+ - **Inbound MCP** — the aiZee server's tools keep RBAC *and* get gateway wrapping.
241
+
242
+ ### Detection depth
243
+
244
+ - **Injection detector L1→L3** — 13-technique regex layer + L2 embedding-similarity layer + optional L3 LLM-judge hook. Deterministic/model-free by default.
245
+ - **Dual-LLM hardening** — quarantined worker output is schema-enforced via Pydantic; parse failure is fail-safe.
246
+ - **MCP 2026-07-28 stateless** — per-request `protocolVersion` negotiation + `Mcp-Method`/`Mcp-Name` header routing (`runtime/mcp_protocol.py`).
247
+
248
+ ### Governance depth
249
+
250
+ - **APL verdicts** — policies can now `modify` (rewrite payloads, audited) and `observe` (log-only) in addition to allow/ask/deny.
251
+ - **Lifecycle hooks** — `output.pre_send` and `memory.pre_write` phases; hooks can veto or mutate.
252
+ - **`aizee heal`** — safe autofix orchestrator (dry-run default, `--apply` with confirmation, audit to `state/heal.log`).
253
+ - **Per-PR budgets** — cumulative spend limits keyed by PR id (`AIZEE_PR_ID`), on top of session/hour/day windows.
254
+ - **Release gate** — `eval/release_gate.py` runs the reliability priority ladder over recorded rollouts; wired into `aizee ci`.
255
+ - **Chaos suite** — `eval/chaos.py` fault-injection scenarios + error-budget math.
256
+
257
+ ### Memory & protocol surfaces
258
+
259
+ - **Bi-temporal memory** — `store.as_of(as_of=..., valid_at=...)` answers "what did we know then" and "what was true then" separately; `pinned`, soft-delete with tombstone-time queries, contradiction relations.
260
+ - **`aizee memory compact`** — `Memory.md` auto-compaction (500-line budget, `[PINNED]` rescue, archive under `memory/archive/`).
261
+ - **Code Mode** — `aizee codemode` executes sandboxed Python snippets that call MCP tools directly (AST scan + restricted builtins + governed bridge + timeout).
262
+ - **`aizee bootstrap`** — materialize a minimal OS root after `pip install aizee` (idempotent, dry-run default).
263
+ - **Advisory audits** — `aizee task overcheck` (over-engineering signals from plan + graph), `aizee task curriculum` (staged learning plan from tech-stack refs).
264
+ - **Cross-harness handoffs** — `aizee memory handoff --to-harness <h>` stamps a portable `aizee.handoff.v1` doc into the scoped vault (`brain/handoffs/`, fail-closed gitignore guard) so another agent picks up exactly where this one stopped.
265
+ - **Instincts** — `aizee memory instinct-*` records atomic trigger→action behaviors with confidence 0.3→0.9; observed in ≥2 projects → auto-promotes project→user scope.
266
+ - **MCP supply-chain audit** — `aizee security mcp` scans discovered MCP configs (JSONC-tolerant) for plaintext/token-shaped secrets in `env` *and* `args`, unpinned `npx`/`uvx` packages, writable command paths, and rug-pull drift vs locked baselines.
267
+ - **Fact-forcing guardrail** — recoverable destructive commands (force-push, hard reset) pass only with explicit `{target, rollback}` facts; catastrophic ones stay hard-blocked.
268
+ - **Prompt-defense baseline** — every materialized harness rules file carries a fixed anti-injection section (identity lock, secret non-disclosure, untrusted external content, unicode-trick suspicion).
269
+
270
+ Full detail: [CHANGELOG.md](CHANGELOG.md)
271
+
272
+ ---
273
+
274
+ ## Quick Start
275
+
276
+ ### Prerequisites
277
+
278
+ | Requirement | Minimum | Recommended |
279
+ | :--- | :--- | :--- |
280
+ | Python | 3.10 | 3.12 |
281
+ | Git | 2.30+ | Latest |
282
+ | OS | Windows 10 / macOS 12 / Ubuntu 22.04 | Latest |
283
+
284
+ ### Installation
285
+
286
+ ```bash
287
+ git clone https://github.com/m3taz-ahmed/aizee.git .ai
288
+ cd .ai
289
+ ```
290
+
291
+ **Windows — GUI wizard** (double-click `install.bat` or run):
292
+ ```powershell
293
+ .\install.ps1 -Gui
294
+ ```
295
+
296
+ **Windows — CLI:**
297
+ ```powershell
298
+ .\install.ps1
299
+ ```
300
+
301
+ **macOS / Linux:**
302
+ ```bash
303
+ bash install.sh
304
+ ```
305
+
306
+ **pip (from GitHub):**
307
+ ```bash
308
+ pip install "git+https://github.com/m3taz-ahmed/aizee.git"
309
+ aizee bootstrap --target ~/.aizee --yes # materialize a minimal OS root
310
+ export AIZEE_ROOT=~/.aizee
311
+ ```
312
+
313
+ > PyPI publication is planned; until `pip install aizee` lands, install
314
+ > from the repo directly as above (the `pyproject.toml` is real — it
315
+ > installs cleanly as an editable or git package).
316
+
317
+ **Installer map** — the `.bat` files are thin launchers, not separate installers:
318
+
319
+ | Entrypoint | Real implementation | Preserves `state/`/`brain/` |
320
+ | :--- | :--- | :--- |
321
+ | `install.ps1` / `install.sh` | The actual installers (copy + in-place modes) | Yes |
322
+ | `install.bat` | → `installer/gui_installer.ps1` | Yes |
323
+ | `update.bat` | → `scripts/update.py` (git pull + post-install) | Yes |
324
+ | `uninstall.bat` | → `runtime/uninstaller_gui.py` (fallback: `aizee uninstall`) | n/a |
325
+ | `backup.bat` / `restore.bat` | → `scripts/backup_brain.py` / `restore_brain.py` | n/a |
326
+
327
+ Both install and update run the `scripts/stale_files.txt` retirement list, so files removed from the repo are deleted from existing installs too.
328
+
329
+ ### Verify
330
+
331
+ ```bash
332
+ aizee doctor # Health check (46 checks)
333
+ aizee heal # Diagnose + safe autofixes (dry-run; --apply to fix)
334
+ aizee status # Current persona, skills, budget
335
+ aizee deps install # Provision external tools declared in deps.yaml
336
+ ```
337
+
338
+ ### Updating
339
+
340
+ For an **existing install** (not a fresh install) — one file does everything:
341
+
342
+ - **Windows:** double-click `update.bat`
343
+ - **Any OS:** `python scripts/update.py --yes`
344
+
345
+ What it does: `git fetch` → stashes any local edits (recover with `git stash pop`) → `git pull --rebase` → post-install hooks + `aizee deps check` advisory. Your learned data (`memory/`, `state/`, `brain/`, `.env`) is gitignored and always preserved. Preview first with `python scripts/update.py --dry-run`.
346
+
347
+ To jump straight to a specific release: `git checkout vX.Y.Z` then `python scripts/update.py --post-install-only`.
348
+
349
+ ---
350
+
351
+ ## External Tooling & Auto-Provisioning
352
+
353
+ aiZee features sometimes need software that lives **outside** this repo —
354
+ CLI tools, pip packages, media kits, docker images, API keys. All of it is
355
+ declared in **`deps.yaml`** (44 entries) so nothing is a silent missing
356
+ requirement:
357
+
358
+ ```bash
359
+ aizee deps check # Report every dep: ok / missing / wrong version
360
+ aizee deps check --tag video # Filter by group (video, devx, agent, media…)
361
+ aizee deps install # Provision everything unsatisfied (per-OS cmds)
362
+ aizee deps install --dry-run # Preview commands without running
363
+ aizee doctor # deps verdict folded into the health report
364
+ ```
365
+
366
+ `install.ps1` / `install.sh` / `scripts/update.py` already run
367
+ `aizee deps check` as a post-install hook and offer to install what's
368
+ missing — so a fresh clone reaches full capability with one command.
369
+
370
+ | Category | Examples | Needed for |
371
+ | :--- | :--- | :--- |
372
+ | **Core (bundled)** | Python 3.10+, SQLite, pyyaml, pydantic | Everything — zero extra installs |
373
+ | **DevX CLIs** | repomix, code2prompt, oxlint, agent-browser | Context packing, repo→prompt, JS lint, agent browsing |
374
+ | **Spec/SDD** | specify (spec-kit), openspec, spec-kitty, spec-workflow-mcp | Spec-driven development workflows |
375
+ | **Automation** | n8n, super-productivity, gitbutler | Workflow automation, PM, git branches |
376
+ | **Media kits** | cinecode, bang-motion, motion-graphics (`~/.aizee/media`) | Video/motion production (optional) |
377
+ | **ComfyUI** | `~/.aizee/media/apps/ComfyUI` + custom nodes | Local image/video generation (optional, GPU) |
378
+ | **Docker** | Docker Desktop + `code2video` image | code2video plugin rendering (optional) |
379
+
380
+ **Optional by design:** media/video deps are `severity: optional` — core
381
+ governance, personas, skills, memory, and MCP work fully without them.
382
+ `aizee deps check` tells you exactly what each feature is missing and the
383
+ one command that fixes it.
384
+
385
+ ---
386
+
387
+ ## Core Architecture
388
+
389
+ ```
390
+ .ai/ # Sovereign root (discovered via AIZEE_ROOT)
391
+ ├── AGENTS.md # Cross-tool canonical bootloader
392
+ ├── global-roles.md # 29 personas + operational rules
393
+ ├── global-workflow.md # Cognitive loading & execution protocol
394
+ ├── runtime/ # Kernel: policy, budget, audit, 139 governance modules
395
+ │ ├── kernel.py # Facade — Probity → Guardian → Policy → Loop → Budget → Audit
396
+ │ ├── enforcement.py # Unified firewall+gateway enforcement helper
397
+ │ ├── agent_gateway.py # Request/response guardrails (ALLOW/REDACT/BLOCK)
398
+ │ ├── injection_detector.py# L1 regex + L2 embeddings + L3 LLM-judge
399
+ │ ├── lifecycle.py # BMAD phase detection → persona routing bias
400
+ │ ├── codemode/ # Sandboxed code-mode tool execution
401
+ │ └── policies/ # default/guardian/probity/mcp_firewall YAMLs
402
+ ├── memory/ # SQLite + FTS5 + vector, bi-temporal queries
403
+ ├── aizee_mcp/ # MCP server (46 tools enabled, 3 resources)
404
+ ├── eval/ # Benchmarks, chaos, reliability, release gate
405
+ ├── skills/ # 245 persona + lord + BMAD + marketing skills
406
+ ├── _bmad/ # BMAD runtime (config/scripts — gitignored)
407
+ ├── .agents/skills # Junction distribution for agent harnesses
408
+ ├── deps.yaml # External dependency manifest (check/install)
409
+ ├── workflows/ # 66 trigger-based execution protocols
410
+ ├── rules/ # Compressed behavioral rules
411
+ ├── tech-stack/ # 271 version-locked stack references
412
+ ├── dashboard/ # Web dashboard (Python stdlib HTTP)
413
+ ├── scripts/ # Installers, validators, MCP wrappers
414
+ ├── install.ps1 / install.sh # Idempotent OS installer
415
+ └── pyproject.toml # Package metadata + quality config
416
+ ```
417
+
418
+ ---
419
+
420
+ ## The Six Pillars
421
+
422
+ ### 1. Persona + Skill Composition
423
+ 29 personas (`ARCH`, `QA`, `SEC`, `DEV`, `SRE`, `DATA`, `ML`, `MLOPS`, `FINOPS`, `DEVOPS`, `API`, `FREELANCE`, `MARKETING`, `GROWTH`, `BRAND`, `EMAIL`, `SOCIAL`, `CRO`, `SALES`, etc.) with lord-level domain skills — auto-detected per task, no manual selection needed.
424
+
425
+ Two routing layers on top of keyword scoring:
426
+
427
+ - **Lifecycle phase bias** — when a BMAD initiative is active, `_bmad-output/`
428
+ artifacts reveal the current phase (PRD → architecture → stories → review)
429
+ and `runtime/lifecycle.py` biases selection toward the matching persona
430
+ (e.g. mid-implementation → `DEV`, mid-review → `QA`+`ARCH`).
431
+ - **Handoff hints** — the result carries `next_persona_hint`: the strongest
432
+ persona outside the selected set, so cross-domain tasks ("review the
433
+ design, then implement") transition cleanly.
434
+
435
+ ```bash
436
+ aizee persona detect --multi "build a secure docker API with postgres"
437
+ # → Primary: ARCH + Secondary: SEC, DEVOPS + Lords: security-lord, cloud-platforms-lord
438
+ # + lifecycle_phase / next_persona_hint when a BMAD initiative is active
439
+ ```
440
+
441
+ ### 2. Runtime Governance
442
+ Every action passes through the gate pipeline before execution:
443
+
444
+ ```
445
+ Probity → Guardian → Policy → Loop Detector → Budget → Audit
446
+ └─ AgentGateway: injection + secret-leak verdicts (v6)
447
+ ```
448
+
449
+ - **Policy engine** — `allow/ask/deny/modify/observe` YAML rules with AST-safe evaluation
450
+ - **MCP firewall** — rule-based outbound tool-call gate (deny destructive, ask unknown)
451
+ - **AgentGateway** — prompt/response guardrails on every enforced path
452
+ - **Budget manager** — token/cost/call limits per session/hour/day/week/month **and per PR**
453
+ - **Audit logger** — SHA-256 hash-chained, Ed25519-signed, tamper-evident trail
454
+ - **Workflow runner** — durable SQLite-backed execution with saga compensation
455
+
456
+ ### 3. Live Ground-Truth
457
+ Context7 MCP fetches current library docs before implementation. Graphify knowledge graph replaces blind `grep` for codebase navigation.
458
+
459
+ ### 4. Hybrid Memory
460
+ SQLite + FTS5 full-text + optional vector index (SentenceTransformers). Episodic, semantic, factual, procedural layers — now with pinning, soft-delete, contradiction links, HMAC integrity, and bi-temporal `as_of` queries.
461
+
462
+ ```bash
463
+ aizee memory ingest # Rebuild index after changes
464
+ aizee memory search "docker" # Full-text + vector search
465
+ aizee memory compact # Keep Memory.md under its line budget
466
+ ```
467
+
468
+ ### 5. Quality Gates (Zero Defect)
469
+ ```bash
470
+ ruff check . # 0 warnings
471
+ mypy # Strict typing
472
+ aizee test --full # full suite + coverage (fail-under=100)
473
+ python eval/harness.py # E2E eval: ruff + mypy + pytest + validate-globals
474
+ ```
475
+
476
+ ### 6. Token Efficiency
477
+ Persona detection is local (pure Python, zero LLM tokens). Code Mode replaces tool-call JSON ping-pong with sandboxed snippets that invoke tools directly — materially fewer orchestration tokens on multi-tool tasks.
478
+
479
+ ---
480
+
481
+ ## Runtime Enforcement Map
482
+
483
+ | Path | Gates applied |
484
+ | :--- | :--- |
485
+ | `Kernel.act()` | Probity → Guardian → Policy → Loop → Budget → Audit + AgentGateway prompt checks |
486
+ | Outbound MCP (`McpClient`, `McpAgent`, `aizee mcp call`) | mcp_firewall → gateway request → execute → gateway response |
487
+ | Inbound MCP (`aizee_mcp` tools) | RBAC + gateway request/response wrap |
488
+ | Chat (`kernel.chat_message`) | prompt_gate → … → `output.pre_send` hooks |
489
+ | Memory writes | `memory.pre_write` hooks (veto/mutate) + HMAC integrity |
490
+ | Code Mode (`aizee codemode`) | AST sandbox scan + restricted builtins + governed `call_tool` |
491
+
492
+ ---
493
+
494
+ ## Dashboard
495
+
496
+ ```bash
497
+ python dashboard/server.py 8080
498
+ # → http://127.0.0.1:8080
499
+ ```
500
+
501
+ Dark-first command-center UI: command palette (`Ctrl+K`), bento-grid metrics, status pills, glass panels. Optional Bearer auth via `AIZEE_DASHBOARD_TOKEN`.
502
+
503
+ **Tabs:** Overview · Memory Explorer · Policy Sandbox · Workflows · Sagas · Chat · Tech Stack · Telemetry · System Health · Audit Logs · **Settings**
504
+
505
+ > **Important — disable MCP servers you don't use.** Every enabled MCP server consumes memory and may spawn a subprocess on first tool call. After installation, open **Settings → MCP Servers**, uncheck what you don't need (**Uncheck All** then re-check), and **Save Changes**. The kernel auto-reloads on save.
506
+
507
+ Settings persist to `state/settings.json` (gitignored, survives updates). Schema migrations run automatically — old files are backed up.
508
+
509
+ ---
510
+
511
+ ## Key Commands
512
+
513
+ | Command | Purpose |
514
+ | :--- | :--- |
515
+ | `aizee doctor [--json]` | Health verdict + ordered Run:/Guidance: fix steps |
516
+ | `aizee heal [--apply] [-y]` | Diagnose + safe auto-fixes (dry-run default) |
517
+ | `aizee check <action>` | Policy verdict for an action |
518
+ | `aizee find "<need>"` | NL search over skills/workflows/tech-stack |
519
+ | `aizee goal "<objective>"` | Map a goal to the best workflow + steps |
520
+ | `aizee config show` | Masked settings snapshot |
521
+ | `aizee config apply <file> --check` | Validate a settings file (no write) |
522
+ | `aizee spec propose\|changes\|archive` | OpenSpec-style change folders |
523
+ | `aizee gateway init\|serve` | Governed LLM proxy (failover + enforcement) |
524
+ | `aizee models` | Model routing catalog (tiers + cost) |
525
+ | `aizee work poll` | Open GitHub issues via `gh` (pull model) |
526
+ | `aizee skill link` | Install SKILL.md into agent harnesses |
527
+ | `aizee skill lint [--write-index]` | Description lint + trigger-collision detection |
528
+ | `aizee skill scan` | Prompt-injection / exfiltration scan of skills |
529
+ | `aizee hooks install\|status` | Wire aiZee hooks into agent harnesses |
530
+ | `aizee abstract [--force]` | Generate L0 `.abstract.md` tiered summaries |
531
+ | `aizee session from-curl\|from-har` | Inspect a captured API auth bundle |
532
+ | `aizee memory compact [--apply]` | Compact Memory.md to its line budget |
533
+ | `aizee codemode --code/--file` | Sandboxed snippet calling MCP tools |
534
+ | `aizee task overcheck` | Over-engineering audit of the active plan |
535
+ | `aizee task curriculum --stack …` | Staged learning plan from tech-stack refs |
536
+ | `aizee bootstrap --target DIR` | Materialize an OS root (post-`pip install`) |
537
+ | `aizee ci` | Full CI gates incl. reliability release gate |
538
+ | `aizee security scan <path>` | SAST + external scanner orchestration |
539
+ | `aizee deps check\|install [ids]` | Verify/provision external deps (deps.yaml) |
540
+ | `aizee skill lock-check\|lock-update` | Skill integrity: drift detection / re-lock |
541
+ | `aizee mcp freeze <srv> [--check]` | Snapshot-lock MCP tool surface |
542
+ | `aizee check-docs` | Validate `[[file#symbol]]` doc references |
543
+ | `aizee spec review <spec>` | Goldfish reviewer-pipeline plan |
544
+ | `aizee intel <domain>` | DNS/WHOIS/certs/subdomain recon |
545
+ | `aizee eval` | Behavioral skill-scenario checks |
546
+ | `aizee persona detect --multi` | Multi-persona + lifecycle phase + hints |
547
+
548
+ ---
549
+
550
+ ## Quality Gates
551
+
552
+ | Gate | Command | Status |
553
+ | :--- | :--- | :--- |
554
+ | Lint | `ruff check .` | 0 warnings |
555
+ | Types | `mypy` | 0 errors (strict) |
556
+ | Tests (fast) | `aizee test` | fast tier, no coverage |
557
+ | Tests (full) | `aizee test --full` | full suite, coverage floor 100% |
558
+ | Integrity | `scripts/validate-globals.py` | 1242 files, 0 errors |
559
+ | Docs sync | `scripts/sync_docs.py --check` | in sync |
560
+ | E2E | `python eval/harness.py` | all gates pass |
561
+ | Release | `python eval/release_gate.py` | reliability ladder over rollout evidence |
562
+
563
+ ---
564
+
565
+ ## Tech Stack
566
+
567
+ - **Core:** Pure Python 3.10+ (no Node.js required for core OS)
568
+ - **Memory:** SQLite + FTS5 + optional SentenceTransformers vectors
569
+ - **MCP:** FastMCP server, 46 tools enabled by default (7 marketing tool modules ship gated via `disabledToolModules`)
570
+ - **Dashboard:** Python stdlib HTTP server + SQLite
571
+ - **Knowledge graph:** graphify (optional)
572
+ - **Dependencies:** pyyaml, pydantic, rich, cryptography, numpy, turbovec
573
+
574
+ ---
575
+
576
+ ## Contributing
577
+
578
+ 1. Fork → feature branch (`feature/*`)
579
+ 2. Write tests first (AAA pattern, one behavior per test)
580
+ 3. Run `ruff check . && mypy && pytest -q && python eval/harness.py`
581
+ 4. All gates must pass — no PR without green
582
+ 5. Conventional commits: `type(scope): subject`
583
+ 6. PR ≤ 400 lines, targeted tests only
584
+
585
+ ---
586
+
587
+ ## Ecosystem & Distribution
588
+
589
+ aiZee ships its own MCP server and agent-facing skill. The surfaces below make
590
+ it discoverable to agents and humans — some require maintainer accounts:
591
+
592
+ | Surface | What it unlocks | Status |
593
+ |---|---|---|
594
+ | **PyPI** (`aizee`) | `pip install aizee` — the README's install path | ⏳ pending publication |
595
+ | **Official MCP servers list** | Listed in `modelcontextprotocol/servers` — where Claude/Cursor users discover MCP tools | ⏳ PR needed |
596
+ | **mcpservers.org / Smithery / Glama** | MCP directories with one-click install | ⏳ submission needed |
597
+ | **awesome-claude-code / awesome-mcp** | Curated lists that drive most early stars | ⏳ PR needed |
598
+ | **GitHub social preview** | The image shown when the repo is shared on X/LinkedIn/Discord | ⏳ needs a banner image (1280×640) |
599
+ | **Demo GIF** | The money shot: agent blocked mid-commit | ⏳ record with ScreenToGif/asciinema+agg |
600
+ | **Show HN · r/ClaudeAI · r/cursor** | Launch traffic | ⏳ after the above land |
601
+ | **Dev.to / Hashnode post** | Searchable launch write-up | ⏳ optional |
602
+
603
+ Everything else (topics, description, release, `llms.txt`, root `SKILL.md`,
604
+ `aizee skill link` into agent harnesses) is already shipped.
605
+
606
+ ---
607
+
608
+ ## License
609
+
610
+ MIT — see [LICENSE](LICENSE).
611
+
612
+ ---
613
+
614
+ <div align="center">
615
+ <p><strong>aiZee</strong> — The policy layer for AI coding.</p>
616
+ <p>Built by <a href="https://linkedin.com/in/moataz-ahmed">Moataz Ahmed</a></p>
617
+ </div>