atomadic-forge 0.10.0__tar.gz → 0.14.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 (357) hide show
  1. atomadic_forge-0.14.0/.github/workflows/surface-drift.yml +34 -0
  2. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/CHANGELOG.md +1008 -4
  3. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/PKG-INFO +143 -44
  4. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/README.md +141 -42
  5. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/02-commands.md +521 -0
  6. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/04-llm-loops.md +42 -11
  7. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/05-faq.md +80 -14
  8. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/AGENTS_GUIDE.md +151 -65
  9. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/CI_CD.md +82 -3
  10. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/COMMANDS.md +7 -3
  11. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/FIRST_10_MINUTES.md +12 -1
  12. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/FORMALIZATION.md +4 -4
  13. atomadic_forge-0.14.0/docs/HIVE_PRIMITIVES.md +225 -0
  14. atomadic_forge-0.14.0/docs/HIVE_STATUS.md +362 -0
  15. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/MARKET_POSITIONING.md +11 -1
  16. atomadic_forge-0.14.0/docs/MIGRATION.md +607 -0
  17. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/RECEIPT.md +1 -1
  18. atomadic_forge-0.14.0/docs/RELAY_PROTOCOL.md +255 -0
  19. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/RELEASE_CHECKLIST.md +7 -2
  20. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/RELEASE_MESSAGING.md +14 -1
  21. atomadic_forge-0.14.0/docs/ROADMAP.md +255 -0
  22. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/SHOWCASE.md +1 -1
  23. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/SIDECAR.md +8 -4
  24. atomadic_forge-0.14.0/docs/TOOL_FACTORY_WALKTHROUGH.md +229 -0
  25. atomadic_forge-0.14.0/docs/WORKER_VS_LOCAL_MCP.md +318 -0
  26. atomadic_forge-0.14.0/docs/WORLD_COLLISION.md +239 -0
  27. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/06-javascript-quickstart.md +4 -2
  28. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/pyproject.toml +2 -2
  29. atomadic_forge-0.14.0/src/atomadic_forge/__init__.py +24 -0
  30. atomadic_forge-0.14.0/src/atomadic_forge/a0_qk_constants/handoff_constants.py +32 -0
  31. atomadic_forge-0.14.0/src/atomadic_forge/a0_qk_constants/hive_constants.py +108 -0
  32. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/lang_extensions.py +40 -2
  33. atomadic_forge-0.14.0/src/atomadic_forge/a0_qk_constants/nexus_constants.py +66 -0
  34. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/schema_version_registry.py +33 -0
  35. atomadic_forge-0.14.0/src/atomadic_forge/a0_qk_constants/wisdom_constants.py +47 -0
  36. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/body_extractor.py +140 -21
  37. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/certify_checks.py +8 -0
  38. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/classify_tier.py +224 -0
  39. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/handoff_builder.py +144 -0
  40. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/hive_consensus_math.py +130 -0
  41. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/hive_io.py +226 -0
  42. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/mcp_protocol.py +897 -0
  43. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/scout_walk.py +106 -5
  44. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/smell_scan.py +29 -5
  45. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/wire_check.py +487 -0
  46. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/wisdom_capture.py +129 -0
  47. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/wisdom_io.py +136 -0
  48. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/wisdom_promote.py +168 -0
  49. atomadic_forge-0.14.0/src/atomadic_forge/a1_at_functions/wisdom_recall.py +113 -0
  50. atomadic_forge-0.14.0/src/atomadic_forge/a2_mo_composites/nexus_client.py +159 -0
  51. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/handoff_feature.py +121 -0
  52. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/hive_sync.py +466 -0
  53. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/mcp_server.py +337 -0
  54. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/nexus_bridge.py +111 -0
  55. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/relay_daemon.py +189 -0
  56. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/surface_export.py +175 -0
  57. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/tool_factory.py +12 -1
  58. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/verify_umbrella.py +148 -0
  59. atomadic_forge-0.14.0/src/atomadic_forge/a3_og_features/wisdom_feature.py +149 -0
  60. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a4_sy_orchestration/cli.py +56 -1
  61. atomadic_forge-0.14.0/src/atomadic_forge/commands/emergent_swarm.py +139 -0
  62. atomadic_forge-0.14.0/src/atomadic_forge/commands/guard_install.py +93 -0
  63. atomadic_forge-0.14.0/src/atomadic_forge/commands/handoff.py +177 -0
  64. atomadic_forge-0.14.0/src/atomadic_forge/commands/harvest.py +89 -0
  65. atomadic_forge-0.14.0/src/atomadic_forge/commands/hive.py +437 -0
  66. atomadic_forge-0.14.0/src/atomadic_forge/commands/recon_swarm.py +76 -0
  67. atomadic_forge-0.14.0/src/atomadic_forge/commands/relay.py +107 -0
  68. atomadic_forge-0.14.0/src/atomadic_forge/commands/surface.py +152 -0
  69. atomadic_forge-0.14.0/src/atomadic_forge/commands/wisdom.py +272 -0
  70. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/PKG-INFO +143 -44
  71. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/SOURCES.txt +46 -3
  72. atomadic_forge-0.14.0/tests/test_classify_tier_ast_signals.py +208 -0
  73. atomadic_forge-0.14.0/tests/test_handoff.py +241 -0
  74. atomadic_forge-0.14.0/tests/test_hive_sync.py +229 -0
  75. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_ignore_and_docs.py +39 -0
  76. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_mcp_protocol.py +69 -0
  77. atomadic_forge-0.14.0/tests/test_nexus_bridge.py +124 -0
  78. atomadic_forge-0.14.0/tests/test_polyglot_swift_kotlin_go.py +201 -0
  79. atomadic_forge-0.14.0/tests/test_smell_score_formula.py +96 -0
  80. atomadic_forge-0.14.0/tests/test_surface_export.py +204 -0
  81. atomadic_forge-0.14.0/tests/test_verify_suggested_recipe.py +163 -0
  82. atomadic_forge-0.14.0/tests/test_wire_type_checking.py +179 -0
  83. atomadic_forge-0.14.0/tests/test_wisdom.py +261 -0
  84. atomadic_forge-0.10.0/.github/workflows/forge-studio-ci.yml +0 -60
  85. atomadic_forge-0.10.0/docs/ROADMAP.md +0 -112
  86. atomadic_forge-0.10.0/docs/STRIPE_SETUP_HANDOFF.md +0 -299
  87. atomadic_forge-0.10.0/src/atomadic_forge/__init__.py +0 -12
  88. atomadic_forge-0.10.0/src/atomadic_forge/a1_at_functions/classify_tier.py +0 -115
  89. atomadic_forge-0.10.0/src/atomadic_forge/a1_at_functions/wire_check.py +0 -260
  90. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/FUNDING.yml +0 -0
  91. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  92. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  93. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  94. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/actions/forge-action/README.md +0 -0
  95. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/actions/forge-action/action.yml +0 -0
  96. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/dependabot.yml +0 -0
  97. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/pull_request_template.md +0 -0
  98. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/workflows/ci.yml +0 -0
  99. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/workflows/customer-refactor.yml +0 -0
  100. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/workflows/forge-self-certify.yml +0 -0
  101. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/.github/workflows/release.yml +0 -0
  102. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/ARCHITECTURE.md +0 -0
  103. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/CONTRIBUTING.md +0 -0
  104. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/LICENSE +0 -0
  105. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/MANIFEST.in +0 -0
  106. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/SECURITY.md +0 -0
  107. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/assets/Atomadic-Forge-01.png +0 -0
  108. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/01-getting-started.md +0 -0
  109. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/03-tutorial.md +0 -0
  110. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/AIR_GAPPED.md +0 -0
  111. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/CODEX_WALKTHROUGH.md +0 -0
  112. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/LANDSCAPE.md +0 -0
  113. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/MULTI_REPO.md +0 -0
  114. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/README.md +0 -0
  115. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/STUDIO.md +0 -0
  116. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/WHY_NOW.md +0 -0
  117. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/INDEX.md +0 -0
  118. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/chat.md +0 -0
  119. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/commandsmith.md +0 -0
  120. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/config.md +0 -0
  121. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/demo.md +0 -0
  122. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/emergent-then-synergy.md +0 -0
  123. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/emergent.md +0 -0
  124. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/evolve-then-iterate.md +0 -0
  125. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/evolve.md +0 -0
  126. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/feature-then-emergent.md +0 -0
  127. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/iterate.md +0 -0
  128. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/synergy-then-emergent.md +0 -0
  129. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/commands/synergy.md +0 -0
  130. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/compliance/CMMC_AI_MAPPING.md +0 -0
  131. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/compliance/CS-1.md +0 -0
  132. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/compliance/EU_AI_ACT_ANNEX_IV.md +0 -0
  133. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/compliance/FDA_PCCP_MAPPING.md +0 -0
  134. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/compliance/SR_11-7_MAPPING.md +0 -0
  135. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/01-quickstart.md +0 -0
  136. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/02-your-first-package.md +0 -0
  137. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/03-the-five-tier-law.md +0 -0
  138. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/04-plug-in-llms.md +0 -0
  139. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/docs/tutorials/05-multi-repo-absorb.md +0 -0
  140. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/setup.cfg +0 -0
  141. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/__main__.py +0 -0
  142. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/__init__.py +0 -0
  143. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/agent_plan_schema.py +0 -0
  144. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/auth_constants.py +0 -0
  145. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/commandsmith_types.py +0 -0
  146. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/config_defaults.py +0 -0
  147. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/emergent_types.py +0 -0
  148. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/error_codes.py +0 -0
  149. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/forge_types.py +0 -0
  150. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/gen_language.py +0 -0
  151. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/mhed_invariants.py +0 -0
  152. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/policy_schema.py +0 -0
  153. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/receipt_schema.py +0 -0
  154. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/roi_constants.py +0 -0
  155. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/semantic_types.py +0 -0
  156. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/sidecar_schema.py +0 -0
  157. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/synergy_types.py +0 -0
  158. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a0_qk_constants/tier_names.py +0 -0
  159. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/__init__.py +0 -0
  160. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/agent_context_pack.py +0 -0
  161. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/agent_memory.py +0 -0
  162. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/agent_plan_emitter.py +0 -0
  163. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/agent_summary.py +0 -0
  164. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/call_graph.py +0 -0
  165. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/card_renderer.py +0 -0
  166. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/chat_context.py +0 -0
  167. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/cherry_pick.py +0 -0
  168. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/code_signature.py +0 -0
  169. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/commandsmith_discover.py +0 -0
  170. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/commandsmith_render.py +0 -0
  171. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/compiler_feedback.py +0 -0
  172. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/compliance_checker.py +0 -0
  173. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/config_io.py +0 -0
  174. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/cs1_renderer.py +0 -0
  175. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/doc_synthesizer.py +0 -0
  176. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/emergent_compose.py +0 -0
  177. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/emergent_rank.py +0 -0
  178. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/emergent_signature_extract.py +0 -0
  179. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/emergent_synthesize.py +0 -0
  180. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/enforce_planner.py +0 -0
  181. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/error_hints.py +0 -0
  182. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/evolution_log.py +0 -0
  183. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/exported_api_check.py +0 -0
  184. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/forge_auth.py +0 -0
  185. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/forge_feedback.py +0 -0
  186. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/forge_locate.py +0 -0
  187. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/generation_quality.py +0 -0
  188. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/import_repair.py +0 -0
  189. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/import_smoke.py +0 -0
  190. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/intent_similarity.py +0 -0
  191. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/js_parser.py +0 -0
  192. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/lineage_chain.py +0 -0
  193. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/lineage_reader.py +0 -0
  194. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/llm_client.py +0 -0
  195. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/local_signer.py +0 -0
  196. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/lsp_protocol.py +0 -0
  197. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/manifest_diff.py +0 -0
  198. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/patch_scorer.py +0 -0
  199. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/plan_adapter.py +0 -0
  200. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/policy_loader.py +0 -0
  201. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/preflight_change.py +0 -0
  202. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/progress_reporter.py +0 -0
  203. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/provider_detect.py +0 -0
  204. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/provider_resolver.py +0 -0
  205. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/receipt_emitter.py +0 -0
  206. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/recipes.py +0 -0
  207. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/repo_explainer.py +0 -0
  208. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/research_note_distiller.py +0 -0
  209. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/roi_calculator.py +0 -0
  210. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/rollback_planner.py +0 -0
  211. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/sbom_emitter.py +0 -0
  212. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/scaffold_js.py +0 -0
  213. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/scaffold_pyproject.py +0 -0
  214. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/scaffold_starter.py +0 -0
  215. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/sidecar_parser.py +0 -0
  216. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/sidecar_validator.py +0 -0
  217. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/stub_detector.py +0 -0
  218. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/synergy_detect.py +0 -0
  219. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/synergy_render.py +0 -0
  220. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/synergy_surface_extract.py +0 -0
  221. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/test_runner.py +0 -0
  222. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/test_selector.py +0 -0
  223. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/tier_init_rebuild.py +0 -0
  224. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/tool_composer.py +0 -0
  225. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/transcript_log.py +0 -0
  226. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/trust_gate_response.py +0 -0
  227. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/validation_commands.py +0 -0
  228. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a1_at_functions/worktree_status.py +0 -0
  229. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/__init__.py +0 -0
  230. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/cost_circuit_breaker.py +0 -0
  231. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/cross_agent_intent_deduplicator.py +0 -0
  232. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/evolve_session_store.py +0 -0
  233. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/forge_auth_client.py +0 -0
  234. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/hierarchical_memory.py +0 -0
  235. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/iterate_session_store.py +0 -0
  236. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/lineage_chain_store.py +0 -0
  237. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/manifest_store.py +0 -0
  238. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/plan_store.py +0 -0
  239. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a2_mo_composites/receipt_signer.py +0 -0
  240. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/__init__.py +0 -0
  241. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/agent_hire_protocol.py +0 -0
  242. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/cherry_hunter.py +0 -0
  243. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/cna_check.py +0 -0
  244. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/commandsmith_feature.py +0 -0
  245. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/commit_compose.py +0 -0
  246. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/dedup_engine.py +0 -0
  247. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/__init__.py +0 -0
  248. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a0_qk_constants/__init__.py +0 -0
  249. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a1_at_functions/__init__.py +0 -0
  250. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/conftest.py +0 -0
  251. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/test_mixed.py +0 -0
  252. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/demo_runner.py +0 -0
  253. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/emergent_feature.py +0 -0
  254. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/emergent_pipeline_integration.py +0 -0
  255. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/emergent_swarm.py +0 -0
  256. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_enforce.py +0 -0
  257. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_evolve.py +0 -0
  258. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_evolve_session.py +0 -0
  259. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_loop.py +0 -0
  260. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_loop_session.py +0 -0
  261. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_pipeline.py +0 -0
  262. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/forge_plan_apply.py +0 -0
  263. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/guard_install.py +0 -0
  264. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/lsp_server.py +0 -0
  265. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/setup_wizard.py +0 -0
  266. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a3_og_features/synergy_feature.py +0 -0
  267. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a4_sy_orchestration/__init__.py +0 -0
  268. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a4_sy_orchestration/copilots_cmd.py +0 -0
  269. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a4_sy_orchestration/login_cmd.py +0 -0
  270. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/a4_sy_orchestration/whoami_cmd.py +0 -0
  271. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/__init__.py +0 -0
  272. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/_registry.py +0 -0
  273. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/audit.py +0 -0
  274. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/chat.py +0 -0
  275. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/commandsmith.py +0 -0
  276. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/config_cmd.py +0 -0
  277. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/demo.py +0 -0
  278. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/emergent.py +0 -0
  279. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/emergent_then_synergy.py +0 -0
  280. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/evolve.py +0 -0
  281. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/evolve_then_iterate.py +0 -0
  282. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/feature_then_emergent.py +0 -0
  283. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/iterate.py +0 -0
  284. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/synergy.py +0 -0
  285. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge/commands/synergy_then_emergent.py +0 -0
  286. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/dependency_links.txt +0 -0
  287. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/entry_points.txt +0 -0
  288. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/requires.txt +0 -0
  289. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/src/atomadic_forge.egg-info/top_level.txt +0 -0
  290. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_aaaa_nexus_client.py +0 -0
  291. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_agent_hire_protocol.py +0 -0
  292. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_agent_plan.py +0 -0
  293. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_agent_summary.py +0 -0
  294. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_audit_verb.py +0 -0
  295. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_body_extractor_repairs.py +0 -0
  296. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_card_renderer.py +0 -0
  297. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_certify_operational_axis.py +0 -0
  298. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_chat.py +0 -0
  299. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_classify_tier.py +0 -0
  300. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_cli_smoke.py +0 -0
  301. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_codex_5_complete.py +0 -0
  302. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_codex_6_enforce_polyglot.py +0 -0
  303. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_commandsmith.py +0 -0
  304. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_compiler_feedback.py +0 -0
  305. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_compliance_checker.py +0 -0
  306. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_config.py +0 -0
  307. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_copilots_copilot.py +0 -0
  308. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_cost_circuit_breaker.py +0 -0
  309. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_cs1_renderer.py +0 -0
  310. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_dedup_engine.py +0 -0
  311. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_demo.py +0 -0
  312. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_emergent_compose.py +0 -0
  313. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_emergent_signature_extract.py +0 -0
  314. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_error_codes.py +0 -0
  315. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_error_hints.py +0 -0
  316. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_evolve_js.py +0 -0
  317. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_exported_api_check.py +0 -0
  318. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_forge_action.py +0 -0
  319. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_forge_auth_a1.py +0 -0
  320. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_forge_auth_a2.py +0 -0
  321. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_forge_enforce.py +0 -0
  322. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_generation_quality.py +0 -0
  323. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_hierarchical_memory.py +0 -0
  324. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_import_smoke.py +0 -0
  325. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_iterate_evolve.py +0 -0
  326. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_js_certify.py +0 -0
  327. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_js_parser.py +0 -0
  328. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_js_recon.py +0 -0
  329. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_js_wire.py +0 -0
  330. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_lineage_chain.py +0 -0
  331. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_ling_provider.py +0 -0
  332. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_local_signer.py +0 -0
  333. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_lsp_protocol.py +0 -0
  334. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_manifest_diff.py +0 -0
  335. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_ollama_client.py +0 -0
  336. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_pipeline.py +0 -0
  337. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_plan_apply.py +0 -0
  338. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_pre_audit_smoke.py +0 -0
  339. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_precommit_hooks.py +0 -0
  340. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_progress_reporter.py +0 -0
  341. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_receipt_emitter.py +0 -0
  342. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_receipt_schema.py +0 -0
  343. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_receipt_signer.py +0 -0
  344. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_roi_calculator.py +0 -0
  345. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_sbom_emitter.py +0 -0
  346. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_scaffold.py +0 -0
  347. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_sidecar.py +0 -0
  348. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_sidecar_validate.py +0 -0
  349. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_stagnation.py +0 -0
  350. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_stub_detector.py +0 -0
  351. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_synergy.py +0 -0
  352. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_test_runner.py +0 -0
  353. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_tier_init_rebuild.py +0 -0
  354. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_trust_gate_response.py +0 -0
  355. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_whoami_cmd.py +0 -0
  356. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_wire_certify.py +0 -0
  357. {atomadic_forge-0.10.0 → atomadic_forge-0.14.0}/tests/test_wire_suggest_repairs.py +0 -0
@@ -0,0 +1,34 @@
1
+ name: Surface Drift Gate
2
+
3
+ # CI gate that prevents surface.json from drifting out of sync with
4
+ # the canonical regeneration. Any PR that changes TOOLS, schema
5
+ # registries, or recipes WITHOUT regenerating surface.json fails this
6
+ # check with the exact diff. Closes the friction loop where humans had
7
+ # to remember to update docs/website/badge after every surface change.
8
+ #
9
+ # Fix when this fails: forge surface emit --out surface.json && git add surface.json
10
+
11
+ on:
12
+ pull_request:
13
+ paths:
14
+ - "src/atomadic_forge/a0_qk_constants/schema_version_registry.py"
15
+ - "src/atomadic_forge/a1_at_functions/mcp_protocol.py"
16
+ - "src/atomadic_forge/a1_at_functions/recipes.py"
17
+ - "src/atomadic_forge/a3_og_features/surface_export.py"
18
+ - "surface.json"
19
+ push:
20
+ branches: [main]
21
+
22
+ jobs:
23
+ surface-drift:
24
+ runs-on: ubuntu-latest
25
+ timeout-minutes: 5
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: actions/setup-python@v5
29
+ with:
30
+ python-version: "3.12"
31
+ - name: Install package (editable)
32
+ run: pip install -e . --quiet
33
+ - name: Surface drift check
34
+ run: forge surface check --path surface.json