atomadic-forge 0.15.0__tar.gz → 0.16.2__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 (379) hide show
  1. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/CHANGELOG.md +102 -0
  2. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/PKG-INFO +150 -34
  3. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/README.md +149 -33
  4. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/02-commands.md +89 -3
  5. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/AGENTS_GUIDE.md +1 -1
  6. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/pyproject.toml +1 -1
  7. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/welcome_constants.py +8 -0
  8. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/agent_plan_emitter.py +30 -3
  9. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/emergent_synthesize.py +11 -2
  10. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/welcome_feature.py +47 -0
  11. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a4_sy_orchestration/cli.py +289 -5
  12. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a4_sy_orchestration/copilots_cmd.py +5 -2
  13. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/emergent_then_synergy.py +5 -3
  14. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/synergy_then_emergent.py +9 -3
  15. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/welcome.py +14 -0
  16. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/PKG-INFO +150 -34
  17. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/SOURCES.txt +4 -0
  18. atomadic_forge-0.16.2/tests/test_agent_plan_pkg_label.py +51 -0
  19. atomadic_forge-0.16.2/tests/test_cli_swarm_aliases.py +42 -0
  20. atomadic_forge-0.16.2/tests/test_emergent_synthesize_imports.py +58 -0
  21. atomadic_forge-0.16.2/tests/test_sbom_cmd_text_summary.py +28 -0
  22. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_welcome.py +24 -0
  23. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/FUNDING.yml +0 -0
  24. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  25. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  26. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  27. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/actions/forge-action/README.md +0 -0
  28. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/actions/forge-action/action.yml +0 -0
  29. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/dependabot.yml +0 -0
  30. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/pull_request_template.md +0 -0
  31. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/workflows/ci.yml +0 -0
  32. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/workflows/customer-refactor.yml +0 -0
  33. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/workflows/forge-self-certify.yml +0 -0
  34. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/workflows/release.yml +0 -0
  35. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/.github/workflows/surface-drift.yml +0 -0
  36. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/ARCHITECTURE.md +0 -0
  37. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/CONTRIBUTING.md +0 -0
  38. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/LICENSE +0 -0
  39. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/MANIFEST.in +0 -0
  40. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/SECURITY.md +0 -0
  41. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/assets/Atomadic-Forge-01.png +0 -0
  42. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/01-getting-started.md +0 -0
  43. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/03-tutorial.md +0 -0
  44. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/04-llm-loops.md +0 -0
  45. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/05-faq.md +0 -0
  46. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/AIR_GAPPED.md +0 -0
  47. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/CI_CD.md +0 -0
  48. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/CODEX_WALKTHROUGH.md +0 -0
  49. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/COMMANDS.md +0 -0
  50. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/FIRST_10_MINUTES.md +0 -0
  51. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/FORMALIZATION.md +0 -0
  52. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/HIVE_PRIMITIVES.md +0 -0
  53. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/HIVE_STATUS.md +0 -0
  54. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/LANDSCAPE.md +0 -0
  55. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/MARKET_POSITIONING.md +0 -0
  56. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/MIGRATION.md +0 -0
  57. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/MULTI_REPO.md +0 -0
  58. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/README.md +0 -0
  59. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/RECEIPT.md +0 -0
  60. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/RELAY_PROTOCOL.md +0 -0
  61. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/RELEASE_CHECKLIST.md +0 -0
  62. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/RELEASE_MESSAGING.md +0 -0
  63. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/ROADMAP.md +0 -0
  64. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/SHOWCASE.md +0 -0
  65. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/SIDECAR.md +0 -0
  66. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/STUDIO.md +0 -0
  67. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/TOOL_FACTORY_WALKTHROUGH.md +0 -0
  68. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/WHY_NOW.md +0 -0
  69. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/WORKER_VS_LOCAL_MCP.md +0 -0
  70. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/WORLD_COLLISION.md +0 -0
  71. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/INDEX.md +0 -0
  72. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/chat.md +0 -0
  73. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/commandsmith.md +0 -0
  74. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/config.md +0 -0
  75. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/demo.md +0 -0
  76. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/emergent-then-synergy.md +0 -0
  77. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/emergent.md +0 -0
  78. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/evolve-then-iterate.md +0 -0
  79. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/evolve.md +0 -0
  80. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/feature-then-emergent.md +0 -0
  81. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/iterate.md +0 -0
  82. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/synergy-then-emergent.md +0 -0
  83. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/commands/synergy.md +0 -0
  84. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/compliance/CMMC_AI_MAPPING.md +0 -0
  85. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/compliance/CS-1.md +0 -0
  86. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/compliance/EU_AI_ACT_ANNEX_IV.md +0 -0
  87. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/compliance/FDA_PCCP_MAPPING.md +0 -0
  88. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/compliance/SR_11-7_MAPPING.md +0 -0
  89. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/handoffs/WORKER_AUTO_DEPLOY_2026-05-06.md +0 -0
  90. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/01-quickstart.md +0 -0
  91. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/02-your-first-package.md +0 -0
  92. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/03-the-five-tier-law.md +0 -0
  93. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/04-plug-in-llms.md +0 -0
  94. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/05-multi-repo-absorb.md +0 -0
  95. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/docs/tutorials/06-javascript-quickstart.md +0 -0
  96. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/setup.cfg +0 -0
  97. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/__init__.py +0 -0
  98. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/__main__.py +0 -0
  99. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/__init__.py +0 -0
  100. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/agent_plan_schema.py +0 -0
  101. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/auth_constants.py +0 -0
  102. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/commandsmith_types.py +0 -0
  103. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/config_defaults.py +0 -0
  104. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/emergent_types.py +0 -0
  105. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/enhancement_proposal_constants.py +0 -0
  106. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/error_codes.py +0 -0
  107. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/forge_types.py +0 -0
  108. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/gen_language.py +0 -0
  109. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/handoff_constants.py +0 -0
  110. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/hive_constants.py +0 -0
  111. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/lang_extensions.py +0 -0
  112. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/lifetime_savings_constants.py +0 -0
  113. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/materialize_types.py +0 -0
  114. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/mhed_invariants.py +0 -0
  115. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/nexus_constants.py +0 -0
  116. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/policy_schema.py +0 -0
  117. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/receipt_schema.py +0 -0
  118. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/response_enrichment.py +0 -0
  119. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/roi_constants.py +0 -0
  120. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/schema_version_registry.py +0 -0
  121. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/semantic_types.py +0 -0
  122. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/sidecar_schema.py +0 -0
  123. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/synergy_types.py +0 -0
  124. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/tier_names.py +0 -0
  125. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a0_qk_constants/wisdom_constants.py +0 -0
  126. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/__init__.py +0 -0
  127. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/agent_context_pack.py +0 -0
  128. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/agent_memory.py +0 -0
  129. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/agent_summary.py +0 -0
  130. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/body_extractor.py +0 -0
  131. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/call_graph.py +0 -0
  132. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/card_renderer.py +0 -0
  133. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/certify_checks.py +0 -0
  134. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/chat_context.py +0 -0
  135. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/cherry_pick.py +0 -0
  136. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/classify_tier.py +0 -0
  137. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/code_signature.py +0 -0
  138. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/commandsmith_discover.py +0 -0
  139. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/commandsmith_render.py +0 -0
  140. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/compiler_feedback.py +0 -0
  141. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/compliance_checker.py +0 -0
  142. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/config_io.py +0 -0
  143. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/cs1_renderer.py +0 -0
  144. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/doc_synthesizer.py +0 -0
  145. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/emergent_compose.py +0 -0
  146. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/emergent_rank.py +0 -0
  147. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/emergent_signature_extract.py +0 -0
  148. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/enforce_planner.py +0 -0
  149. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/enhancement_proposal_builder.py +0 -0
  150. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/error_hints.py +0 -0
  151. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/evolution_log.py +0 -0
  152. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/exported_api_check.py +0 -0
  153. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/forge_auth.py +0 -0
  154. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/forge_feedback.py +0 -0
  155. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/forge_locate.py +0 -0
  156. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/generation_quality.py +0 -0
  157. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/handoff_builder.py +0 -0
  158. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/hive_consensus_math.py +0 -0
  159. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/hive_io.py +0 -0
  160. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/import_repair.py +0 -0
  161. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/import_smoke.py +0 -0
  162. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/intent_similarity.py +0 -0
  163. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/js_parser.py +0 -0
  164. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/lifetime_savings.py +0 -0
  165. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/lineage_chain.py +0 -0
  166. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/lineage_reader.py +0 -0
  167. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/llm_client.py +0 -0
  168. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/local_signer.py +0 -0
  169. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/lsp_protocol.py +0 -0
  170. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/manifest_diff.py +0 -0
  171. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/mcp_protocol.py +0 -0
  172. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/patch_scorer.py +0 -0
  173. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/plan_adapter.py +0 -0
  174. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/policy_loader.py +0 -0
  175. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/preflight_change.py +0 -0
  176. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/progress_reporter.py +0 -0
  177. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/provider_detect.py +0 -0
  178. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/provider_resolver.py +0 -0
  179. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/receipt_emitter.py +0 -0
  180. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/recipes.py +0 -0
  181. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/repo_explainer.py +0 -0
  182. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/research_note_distiller.py +0 -0
  183. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/response_enricher.py +0 -0
  184. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/roi_calculator.py +0 -0
  185. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/rollback_planner.py +0 -0
  186. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/sbom_emitter.py +0 -0
  187. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/scaffold_js.py +0 -0
  188. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/scaffold_pyproject.py +0 -0
  189. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/scaffold_starter.py +0 -0
  190. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/scout_walk.py +0 -0
  191. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/sidecar_parser.py +0 -0
  192. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/sidecar_validator.py +0 -0
  193. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/smell_scan.py +0 -0
  194. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/stub_detector.py +0 -0
  195. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/synergy_detect.py +0 -0
  196. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/synergy_render.py +0 -0
  197. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/synergy_surface_extract.py +0 -0
  198. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/test_runner.py +0 -0
  199. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/test_selector.py +0 -0
  200. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/tier_init_rebuild.py +0 -0
  201. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/tool_composer.py +0 -0
  202. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/transcript_log.py +0 -0
  203. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/trust_gate_response.py +0 -0
  204. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/validation_commands.py +0 -0
  205. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/welcome_narrator.py +0 -0
  206. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/wire_check.py +0 -0
  207. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/wisdom_capture.py +0 -0
  208. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/wisdom_io.py +0 -0
  209. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/wisdom_promote.py +0 -0
  210. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/wisdom_recall.py +0 -0
  211. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a1_at_functions/worktree_status.py +0 -0
  212. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/__init__.py +0 -0
  213. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/cost_circuit_breaker.py +0 -0
  214. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/cross_agent_intent_deduplicator.py +0 -0
  215. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/evolve_session_store.py +0 -0
  216. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/forge_auth_client.py +0 -0
  217. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/hierarchical_memory.py +0 -0
  218. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/iterate_session_store.py +0 -0
  219. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/lineage_chain_store.py +0 -0
  220. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/manifest_store.py +0 -0
  221. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/nexus_client.py +0 -0
  222. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/plan_store.py +0 -0
  223. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a2_mo_composites/receipt_signer.py +0 -0
  224. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/__init__.py +0 -0
  225. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/agent_hire_protocol.py +0 -0
  226. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/cherry_hunter.py +0 -0
  227. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/cna_check.py +0 -0
  228. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/commandsmith_feature.py +0 -0
  229. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/commit_compose.py +0 -0
  230. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/create_feature.py +0 -0
  231. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/dedup_engine.py +0 -0
  232. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/__init__.py +0 -0
  233. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a0_qk_constants/__init__.py +0 -0
  234. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a1_at_functions/__init__.py +0 -0
  235. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/conftest.py +0 -0
  236. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/test_mixed.py +0 -0
  237. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/demo_runner.py +0 -0
  238. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/emergent_feature.py +0 -0
  239. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/emergent_pipeline_integration.py +0 -0
  240. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/emergent_swarm.py +0 -0
  241. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/enhancement_proposal_feature.py +0 -0
  242. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_enforce.py +0 -0
  243. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_evolve.py +0 -0
  244. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_evolve_session.py +0 -0
  245. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_loop.py +0 -0
  246. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_loop_session.py +0 -0
  247. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_pipeline.py +0 -0
  248. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/forge_plan_apply.py +0 -0
  249. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/guard_install.py +0 -0
  250. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/handoff_feature.py +0 -0
  251. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/hive_sync.py +0 -0
  252. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/lsp_server.py +0 -0
  253. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/materialize_feature.py +0 -0
  254. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/mcp_server.py +0 -0
  255. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/nexus_bridge.py +0 -0
  256. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/relay_daemon.py +0 -0
  257. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/setup_wizard.py +0 -0
  258. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/surface_export.py +0 -0
  259. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/synergy_feature.py +0 -0
  260. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/tool_factory.py +0 -0
  261. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/verify_umbrella.py +0 -0
  262. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a3_og_features/wisdom_feature.py +0 -0
  263. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a4_sy_orchestration/__init__.py +0 -0
  264. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a4_sy_orchestration/login_cmd.py +0 -0
  265. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/a4_sy_orchestration/whoami_cmd.py +0 -0
  266. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/__init__.py +0 -0
  267. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/_registry.py +0 -0
  268. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/audit.py +0 -0
  269. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/chat.py +0 -0
  270. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/commandsmith.py +0 -0
  271. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/config_cmd.py +0 -0
  272. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/create.py +0 -0
  273. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/demo.py +0 -0
  274. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/emergent.py +0 -0
  275. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/emergent_swarm.py +0 -0
  276. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/enhancement.py +0 -0
  277. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/evolve.py +0 -0
  278. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/evolve_then_iterate.py +0 -0
  279. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/feature_then_emergent.py +0 -0
  280. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/guard_install.py +0 -0
  281. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/handoff.py +0 -0
  282. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/harvest.py +0 -0
  283. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/hive.py +0 -0
  284. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/iterate.py +0 -0
  285. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/materialize.py +0 -0
  286. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/recon_swarm.py +0 -0
  287. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/relay.py +0 -0
  288. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/surface.py +0 -0
  289. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/synergy.py +0 -0
  290. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge/commands/wisdom.py +0 -0
  291. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/dependency_links.txt +0 -0
  292. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/entry_points.txt +0 -0
  293. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/requires.txt +0 -0
  294. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/src/atomadic_forge.egg-info/top_level.txt +0 -0
  295. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_aaaa_nexus_client.py +0 -0
  296. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_agent_hire_protocol.py +0 -0
  297. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_agent_plan.py +0 -0
  298. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_agent_summary.py +0 -0
  299. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_audit_verb.py +0 -0
  300. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_body_extractor_repairs.py +0 -0
  301. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_card_renderer.py +0 -0
  302. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_certify_operational_axis.py +0 -0
  303. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_chat.py +0 -0
  304. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_classify_tier.py +0 -0
  305. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_classify_tier_ast_signals.py +0 -0
  306. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_cli_smoke.py +0 -0
  307. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_codex_5_complete.py +0 -0
  308. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_codex_6_enforce_polyglot.py +0 -0
  309. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_commandsmith.py +0 -0
  310. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_compiler_feedback.py +0 -0
  311. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_compliance_checker.py +0 -0
  312. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_config.py +0 -0
  313. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_copilots_copilot.py +0 -0
  314. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_cost_circuit_breaker.py +0 -0
  315. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_create_feature.py +0 -0
  316. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_cs1_renderer.py +0 -0
  317. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_dedup_engine.py +0 -0
  318. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_demo.py +0 -0
  319. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_emergent_compose.py +0 -0
  320. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_emergent_signature_extract.py +0 -0
  321. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_enhancement_proposal.py +0 -0
  322. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_error_codes.py +0 -0
  323. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_error_hints.py +0 -0
  324. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_evolve_js.py +0 -0
  325. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_exported_api_check.py +0 -0
  326. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_forge_action.py +0 -0
  327. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_forge_auth_a1.py +0 -0
  328. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_forge_auth_a2.py +0 -0
  329. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_forge_enforce.py +0 -0
  330. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_generation_quality.py +0 -0
  331. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_handoff.py +0 -0
  332. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_hierarchical_memory.py +0 -0
  333. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_hive_sync.py +0 -0
  334. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_ignore_and_docs.py +0 -0
  335. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_import_smoke.py +0 -0
  336. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_iterate_evolve.py +0 -0
  337. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_js_certify.py +0 -0
  338. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_js_parser.py +0 -0
  339. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_js_recon.py +0 -0
  340. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_js_wire.py +0 -0
  341. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_lineage_chain.py +0 -0
  342. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_ling_provider.py +0 -0
  343. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_local_signer.py +0 -0
  344. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_lsp_protocol.py +0 -0
  345. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_manifest_diff.py +0 -0
  346. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_materialize_feature.py +0 -0
  347. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_mcp_protocol.py +0 -0
  348. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_nexus_bridge.py +0 -0
  349. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_ollama_client.py +0 -0
  350. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_pipeline.py +0 -0
  351. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_plan_apply.py +0 -0
  352. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_polyglot_swift_kotlin_go.py +0 -0
  353. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_pre_audit_smoke.py +0 -0
  354. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_precommit_hooks.py +0 -0
  355. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_progress_reporter.py +0 -0
  356. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_receipt_emitter.py +0 -0
  357. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_receipt_schema.py +0 -0
  358. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_receipt_signer.py +0 -0
  359. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_response_enricher.py +0 -0
  360. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_roi_calculator.py +0 -0
  361. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_sbom_emitter.py +0 -0
  362. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_scaffold.py +0 -0
  363. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_sidecar.py +0 -0
  364. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_sidecar_validate.py +0 -0
  365. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_smell_score_formula.py +0 -0
  366. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_stagnation.py +0 -0
  367. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_stub_detector.py +0 -0
  368. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_surface_export.py +0 -0
  369. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_synergy.py +0 -0
  370. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_test_runner.py +0 -0
  371. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_tier_init_rebuild.py +0 -0
  372. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_trust_gate_response.py +0 -0
  373. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_verify_suggested_recipe.py +0 -0
  374. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_welcome_enhancements.py +0 -0
  375. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_whoami_cmd.py +0 -0
  376. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_wire_certify.py +0 -0
  377. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_wire_suggest_repairs.py +0 -0
  378. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_wire_type_checking.py +0 -0
  379. {atomadic_forge-0.15.0 → atomadic_forge-0.16.2}/tests/test_wisdom.py +0 -0
@@ -2,6 +2,108 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v0.16.2 — 2026-05-06 welcome scope guard + Boris pre-demo hardening
6
+
7
+ Pre-Boris-demo stress test surfaced a single class of welcome failure:
8
+ running ``forge welcome`` (or the welcome MCP tool) from a workspace
9
+ root walks every source file in every subdirectory. In the rehearsal
10
+ that meant 38 972 .py files instead of the 280 inside atomadic-forge,
11
+ and the call appeared to "hang." This release stops that at the
12
+ substrate.
13
+
14
+ - **welcome scope guard** — ``forge welcome`` now refuses to walk a
15
+ project root that holds more than ``--max-files`` (default 5 000)
16
+ source files, returning a structured ``verdict: REFUSE`` with the
17
+ observed file count and a clear "pass --project-root <narrower>
18
+ or --force" message. CLI exits 2; MCP returns the same shape.
19
+ Counted via an ``itertools.islice`` over ``iter_source_files``,
20
+ so the guard itself bails in milliseconds.
21
+ - **--force / --max-files** flags on ``forge welcome`` for the rare
22
+ case where a 5 000+ file repo is the right scope.
23
+ - **PyPI install hygiene note** — the v0.16.x rehearsal also surfaced
24
+ that interrupted ``pip install --upgrade`` runs on Windows leave
25
+ ``~tomadic_forge*`` shadow distribution directories in
26
+ ``site-packages`` which can mask the active editable install on
27
+ long-running MCP processes. Standard pip recovery is
28
+ ``pip install --upgrade --force-reinstall atomadic-forge`` (then
29
+ delete any remaining ``~*`` dirs). Documented in
30
+ ``docs/troubleshooting/pip-shadow-dirs.md``.
31
+
32
+ ## v0.16.1 — 2026-05-06 six new CLI verbs (verify, smell, call-graph, cna-check, trust-gate, commit-compose)
33
+
34
+ Six MCP-only tools that had no corresponding CLI verb are now reachable
35
+ from the shell. No behavioural changes to existing verbs.
36
+
37
+ - **forge verify** — composite wire + certify gate; single PASS / REFINE / FAIL
38
+ verdict + non-zero exit code for CI steps. Wraps the `verify` MCP tool.
39
+ - **forge smell** — cyclomatic-complexity + long-function + duplicate-code scan;
40
+ emits a `smell_score` (0–100) and a ranked offender list. Wraps `smell_scan`.
41
+ - **forge call-graph** — AST call-graph for one symbol; shows callers and callees
42
+ up to `--max-depth` with optional `--direction` filter. Wraps `call_graph`.
43
+ - **forge cna-check** — Compose-Not-Add guard; fails with exit 1 when a proposed
44
+ symbol name is semantically equivalent to an existing one. Wraps `cna_check`.
45
+ - **forge trust-gate** — LLM response hallucination detector; reads a response from
46
+ a file or stdin, scores it against known capabilities, exits 1 when
47
+ `safe_to_act` is False. Wraps `trust_gate_response`.
48
+ - **forge commit-compose** — structured commit-message assembler; writes a
49
+ Forge-signed subject + body + optional Co-Authored-By trailer to stdout.
50
+ Wraps `commit_compose`.
51
+
52
+ ## v0.16.0 — 2026-05-06 dress-rehearsal hardening (six bugfixes, 11 new tests)
53
+
54
+ Live stress-test on real third-party Python repos (atomadic-forge,
55
+ langgraph, crewai) ahead of the Boris demo surfaced six bugs across
56
+ the synthesis, planning, summary, and pipeline-pipe surfaces. All
57
+ fixed, all guarded by regression tests. No behavioural change for
58
+ clean paths.
59
+
60
+ - **emergent synthesize**: ``_imports_for`` was emitting
61
+ ``from pkg.mod.Class import method`` for class-method qualnames
62
+ (legacy ``"." in name`` guard never fired post-rpartition). The
63
+ generated package pip-installed but failed at module load. Now
64
+ detects method qualnames by the module's last segment being
65
+ CapitalCase. Single-seed ``forge create`` jumped from 60/FAIL to
66
+ 90/100 with importable code. +2 tests.
67
+ - **forge plan**: ``_operational_cards`` emitted literal
68
+ ``printf 'import your_pkg\n'`` placeholders that users would copy
69
+ verbatim and create broken tests. New ``_infer_pkg_label`` derives
70
+ from ``certify_report['project']`` or the project-root basename
71
+ (hyphen→underscore sanitisation), with the ``"your_pkg"`` literal
72
+ only as a last-resort fallback. +5 tests.
73
+ - **forge score-patch / adapt-plan**: ``--file -`` (the conventional
74
+ stdin sentinel) crashed with raw FileNotFoundError because the helper
75
+ tried to open a file literally named ``-``. Now falls through to
76
+ stdin when ``str(file) == "-"``; help text mentions the sentinel.
77
+ - **forge sbom** text summary: read ``components`` off the wrapper
78
+ instead of the nested CycloneDX payload, so every report showed
79
+ ``components: 0`` regardless of pyproject contents. Now dereferences
80
+ ``sbom['sbom']['components']``. Forge's own report goes 0 → 11.
81
+ +1 test.
82
+ - **forge recon-swarm / emergent-swarm / guard-install**: registered
83
+ with literal underscores while ``commandsmith discover`` normalised
84
+ module stems to hyphens, so ``commandsmith smoke`` reported these
85
+ three verbs as FAIL. Both hyphen and underscore forms now registered
86
+ as aliases; smoke is 100% green. +3 tests.
87
+ - **forge synergy-then-emergent / emergent-then-synergy**: auto-
88
+ synthesised pipes invoked ``synergy --json-out FILE`` and
89
+ ``emergent --json-out FILE`` against verbs that take ``--save FILE``
90
+ and require an explicit ``scan`` subcommand. Both pipes now run
91
+ end-to-end and emit producer-payload-keys summaries.
92
+
93
+ ### Stress-test evidence captured at C:\!!AtomadicStandard\Demo-Rehearsal\
94
+
95
+ - ``forge welcome`` on three Python repos: 2635 / 1854 / 7592 symbols.
96
+ - ``forge emergent_swarm`` across forge+langgraph+crewai: 16 cross-repo
97
+ novel compositions, 25 candidates, 2767 union catalog.
98
+ - ``forge create`` (forge+crewai → agent_toolkit): 18 cross-repo chains,
99
+ 5 materialised, certify=60. Single-seed forge: certify=90.
100
+ - ``forge auto`` (langgraph → tier-organised package, --apply): 1854
101
+ symbols absorbed, wire PASS, 226s end-to-end.
102
+ - ``forge commandsmith smoke``: 26 discovered + 23 core verbs, all PASS.
103
+ - ``forge synergy scan``: 72 features, 20 adapter candidates.
104
+ - Final test suite: 1302 passed, 0 failed, 2 skipped (was 1291 → +11).
105
+ - Self-certify: 100/100, wire PASS.
106
+
5
107
  ## v0.15.0 — 2026-05-06 forge create / forge materialize
6
108
 
7
109
  Closes the loop from emergent composition discovery to a real,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atomadic-forge
3
- Version: 0.15.0
3
+ Version: 0.16.2
4
4
  Summary: Atomadic Forge — absorb, enforce, emerge. Polyglot (Python · JavaScript/TypeScript · Swift · Kotlin · Go) architecture guardian for AI-generated code.
5
5
  Author: Atomadic
6
6
  License-Expression: BUSL-1.1
@@ -72,8 +72,20 @@ stays in the loop.
72
72
  | **Composite go/no-go ship gate** | ❌ | ✅ verify (PASS / REFINE / FAIL + next_command) |
73
73
  | **Signed conformance proof** | ❌ | ✅ Receipt v1 |
74
74
 
75
- ### What just shipped (v0.14.0a10)
75
+ ### What just shipped (v0.16.0)
76
76
 
77
+ - ** hardening — six bugfixes, eleven new tests** (v0.16.0) — live stress-test on three real Python repos (atomadic-forge, langgraph, crewai) ahead of the Boris demo surfaced six bugs across the synthesis, planning, summary, and pipeline-pipe surfaces. `emergent synthesize` no longer emits broken `from pkg.mod.Class import method`; `forge plan` no longer suggests a literal `your_pkg` placeholder; `forge score-patch --file -` honours the stdin sentinel; `forge sbom` text summary reports the real component count; `recon-swarm/emergent-swarm/guard-install` register both hyphen and underscore forms so `commandsmith smoke` is 100% green; `synergy-then-emergent` and `emergent-then-synergy` pipes use the real `--save FILE` flag. Single-seed `forge create` jumped from certify=60/FAIL to **certify=90/100** with importable code on first generation. Test suite 1,291 → 1,302 passed.
78
+
79
+ ### What previously shipped (v0.15.0)
80
+
81
+ > **From spaghetti to shippable in one command.** `forge create` takes
82
+ > an intent and a list of seed repos and returns a pip-installable
83
+ > Python package: it scans, finds emergent compositions, materializes
84
+ > the top candidates, runs wire + certify, and writes the receipt.
85
+ > Deterministic, no LLM, no network. **`pip install atomadic-forge`** to try it.
86
+
87
+ - **`forge create` — intent + seed repos → shippable Python package** (v0.15.0) — one-command pipeline composing existing primitives. Resolves each seed (auto-detects `src/<pkg>/` layout, tier-bearing dir, or single-package roots), runs `emergent_swarm` across the union, persists scan + receipt to `.atomadic-forge/`, then pipes top-N candidates through `materialize` for the final package. Strictly local paths — no GitHub cloning, no third-party absorption. End-to-end smoke on Forge itself: 570-symbol union catalog → 25 candidates → 17-file package, **wire_violations=0**.
88
+ - **`forge materialize` — emergent scan report → shippable package** (v0.15.0) — turns an emergent scan JSON into a tier-organized scaffold (a0..a4 with `__init__.py`), `pyproject.toml`, `README.md`, `.gitignore`, `tests/conftest.py`, plus one a3 feature module + smoke test per selected candidate. Slug uniqueness via candidate-id tail so name collisions don't overwrite. Optional wire-check + certify pass with the verdict embedded in the report. Refuses to overwrite a non-empty unrelated directory.
77
89
  - **`forge hive recap` — full lifecycle replay of one consensus** (v0.14.0a10) — new CLI verb + MCP tool (`hive_recap`, surface 60 → **61**). Returns proposer, `proposed_at`, intent, every vote (with rationale + timestamp), the resolution event if any, and a summary block (verdict, duration, voters). The "what happened on this consensus?" primitive — useful for audit trails, release-note quotes, post-mortem replay.
78
90
  - **`forge hive needs-vote` — "what should I weigh in on?"** (v0.14.0a9) — new CLI verb + MCP tool (`hive_needs_vote`, surface 59 → **60**) returning open consensuses where the calling agent hasn't voted yet, ordered by `proposed_at`, with `votes_so_far` + `voters_so_far` context. Closes the gap between `hive_observe` (everything happening) and the act of voting. Doc agent used it immediately after release to discover its own proposal needed proposer-vote attention.
79
91
  - **`docs/WORLD_COLLISION.md`** (v0.14.0a8) — the 11-step E2E walkthrough of *Atomadic-uses-Forge*. Six of the eleven steps have already fired this sprint with public-artifact evidence (`wisdom.jsonl` + `hive/consensus.jsonl`). Forge agent authored.
@@ -188,9 +200,10 @@ Recon: ./my-cloudflare-worker
188
200
  ## Pipeline lanes
189
201
 
190
202
  ```bash
191
- forge auto ./messy-repo ./out --apply # Absorb a flat repo into 5-tier layout
192
- forge evolve run "<intent>" ./out --auto 5 # LLM-driven recursive generation
193
- forge demo run --preset NAME # Click-to-launch-video preset
203
+ forge create -i "<intent>" -s ./repo -o ./out --package my_pkg # NEW: emergent pip-installable, deterministic
204
+ forge auto ./messy-repo ./out --apply # Absorb a flat repo into 5-tier layout
205
+ forge evolve run "<intent>" ./out --auto 5 # LLM-driven recursive generation
206
+ forge demo run --preset NAME # Click-to-launch-video preset
194
207
  forge chat ask "what should I fix next?" --context .
195
208
  ```
196
209
 
@@ -270,10 +283,43 @@ Each tier is a layer of **verified building blocks**. Higher tiers never invent
270
283
 
271
284
  ```bash
272
285
  pip install atomadic-forge
273
- forge --version # atomadic-forge 0.14.0
286
+ forge --version # atomadic-forge 0.15.0
274
287
  forge doctor # environment check
275
288
  ```
276
289
 
290
+ ### 60-second quickstart (v0.15.0)
291
+
292
+ From a fresh `pip install`, take any tier-organized repo and produce a
293
+ new pip-installable package containing emergent compositions:
294
+
295
+ ```bash
296
+ # 1. Discover and ship in one call
297
+ forge create \
298
+ --intent "logging-aware retry layer" \
299
+ --seed-repo /path/to/your/repo \
300
+ --out-dir ./out/retry_layer \
301
+ --package retry_layer \
302
+ --top-n 5
303
+
304
+ # Output:
305
+ # union catalog: <symbols-scanned>
306
+ # candidates: <novel-compositions-found>
307
+ # files written: <scaffold + features + tests>
308
+ # wire violations: 0
309
+ # certify: <score> (PASS / REFINE / FAIL)
310
+ #
311
+ # Receipt: ./out/retry_layer/.atomadic-forge/create.json
312
+ # Scan: ./out/retry_layer/.atomadic-forge/scan.json
313
+ ```
314
+
315
+ Need finer control? The same pipeline is two steps:
316
+
317
+ ```bash
318
+ forge emergent scan --top-n 25 --save scan.json # discovery
319
+ forge materialize run scan.json ./out/retry_layer \\
320
+ --package retry_layer --top-n 5 # ship
321
+ ```
322
+
277
323
  Then follow [docs/FIRST_10_MINUTES.md](docs/FIRST_10_MINUTES.md) for
278
324
  the canonical first-run path (offline demo, free recon, then absorb or
279
325
  generate).
@@ -283,7 +329,7 @@ generate).
283
329
  ```bash
284
330
  git clone https://github.com/atomadictech/atomadic-forge && cd atomadic-forge
285
331
  pip install -e ".[dev]"
286
- python -m pytest # 1179 collected (1177 passed, 2 skipped)
332
+ python -m pytest # 1293 collected (1291 passed, 2 skipped)
287
333
  ```
288
334
 
289
335
  ## AI Agent integration (MCP)
@@ -301,7 +347,7 @@ Forge ships a **Model Context Protocol server** — add it to Cursor, Claude Cod
301
347
  }
302
348
  ```
303
349
 
304
- ### All 63 MCP tools (local) · 40 on the deployed Worker
350
+ ### All 66 MCP tools (local) · 40 on the deployed Worker
305
351
 
306
352
  > **Recommended first call: `welcome`** — runs scout + certify + wire on the
307
353
  > current repo and returns a structured situation report (score, top
@@ -528,7 +574,7 @@ Forge waits before returning a clear provider error.
528
574
 
529
575
  | Command | Purpose |
530
576
  |---------|---------|
531
- | `forge mcp serve` | Stdio JSON-RPC MCP server — 63 tools for Cursor / Claude Code / Aider / Devin. |
577
+ | `forge mcp serve` | Stdio JSON-RPC MCP server — 66 tools for Cursor / Claude Code / Aider / Devin. |
532
578
  | `forge plan / plan-list / plan-show / plan-step / plan-apply` | Agent plan persistence and step-by-step apply. |
533
579
  | `forge iterate` | LLM loop: intent → code → absorb → wire → score → iterate. Single shot. |
534
580
  | `forge evolve` | Recursive improvement: N rounds, catalog grows each round. |
@@ -542,26 +588,96 @@ Forge waits before returning a clear provider error.
542
588
 
543
589
  | Command | Purpose |
544
590
  |---------|---------|
545
- | `forge emergent` | Symbol-level composition discovery. |
591
+ | `forge emergent scan` | Symbol-level composition discovery — find type-safe chains across modules. |
592
+ | **`forge materialize`** *(v0.15.0+)* | Turn an emergent scan report into a real, pip-installable Python package with proper tier layout. |
593
+ | **`forge create`** *(v0.15.0+)* | One-command pipeline: intent + seed repos → scan → materialize → certify. |
546
594
  | `forge synergy` | Feature-pair detection + auto-generate adapters. |
595
+ | `forge harvest` | Cross-repo capability gap finder, τ_TRUST gated. |
596
+ | `forge recon-swarm` / `forge emergent-swarm` | Multi-repo recon + cross-repo composition discovery. |
547
597
  | `forge commandsmith` | Auto-register CLI commands, regenerate `_registry.py`, smoke-test all verbs. |
548
598
  | `forge lsp serve` | Stdio LSP server for `.forge` files (live diagnostics, hover, goto). |
549
599
 
550
600
  ## Targeted workflows
551
601
 
602
+ Forge ships several distinct lanes — pick the one that fits your intent.
603
+
604
+ ### Lane 1 — Orient and certify an existing repo *(read-only)*
605
+
606
+ ```bash
607
+ forge welcome # one-shot: scout + certify + wire + agent guidance
608
+ forge recon . # tier distribution, effect distribution, recommendations
609
+ forge certify . # 4-axis score (docs / tests / layout / wire)
610
+ forge status . # one-line wire + certify summary
611
+ forge explain-repo # JSON orientation packet (one-liner / do_not_break / release_state)
612
+ forge context-pack # bounded LLM-ready repo briefing
613
+ ```
614
+
615
+ ### Lane 2 — Absorb a third-party repo into a tier-clean Atomadic package
616
+
552
617
  ```bash
553
- # Targeted: just see what's in a repo
554
- forge recon ./repo
618
+ # Dry-run first see what would happen
619
+ forge auto ./external-repo ./absorbed --package external_pick
555
620
 
556
- # Targeted: pick specific symbols
557
- forge cherry ./repo --pick infer_tier --pick CherryPicker
621
+ # Then commit
622
+ forge auto ./external-repo ./absorbed --package external_pick --apply
623
+ # 1854 symbols absorbed · wire PASS · proper a0..a4 layout
624
+ ```
625
+
626
+ ### Lane 3 — *(v0.15.0+)* Build something new from emergent compositions
627
+
628
+ ```bash
629
+ # Single-repo: discover compositions in your own catalog
630
+ forge emergent scan --src-root src --package myapp --save scan.json
631
+ forge materialize run --report scan.json --out-dir ./toolkit \
632
+ --package toolkit --top-n 5
633
+
634
+ # Cross-repo: synthesize a brand-new package from N seeds
635
+ forge create -i "agent toolkit from forge + crewai" \
636
+ -s ./atomadic-forge \
637
+ -s ./crewai/lib/crewai \
638
+ --out-dir ./agent_toolkit \
639
+ --package agent_toolkit --top-n 5
640
+ # 18 cross-repo chains · 5 picks · 21 files · wire PASS · certify 60→90
641
+ ```
642
+
643
+ ### Lane 4 — LLM-driven generation under the architectural backbone
644
+
645
+ ```bash
646
+ forge iterate run --intent "..." --out ./out # one shot: intent → code → score → iterate
647
+ forge evolve run "..." ./out --auto 3 # recursive improvement, N rounds
648
+ forge demo run --preset calc # canned 50s autonomous build
649
+ forge chat # terminal copilot over forge docs/source
650
+ ```
558
651
 
559
- # Targeted: merge two repos with conflict resolution
652
+ ### Lane 5 Cross-repo discovery and composition
653
+
654
+ ```bash
655
+ forge recon-swarm -r ./repo-a -r ./repo-b -r ./repo-c
656
+ forge emergent-swarm -r ./repo-a -r ./repo-b -r ./repo-c
657
+ forge harvest -t ./target -s ./source-a -s ./source-b
658
+ ```
659
+
660
+ ### Lane 6 — Targeted spot-fixes
661
+
662
+ ```bash
663
+ forge recon ./repo # see what's in a repo
664
+ forge cherry ./repo --pick infer_tier --pick CherryPicker # pick specific symbols
560
665
  forge cherry ./repo-a --pick all
561
- forge finalize ./repo-a ./out --apply --on-conflict rename
666
+ forge finalize ./repo-a ./out --apply --on-conflict rename # merge two repos
667
+ forge enforce ./out/src/package --apply # mechanical fixes (rollback-safe)
668
+ ```
562
669
 
563
- # Specialty: surface compositions across your own catalog
564
- forge emergent scan
670
+ ### Lane 7 Coordination, lineage, governance
671
+
672
+ ```bash
673
+ forge handoff create --agent X --work "..." --pytest-summary "..."
674
+ forge wisdom record --insight "..." --tags "..."
675
+ forge wisdom query --text "certify"
676
+ forge audit list # browse .atomadic-forge/lineage.jsonl
677
+ forge enhancement propose -t "..." -d "..."
678
+ forge surface emit --out surface.json # canonical tool surface for drift CI
679
+ forge sbom . # CycloneDX 1.5 SBOM
680
+ forge cs1 # EU AI Act / SR 11-7 / FDA PCCP / CMMC-AI conformity
565
681
  ```
566
682
 
567
683
  ## Known limits (honest & concrete)
@@ -590,7 +706,7 @@ Forge ships with named limits. No overpromise.
590
706
 
591
707
  - **Dry-run by default.** No verb writes to disk without `--apply` or equivalent. Only `.atomadic-forge/` manifests (diagnostic reports) are written in dry-run mode.
592
708
 
593
- - **The 5-tier law is non-negotiable.** Anything that ships with Forge passes its own `wire` scan. Forge's 53 source files live in a0–a4; it eats its own dogfood.
709
+ - **The 5-tier law is non-negotiable.** Anything that ships with Forge passes its own `wire` scan. Forge's 193 source files live in a0–a4; it eats its own dogfood.
594
710
 
595
711
  - **Honest output.** Every report includes `schema_version`. Every apply emits `STATUS.md` (required follow-up). Every artifact is provable and traced (lineage recorded in `.atomadic-forge/lineage.jsonl`).
596
712
 
@@ -601,7 +717,7 @@ Forge ships with named limits. No overpromise.
601
717
  | Product | What it is | Status |
602
718
  |---------|------------|--------|
603
719
  | **AAAA-Nexus** | Trust/safety/payments substrate for autonomous agents | Live at [atomadic.tech](https://atomadic.tech) |
604
- | **Atomadic Forge** | Absorb-and-emerge engine for developers (this repo) | **v0.14.0** — on PyPI, 1177 tests, 100/100, MCP server (63 tools local · 40 on Worker), four-agent hive primitives, AAAA-Nexus bridge, agent-to-agent handoffs |
720
+ | **Atomadic Forge** | Absorb-and-emerge engine for developers (this repo) | **v0.15.0** — on PyPI, 1291 tests, 100/100, MCP server (66 tools local · 40 on Worker), `forge create` / `forge materialize` shippable-package pipeline, four-agent hive primitives, AAAA-Nexus bridge, agent-to-agent handoffs |
605
721
  | **Atomadic Assistant** | Sovereign AI assistant with cognitive loop on Cloudflare | In development |
606
722
 
607
723
  ## Pricing
@@ -609,17 +725,15 @@ Forge ships with named limits. No overpromise.
609
725
  Free for OSS / non-commercial. Paid hosted MCP at `forge.atomadic.tech/mcp` for
610
726
  production agents.
611
727
 
612
- | Tier | Monthly | What you get |
728
+ | Tier | Price | What you get |
613
729
  |---|---|---|
614
730
  | **Free** | $0 | OSS, 25 calls/day, read-only tools |
615
- | **Basic** | $19 | All 22 tools, 5k calls/mo, signed receipts |
616
- | **Dev** | $39 | + custom recipes, 25k calls/mo, priority queue |
617
- | **Pro** | $99/user | + compliance attestations, AAAA-Nexus notarization, cross-repo telemetry |
618
- | **Enterprise** | from $2.5k | BSL commercial license, SSO, self-host, SLA |
731
+ | **Pro** | $79/mo | All 66 tools, 5k calls/mo, signed receipts, custom recipes |
732
+ | **Studio** | $249/mo | + AAAA-Nexus notarization, compliance attestations, cross-repo telemetry, priority queue |
733
+ | **Lifetime Founder** | $999 once | One key. Forever. Forge Pro + Forge Deluxe (when launched) + AAAA-Nexus + every future Atomadic product. **First 25 only.** |
734
+ | **Enterprise** | custom | BSL commercial license, SSO, self-host, SLA |
619
735
 
620
- **👑 Atomadic Lifetime Founder $999 — first 25 only.** One key. Forever. Lifetime
621
- Forge Standard Pro + Forge Deluxe (when launched) + AAAA-Nexus + every future
622
- Atomadic product. See [forge.atomadic.tech/pricing](https://forge.atomadic.tech/pricing).
736
+ See [forge.atomadic.tech/pricing](https://forge.atomadic.tech/pricing) for the live tier matrix.
623
737
 
624
738
  Pay-per-call (x402) and prepaid call packs ($25 / $100 / $500 / $2,500) are also
625
739
  available on the hosted MCP.
@@ -636,7 +750,7 @@ Apache 2.0.
636
750
  - **[Showcase](docs/SHOWCASE.md)** — Live runs with live results (start here)
637
751
  - **[Landscape](docs/LANDSCAPE.md)** — How Forge sits next to Cursor / Devin / Lovable / Copilot Workspace
638
752
  - **[Why now](docs/WHY_NOW.md)** — The urgency case for an architecture substrate
639
- - **[Commands](docs/COMMANDS.md)** — Full reference for all 13+ verbs
753
+ - **[Commands](docs/COMMANDS.md)** — Full reference for all 26+ verbs
640
754
  - **[Release checklist](docs/RELEASE_CHECKLIST.md)** — Shippability gates, CLI scenarios, local-model smoke checks
641
755
  - **[Roadmap](docs/ROADMAP.md)** — 0.2 / 0.3 / 1.0 milestones
642
756
  - **[Architecture guide](ARCHITECTURE.md)** — How Forge itself is built (monadic tiers, data flows, design)
@@ -650,12 +764,12 @@ Apache 2.0.
650
764
  **Forge itself is monadic.** Every source file belongs to one tier. The repo is a worked example:
651
765
 
652
766
  ```bash
653
- python -m pytest # 1177 passed, 2 skipped
767
+ python -m pytest # 1291 passed, 2 skipped
654
768
  forge doctor # Environment check
655
769
  forge wire src/atomadic_forge # Scan for violations (PASS)
656
770
  forge certify . --fail-under 100 # Score and gate the repo (100/100)
657
771
  forge status . # Quick health snapshot
658
- forge commandsmith smoke # Smoke-test all 63 registered verbs
772
+ forge commandsmith smoke # Smoke-test all registered verbs
659
773
  ```
660
774
 
661
775
  **Before submitting a PR:**
@@ -668,11 +782,13 @@ forge commandsmith smoke # Smoke-test all 63 registered verbs
668
782
 
669
783
  **Production-ready for architecture enforcement. Working, honest, self-eating.**
670
784
 
671
- - ✓ **1176 tests** passing, 2 skipped
785
+ - ✓ **1291 tests** passing, 2 skipped
786
+ - ✓ **0 ruff errors** — full lint sweep landed in v0.15.0
672
787
  - ✓ **100/100 certify** — forge scores itself on every CI run
673
788
  - ✓ **0 wire violations** — forge passes its own import-law scan
674
- - ✓ **On PyPI** — `pip install atomadic-forge` (latest: v0.14.0)
675
- - ✓ **MCP server** 63-tool surface (40 on the deployed Worker at `forge.atomadic.tech/mcp`, 63 in the local CLI / pip install); works with Cursor, Claude Code, Aider, Devin
789
+ - ✓ **On PyPI** — `pip install atomadic-forge` (latest: v0.15.0)
790
+ - ✓ **`forge create` / `forge materialize`** intent + seed repos pip-installable package, deterministic, no LLM. From spaghetti to shippable in one command.
791
+ - ✓ **MCP server** — 66-tool surface (40 on the deployed Worker at `forge.atomadic.tech/mcp`, 66 in the local CLI / pip install); works with Cursor, Claude Code, Aider, Devin
676
792
  - ✓ **Hive primitives** — `hive_register / observe / propose / vote / result / list / deactivate / watch / needs-vote / recap` for multi-agent consensus over append-only public artifacts
677
793
  - ✓ **AAAA-Nexus bridge** — 7 LIVE primitives wired as MCP tools (`nexus_identity_verify`, `nexus_federation_mint`, `nexus_authorize_action`, `nexus_sys_trust_gate`, `nexus_contract_verify`, `nexus_lineage_record`, `nexus_ratchet_register`); wisdom + consensus auto-mirror at confidence ≥ 0.85
678
794
  - ✓ **Multi-agent safeguards** — `cost_circuit_breaker`, `dedup_engine`, `agent_hire_protocol`, `hierarchical_memory` (MemGPT 4-tier)