atomadic-forge 0.14.1__tar.gz → 0.16.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.
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/CHANGELOG.md +85 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/PKG-INFO +157 -34
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/README.md +156 -33
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/02-commands.md +89 -3
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/AGENTS_GUIDE.md +1 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/pyproject.toml +1 -1
- atomadic_forge-0.16.0/src/atomadic_forge/a0_qk_constants/lifetime_savings_constants.py +21 -0
- atomadic_forge-0.16.0/src/atomadic_forge/a0_qk_constants/materialize_types.py +35 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/agent_plan_emitter.py +30 -3
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/certify_checks.py +4 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/emergent_synthesize.py +11 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/enhancement_proposal_builder.py +2 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/handoff_builder.py +1 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/hive_io.py +4 -3
- atomadic_forge-0.16.0/src/atomadic_forge/a1_at_functions/lifetime_savings.py +119 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/mcp_protocol.py +25 -9
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/response_enricher.py +59 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/scout_walk.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/welcome_narrator.py +59 -9
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/wire_check.py +4 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/wisdom_capture.py +20 -10
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/wisdom_io.py +3 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/wisdom_promote.py +6 -7
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/wisdom_recall.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/nexus_client.py +1 -1
- atomadic_forge-0.16.0/src/atomadic_forge/a3_og_features/create_feature.py +211 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/emergent_feature.py +4 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/enhancement_proposal_feature.py +2 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_pipeline.py +29 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/hive_sync.py +1 -2
- atomadic_forge-0.16.0/src/atomadic_forge/a3_og_features/materialize_feature.py +356 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/nexus_bridge.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/synergy_feature.py +23 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/verify_umbrella.py +28 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/welcome_feature.py +81 -9
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/wisdom_feature.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a4_sy_orchestration/cli.py +21 -5
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a4_sy_orchestration/copilots_cmd.py +5 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/_registry.py +4 -0
- atomadic_forge-0.16.0/src/atomadic_forge/commands/create.py +143 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/emergent_swarm.py +2 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/emergent_then_synergy.py +5 -3
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/harvest.py +1 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/hive.py +2 -2
- atomadic_forge-0.16.0/src/atomadic_forge/commands/materialize.py +103 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/recon_swarm.py +1 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/relay.py +1 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/surface.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/synergy_then_emergent.py +9 -3
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/wisdom.py +7 -5
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/PKG-INFO +157 -34
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/SOURCES.txt +14 -0
- atomadic_forge-0.16.0/tests/test_agent_plan_pkg_label.py +51 -0
- atomadic_forge-0.16.0/tests/test_cli_swarm_aliases.py +42 -0
- atomadic_forge-0.16.0/tests/test_create_feature.py +183 -0
- atomadic_forge-0.16.0/tests/test_emergent_synthesize_imports.py +58 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_enhancement_proposal.py +3 -5
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_hive_sync.py +16 -3
- atomadic_forge-0.16.0/tests/test_materialize_feature.py +203 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_nexus_bridge.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_polyglot_swift_kotlin_go.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_response_enricher.py +0 -1
- atomadic_forge-0.16.0/tests/test_sbom_cmd_text_summary.py +28 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_surface_export.py +0 -4
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_verify_suggested_recipe.py +0 -2
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_welcome.py +44 -3
- atomadic_forge-0.16.0/tests/test_welcome_enhancements.py +280 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_wisdom.py +0 -1
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/FUNDING.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/actions/forge-action/README.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/actions/forge-action/action.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/dependabot.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/pull_request_template.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/workflows/ci.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/workflows/customer-refactor.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/workflows/forge-self-certify.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/workflows/release.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/.github/workflows/surface-drift.yml +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/ARCHITECTURE.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/CONTRIBUTING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/LICENSE +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/MANIFEST.in +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/SECURITY.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/assets/Atomadic-Forge-01.png +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/01-getting-started.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/03-tutorial.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/04-llm-loops.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/05-faq.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/AIR_GAPPED.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/CI_CD.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/CODEX_WALKTHROUGH.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/COMMANDS.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/FIRST_10_MINUTES.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/FORMALIZATION.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/HIVE_PRIMITIVES.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/HIVE_STATUS.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/LANDSCAPE.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/MARKET_POSITIONING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/MIGRATION.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/MULTI_REPO.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/README.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/RECEIPT.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/RELAY_PROTOCOL.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/RELEASE_CHECKLIST.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/RELEASE_MESSAGING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/ROADMAP.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/SHOWCASE.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/SIDECAR.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/STUDIO.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/TOOL_FACTORY_WALKTHROUGH.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/WHY_NOW.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/WORKER_VS_LOCAL_MCP.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/WORLD_COLLISION.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/INDEX.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/chat.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/commandsmith.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/config.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/demo.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/emergent-then-synergy.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/emergent.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/evolve-then-iterate.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/evolve.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/feature-then-emergent.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/iterate.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/synergy-then-emergent.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/commands/synergy.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/compliance/CMMC_AI_MAPPING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/compliance/CS-1.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/compliance/EU_AI_ACT_ANNEX_IV.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/compliance/FDA_PCCP_MAPPING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/compliance/SR_11-7_MAPPING.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/handoffs/WORKER_AUTO_DEPLOY_2026-05-06.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/01-quickstart.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/02-your-first-package.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/03-the-five-tier-law.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/04-plug-in-llms.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/05-multi-repo-absorb.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/docs/tutorials/06-javascript-quickstart.md +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/setup.cfg +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/__main__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/agent_plan_schema.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/auth_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/commandsmith_types.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/config_defaults.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/emergent_types.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/enhancement_proposal_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/error_codes.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/forge_types.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/gen_language.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/handoff_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/hive_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/lang_extensions.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/mhed_invariants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/nexus_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/policy_schema.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/receipt_schema.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/response_enrichment.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/roi_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/schema_version_registry.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/semantic_types.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/sidecar_schema.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/synergy_types.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/tier_names.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/welcome_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a0_qk_constants/wisdom_constants.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/agent_context_pack.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/agent_memory.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/agent_summary.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/body_extractor.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/call_graph.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/card_renderer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/chat_context.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/cherry_pick.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/classify_tier.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/code_signature.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/commandsmith_discover.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/commandsmith_render.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/compiler_feedback.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/compliance_checker.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/config_io.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/cs1_renderer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/doc_synthesizer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/emergent_compose.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/emergent_rank.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/emergent_signature_extract.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/enforce_planner.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/error_hints.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/evolution_log.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/exported_api_check.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/forge_auth.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/forge_feedback.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/forge_locate.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/generation_quality.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/hive_consensus_math.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/import_repair.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/import_smoke.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/intent_similarity.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/js_parser.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/lineage_chain.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/lineage_reader.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/llm_client.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/local_signer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/lsp_protocol.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/manifest_diff.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/patch_scorer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/plan_adapter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/policy_loader.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/preflight_change.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/progress_reporter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/provider_detect.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/provider_resolver.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/receipt_emitter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/recipes.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/repo_explainer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/research_note_distiller.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/roi_calculator.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/rollback_planner.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/sbom_emitter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/scaffold_js.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/scaffold_pyproject.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/scaffold_starter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/sidecar_parser.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/sidecar_validator.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/smell_scan.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/stub_detector.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/synergy_detect.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/synergy_render.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/synergy_surface_extract.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/test_runner.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/test_selector.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/tier_init_rebuild.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/tool_composer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/transcript_log.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/trust_gate_response.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/validation_commands.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a1_at_functions/worktree_status.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/cost_circuit_breaker.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/cross_agent_intent_deduplicator.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/evolve_session_store.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/forge_auth_client.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/hierarchical_memory.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/iterate_session_store.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/lineage_chain_store.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/manifest_store.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/plan_store.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a2_mo_composites/receipt_signer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/agent_hire_protocol.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/cherry_hunter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/cna_check.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/commandsmith_feature.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/commit_compose.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/dedup_engine.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a0_qk_constants/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a1_at_functions/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/conftest.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/test_mixed.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/demo_runner.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/emergent_pipeline_integration.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/emergent_swarm.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_enforce.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_evolve.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_evolve_session.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_loop.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_loop_session.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/forge_plan_apply.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/guard_install.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/handoff_feature.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/lsp_server.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/mcp_server.py +39 -39
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/relay_daemon.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/setup_wizard.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/surface_export.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a3_og_features/tool_factory.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a4_sy_orchestration/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a4_sy_orchestration/login_cmd.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/a4_sy_orchestration/whoami_cmd.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/__init__.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/audit.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/chat.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/commandsmith.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/config_cmd.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/demo.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/emergent.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/enhancement.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/evolve.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/evolve_then_iterate.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/feature_then_emergent.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/guard_install.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/handoff.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/iterate.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/synergy.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge/commands/welcome.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/dependency_links.txt +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/entry_points.txt +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/requires.txt +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/src/atomadic_forge.egg-info/top_level.txt +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_aaaa_nexus_client.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_agent_hire_protocol.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_agent_plan.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_agent_summary.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_audit_verb.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_body_extractor_repairs.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_card_renderer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_certify_operational_axis.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_chat.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_classify_tier.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_classify_tier_ast_signals.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_cli_smoke.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_codex_5_complete.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_codex_6_enforce_polyglot.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_commandsmith.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_compiler_feedback.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_compliance_checker.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_config.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_copilots_copilot.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_cost_circuit_breaker.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_cs1_renderer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_dedup_engine.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_demo.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_emergent_compose.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_emergent_signature_extract.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_error_codes.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_error_hints.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_evolve_js.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_exported_api_check.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_forge_action.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_forge_auth_a1.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_forge_auth_a2.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_forge_enforce.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_generation_quality.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_handoff.py +3 -3
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_hierarchical_memory.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_ignore_and_docs.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_import_smoke.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_iterate_evolve.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_js_certify.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_js_parser.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_js_recon.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_js_wire.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_lineage_chain.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_ling_provider.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_local_signer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_lsp_protocol.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_manifest_diff.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_mcp_protocol.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_ollama_client.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_pipeline.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_plan_apply.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_pre_audit_smoke.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_precommit_hooks.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_progress_reporter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_receipt_emitter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_receipt_schema.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_receipt_signer.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_roi_calculator.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_sbom_emitter.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_scaffold.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_sidecar.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_sidecar_validate.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_smell_score_formula.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_stagnation.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_stub_detector.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_synergy.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_test_runner.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_tier_init_rebuild.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_trust_gate_response.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_whoami_cmd.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_wire_certify.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_wire_suggest_repairs.py +0 -0
- {atomadic_forge-0.14.1 → atomadic_forge-0.16.0}/tests/test_wire_type_checking.py +0 -0
|
@@ -1,6 +1,90 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## Unreleased
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
## v0.16.0 — 2026-05-06 dress-rehearsal hardening (six bugfixes, 11 new tests)
|
|
6
|
+
|
|
7
|
+
Live stress-test on real third-party Python repos (atomadic-forge,
|
|
8
|
+
langgraph, crewai) ahead of the Boris demo surfaced six bugs across
|
|
9
|
+
the synthesis, planning, summary, and pipeline-pipe surfaces. All
|
|
10
|
+
fixed, all guarded by regression tests. No behavioural change for
|
|
11
|
+
clean paths.
|
|
12
|
+
|
|
13
|
+
- **emergent synthesize**: ``_imports_for`` was emitting
|
|
14
|
+
``from pkg.mod.Class import method`` for class-method qualnames
|
|
15
|
+
(legacy ``"." in name`` guard never fired post-rpartition). The
|
|
16
|
+
generated package pip-installed but failed at module load. Now
|
|
17
|
+
detects method qualnames by the module's last segment being
|
|
18
|
+
CapitalCase. Single-seed ``forge create`` jumped from 60/FAIL to
|
|
19
|
+
90/100 with importable code. +2 tests.
|
|
20
|
+
- **forge plan**: ``_operational_cards`` emitted literal
|
|
21
|
+
``printf 'import your_pkg\n'`` placeholders that users would copy
|
|
22
|
+
verbatim and create broken tests. New ``_infer_pkg_label`` derives
|
|
23
|
+
from ``certify_report['project']`` or the project-root basename
|
|
24
|
+
(hyphen→underscore sanitisation), with the ``"your_pkg"`` literal
|
|
25
|
+
only as a last-resort fallback. +5 tests.
|
|
26
|
+
- **forge score-patch / adapt-plan**: ``--file -`` (the conventional
|
|
27
|
+
stdin sentinel) crashed with raw FileNotFoundError because the helper
|
|
28
|
+
tried to open a file literally named ``-``. Now falls through to
|
|
29
|
+
stdin when ``str(file) == "-"``; help text mentions the sentinel.
|
|
30
|
+
- **forge sbom** text summary: read ``components`` off the wrapper
|
|
31
|
+
instead of the nested CycloneDX payload, so every report showed
|
|
32
|
+
``components: 0`` regardless of pyproject contents. Now dereferences
|
|
33
|
+
``sbom['sbom']['components']``. Forge's own report goes 0 → 11.
|
|
34
|
+
+1 test.
|
|
35
|
+
- **forge recon-swarm / emergent-swarm / guard-install**: registered
|
|
36
|
+
with literal underscores while ``commandsmith discover`` normalised
|
|
37
|
+
module stems to hyphens, so ``commandsmith smoke`` reported these
|
|
38
|
+
three verbs as FAIL. Both hyphen and underscore forms now registered
|
|
39
|
+
as aliases; smoke is 100% green. +3 tests.
|
|
40
|
+
- **forge synergy-then-emergent / emergent-then-synergy**: auto-
|
|
41
|
+
synthesised pipes invoked ``synergy --json-out FILE`` and
|
|
42
|
+
``emergent --json-out FILE`` against verbs that take ``--save FILE``
|
|
43
|
+
and require an explicit ``scan`` subcommand. Both pipes now run
|
|
44
|
+
end-to-end and emit producer-payload-keys summaries.
|
|
45
|
+
|
|
46
|
+
### Stress-test evidence captured at C:\!!AtomadicStandard\Demo-Rehearsal\
|
|
47
|
+
|
|
48
|
+
- ``forge welcome`` on three Python repos: 2635 / 1854 / 7592 symbols.
|
|
49
|
+
- ``forge emergent_swarm`` across forge+langgraph+crewai: 16 cross-repo
|
|
50
|
+
novel compositions, 25 candidates, 2767 union catalog.
|
|
51
|
+
- ``forge create`` (forge+crewai → agent_toolkit): 18 cross-repo chains,
|
|
52
|
+
5 materialised, certify=60. Single-seed forge: certify=90.
|
|
53
|
+
- ``forge auto`` (langgraph → tier-organised package, --apply): 1854
|
|
54
|
+
symbols absorbed, wire PASS, 226s end-to-end.
|
|
55
|
+
- ``forge commandsmith smoke``: 26 discovered + 23 core verbs, all PASS.
|
|
56
|
+
- ``forge synergy scan``: 72 features, 20 adapter candidates.
|
|
57
|
+
- Final test suite: 1302 passed, 0 failed, 2 skipped (was 1291 → +11).
|
|
58
|
+
- Self-certify: 100/100, wire PASS.
|
|
59
|
+
|
|
60
|
+
## v0.15.0 — 2026-05-06 forge create / forge materialize
|
|
61
|
+
|
|
62
|
+
Closes the loop from emergent composition discovery to a real,
|
|
63
|
+
pip-installable package on disk.
|
|
64
|
+
|
|
65
|
+
- **`forge materialize`** — emergent scan report → shippable Python
|
|
66
|
+
package. Tier-organized scaffold (a0..a4 + `__init__.py`),
|
|
67
|
+
`pyproject.toml`, `README.md`, `.gitignore`, `tests/conftest.py`,
|
|
68
|
+
`tests/__init__.py`, plus one a3 feature module + smoke test per
|
|
69
|
+
selected candidate. Slug uniqueness via candidate-id tail so name
|
|
70
|
+
collisions don't overwrite. Optional wire-check + certify pass with
|
|
71
|
+
the verdict embedded in the report. Refuses to overwrite a non-empty
|
|
72
|
+
unrelated directory. +9 tests.
|
|
73
|
+
- **`forge create`** — one-command pipeline. Resolves local seed-repo
|
|
74
|
+
paths (`src/<pkg>/`, tier-bearing dir, or auto-detect), runs
|
|
75
|
+
`emergent_swarm` across them, persists scan + receipt to
|
|
76
|
+
`.atomadic-forge/`, then pipes through `materialize` for the final
|
|
77
|
+
package. Strictly local paths — no GitHub cloning, no third-party
|
|
78
|
+
absorption. Phase 2/3 (clone + cross-framework merge) plug in ahead
|
|
79
|
+
of step 1 without changing this module's contract. +7 tests.
|
|
80
|
+
- End-to-end smoke verified on Forge itself: 570 union catalog → 25
|
|
81
|
+
candidates → 17-file package, `wire_violations=0`. On a JS-only
|
|
82
|
+
codebase (Atomadic cognition worker): 0 candidates, empty-but-valid
|
|
83
|
+
scaffold. The system reports what it found, not what was hoped for.
|
|
84
|
+
|
|
85
|
+
Also accumulated in this release:
|
|
86
|
+
|
|
87
|
+
### Synergy signal and version repair
|
|
4
88
|
|
|
5
89
|
Forge-on-Forge evolution pass: `synergy_scan` now distinguishes
|
|
6
90
|
stdout-only `--json` switches from real artifact-writing path options
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atomadic-forge
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.16.0
|
|
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.
|
|
75
|
+
### What just shipped (v0.16.0)
|
|
76
76
|
|
|
77
|
+
- **Dress-rehearsal 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
|
|
192
|
-
forge
|
|
193
|
-
forge
|
|
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.
|
|
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 #
|
|
332
|
+
python -m pytest # 1293 collected (1291 passed, 2 skipped)
|
|
287
333
|
```
|
|
288
334
|
|
|
289
335
|
## AI Agent integration (MCP)
|
|
@@ -301,7 +347,14 @@ Forge ships a **Model Context Protocol server** — add it to Cursor, Claude Cod
|
|
|
301
347
|
}
|
|
302
348
|
```
|
|
303
349
|
|
|
304
|
-
### All
|
|
350
|
+
### All 66 MCP tools (local) · 40 on the deployed Worker
|
|
351
|
+
|
|
352
|
+
> **Recommended first call: `welcome`** — runs scout + certify + wire on the
|
|
353
|
+
> current repo and returns a structured situation report (score, top
|
|
354
|
+
> strengths, top priorities, suggested next call, agent guidance,
|
|
355
|
+
> capability tour, safety net). Surfaced to MCP clients via
|
|
356
|
+
> `serverInfo.recommended_first_call` and a per-tool
|
|
357
|
+
> `recommended_first_call: true` flag in `tools/list`.
|
|
305
358
|
|
|
306
359
|
Grouped by purpose. Every tool is `tools/call`-able through the MCP
|
|
307
360
|
contract; every tool returns a versioned schema (`atomadic-forge.<tool>/v<n>`).
|
|
@@ -521,7 +574,7 @@ Forge waits before returning a clear provider error.
|
|
|
521
574
|
|
|
522
575
|
| Command | Purpose |
|
|
523
576
|
|---------|---------|
|
|
524
|
-
| `forge mcp serve` | Stdio JSON-RPC MCP server —
|
|
577
|
+
| `forge mcp serve` | Stdio JSON-RPC MCP server — 66 tools for Cursor / Claude Code / Aider / Devin. |
|
|
525
578
|
| `forge plan / plan-list / plan-show / plan-step / plan-apply` | Agent plan persistence and step-by-step apply. |
|
|
526
579
|
| `forge iterate` | LLM loop: intent → code → absorb → wire → score → iterate. Single shot. |
|
|
527
580
|
| `forge evolve` | Recursive improvement: N rounds, catalog grows each round. |
|
|
@@ -535,26 +588,96 @@ Forge waits before returning a clear provider error.
|
|
|
535
588
|
|
|
536
589
|
| Command | Purpose |
|
|
537
590
|
|---------|---------|
|
|
538
|
-
| `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. |
|
|
539
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. |
|
|
540
597
|
| `forge commandsmith` | Auto-register CLI commands, regenerate `_registry.py`, smoke-test all verbs. |
|
|
541
598
|
| `forge lsp serve` | Stdio LSP server for `.forge` files (live diagnostics, hover, goto). |
|
|
542
599
|
|
|
543
600
|
## Targeted workflows
|
|
544
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
|
+
|
|
545
606
|
```bash
|
|
546
|
-
#
|
|
547
|
-
forge recon
|
|
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
|
|
548
616
|
|
|
549
|
-
|
|
550
|
-
|
|
617
|
+
```bash
|
|
618
|
+
# Dry-run first — see what would happen
|
|
619
|
+
forge auto ./external-repo ./absorbed --package external_pick
|
|
551
620
|
|
|
552
|
-
#
|
|
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
|
+
```
|
|
651
|
+
|
|
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
|
|
553
665
|
forge cherry ./repo-a --pick all
|
|
554
|
-
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
|
+
```
|
|
555
669
|
|
|
556
|
-
|
|
557
|
-
|
|
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
|
|
558
681
|
```
|
|
559
682
|
|
|
560
683
|
## Known limits (honest & concrete)
|
|
@@ -583,7 +706,7 @@ Forge ships with named limits. No overpromise.
|
|
|
583
706
|
|
|
584
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.
|
|
585
708
|
|
|
586
|
-
- **The 5-tier law is non-negotiable.** Anything that ships with Forge passes its own `wire` scan. Forge's
|
|
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.
|
|
587
710
|
|
|
588
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`).
|
|
589
712
|
|
|
@@ -594,7 +717,7 @@ Forge ships with named limits. No overpromise.
|
|
|
594
717
|
| Product | What it is | Status |
|
|
595
718
|
|---------|------------|--------|
|
|
596
719
|
| **AAAA-Nexus** | Trust/safety/payments substrate for autonomous agents | Live at [atomadic.tech](https://atomadic.tech) |
|
|
597
|
-
| **Atomadic Forge** | Absorb-and-emerge engine for developers (this repo) | **v0.
|
|
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 |
|
|
598
721
|
| **Atomadic Assistant** | Sovereign AI assistant with cognitive loop on Cloudflare | In development |
|
|
599
722
|
|
|
600
723
|
## Pricing
|
|
@@ -602,17 +725,15 @@ Forge ships with named limits. No overpromise.
|
|
|
602
725
|
Free for OSS / non-commercial. Paid hosted MCP at `forge.atomadic.tech/mcp` for
|
|
603
726
|
production agents.
|
|
604
727
|
|
|
605
|
-
| Tier |
|
|
728
|
+
| Tier | Price | What you get |
|
|
606
729
|
|---|---|---|
|
|
607
730
|
| **Free** | $0 | OSS, 25 calls/day, read-only tools |
|
|
608
|
-
| **
|
|
609
|
-
| **
|
|
610
|
-
| **
|
|
611
|
-
| **Enterprise** |
|
|
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 |
|
|
612
735
|
|
|
613
|
-
|
|
614
|
-
Forge Standard Pro + Forge Deluxe (when launched) + AAAA-Nexus + every future
|
|
615
|
-
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.
|
|
616
737
|
|
|
617
738
|
Pay-per-call (x402) and prepaid call packs ($25 / $100 / $500 / $2,500) are also
|
|
618
739
|
available on the hosted MCP.
|
|
@@ -629,7 +750,7 @@ Apache 2.0.
|
|
|
629
750
|
- **[Showcase](docs/SHOWCASE.md)** — Live runs with live results (start here)
|
|
630
751
|
- **[Landscape](docs/LANDSCAPE.md)** — How Forge sits next to Cursor / Devin / Lovable / Copilot Workspace
|
|
631
752
|
- **[Why now](docs/WHY_NOW.md)** — The urgency case for an architecture substrate
|
|
632
|
-
- **[Commands](docs/COMMANDS.md)** — Full reference for all
|
|
753
|
+
- **[Commands](docs/COMMANDS.md)** — Full reference for all 26+ verbs
|
|
633
754
|
- **[Release checklist](docs/RELEASE_CHECKLIST.md)** — Shippability gates, CLI scenarios, local-model smoke checks
|
|
634
755
|
- **[Roadmap](docs/ROADMAP.md)** — 0.2 / 0.3 / 1.0 milestones
|
|
635
756
|
- **[Architecture guide](ARCHITECTURE.md)** — How Forge itself is built (monadic tiers, data flows, design)
|
|
@@ -643,12 +764,12 @@ Apache 2.0.
|
|
|
643
764
|
**Forge itself is monadic.** Every source file belongs to one tier. The repo is a worked example:
|
|
644
765
|
|
|
645
766
|
```bash
|
|
646
|
-
python -m pytest #
|
|
767
|
+
python -m pytest # 1291 passed, 2 skipped
|
|
647
768
|
forge doctor # Environment check
|
|
648
769
|
forge wire src/atomadic_forge # Scan for violations (PASS)
|
|
649
770
|
forge certify . --fail-under 100 # Score and gate the repo (100/100)
|
|
650
771
|
forge status . # Quick health snapshot
|
|
651
|
-
forge commandsmith smoke # Smoke-test all
|
|
772
|
+
forge commandsmith smoke # Smoke-test all registered verbs
|
|
652
773
|
```
|
|
653
774
|
|
|
654
775
|
**Before submitting a PR:**
|
|
@@ -661,11 +782,13 @@ forge commandsmith smoke # Smoke-test all 63 registered verbs
|
|
|
661
782
|
|
|
662
783
|
**Production-ready for architecture enforcement. Working, honest, self-eating.**
|
|
663
784
|
|
|
664
|
-
- ✓ **
|
|
785
|
+
- ✓ **1291 tests** passing, 2 skipped
|
|
786
|
+
- ✓ **0 ruff errors** — full lint sweep landed in v0.15.0
|
|
665
787
|
- ✓ **100/100 certify** — forge scores itself on every CI run
|
|
666
788
|
- ✓ **0 wire violations** — forge passes its own import-law scan
|
|
667
|
-
- ✓ **On PyPI** — `pip install atomadic-forge` (latest: v0.
|
|
668
|
-
- ✓
|
|
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
|
|
669
792
|
- ✓ **Hive primitives** — `hive_register / observe / propose / vote / result / list / deactivate / watch / needs-vote / recap` for multi-agent consensus over append-only public artifacts
|
|
670
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
|
|
671
794
|
- ✓ **Multi-agent safeguards** — `cost_circuit_breaker`, `dedup_engine`, `agent_hire_protocol`, `hierarchical_memory` (MemGPT 4-tier)
|