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