ananke-plexus 0.1.0__tar.gz

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 (244) hide show
  1. ananke_plexus-0.1.0/.ananke/apm.lock +22 -0
  2. ananke_plexus-0.1.0/.ananke/architecture/diagrams.md +14 -0
  3. ananke_plexus-0.1.0/.ananke/architecture/system.calm.json +8 -0
  4. ananke_plexus-0.1.0/.ananke/config.local.toml.example +10 -0
  5. ananke_plexus-0.1.0/.ananke/config.toml +19 -0
  6. ananke_plexus-0.1.0/.ananke/policy/default.toml +7 -0
  7. ananke_plexus-0.1.0/.ananke/skills/installed/code-graph-reviewer@0.1.0/README.md +1 -0
  8. ananke_plexus-0.1.0/.ananke/skills/installed/code-graph-reviewer@0.1.0/SKILL.md +3 -0
  9. ananke_plexus-0.1.0/.ananke/skills/installed/code-graph-reviewer@0.1.0/ananke-skill.toml +23 -0
  10. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/bmad.yaml +13 -0
  11. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/plan.md +7 -0
  12. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/requirement.md +12 -0
  13. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/spec.lock.json +11 -0
  14. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/spec.md +9 -0
  15. ananke_plexus-0.1.0/.ananke/specs/ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle/tasks.md +7 -0
  16. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/bmad.yaml +17 -0
  17. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/plan.md +7 -0
  18. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/requirement.md +14 -0
  19. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/spec.lock.json +11 -0
  20. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/spec.md +11 -0
  21. ananke_plexus-0.1.0/.ananke/specs/ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities/tasks.md +7 -0
  22. ananke_plexus-0.1.0/.env.example +42 -0
  23. ananke_plexus-0.1.0/.github/workflows/ci.yml +120 -0
  24. ananke_plexus-0.1.0/.github/workflows/codeql.yml +33 -0
  25. ananke_plexus-0.1.0/.github/workflows/dependency-review.yml +14 -0
  26. ananke_plexus-0.1.0/.github/workflows/docs.yml +29 -0
  27. ananke_plexus-0.1.0/.github/workflows/release-pypi.yml +142 -0
  28. ananke_plexus-0.1.0/.github/workflows/release-testpypi.yml +127 -0
  29. ananke_plexus-0.1.0/.github/workflows/scorecard.yml +37 -0
  30. ananke_plexus-0.1.0/.github/workflows/security.yml +108 -0
  31. ananke_plexus-0.1.0/.github/workflows/workflow-lint.yml +24 -0
  32. ananke_plexus-0.1.0/.gitignore +249 -0
  33. ananke_plexus-0.1.0/.pre-commit-config.yaml +13 -0
  34. ananke_plexus-0.1.0/.python-version +1 -0
  35. ananke_plexus-0.1.0/.trivyignore +12 -0
  36. ananke_plexus-0.1.0/ANANKE_PLEXUS_MASTER_SPEC.md +3859 -0
  37. ananke_plexus-0.1.0/CHANGELOG.md +114 -0
  38. ananke_plexus-0.1.0/LICENSE +201 -0
  39. ananke_plexus-0.1.0/Makefile +108 -0
  40. ananke_plexus-0.1.0/NOTICE +4 -0
  41. ananke_plexus-0.1.0/PKG-INFO +1083 -0
  42. ananke_plexus-0.1.0/README.md +1015 -0
  43. ananke_plexus-0.1.0/SECURITY.md +16 -0
  44. ananke_plexus-0.1.0/assets/ananke_plexus_architecture_overview.png +0 -0
  45. ananke_plexus-0.1.0/assets/ananke_plexus_governed_software_architecture.png +0 -0
  46. ananke_plexus-0.1.0/assets/code_graph_intelligence_infographic.png +0 -0
  47. ananke_plexus-0.1.0/assets/from_intent_to_implementation.png +0 -0
  48. ananke_plexus-0.1.0/assets/governed_agentic_execution_pipeline.png +0 -0
  49. ananke_plexus-0.1.0/assets/open_ecosystem_getting_started.png +0 -0
  50. ananke_plexus-0.1.0/assets/verifiable_pipeline_for_autonomous_engineering.png +0 -0
  51. ananke_plexus-0.1.0/assets/why_adlc_matters_governed_autonomous_development.png +0 -0
  52. ananke_plexus-0.1.0/docs/Ananke Plexus.md +3011 -0
  53. ananke_plexus-0.1.0/docs/concepts/architecture.md +161 -0
  54. ananke_plexus-0.1.0/docs/concepts/bmad.md +196 -0
  55. ananke_plexus-0.1.0/docs/concepts/graph.md +201 -0
  56. ananke_plexus-0.1.0/docs/concepts/mcp-apm.md +216 -0
  57. ananke_plexus-0.1.0/docs/concepts/policy-security.md +220 -0
  58. ananke_plexus-0.1.0/docs/concepts/why-ananke.md +144 -0
  59. ananke_plexus-0.1.0/docs/guides/getting-started.md +276 -0
  60. ananke_plexus-0.1.0/docs/guides/implementation-log.md +136 -0
  61. ananke_plexus-0.1.0/docs/guides/release.md +154 -0
  62. ananke_plexus-0.1.0/docs/guides/setup-and-capabilities.md +257 -0
  63. ananke_plexus-0.1.0/docs/index.md +111 -0
  64. ananke_plexus-0.1.0/docs/reference/commands.md +84 -0
  65. ananke_plexus-0.1.0/docs/reference/configuration.md +115 -0
  66. ananke_plexus-0.1.0/docs/reference/policy.md +137 -0
  67. ananke_plexus-0.1.0/mkdocs.yml +83 -0
  68. ananke_plexus-0.1.0/pyproject.toml +164 -0
  69. ananke_plexus-0.1.0/scripts/publish_local_pypi.sh +31 -0
  70. ananke_plexus-0.1.0/scripts/publish_local_testpypi.sh +25 -0
  71. ananke_plexus-0.1.0/src/ananke/__init__.py +1 -0
  72. ananke_plexus-0.1.0/src/ananke/plexus/__init__.py +6 -0
  73. ananke_plexus-0.1.0/src/ananke/plexus/api.py +893 -0
  74. ananke_plexus-0.1.0/src/ananke/plexus/apm/__init__.py +1 -0
  75. ananke_plexus-0.1.0/src/ananke/plexus/apm/audit.py +24 -0
  76. ananke_plexus-0.1.0/src/ananke/plexus/apm/bundle.py +87 -0
  77. ananke_plexus-0.1.0/src/ananke/plexus/apm/cli.py +177 -0
  78. ananke_plexus-0.1.0/src/ananke/plexus/apm/importers/copilot.py +65 -0
  79. ananke_plexus-0.1.0/src/ananke/plexus/apm/installer.py +67 -0
  80. ananke_plexus-0.1.0/src/ananke/plexus/apm/lockfile.py +24 -0
  81. ananke_plexus-0.1.0/src/ananke/plexus/apm/manifest.py +48 -0
  82. ananke_plexus-0.1.0/src/ananke/plexus/apm/provenance.py +12 -0
  83. ananke_plexus-0.1.0/src/ananke/plexus/apm/registry.py +44 -0
  84. ananke_plexus-0.1.0/src/ananke/plexus/apm/resolver.py +25 -0
  85. ananke_plexus-0.1.0/src/ananke/plexus/apm/sandbox.py +120 -0
  86. ananke_plexus-0.1.0/src/ananke/plexus/architecture/calm.py +238 -0
  87. ananke_plexus-0.1.0/src/ananke/plexus/backends/__init__.py +1 -0
  88. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/__init__.py +1 -0
  89. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/amazon_q.py +69 -0
  90. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/copilot.py +81 -0
  91. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/fake.py +97 -0
  92. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/generic_cli.py +90 -0
  93. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/hermes.py +77 -0
  94. ananke_plexus-0.1.0/src/ananke/plexus/backends/adapters/kiro.py +69 -0
  95. ananke_plexus-0.1.0/src/ananke/plexus/backends/base.py +66 -0
  96. ananke_plexus-0.1.0/src/ananke/plexus/backends/capabilities.py +21 -0
  97. ananke_plexus-0.1.0/src/ananke/plexus/backends/registry.py +94 -0
  98. ananke_plexus-0.1.0/src/ananke/plexus/cli/__init__.py +1 -0
  99. ananke_plexus-0.1.0/src/ananke/plexus/cli/app.py +1166 -0
  100. ananke_plexus-0.1.0/src/ananke/plexus/cli/rendering.py +18 -0
  101. ananke_plexus-0.1.0/src/ananke/plexus/config/__init__.py +1 -0
  102. ananke_plexus-0.1.0/src/ananke/plexus/config/credentials.py +341 -0
  103. ananke_plexus-0.1.0/src/ananke/plexus/config/loader.py +117 -0
  104. ananke_plexus-0.1.0/src/ananke/plexus/config/migration.py +136 -0
  105. ananke_plexus-0.1.0/src/ananke/plexus/config/models.py +36 -0
  106. ananke_plexus-0.1.0/src/ananke/plexus/config/secrets.py +121 -0
  107. ananke_plexus-0.1.0/src/ananke/plexus/contracts/__init__.py +1 -0
  108. ananke_plexus-0.1.0/src/ananke/plexus/contracts/architecture.py +41 -0
  109. ananke_plexus-0.1.0/src/ananke/plexus/contracts/behavior.py +76 -0
  110. ananke_plexus-0.1.0/src/ananke/plexus/contracts/bmad.py +60 -0
  111. ananke_plexus-0.1.0/src/ananke/plexus/contracts/model.py +56 -0
  112. ananke_plexus-0.1.0/src/ananke/plexus/core/__init__.py +1 -0
  113. ananke_plexus-0.1.0/src/ananke/plexus/core/ids.py +35 -0
  114. ananke_plexus-0.1.0/src/ananke/plexus/core/paths.py +31 -0
  115. ananke_plexus-0.1.0/src/ananke/plexus/core/result.py +54 -0
  116. ananke_plexus-0.1.0/src/ananke/plexus/core/workflow_audit.py +47 -0
  117. ananke_plexus-0.1.0/src/ananke/plexus/events/__init__.py +1 -0
  118. ananke_plexus-0.1.0/src/ananke/plexus/events/bus.py +80 -0
  119. ananke_plexus-0.1.0/src/ananke/plexus/events/models.py +46 -0
  120. ananke_plexus-0.1.0/src/ananke/plexus/events/subscribers.py +16 -0
  121. ananke_plexus-0.1.0/src/ananke/plexus/evidence/__init__.py +1 -0
  122. ananke_plexus-0.1.0/src/ananke/plexus/evidence/bundle.py +80 -0
  123. ananke_plexus-0.1.0/src/ananke/plexus/evidence/hash.py +12 -0
  124. ananke_plexus-0.1.0/src/ananke/plexus/evidence/retention.py +97 -0
  125. ananke_plexus-0.1.0/src/ananke/plexus/evidence/sarif.py +110 -0
  126. ananke_plexus-0.1.0/src/ananke/plexus/execution/__init__.py +1 -0
  127. ananke_plexus-0.1.0/src/ananke/plexus/execution/approvals.py +137 -0
  128. ananke_plexus-0.1.0/src/ananke/plexus/execution/checkpoint.py +69 -0
  129. ananke_plexus-0.1.0/src/ananke/plexus/execution/compensation.py +58 -0
  130. ananke_plexus-0.1.0/src/ananke/plexus/execution/plan.py +126 -0
  131. ananke_plexus-0.1.0/src/ananke/plexus/execution/scheduler.py +118 -0
  132. ananke_plexus-0.1.0/src/ananke/plexus/execution/state.py +78 -0
  133. ananke_plexus-0.1.0/src/ananke/plexus/gates/__init__.py +1 -0
  134. ananke_plexus-0.1.0/src/ananke/plexus/gates/runner.py +97 -0
  135. ananke_plexus-0.1.0/src/ananke/plexus/graph/__init__.py +1 -0
  136. ananke_plexus-0.1.0/src/ananke/plexus/graph/models.py +109 -0
  137. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/__init__.py +5 -0
  138. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/base.py +14 -0
  139. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/code_review_graph.py +100 -0
  140. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/graphifyy.py +104 -0
  141. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/native.py +18 -0
  142. ananke_plexus-0.1.0/src/ananke/plexus/graph/providers/registry.py +38 -0
  143. ananke_plexus-0.1.0/src/ananke/plexus/graph/service.py +151 -0
  144. ananke_plexus-0.1.0/src/ananke/plexus/hooks/__init__.py +1 -0
  145. ananke_plexus-0.1.0/src/ananke/plexus/hooks/manager.py +238 -0
  146. ananke_plexus-0.1.0/src/ananke/plexus/hooks/models.py +34 -0
  147. ananke_plexus-0.1.0/src/ananke/plexus/hooks/runner.py +25 -0
  148. ananke_plexus-0.1.0/src/ananke/plexus/hooks/stages.py +94 -0
  149. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/__init__.py +1 -0
  150. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/adapters.py +318 -0
  151. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/compensation.py +134 -0
  152. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/confluence.py +266 -0
  153. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/evidence.py +277 -0
  154. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/git.py +108 -0
  155. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/http_client.py +78 -0
  156. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/issues.py +53 -0
  157. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/pr_evidence.py +186 -0
  158. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/scm.py +54 -0
  159. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/store.py +29 -0
  160. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/telemetry.py +120 -0
  161. ananke_plexus-0.1.0/src/ananke/plexus/lifecycle/worktree.py +97 -0
  162. ananke_plexus-0.1.0/src/ananke/plexus/mcp/__init__.py +1 -0
  163. ananke_plexus-0.1.0/src/ananke/plexus/mcp/auth.py +52 -0
  164. ananke_plexus-0.1.0/src/ananke/plexus/mcp/http.py +79 -0
  165. ananke_plexus-0.1.0/src/ananke/plexus/mcp/prompts.py +20 -0
  166. ananke_plexus-0.1.0/src/ananke/plexus/mcp/resources.py +116 -0
  167. ananke_plexus-0.1.0/src/ananke/plexus/mcp/server.py +90 -0
  168. ananke_plexus-0.1.0/src/ananke/plexus/mcp/tools.py +161 -0
  169. ananke_plexus-0.1.0/src/ananke/plexus/plugins/__init__.py +1 -0
  170. ananke_plexus-0.1.0/src/ananke/plexus/plugins/discovery.py +57 -0
  171. ananke_plexus-0.1.0/src/ananke/plexus/plugins/metadata.py +16 -0
  172. ananke_plexus-0.1.0/src/ananke/plexus/policy/__init__.py +1 -0
  173. ananke_plexus-0.1.0/src/ananke/plexus/policy/engine.py +198 -0
  174. ananke_plexus-0.1.0/src/ananke/plexus/policy/packs.py +237 -0
  175. ananke_plexus-0.1.0/src/ananke/plexus/specs/__init__.py +1 -0
  176. ananke_plexus-0.1.0/src/ananke/plexus/specs/lock.py +76 -0
  177. ananke_plexus-0.1.0/src/ananke/plexus/specs/models.py +19 -0
  178. ananke_plexus-0.1.0/src/ananke/plexus/specs/pipeline.py +31 -0
  179. ananke_plexus-0.1.0/src/ananke/plexus/specs/providers/__init__.py +5 -0
  180. ananke_plexus-0.1.0/src/ananke/plexus/specs/providers/base.py +20 -0
  181. ananke_plexus-0.1.0/src/ananke/plexus/specs/providers/native.py +100 -0
  182. ananke_plexus-0.1.0/src/ananke/plexus/specs/providers/registry.py +12 -0
  183. ananke_plexus-0.1.0/src/ananke/plexus/specs/providers/speckit.py +93 -0
  184. ananke_plexus-0.1.0/src/ananke/plexus/specs/service.py +82 -0
  185. ananke_plexus-0.1.0/src/ananke/plexus/version.py +3 -0
  186. ananke_plexus-0.1.0/tests/fixtures/copilot-skills/sample/SKILL.md +3 -0
  187. ananke_plexus-0.1.0/tests/fixtures/sample-skill/SKILL.md +3 -0
  188. ananke_plexus-0.1.0/tests/fixtures/sample-skill/ananke-skill.toml +23 -0
  189. ananke_plexus-0.1.0/tests/unit/test_admin_cli.py +48 -0
  190. ananke_plexus-0.1.0/tests/unit/test_apm_audit_sandbox.py +24 -0
  191. ananke_plexus-0.1.0/tests/unit/test_apm_bundle.py +44 -0
  192. ananke_plexus-0.1.0/tests/unit/test_apm_cli.py +61 -0
  193. ananke_plexus-0.1.0/tests/unit/test_apm_import_copilot.py +14 -0
  194. ananke_plexus-0.1.0/tests/unit/test_apm_registry_audit.py +51 -0
  195. ananke_plexus-0.1.0/tests/unit/test_apm_resolver.py +25 -0
  196. ananke_plexus-0.1.0/tests/unit/test_apm_sandbox_full.py +160 -0
  197. ananke_plexus-0.1.0/tests/unit/test_architecture.py +53 -0
  198. ananke_plexus-0.1.0/tests/unit/test_auth_configure.py +116 -0
  199. ananke_plexus-0.1.0/tests/unit/test_backends.py +117 -0
  200. ananke_plexus-0.1.0/tests/unit/test_bmad_contracts.py +91 -0
  201. ananke_plexus-0.1.0/tests/unit/test_cli_spec_superpowers.py +33 -0
  202. ananke_plexus-0.1.0/tests/unit/test_cli_version.py +10 -0
  203. ananke_plexus-0.1.0/tests/unit/test_config_migrate.py +46 -0
  204. ananke_plexus-0.1.0/tests/unit/test_config_precedence.py +39 -0
  205. ananke_plexus-0.1.0/tests/unit/test_core_result.py +42 -0
  206. ananke_plexus-0.1.0/tests/unit/test_events.py +79 -0
  207. ananke_plexus-0.1.0/tests/unit/test_evidence_bundle_sarif.py +53 -0
  208. ananke_plexus-0.1.0/tests/unit/test_evidence_prune.py +39 -0
  209. ananke_plexus-0.1.0/tests/unit/test_evidence_sarif.py +78 -0
  210. ananke_plexus-0.1.0/tests/unit/test_execution_compensation.py +65 -0
  211. ananke_plexus-0.1.0/tests/unit/test_execution_engine.py +156 -0
  212. ananke_plexus-0.1.0/tests/unit/test_gate_runner.py +16 -0
  213. ananke_plexus-0.1.0/tests/unit/test_graph_and_run.py +48 -0
  214. ananke_plexus-0.1.0/tests/unit/test_graph_export.py +21 -0
  215. ananke_plexus-0.1.0/tests/unit/test_graph_models.py +57 -0
  216. ananke_plexus-0.1.0/tests/unit/test_graph_providers.py +59 -0
  217. ananke_plexus-0.1.0/tests/unit/test_graph_service_full.py +67 -0
  218. ananke_plexus-0.1.0/tests/unit/test_hooks.py +107 -0
  219. ananke_plexus-0.1.0/tests/unit/test_init_and_verify.py +31 -0
  220. ananke_plexus-0.1.0/tests/unit/test_lifecycle_adapters.py +179 -0
  221. ananke_plexus-0.1.0/tests/unit/test_lifecycle_baseline.py +247 -0
  222. ananke_plexus-0.1.0/tests/unit/test_lifecycle_cli.py +78 -0
  223. ananke_plexus-0.1.0/tests/unit/test_lifecycle_confluence.py +75 -0
  224. ananke_plexus-0.1.0/tests/unit/test_lifecycle_git_service.py +60 -0
  225. ananke_plexus-0.1.0/tests/unit/test_lifecycle_http_and_compensation.py +47 -0
  226. ananke_plexus-0.1.0/tests/unit/test_lifecycle_new.py +122 -0
  227. ananke_plexus-0.1.0/tests/unit/test_lifecycle_worktrees.py +15 -0
  228. ananke_plexus-0.1.0/tests/unit/test_mcp_http.py +36 -0
  229. ananke_plexus-0.1.0/tests/unit/test_mcp_resources_full.py +80 -0
  230. ananke_plexus-0.1.0/tests/unit/test_mcp_server.py +32 -0
  231. ananke_plexus-0.1.0/tests/unit/test_mcp_tools_full.py +134 -0
  232. ananke_plexus-0.1.0/tests/unit/test_mcp_tools_resources.py +105 -0
  233. ananke_plexus-0.1.0/tests/unit/test_misc_coverage.py +80 -0
  234. ananke_plexus-0.1.0/tests/unit/test_new_cli_commands.py +217 -0
  235. ananke_plexus-0.1.0/tests/unit/test_plugin_discovery.py +12 -0
  236. ananke_plexus-0.1.0/tests/unit/test_plugins_full.py +43 -0
  237. ananke_plexus-0.1.0/tests/unit/test_policy_engine.py +63 -0
  238. ananke_plexus-0.1.0/tests/unit/test_policy_packs.py +76 -0
  239. ananke_plexus-0.1.0/tests/unit/test_secrets_and_ids.py +110 -0
  240. ananke_plexus-0.1.0/tests/unit/test_spec_pipeline.py +48 -0
  241. ananke_plexus-0.1.0/tests/unit/test_specs_lock_and_service.py +78 -0
  242. ananke_plexus-0.1.0/tests/unit/test_specs_service_full.py +39 -0
  243. ananke_plexus-0.1.0/tests/unit/test_workflow_audit.py +56 -0
  244. ananke_plexus-0.1.0/uv.lock +2557 -0
@@ -0,0 +1,22 @@
1
+ {
2
+ "packages": [
3
+ {
4
+ "name": "code-graph-reviewer",
5
+ "version": "0.1.0",
6
+ "source": "/Users/abhikanap/Documents/Repositories/Ananke-Plexus/.ananke/tmp/import-code-graph-reviewer",
7
+ "digest": "63efd3b0ed2fcfeca0536c4c28e6559adc6e534e8c863dc2da780ed7b999aa98",
8
+ "installed_at": "2026-09-16T03:49:14.866819+00:00",
9
+ "permissions": {
10
+ "filesystem_read": [
11
+ "src/**",
12
+ ".ananke/**"
13
+ ],
14
+ "filesystem_write": [
15
+ ".ananke/evidence/**"
16
+ ],
17
+ "network": [],
18
+ "shell": []
19
+ }
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,14 @@
1
+ # Architecture Render: ananke-system
2
+
3
+ ## Validation
4
+ - Missing from CALM: 2
5
+ - Missing from Graph: 0
6
+
7
+ ## Mermaid
8
+ ```mermaid
9
+ flowchart LR
10
+ ```
11
+
12
+ ## Graph Overlay
13
+ - src: missing
14
+ - tests: missing
@@ -0,0 +1,8 @@
1
+ {
2
+ "schema_version": "0.1",
3
+ "system": {
4
+ "name": "ananke-system"
5
+ },
6
+ "components": [],
7
+ "relationships": []
8
+ }
@@ -0,0 +1,10 @@
1
+ # Local-only overrides. Copy to config.local.toml (ignored by git).
2
+ [jira]
3
+ base_url = "https://example.atlassian.net"
4
+ email = ""
5
+ token = { env = "ANANKE_JIRA_TOKEN" }
6
+
7
+ [bitbucket]
8
+ base_url = "https://api.bitbucket.org"
9
+ username = ""
10
+ app_password = { env = "ANANKE_BITBUCKET_APP_PASSWORD" }
@@ -0,0 +1,19 @@
1
+ [project]
2
+ name = "ananke-project"
3
+ default_branch = "main"
4
+
5
+ [ananke]
6
+ mode = "developer"
7
+ fail_closed = true
8
+ offline = false
9
+
10
+ [spec]
11
+ provider = "speckit"
12
+ contract_mode = "ananke-bmad"
13
+
14
+ [security]
15
+ allow_network = false
16
+ secret_scan = true
17
+ sast = true
18
+ sca = true
19
+ license_scan = true
@@ -0,0 +1,7 @@
1
+ [[rule]]
2
+ id = "policy.core.fail-closed"
3
+ stage = "verify"
4
+ severity = "high"
5
+ gate = "core"
6
+ assert = "config.ananke.fail_closed == true"
7
+ on_failure = "block"
@@ -0,0 +1 @@
1
+ Imported from Copilot skill format.
@@ -0,0 +1,3 @@
1
+ # Code Graph Reviewer
2
+
3
+ Review graph impact and summarize risk.
@@ -0,0 +1,23 @@
1
+ [skill]
2
+ name = "code-graph-reviewer"
3
+ version = "0.1.0"
4
+ description = "Imported Copilot skill"
5
+ license = "UNKNOWN"
6
+
7
+ [compatibility]
8
+ ananke = ">=0.1,<1"
9
+ skill_api = "1"
10
+
11
+ [permissions]
12
+ filesystem_read = ["src/**", ".ananke/**"]
13
+ filesystem_write = [".ananke/evidence/**"]
14
+ network = []
15
+ shell = []
16
+
17
+ [entrypoints]
18
+ instructions = "SKILL.md"
19
+
20
+ [provenance]
21
+ source = "copilot"
22
+ repository = "tests/fixtures/copilot-skills"
23
+ revision = "local"
@@ -0,0 +1,13 @@
1
+ behavior:
2
+ scenarios:
3
+ - id: AC-1
4
+ description: "Spec Kit provider adapter exists"
5
+ - id: AC-2
6
+ description: "converge generates requirement spec plan tasks bmad lock"
7
+ - id: AC-3
8
+ description: "validate passes and drift shows none"
9
+ model:
10
+ schemas:
11
+ - requirement_boundary_v1
12
+ architecture:
13
+ calm_ref: .ananke/architecture/system.calm.json
@@ -0,0 +1,7 @@
1
+ # Implementation Plan
2
+
3
+ ## Steps
4
+ 1. Validate requirement and acceptance criteria.
5
+ 2. Compile Ananke BMAD contracts.
6
+ 3. Implement code changes with tests.
7
+ 4. Run verify and finalize evidence.
@@ -0,0 +1,12 @@
1
+ # Requirement ANANKE-EPIC-SPECKIT
2
+
3
+ ## Title
4
+ Implement Spec Kit end-to-end lifecycle
5
+
6
+ ## Body
7
+ Implement provider-based Spec Kit integration, spec lifecycle commands, lock/drift checks, and superpowers converge flow.
8
+
9
+ ## Acceptance Criteria
10
+ - Spec Kit provider adapter exists
11
+ - converge generates requirement spec plan tasks bmad lock
12
+ - validate passes and drift shows none
@@ -0,0 +1,11 @@
1
+ {
2
+ "feature_dir": "ANANKE-EPIC-SPECKIT-implement-spec-kit-end-to-end-lifecycle",
3
+ "content_hash": "bc173e712d806c10082c53bc7963a4bb63d34ca61d95bc95877b47b0172402de",
4
+ "files": {
5
+ "requirement.md": "ce32cc5c6cd4c7a0aed157228aa4856208156de0d764cd5292383ce43987de9c",
6
+ "spec.md": "2c7823715654015e9a11480cddb978b00db2f5b0a8ed62ab97548729cda0c274",
7
+ "plan.md": "2a7d1538ba7854451dc133bd43725e8745aa85837a855aa5587859d7f74a0e6b",
8
+ "tasks.md": "76728d2bea9bc0ec7461b9bd88bb695885af6efa4be0942064106104f99dd481",
9
+ "bmad.yaml": "d740341397c4e4445e3e7afd69f9e5249f71e7070546a5bd19addab31a42bc78"
10
+ }
11
+ }
@@ -0,0 +1,9 @@
1
+ # Spec for ANANKE-EPIC-SPECKIT
2
+
3
+ ## Scope
4
+ Implement the requirement with explicit, testable behavior.
5
+
6
+ ## Behavioral Contract
7
+ - AC: Spec Kit provider adapter exists
8
+ - AC: converge generates requirement spec plan tasks bmad lock
9
+ - AC: validate passes and drift shows none
@@ -0,0 +1,7 @@
1
+ # Task Checklist
2
+
3
+ - [ ] Create/adjust tests
4
+ - [ ] Implement requirement behavior
5
+ - [ ] Validate architecture impact
6
+ - [ ] Run verification gates
7
+ - [ ] Attach evidence bundle to review
@@ -0,0 +1,17 @@
1
+ behavior:
2
+ scenarios:
3
+ - id: AC-1
4
+ description: "All epics A-M have tracked implementation tasks"
5
+ - id: AC-2
6
+ description: "Spec pipeline maintains lock and drift checks"
7
+ - id: AC-3
8
+ description: "Each roadmap phase is represented by executable milestones"
9
+ - id: AC-4
10
+ description: "Security and provenance controls are part of release criteria"
11
+ - id: AC-5
12
+ description: "MCP APM lifecycle and graph integrations are delivered incrementally"
13
+ model:
14
+ schemas:
15
+ - requirement_boundary_v1
16
+ architecture:
17
+ calm_ref: .ananke/architecture/system.calm.json
@@ -0,0 +1,7 @@
1
+ # Implementation Plan
2
+
3
+ ## Steps
4
+ 1. Validate requirement and acceptance criteria.
5
+ 2. Compile Ananke BMAD contracts.
6
+ 3. Implement code changes with tests.
7
+ 4. Run verify and finalize evidence.
@@ -0,0 +1,14 @@
1
+ # Requirement ANANKE-ROADMAP-ALL
2
+
3
+ ## Title
4
+ Implement all ideated Ananke Plexus capabilities
5
+
6
+ ## Body
7
+ Drive implementation across all roadmap phases including core, specs, architecture, graph, policy, MCP, APM, lifecycle, run engine, and release hardening.
8
+
9
+ ## Acceptance Criteria
10
+ - All epics A-M have tracked implementation tasks
11
+ - Spec pipeline maintains lock and drift checks
12
+ - Each roadmap phase is represented by executable milestones
13
+ - Security and provenance controls are part of release criteria
14
+ - MCP APM lifecycle and graph integrations are delivered incrementally
@@ -0,0 +1,11 @@
1
+ {
2
+ "feature_dir": "ANANKE-ROADMAP-ALL-implement-all-ideated-ananke-plexus-capabilities",
3
+ "content_hash": "613971010993379c67dcf1058c23d1bdfa4895035a37386d6ebf8d0f2f82652f",
4
+ "files": {
5
+ "requirement.md": "37b7485df865b25961f0e8c1f5760feb68e0b123238f6c7eee4d760ad255a82f",
6
+ "spec.md": "ededc5025f08bf9d349b09283356742e297de58dbc1d2e7d36124eda0555a1d1",
7
+ "plan.md": "2a7d1538ba7854451dc133bd43725e8745aa85837a855aa5587859d7f74a0e6b",
8
+ "tasks.md": "76728d2bea9bc0ec7461b9bd88bb695885af6efa4be0942064106104f99dd481",
9
+ "bmad.yaml": "a39768c96bc137b39746add3401d418dbdc35168181844afd18bd7b2ad994c2e"
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ # Spec for ANANKE-ROADMAP-ALL
2
+
3
+ ## Scope
4
+ Implement the requirement with explicit, testable behavior.
5
+
6
+ ## Behavioral Contract
7
+ - AC: All epics A-M have tracked implementation tasks
8
+ - AC: Spec pipeline maintains lock and drift checks
9
+ - AC: Each roadmap phase is represented by executable milestones
10
+ - AC: Security and provenance controls are part of release criteria
11
+ - AC: MCP APM lifecycle and graph integrations are delivered incrementally
@@ -0,0 +1,7 @@
1
+ # Task Checklist
2
+
3
+ - [ ] Create/adjust tests
4
+ - [ ] Implement requirement behavior
5
+ - [ ] Validate architecture impact
6
+ - [ ] Run verification gates
7
+ - [ ] Attach evidence bundle to review
@@ -0,0 +1,42 @@
1
+ # ── Ananke Plexus local environment template ─────────────────────────────────
2
+ # Copy to .env and fill in values you actually need.
3
+ # Never commit .env to git.
4
+ # Secrets are referenced by name in config (not stored inline).
5
+
6
+ # ── Publishing via uv ─────────────────────────────────────────────────────────
7
+ # Used by: make publish-pypi / make publish-testpypi
8
+ # In CI, OIDC Trusted Publishing is used instead — no token needed.
9
+ UV_PUBLISH_TOKEN=pypi-xxxx_replace_me
10
+ UV_PUBLISH_TOKEN_TESTPYPI=pypi-xxxx_replace_me
11
+
12
+ # ── Security scanning ─────────────────────────────────────────────────────────
13
+ # TRIVY_TOKEN is only needed if scanning private registries
14
+ # TRIVY_TOKEN=
15
+
16
+ # Gitleaks licence key (optional — community edition works without it)
17
+ # GITLEAKS_LICENSE=
18
+
19
+ # ── Jira integration ─────────────────────────────────────────────────────────
20
+ ANANKE_JIRA_BASE_URL=https://your-domain.atlassian.net
21
+ ANANKE_JIRA_EMAIL=you@example.com
22
+ ANANKE_JIRA_TOKEN=
23
+ # Or use a command reference in config.toml: token = { env = "ANANKE_JIRA_TOKEN" }
24
+
25
+ # ── Confluence integration ────────────────────────────────────────────────────
26
+ ANANKE_CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
27
+ ANANKE_CONFLUENCE_EMAIL=you@example.com
28
+ ANANKE_CONFLUENCE_TOKEN=
29
+
30
+ # ── Bitbucket integration ─────────────────────────────────────────────────────
31
+ ANANKE_BITBUCKET_BASE_URL=https://api.bitbucket.org
32
+ ANANKE_BITBUCKET_WORKSPACE=your-workspace
33
+ ANANKE_BITBUCKET_REPO_SLUG=your-repo
34
+ ANANKE_BITBUCKET_USERNAME=
35
+ ANANKE_BITBUCKET_APP_PASSWORD=
36
+
37
+ # ── MCP HTTP bearer token (for ananke serve-mcp --transport http) ─────────────
38
+ ANANKE_MCP_HTTP_TOKEN=
39
+
40
+ # ── Runtime behaviour ─────────────────────────────────────────────────────────
41
+ ANANKE_OFFLINE=false
42
+ ANANKE_FAIL_CLOSED=true
@@ -0,0 +1,120 @@
1
+ name: ci
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ quality:
13
+ name: quality (${{ matrix.python-version }})
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ python-version: ["3.11", "3.12", "3.13"]
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v5
25
+ with:
26
+ version: "latest"
27
+ enable-cache: true
28
+
29
+ - name: Set up Python ${{ matrix.python-version }}
30
+ run: uv python install ${{ matrix.python-version }}
31
+
32
+ - name: Install dependencies
33
+ run: uv sync --all-extras --python ${{ matrix.python-version }}
34
+
35
+ - name: Lint (ruff check)
36
+ run: uv run ruff check src tests
37
+
38
+ - name: Format check (ruff format)
39
+ run: uv run ruff format --check src tests
40
+
41
+ - name: Type check (mypy)
42
+ run: uv run mypy src
43
+
44
+ - name: Tests with coverage
45
+ run: uv run pytest --cov=src/ananke --cov-report=xml --cov-report=term
46
+
47
+ - name: Upload coverage report
48
+ if: matrix.python-version == '3.11'
49
+ uses: actions/upload-artifact@v4
50
+ with:
51
+ name: coverage-report
52
+ path: coverage.xml
53
+
54
+ build:
55
+ name: build & validate
56
+ runs-on: ubuntu-latest
57
+ needs: quality
58
+ steps:
59
+ - name: Checkout
60
+ uses: actions/checkout@v4
61
+
62
+ - name: Install uv
63
+ uses: astral-sh/setup-uv@v5
64
+ with:
65
+ version: "latest"
66
+
67
+ - name: Build wheel and sdist
68
+ run: uv build
69
+
70
+ - name: Validate package metadata (twine check)
71
+ run: uv run --with twine twine check dist/*
72
+
73
+ - name: Smoke-test wheel install
74
+ run: |
75
+ uv run --with dist/*.whl --no-project -- ananke version
76
+
77
+ - name: Upload dist artifacts
78
+ uses: actions/upload-artifact@v4
79
+ with:
80
+ name: dist-${{ github.sha }}
81
+ path: dist/
82
+
83
+ trivy:
84
+ name: trivy filesystem scan
85
+ runs-on: ubuntu-latest
86
+ needs: quality
87
+ permissions:
88
+ contents: read
89
+ security-events: write
90
+ steps:
91
+ - name: Checkout
92
+ uses: actions/checkout@v4
93
+
94
+ - name: Trivy — SARIF report (upload to Security tab)
95
+ uses: aquasecurity/trivy-action@v0.28.0
96
+ with:
97
+ scan-type: fs
98
+ scan-ref: .
99
+ format: sarif
100
+ output: trivy-results.sarif
101
+ severity: CRITICAL,HIGH
102
+ ignore-unfixed: true
103
+ trivyignores: .trivyignore
104
+
105
+ - name: Upload Trivy SARIF
106
+ uses: github/codeql-action/upload-sarif@v3
107
+ if: always()
108
+ with:
109
+ sarif_file: trivy-results.sarif
110
+
111
+ - name: Trivy — blocking table scan (CRITICAL only)
112
+ uses: aquasecurity/trivy-action@v0.28.0
113
+ with:
114
+ scan-type: fs
115
+ scan-ref: .
116
+ format: table
117
+ severity: CRITICAL
118
+ ignore-unfixed: true
119
+ trivyignores: .trivyignore
120
+ exit-code: "1"
@@ -0,0 +1,33 @@
1
+ name: codeql
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+
8
+ permissions:
9
+ actions: read
10
+ contents: read
11
+ security-events: write
12
+
13
+ jobs:
14
+ analyze:
15
+ runs-on: ubuntu-latest
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ language: ["python"]
20
+ steps:
21
+ - name: Checkout
22
+ uses: actions/checkout@v4
23
+
24
+ - name: Initialize CodeQL
25
+ uses: github/codeql-action/init@v3
26
+ with:
27
+ languages: ${{ matrix.language }}
28
+
29
+ - name: Autobuild
30
+ uses: github/codeql-action/autobuild@v3
31
+
32
+ - name: Perform CodeQL Analysis
33
+ uses: github/codeql-action/analyze@v3
@@ -0,0 +1,14 @@
1
+ name: dependency-review
2
+
3
+ on:
4
+ pull_request:
5
+
6
+ permissions:
7
+ contents: read
8
+
9
+ jobs:
10
+ dependency-review:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Dependency Review
14
+ uses: actions/dependency-review-action@v4
@@ -0,0 +1,29 @@
1
+ name: docs
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: write
10
+
11
+ jobs:
12
+ deploy:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Checkout
16
+ uses: actions/checkout@v4
17
+
18
+ - name: Setup Python
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.11"
22
+
23
+ - name: Install docs dependencies
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ pip install .[docs]
27
+
28
+ - name: Build and deploy docs
29
+ run: mkdocs gh-deploy --force
@@ -0,0 +1,142 @@
1
+ name: release-pypi
2
+
3
+ # Triggered by a vX.Y.Z tag push.
4
+ # Build-once, attest, scan with Trivy, then publish via uv + OIDC Trusted Publishing.
5
+
6
+ on:
7
+ push:
8
+ tags:
9
+ - "v*"
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ # ── 1. Build ───────────────────────────────────────────────────────────────
16
+ build:
17
+ name: build artifacts
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v5
25
+ with:
26
+ version: "latest"
27
+
28
+ - name: Build wheel and sdist
29
+ run: uv build
30
+
31
+ - name: Validate package metadata
32
+ run: uv run --with twine twine check dist/*
33
+
34
+ - name: Generate SBOM (CycloneDX)
35
+ run: |
36
+ uv run --with cyclonedx-bom cyclonedx-py environment \
37
+ --output-format json \
38
+ --output-file dist/sbom.cdx.json
39
+ continue-on-error: true
40
+
41
+ - name: Upload dist artifacts
42
+ uses: actions/upload-artifact@v4
43
+ with:
44
+ name: pypi-dist-${{ github.ref_name }}
45
+ path: dist/
46
+ if-no-files-found: error
47
+
48
+ # ── 2. Trivy security gate ─────────────────────────────────────────────────
49
+ trivy:
50
+ name: trivy security gate
51
+ runs-on: ubuntu-latest
52
+ needs: build
53
+ permissions:
54
+ contents: read
55
+ security-events: write
56
+ steps:
57
+ - name: Checkout
58
+ uses: actions/checkout@v4
59
+
60
+ - name: Trivy SARIF scan (all severities)
61
+ uses: aquasecurity/trivy-action@v0.28.0
62
+ with:
63
+ scan-type: fs
64
+ scan-ref: .
65
+ format: sarif
66
+ output: trivy-results.sarif
67
+ severity: CRITICAL,HIGH,MEDIUM
68
+ ignore-unfixed: true
69
+ trivyignores: .trivyignore
70
+
71
+ - name: Upload SARIF to GitHub Security
72
+ uses: github/codeql-action/upload-sarif@v3
73
+ if: always()
74
+ with:
75
+ sarif_file: trivy-results.sarif
76
+
77
+ - name: Trivy blocking gate (CRITICAL + HIGH, unfixed)
78
+ uses: aquasecurity/trivy-action@v0.28.0
79
+ with:
80
+ scan-type: fs
81
+ scan-ref: .
82
+ format: table
83
+ severity: CRITICAL,HIGH
84
+ ignore-unfixed: true
85
+ trivyignores: .trivyignore
86
+ exit-code: "1"
87
+
88
+ # ── 3. Build provenance attestation ───────────────────────────────────────
89
+ provenance:
90
+ name: attest provenance
91
+ runs-on: ubuntu-latest
92
+ needs: [build, trivy]
93
+ permissions:
94
+ id-token: write
95
+ contents: read
96
+ attestations: write
97
+ steps:
98
+ - name: Download dist
99
+ uses: actions/download-artifact@v4
100
+ with:
101
+ name: pypi-dist-${{ github.ref_name }}
102
+ path: dist/
103
+
104
+ - name: Attest build provenance
105
+ uses: actions/attest-build-provenance@v2
106
+ with:
107
+ subject-path: "dist/*"
108
+
109
+ # ── 4. Publish to PyPI ─────────────────────────────────────────────────────
110
+ publish:
111
+ name: publish to PyPI
112
+ runs-on: ubuntu-latest
113
+ needs: [build, trivy, provenance]
114
+ environment: pypi
115
+ permissions:
116
+ id-token: write
117
+ contents: write
118
+ steps:
119
+ - name: Download exact dist artifacts from build step
120
+ uses: actions/download-artifact@v4
121
+ with:
122
+ name: pypi-dist-${{ github.ref_name }}
123
+ path: dist/
124
+
125
+ - name: Install uv
126
+ uses: astral-sh/setup-uv@v5
127
+ with:
128
+ version: "latest"
129
+
130
+ - name: Publish to PyPI (OIDC Trusted Publishing)
131
+ run: uv publish --trusted-publishing always
132
+
133
+ - name: Create GitHub Release
134
+ uses: softprops/action-gh-release@v2
135
+ with:
136
+ files: dist/*
137
+ generate_release_notes: true
138
+ body: |
139
+ ## ${{ github.ref_name }}
140
+
141
+ Published to [PyPI](https://pypi.org/project/ananke-plexus/).
142
+ See [CHANGELOG.md](https://github.com/neo-pragnya/ananke-plexus/blob/main/CHANGELOG.md) for details.