atomadic-forge 0.87.0__tar.gz → 0.88.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.88.0/PKG-INFO +57 -0
- atomadic_forge-0.88.0/README.md +33 -0
- atomadic_forge-0.88.0/pyproject.toml +36 -0
- {atomadic_forge-0.87.0 → atomadic_forge-0.88.0}/setup.cfg +4 -4
- atomadic_forge-0.88.0/src/atomadic_forge/__init__.py +30 -0
- atomadic_forge-0.88.0/src/atomadic_forge.egg-info/PKG-INFO +57 -0
- atomadic_forge-0.88.0/src/atomadic_forge.egg-info/SOURCES.txt +8 -0
- atomadic_forge-0.88.0/src/atomadic_forge.egg-info/requires.txt +2 -0
- atomadic_forge-0.87.0/.github/FUNDING.yml +0 -5
- atomadic_forge-0.87.0/.github/ISSUE_TEMPLATE/bug_report.yml +0 -51
- atomadic_forge-0.87.0/.github/ISSUE_TEMPLATE/config.yml +0 -8
- atomadic_forge-0.87.0/.github/ISSUE_TEMPLATE/feature_request.yml +0 -42
- atomadic_forge-0.87.0/.github/actions/forge-action/README.md +0 -130
- atomadic_forge-0.87.0/.github/actions/forge-action/action.yml +0 -227
- atomadic_forge-0.87.0/.github/dependabot.yml +0 -17
- atomadic_forge-0.87.0/.github/pull_request_template.md +0 -21
- atomadic_forge-0.87.0/.github/workflows/ci.yml +0 -102
- atomadic_forge-0.87.0/.github/workflows/customer-refactor.yml +0 -302
- atomadic_forge-0.87.0/.github/workflows/forge-self-certify.yml +0 -54
- atomadic_forge-0.87.0/.github/workflows/mcp-registry-publish.yml +0 -134
- atomadic_forge-0.87.0/.github/workflows/metrics-auto-regen.yml +0 -125
- atomadic_forge-0.87.0/.github/workflows/metrics-drift.yml +0 -68
- atomadic_forge-0.87.0/.github/workflows/publish-on-tag.yml +0 -140
- atomadic_forge-0.87.0/.github/workflows/release-readiness.yml +0 -64
- atomadic_forge-0.87.0/.github/workflows/release.yml +0 -88
- atomadic_forge-0.87.0/.github/workflows/surface-drift.yml +0 -34
- atomadic_forge-0.87.0/.github/workflows/uptime.yml +0 -72
- atomadic_forge-0.87.0/ARCHITECTURE.md +0 -147
- atomadic_forge-0.87.0/CHANGELOG.md +0 -4343
- atomadic_forge-0.87.0/CONTRIBUTING.md +0 -71
- atomadic_forge-0.87.0/LICENSE +0 -15
- atomadic_forge-0.87.0/MANIFEST.in +0 -9
- atomadic_forge-0.87.0/PKG-INFO +0 -316
- atomadic_forge-0.87.0/README.md +0 -284
- atomadic_forge-0.87.0/SECURITY.md +0 -31
- atomadic_forge-0.87.0/assets/Atomadic-Forge-01.png +0 -0
- atomadic_forge-0.87.0/docs/01-getting-started.md +0 -289
- atomadic_forge-0.87.0/docs/02-commands.md +0 -1495
- atomadic_forge-0.87.0/docs/03-tutorial.md +0 -328
- atomadic_forge-0.87.0/docs/04-llm-loops.md +0 -571
- atomadic_forge-0.87.0/docs/05-faq.md +0 -559
- atomadic_forge-0.87.0/docs/AGENTS_GUIDE.md +0 -703
- atomadic_forge-0.87.0/docs/AIR_GAPPED.md +0 -161
- atomadic_forge-0.87.0/docs/CI_CD.md +0 -277
- atomadic_forge-0.87.0/docs/CODEX_WALKTHROUGH.md +0 -124
- atomadic_forge-0.87.0/docs/COMMANDS.md +0 -1087
- atomadic_forge-0.87.0/docs/FIRST_10_MINUTES.md +0 -212
- atomadic_forge-0.87.0/docs/FORGE_USAGE.md +0 -37
- atomadic_forge-0.87.0/docs/FORMALIZATION.md +0 -197
- atomadic_forge-0.87.0/docs/HIVE_PRIMITIVES.md +0 -225
- atomadic_forge-0.87.0/docs/HIVE_STATUS.md +0 -367
- atomadic_forge-0.87.0/docs/IDE_INTEGRATION.md +0 -85
- atomadic_forge-0.87.0/docs/LANDSCAPE.md +0 -111
- atomadic_forge-0.87.0/docs/MARKET_POSITIONING.md +0 -146
- atomadic_forge-0.87.0/docs/MCP_TOOLS.md +0 -284
- atomadic_forge-0.87.0/docs/MIGRATION.md +0 -607
- atomadic_forge-0.87.0/docs/MULTI_REPO.md +0 -202
- atomadic_forge-0.87.0/docs/PROVIDERS.md +0 -153
- atomadic_forge-0.87.0/docs/README.md +0 -55
- atomadic_forge-0.87.0/docs/RECEIPT.md +0 -308
- atomadic_forge-0.87.0/docs/RELAY_PROTOCOL.md +0 -255
- atomadic_forge-0.87.0/docs/RELEASE_CHECKLIST.md +0 -66
- atomadic_forge-0.87.0/docs/RELEASE_MESSAGING.md +0 -243
- atomadic_forge-0.87.0/docs/ROADMAP.md +0 -256
- atomadic_forge-0.87.0/docs/SHOWCASE.md +0 -241
- atomadic_forge-0.87.0/docs/SIDECAR.md +0 -143
- atomadic_forge-0.87.0/docs/STUDIO.md +0 -34
- atomadic_forge-0.87.0/docs/TOOL_FACTORY_WALKTHROUGH.md +0 -229
- atomadic_forge-0.87.0/docs/V0.46.0_JUSTIFICATION_REPORT.md +0 -148
- atomadic_forge-0.87.0/docs/V0.47.0_SELF_TEST_REPORT.md +0 -167
- atomadic_forge-0.87.0/docs/WHY_NOW.md +0 -119
- atomadic_forge-0.87.0/docs/WORKER_VS_LOCAL_MCP.md +0 -318
- atomadic_forge-0.87.0/docs/WORLD_COLLISION.md +0 -239
- atomadic_forge-0.87.0/docs/commands/INDEX.md +0 -34
- atomadic_forge-0.87.0/docs/commands/absorb.md +0 -9
- atomadic_forge-0.87.0/docs/commands/audit.md +0 -9
- atomadic_forge-0.87.0/docs/commands/chat.md +0 -9
- atomadic_forge-0.87.0/docs/commands/commandsmith.md +0 -9
- atomadic_forge-0.87.0/docs/commands/config.md +0 -9
- atomadic_forge-0.87.0/docs/commands/create.md +0 -9
- atomadic_forge-0.87.0/docs/commands/demo.md +0 -9
- atomadic_forge-0.87.0/docs/commands/emergent-swarm.md +0 -19
- atomadic_forge-0.87.0/docs/commands/emergent-then-synergy.md +0 -9
- atomadic_forge-0.87.0/docs/commands/emergent.md +0 -9
- atomadic_forge-0.87.0/docs/commands/enhancement.md +0 -9
- atomadic_forge-0.87.0/docs/commands/evolve-then-iterate.md +0 -9
- atomadic_forge-0.87.0/docs/commands/evolve.md +0 -9
- atomadic_forge-0.87.0/docs/commands/feature-then-emergent.md +0 -9
- atomadic_forge-0.87.0/docs/commands/guard-install.md +0 -9
- atomadic_forge-0.87.0/docs/commands/handoff.md +0 -9
- atomadic_forge-0.87.0/docs/commands/harvest.md +0 -9
- atomadic_forge-0.87.0/docs/commands/hive.md +0 -9
- atomadic_forge-0.87.0/docs/commands/iterate.md +0 -9
- atomadic_forge-0.87.0/docs/commands/materialize.md +0 -9
- atomadic_forge-0.87.0/docs/commands/metrics.md +0 -91
- atomadic_forge-0.87.0/docs/commands/recon-swarm.md +0 -9
- atomadic_forge-0.87.0/docs/commands/relay.md +0 -9
- atomadic_forge-0.87.0/docs/commands/surface.md +0 -9
- atomadic_forge-0.87.0/docs/commands/synergy-then-emergent.md +0 -9
- atomadic_forge-0.87.0/docs/commands/synergy.md +0 -9
- atomadic_forge-0.87.0/docs/commands/welcome.md +0 -15
- atomadic_forge-0.87.0/docs/commands/wisdom.md +0 -9
- atomadic_forge-0.87.0/docs/compliance/CMMC_AI_MAPPING.md +0 -157
- atomadic_forge-0.87.0/docs/compliance/CS-1.md +0 -203
- atomadic_forge-0.87.0/docs/compliance/EU_AI_ACT_ANNEX_IV.md +0 -145
- atomadic_forge-0.87.0/docs/compliance/FDA_PCCP_MAPPING.md +0 -138
- atomadic_forge-0.87.0/docs/compliance/SR_11-7_MAPPING.md +0 -104
- atomadic_forge-0.87.0/docs/handoffs/WORKER_AUTO_DEPLOY_2026-05-06.md +0 -184
- atomadic_forge-0.87.0/docs/tutorials/01-quickstart.md +0 -91
- atomadic_forge-0.87.0/docs/tutorials/02-your-first-package.md +0 -94
- atomadic_forge-0.87.0/docs/tutorials/03-the-five-tier-law.md +0 -133
- atomadic_forge-0.87.0/docs/tutorials/04-plug-in-llms.md +0 -198
- atomadic_forge-0.87.0/docs/tutorials/05-multi-repo-absorb.md +0 -155
- atomadic_forge-0.87.0/docs/tutorials/06-javascript-quickstart.md +0 -245
- atomadic_forge-0.87.0/pyproject.toml +0 -105
- atomadic_forge-0.87.0/src/atomadic_forge/__init__.py +0 -58
- atomadic_forge-0.87.0/src/atomadic_forge/__main__.py +0 -5
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/agent_plan_schema.py +0 -120
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/auth_constants.py +0 -150
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/commandsmith_types.py +0 -49
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/config_defaults.py +0 -61
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/emergent_types.py +0 -77
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/enhancement_proposal_constants.py +0 -44
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/error_codes.py +0 -315
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/forge_types.py +0 -89
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/gen_language.py +0 -192
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/handoff_constants.py +0 -38
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/hive_constants.py +0 -125
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/lang_extensions.py +0 -199
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/lifetime_savings_constants.py +0 -21
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/materialize_types.py +0 -35
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/mhed_invariants.py +0 -114
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/nexus_constants.py +0 -92
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/policy_schema.py +0 -48
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/receipt_schema.py +0 -311
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/response_enrichment.py +0 -38
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/roi_constants.py +0 -96
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/schema_version_registry.py +0 -119
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/semantic_types.py +0 -61
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/sidecar_schema.py +0 -81
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/synergy_types.py +0 -76
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/tier_names.py +0 -47
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/welcome_constants.py +0 -46
- atomadic_forge-0.87.0/src/atomadic_forge/a0_qk_constants/wisdom_constants.py +0 -47
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/abstract_method_repair.py +0 -342
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/agent_context_pack.py +0 -737
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/agent_memory.py +0 -139
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/agent_plan_emitter.py +0 -352
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/agent_summary.py +0 -277
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/ast_scope_lock.py +0 -253
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/body_extractor.py +0 -425
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/call_graph.py +0 -531
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/capability_scout.py +0 -142
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/card_renderer.py +0 -210
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/certify_checks.py +0 -593
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/chat_context.py +0 -170
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/cherry_pick.py +0 -121
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/classify_tier.py +0 -224
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/closest_match.py +0 -24
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/code_signature.py +0 -197
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/commandsmith_discover.py +0 -167
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/commandsmith_render.py +0 -267
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/compiler_feedback.py +0 -94
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/compliance_checker.py +0 -228
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/config_io.py +0 -68
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/cosine_similarity.py +0 -22
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/cs1_renderer.py +0 -588
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/custom_provider_client.py +0 -259
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/dead_code_check.py +0 -160
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/doc_auto_update.py +0 -769
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/doc_synthesizer.py +0 -205
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/emergent_compose.py +0 -227
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/emergent_rank.py +0 -209
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/emergent_signature_extract.py +0 -322
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/emergent_synthesize.py +0 -104
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/enforce_planner.py +0 -258
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/enhancement_proposal_builder.py +0 -95
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/error_hints.py +0 -105
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/evolution_log.py +0 -94
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/exported_api_check.py +0 -188
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/forge_auth.py +0 -223
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/forge_feedback.py +0 -455
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/forge_locate.py +0 -179
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/forge_metrics.py +0 -336
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/generation_quality.py +0 -322
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/git_churn.py +0 -135
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/graft_extract.py +0 -246
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/graft_extract_js.py +0 -290
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/graft_extract_polyglot.py +0 -354
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/handoff_builder.py +0 -148
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/harvest_absorb.py +0 -329
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/harvest_concept_bridge.py +0 -222
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/hive_consensus_math.py +0 -130
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/hive_io.py +0 -227
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/ifwc_fuzz.py +0 -158
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/import_repair.py +0 -211
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/import_smoke.py +0 -102
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/intent_similarity.py +0 -113
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/js_parser.py +0 -539
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/levenshtein_distance.py +0 -29
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/lifetime_savings.py +0 -119
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/lineage_chain.py +0 -144
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/lineage_reader.py +0 -107
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/llm_client.py +0 -555
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/local_signer.py +0 -134
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/lsp_protocol.py +0 -379
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/maintainability_index.py +0 -181
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/manifest_diff.py +0 -314
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/mcp_protocol.py +0 -4604
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/monadic_laws.py +0 -235
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/patch_scorer.py +0 -290
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/plan_adapter.py +0 -75
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/policy_loader.py +0 -107
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/polyglot_classify.py +0 -111
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/polyglot_imports.py +0 -208
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/polyglot_surface.py +0 -418
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/preflight_change.py +0 -241
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/progress_reporter.py +0 -81
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/provider_detect.py +0 -157
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/provider_resolver.py +0 -141
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/receipt_emitter.py +0 -291
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/recipes.py +0 -412
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/recon_cache.py +0 -184
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/repo_explainer.py +0 -124
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/repo_public_surface.py +0 -384
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/repo_state_capsule.py +0 -251
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/research_note_distiller.py +0 -95
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/response_enricher.py +0 -305
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/roi_calculator.py +0 -264
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/rollback_planner.py +0 -147
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/sbom_emitter.py +0 -155
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/scaffold_js.py +0 -55
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/scaffold_polyglot.py +0 -273
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/scaffold_pyproject.py +0 -62
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/scaffold_starter.py +0 -268
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/scout_walk.py +0 -667
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/sidecar_parser.py +0 -161
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/sidecar_validator.py +0 -202
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/smell_scan.py +0 -279
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/steersman_pack.py +0 -198
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/stub_detector.py +0 -262
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/surface_gap_check.py +0 -186
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/synergy_detect.py +0 -379
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/synergy_render.py +0 -366
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/synergy_surface_extract.py +0 -355
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/test_runner.py +0 -194
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/test_selector.py +0 -155
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/tier_init_rebuild.py +0 -122
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/tool_composer.py +0 -168
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/transcript_log.py +0 -70
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/trust_gate_response.py +0 -221
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/validation_commands.py +0 -183
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/welcome_narrator.py +0 -624
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wire_check.py +0 -603
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wire_stubs_gen.py +0 -469
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wisdom_capture.py +0 -139
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wisdom_io.py +0 -137
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wisdom_promote.py +0 -167
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/wisdom_recall.py +0 -112
- atomadic_forge-0.87.0/src/atomadic_forge/a1_at_functions/worktree_status.py +0 -209
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/cost_circuit_breaker.py +0 -266
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/cross_agent_intent_deduplicator.py +0 -69
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/evolve_session_store.py +0 -185
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/forge_auth_client.py +0 -254
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/hierarchical_memory.py +0 -307
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/iterate_session_store.py +0 -194
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/lineage_chain_store.py +0 -122
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/manifest_store.py +0 -46
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/nexus_client.py +0 -217
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/plan_store.py +0 -164
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/receipt_signer.py +0 -231
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/remote_seed_store.py +0 -180
- atomadic_forge-0.87.0/src/atomadic_forge/a2_mo_composites/repo_public_surface_sync.py +0 -133
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/absorb_feature.py +0 -134
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/agent_hire_protocol.py +0 -228
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/cherry_hunter.py +0 -303
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/cna_check.py +0 -280
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/commandsmith_feature.py +0 -267
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/commit_compose.py +0 -179
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/create_feature.py +0 -197
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/dedup_engine.py +0 -280
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/__init__.py +0 -3
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a0_qk_constants/__init__.py +0 -4
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/src/mixed_pkg/a1_at_functions/__init__.py +0 -14
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/conftest.py +0 -10
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_packages/mixed_py_js/tests/test_mixed.py +0 -18
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/demo_runner.py +0 -502
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/emergent_feature.py +0 -130
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/emergent_pipeline_integration.py +0 -154
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/emergent_swarm.py +0 -304
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/enhancement_proposal_feature.py +0 -195
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_enforce.py +0 -107
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_evolve.py +0 -176
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_evolve_session.py +0 -307
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_loop.py +0 -650
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_loop_session.py +0 -271
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_metrics_feature.py +0 -290
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_pipeline.py +0 -532
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/forge_plan_apply.py +0 -222
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/graft_feature.py +0 -436
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/guard_install.py +0 -284
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/handoff_feature.py +0 -124
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/hive_sync.py +0 -465
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/lsp_server.py +0 -98
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/materialize_feature.py +0 -360
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/mcp_server.py +0 -1282
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/nexus_bridge.py +0 -163
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/recipe_replay.py +0 -158
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/relay_daemon.py +0 -189
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/setup_wizard.py +0 -337
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/surface_export.py +0 -255
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/synergy_feature.py +0 -89
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/tool_factory.py +0 -499
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/verify_umbrella.py +0 -422
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/welcome_feature.py +0 -429
- atomadic_forge-0.87.0/src/atomadic_forge/a3_og_features/wisdom_feature.py +0 -148
- atomadic_forge-0.87.0/src/atomadic_forge/a4_sy_orchestration/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/a4_sy_orchestration/cli.py +0 -3446
- atomadic_forge-0.87.0/src/atomadic_forge/a4_sy_orchestration/copilots_cmd.py +0 -272
- atomadic_forge-0.87.0/src/atomadic_forge/a4_sy_orchestration/login_cmd.py +0 -166
- atomadic_forge-0.87.0/src/atomadic_forge/a4_sy_orchestration/whoami_cmd.py +0 -159
- atomadic_forge-0.87.0/src/atomadic_forge/commands/__init__.py +0 -1
- atomadic_forge-0.87.0/src/atomadic_forge/commands/_monadic_laws_shared.py +0 -46
- atomadic_forge-0.87.0/src/atomadic_forge/commands/_registry.py +0 -68
- atomadic_forge-0.87.0/src/atomadic_forge/commands/absorb.py +0 -96
- atomadic_forge-0.87.0/src/atomadic_forge/commands/aiom_check.py +0 -44
- atomadic_forge-0.87.0/src/atomadic_forge/commands/audit.py +0 -142
- atomadic_forge-0.87.0/src/atomadic_forge/commands/chat.py +0 -133
- atomadic_forge-0.87.0/src/atomadic_forge/commands/commandsmith.py +0 -179
- atomadic_forge-0.87.0/src/atomadic_forge/commands/config_cmd.py +0 -322
- atomadic_forge-0.87.0/src/atomadic_forge/commands/create.py +0 -143
- atomadic_forge-0.87.0/src/atomadic_forge/commands/demo.py +0 -142
- atomadic_forge-0.87.0/src/atomadic_forge/commands/emergent.py +0 -124
- atomadic_forge-0.87.0/src/atomadic_forge/commands/emergent_swarm.py +0 -139
- atomadic_forge-0.87.0/src/atomadic_forge/commands/emergent_then_synergy.py +0 -72
- atomadic_forge-0.87.0/src/atomadic_forge/commands/enhancement.py +0 -209
- atomadic_forge-0.87.0/src/atomadic_forge/commands/evolve.py +0 -122
- atomadic_forge-0.87.0/src/atomadic_forge/commands/evolve_then_iterate.py +0 -70
- atomadic_forge-0.87.0/src/atomadic_forge/commands/feature_then_emergent.py +0 -111
- atomadic_forge-0.87.0/src/atomadic_forge/commands/fingerprint.py +0 -39
- atomadic_forge-0.87.0/src/atomadic_forge/commands/fuzz.py +0 -79
- atomadic_forge-0.87.0/src/atomadic_forge/commands/graft.py +0 -139
- atomadic_forge-0.87.0/src/atomadic_forge/commands/guard_install.py +0 -93
- atomadic_forge-0.87.0/src/atomadic_forge/commands/handoff.py +0 -177
- atomadic_forge-0.87.0/src/atomadic_forge/commands/harvest.py +0 -111
- atomadic_forge-0.87.0/src/atomadic_forge/commands/hive.py +0 -437
- atomadic_forge-0.87.0/src/atomadic_forge/commands/iterate.py +0 -140
- atomadic_forge-0.87.0/src/atomadic_forge/commands/materialize.py +0 -103
- atomadic_forge-0.87.0/src/atomadic_forge/commands/mcb_check.py +0 -44
- atomadic_forge-0.87.0/src/atomadic_forge/commands/metrics.py +0 -255
- atomadic_forge-0.87.0/src/atomadic_forge/commands/recon_swarm.py +0 -76
- atomadic_forge-0.87.0/src/atomadic_forge/commands/relay.py +0 -107
- atomadic_forge-0.87.0/src/atomadic_forge/commands/replay.py +0 -101
- atomadic_forge-0.87.0/src/atomadic_forge/commands/surface.py +0 -151
- atomadic_forge-0.87.0/src/atomadic_forge/commands/synergy.py +0 -96
- atomadic_forge-0.87.0/src/atomadic_forge/commands/synergy_then_emergent.py +0 -76
- atomadic_forge-0.87.0/src/atomadic_forge/commands/token_savings.py +0 -70
- atomadic_forge-0.87.0/src/atomadic_forge/commands/welcome.py +0 -92
- atomadic_forge-0.87.0/src/atomadic_forge/commands/wisdom.py +0 -274
- atomadic_forge-0.87.0/src/atomadic_forge.egg-info/PKG-INFO +0 -316
- atomadic_forge-0.87.0/src/atomadic_forge.egg-info/SOURCES.txt +0 -483
- atomadic_forge-0.87.0/src/atomadic_forge.egg-info/entry_points.txt +0 -3
- atomadic_forge-0.87.0/src/atomadic_forge.egg-info/requires.txt +0 -18
- atomadic_forge-0.87.0/tests/test_a_certify_smoke.py +0 -31
- atomadic_forge-0.87.0/tests/test_aaaa_nexus_client.py +0 -251
- atomadic_forge-0.87.0/tests/test_abstract_method_repair.py +0 -122
- atomadic_forge-0.87.0/tests/test_agent_hire_protocol.py +0 -99
- atomadic_forge-0.87.0/tests/test_agent_plan.py +0 -282
- atomadic_forge-0.87.0/tests/test_agent_plan_pkg_label.py +0 -51
- atomadic_forge-0.87.0/tests/test_agent_summary.py +0 -329
- atomadic_forge-0.87.0/tests/test_ast_scope_lock.py +0 -119
- atomadic_forge-0.87.0/tests/test_audit_verb.py +0 -169
- atomadic_forge-0.87.0/tests/test_body_extractor_repairs.py +0 -86
- atomadic_forge-0.87.0/tests/test_call_graph_summary.py +0 -65
- atomadic_forge-0.87.0/tests/test_capability_scout.py +0 -84
- atomadic_forge-0.87.0/tests/test_card_renderer.py +0 -200
- atomadic_forge-0.87.0/tests/test_certify_operational_axis.py +0 -220
- atomadic_forge-0.87.0/tests/test_chat.py +0 -46
- atomadic_forge-0.87.0/tests/test_cherry_dedup_class_methods.py +0 -80
- atomadic_forge-0.87.0/tests/test_cherry_pick.py +0 -68
- atomadic_forge-0.87.0/tests/test_classify_tier.py +0 -52
- atomadic_forge-0.87.0/tests/test_classify_tier_ast_signals.py +0 -208
- atomadic_forge-0.87.0/tests/test_cli_smoke.py +0 -284
- atomadic_forge-0.87.0/tests/test_cli_swarm_aliases.py +0 -42
- atomadic_forge-0.87.0/tests/test_codex_5_complete.py +0 -452
- atomadic_forge-0.87.0/tests/test_codex_6_enforce_polyglot.py +0 -203
- atomadic_forge-0.87.0/tests/test_commandsmith.py +0 -103
- atomadic_forge-0.87.0/tests/test_compiler_feedback.py +0 -203
- atomadic_forge-0.87.0/tests/test_compliance_checker.py +0 -245
- atomadic_forge-0.87.0/tests/test_config.py +0 -379
- atomadic_forge-0.87.0/tests/test_copilots_copilot.py +0 -621
- atomadic_forge-0.87.0/tests/test_cost_circuit_breaker.py +0 -95
- atomadic_forge-0.87.0/tests/test_create_feature.py +0 -368
- atomadic_forge-0.87.0/tests/test_cs1_renderer.py +0 -368
- atomadic_forge-0.87.0/tests/test_custom_provider.py +0 -248
- atomadic_forge-0.87.0/tests/test_dead_code_check.py +0 -88
- atomadic_forge-0.87.0/tests/test_dedup_engine.py +0 -157
- atomadic_forge-0.87.0/tests/test_demo.py +0 -72
- atomadic_forge-0.87.0/tests/test_doc_auto_update.py +0 -352
- atomadic_forge-0.87.0/tests/test_emergent_compose.py +0 -66
- atomadic_forge-0.87.0/tests/test_emergent_signature_extract.py +0 -76
- atomadic_forge-0.87.0/tests/test_emergent_synthesize_imports.py +0 -81
- atomadic_forge-0.87.0/tests/test_enhancement_proposal.py +0 -304
- atomadic_forge-0.87.0/tests/test_error_codes.py +0 -241
- atomadic_forge-0.87.0/tests/test_error_hints.py +0 -127
- atomadic_forge-0.87.0/tests/test_evolve_js.py +0 -405
- atomadic_forge-0.87.0/tests/test_exported_api_check.py +0 -105
- atomadic_forge-0.87.0/tests/test_finalize_scaffold.py +0 -110
- atomadic_forge-0.87.0/tests/test_forge_action.py +0 -259
- atomadic_forge-0.87.0/tests/test_forge_auth_a1.py +0 -251
- atomadic_forge-0.87.0/tests/test_forge_auth_a2.py +0 -391
- atomadic_forge-0.87.0/tests/test_forge_enforce.py +0 -320
- atomadic_forge-0.87.0/tests/test_generation_quality.py +0 -95
- atomadic_forge-0.87.0/tests/test_git_churn.py +0 -82
- atomadic_forge-0.87.0/tests/test_graft_feature.py +0 -150
- atomadic_forge-0.87.0/tests/test_graft_js.py +0 -102
- atomadic_forge-0.87.0/tests/test_graft_polyglot.py +0 -131
- atomadic_forge-0.87.0/tests/test_handoff.py +0 -366
- atomadic_forge-0.87.0/tests/test_harvest_concept_bridge.py +0 -87
- atomadic_forge-0.87.0/tests/test_harvest_source_warnings.py +0 -78
- atomadic_forge-0.87.0/tests/test_hierarchical_memory.py +0 -90
- atomadic_forge-0.87.0/tests/test_hive_sync.py +0 -266
- atomadic_forge-0.87.0/tests/test_ifwc_fuzz.py +0 -42
- atomadic_forge-0.87.0/tests/test_ignore_and_docs.py +0 -309
- atomadic_forge-0.87.0/tests/test_import_smoke.py +0 -58
- atomadic_forge-0.87.0/tests/test_iterate_evolve.py +0 -146
- atomadic_forge-0.87.0/tests/test_js_certify.py +0 -76
- atomadic_forge-0.87.0/tests/test_js_parser.py +0 -152
- atomadic_forge-0.87.0/tests/test_js_recon.py +0 -101
- atomadic_forge-0.87.0/tests/test_js_wire.py +0 -94
- atomadic_forge-0.87.0/tests/test_lineage_chain.py +0 -255
- atomadic_forge-0.87.0/tests/test_ling_provider.py +0 -36
- atomadic_forge-0.87.0/tests/test_local_signer.py +0 -185
- atomadic_forge-0.87.0/tests/test_lsp_protocol.py +0 -302
- atomadic_forge-0.87.0/tests/test_maintainability_index.py +0 -64
- atomadic_forge-0.87.0/tests/test_manifest_diff.py +0 -201
- atomadic_forge-0.87.0/tests/test_materialize_feature.py +0 -221
- atomadic_forge-0.87.0/tests/test_mcp_lazy_bootstrap.py +0 -114
- atomadic_forge-0.87.0/tests/test_mcp_protocol.py +0 -2077
- atomadic_forge-0.87.0/tests/test_monadic_laws.py +0 -96
- atomadic_forge-0.87.0/tests/test_nexus_bridge.py +0 -202
- atomadic_forge-0.87.0/tests/test_ollama_client.py +0 -74
- atomadic_forge-0.87.0/tests/test_pipeline.py +0 -151
- atomadic_forge-0.87.0/tests/test_plan_apply.py +0 -381
- atomadic_forge-0.87.0/tests/test_polyglot_cli_mcp.py +0 -343
- atomadic_forge-0.87.0/tests/test_polyglot_full_pipeline.py +0 -477
- atomadic_forge-0.87.0/tests/test_polyglot_hardening.py +0 -479
- atomadic_forge-0.87.0/tests/test_polyglot_swift_kotlin_go.py +0 -210
- atomadic_forge-0.87.0/tests/test_polyglot_symbol_parity.py +0 -425
- atomadic_forge-0.87.0/tests/test_pre_audit_smoke.py +0 -235
- atomadic_forge-0.87.0/tests/test_precommit_hooks.py +0 -175
- atomadic_forge-0.87.0/tests/test_progress_reporter.py +0 -103
- atomadic_forge-0.87.0/tests/test_receipt_emitter.py +0 -222
- atomadic_forge-0.87.0/tests/test_receipt_schema.py +0 -206
- atomadic_forge-0.87.0/tests/test_receipt_signer.py +0 -217
- atomadic_forge-0.87.0/tests/test_recipe_replay.py +0 -88
- atomadic_forge-0.87.0/tests/test_recon_cache.py +0 -120
- atomadic_forge-0.87.0/tests/test_remote_seed_store.py +0 -108
- atomadic_forge-0.87.0/tests/test_repo_public_surface.py +0 -222
- atomadic_forge-0.87.0/tests/test_response_enricher.py +0 -222
- atomadic_forge-0.87.0/tests/test_roi_calculator.py +0 -243
- atomadic_forge-0.87.0/tests/test_sbom_cmd_text_summary.py +0 -28
- atomadic_forge-0.87.0/tests/test_sbom_emitter.py +0 -141
- atomadic_forge-0.87.0/tests/test_scaffold.py +0 -136
- atomadic_forge-0.87.0/tests/test_sidecar.py +0 -188
- atomadic_forge-0.87.0/tests/test_sidecar_validate.py +0 -196
- atomadic_forge-0.87.0/tests/test_smell_score_formula.py +0 -96
- atomadic_forge-0.87.0/tests/test_stagnation.py +0 -47
- atomadic_forge-0.87.0/tests/test_steersman_pack.py +0 -150
- atomadic_forge-0.87.0/tests/test_stub_detector.py +0 -328
- atomadic_forge-0.87.0/tests/test_surface_export.py +0 -200
- atomadic_forge-0.87.0/tests/test_surface_gap_check.py +0 -78
- atomadic_forge-0.87.0/tests/test_synergy.py +0 -125
- atomadic_forge-0.87.0/tests/test_test_runner.py +0 -190
- atomadic_forge-0.87.0/tests/test_tier_init_rebuild.py +0 -83
- atomadic_forge-0.87.0/tests/test_token_savings_ledger.py +0 -76
- atomadic_forge-0.87.0/tests/test_trust_gate_response.py +0 -112
- atomadic_forge-0.87.0/tests/test_verify_suggested_recipe.py +0 -161
- atomadic_forge-0.87.0/tests/test_welcome.py +0 -700
- atomadic_forge-0.87.0/tests/test_welcome_enhancements.py +0 -283
- atomadic_forge-0.87.0/tests/test_whoami_cmd.py +0 -132
- atomadic_forge-0.87.0/tests/test_wire_certify.py +0 -56
- atomadic_forge-0.87.0/tests/test_wire_stubs_gen.py +0 -63
- atomadic_forge-0.87.0/tests/test_wire_suggest_repairs.py +0 -145
- atomadic_forge-0.87.0/tests/test_wire_type_checking.py +0 -179
- atomadic_forge-0.87.0/tests/test_wisdom.py +0 -260
- {atomadic_forge-0.87.0 → atomadic_forge-0.88.0}/src/atomadic_forge.egg-info/dependency_links.txt +0 -0
- {atomadic_forge-0.87.0 → atomadic_forge-0.88.0}/src/atomadic_forge.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: atomadic-forge
|
|
3
|
+
Version: 0.88.0
|
|
4
|
+
Summary: DEPRECATED — atomadic-forge retired; use the atomadic SDK and Lattice Omega engine.
|
|
5
|
+
Author-email: Atomadic <atomadictech@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://atomadic.tech
|
|
8
|
+
Project-URL: Documentation, https://atomadic.tech/docs/lattice
|
|
9
|
+
Project-URL: Migration guide, https://atomadic.tech/docs/forge-eol
|
|
10
|
+
Project-URL: Issue tracker, https://github.com/atomadictech/atomadic-forge/issues
|
|
11
|
+
Project-URL: Source archive, https://github.com/atomadictech/atomadic-forge
|
|
12
|
+
Keywords: deprecated,atomadic,forge,lattice,omega
|
|
13
|
+
Classifier: Development Status :: 7 - Inactive
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: pyDeprecate>=0.3.2
|
|
23
|
+
Requires-Dist: atomadic>=0.1.0
|
|
24
|
+
|
|
25
|
+
# atomadic-forge deprecation shim (local draft)
|
|
26
|
+
|
|
27
|
+
This directory is a **prepared-only** PyPI package skeleton. Do **not** upload until an operator sets `EXECUTE_PYPI=1` in the runbook checklist.
|
|
28
|
+
|
|
29
|
+
## Purpose
|
|
30
|
+
|
|
31
|
+
Publish a final `atomadic-forge` release that:
|
|
32
|
+
|
|
33
|
+
1. Marks the package **Inactive** on PyPI (classifier + README).
|
|
34
|
+
2. Emits a loud `DeprecationWarning` on import via `pyDeprecate`.
|
|
35
|
+
3. Declares `atomadic` as the successor dependency so `pip install atomadic-forge` pulls the new SDK.
|
|
36
|
+
|
|
37
|
+
## Build (local test only)
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
cd C:\Atomadic-Compliant\tools\forge-eol\deprecated_shim
|
|
41
|
+
python -m pip install build twine
|
|
42
|
+
python -m build
|
|
43
|
+
twine check dist/*
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Upload (operator gate — requires EXECUTE_PYPI=1)
|
|
47
|
+
|
|
48
|
+
```powershell
|
|
49
|
+
$env:TWINE_USERNAME = "__token__"
|
|
50
|
+
$env:TWINE_PASSWORD = "<from VAULT.env PYPI_API_TOKEN — never commit>"
|
|
51
|
+
twine upload dist/*
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Post-upload
|
|
55
|
+
|
|
56
|
+
- Do **not** yank older releases unless legal/security requires it; yanking breaks reproducible installs.
|
|
57
|
+
- Pin migration docs at `https://atomadic.tech/docs/forge-eol`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# atomadic-forge deprecation shim (local draft)
|
|
2
|
+
|
|
3
|
+
This directory is a **prepared-only** PyPI package skeleton. Do **not** upload until an operator sets `EXECUTE_PYPI=1` in the runbook checklist.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Publish a final `atomadic-forge` release that:
|
|
8
|
+
|
|
9
|
+
1. Marks the package **Inactive** on PyPI (classifier + README).
|
|
10
|
+
2. Emits a loud `DeprecationWarning` on import via `pyDeprecate`.
|
|
11
|
+
3. Declares `atomadic` as the successor dependency so `pip install atomadic-forge` pulls the new SDK.
|
|
12
|
+
|
|
13
|
+
## Build (local test only)
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
cd C:\Atomadic-Compliant\tools\forge-eol\deprecated_shim
|
|
17
|
+
python -m pip install build twine
|
|
18
|
+
python -m build
|
|
19
|
+
twine check dist/*
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Upload (operator gate — requires EXECUTE_PYPI=1)
|
|
23
|
+
|
|
24
|
+
```powershell
|
|
25
|
+
$env:TWINE_USERNAME = "__token__"
|
|
26
|
+
$env:TWINE_PASSWORD = "<from VAULT.env PYPI_API_TOKEN — never commit>"
|
|
27
|
+
twine upload dist/*
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Post-upload
|
|
31
|
+
|
|
32
|
+
- Do **not** yank older releases unless legal/security requires it; yanking breaks reproducible installs.
|
|
33
|
+
- Pin migration docs at `https://atomadic.tech/docs/forge-eol`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "atomadic-forge"
|
|
7
|
+
version = "0.88.0"
|
|
8
|
+
description = "DEPRECATED — atomadic-forge retired; use the atomadic SDK and Lattice Omega engine."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = { text = "MIT" }
|
|
12
|
+
authors = [{ name = "Atomadic", email = "atomadictech@gmail.com" }]
|
|
13
|
+
keywords = ["deprecated", "atomadic", "forge", "lattice", "omega"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 7 - Inactive",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"Programming Language :: Python :: 3.10",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Topic :: Software Development :: Libraries",
|
|
22
|
+
]
|
|
23
|
+
dependencies = [
|
|
24
|
+
"pyDeprecate>=0.3.2",
|
|
25
|
+
"atomadic>=0.1.0",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
[project.urls]
|
|
29
|
+
Homepage = "https://atomadic.tech"
|
|
30
|
+
Documentation = "https://atomadic.tech/docs/lattice"
|
|
31
|
+
"Migration guide" = "https://atomadic.tech/docs/forge-eol"
|
|
32
|
+
"Issue tracker" = "https://github.com/atomadictech/atomadic-forge/issues"
|
|
33
|
+
"Source archive" = "https://github.com/atomadictech/atomadic-forge"
|
|
34
|
+
|
|
35
|
+
[tool.setuptools.packages.find]
|
|
36
|
+
where = ["src"]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[egg_info]
|
|
2
|
-
tag_build =
|
|
3
|
-
tag_date = 0
|
|
4
|
-
|
|
1
|
+
[egg_info]
|
|
2
|
+
tag_build =
|
|
3
|
+
tag_date = 0
|
|
4
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Deprecated compatibility shim for retired atomadic-forge."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from pyDeprecate import deprecation
|
|
6
|
+
|
|
7
|
+
_EOL_URL = "https://atomadic.tech/docs/forge-eol"
|
|
8
|
+
_SUCCESSOR = "atomadic"
|
|
9
|
+
|
|
10
|
+
deprecation(
|
|
11
|
+
deprecated="0.88.0",
|
|
12
|
+
message=(
|
|
13
|
+
"atomadic-forge is retired (EOL 2026-07-15). "
|
|
14
|
+
f"Install `{_SUCCESSOR}` instead: pip install {_SUCCESSOR}. "
|
|
15
|
+
f"Migration guide: {_EOL_URL}"
|
|
16
|
+
),
|
|
17
|
+
removal="1.0.0",
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
__version__ = "0.88.0"
|
|
21
|
+
__successor__ = _SUCCESSOR
|
|
22
|
+
__eol_url__ = _EOL_URL
|
|
23
|
+
|
|
24
|
+
# Surface successor import path for scripts that still `import atomadic_forge`.
|
|
25
|
+
try:
|
|
26
|
+
import atomadic as _atomadic # noqa: F401
|
|
27
|
+
|
|
28
|
+
__atomadic__ = _atomadic
|
|
29
|
+
except ImportError: # pragma: no cover - optional at install time
|
|
30
|
+
__atomadic__ = None
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: atomadic-forge
|
|
3
|
+
Version: 0.88.0
|
|
4
|
+
Summary: DEPRECATED — atomadic-forge retired; use the atomadic SDK and Lattice Omega engine.
|
|
5
|
+
Author-email: Atomadic <atomadictech@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://atomadic.tech
|
|
8
|
+
Project-URL: Documentation, https://atomadic.tech/docs/lattice
|
|
9
|
+
Project-URL: Migration guide, https://atomadic.tech/docs/forge-eol
|
|
10
|
+
Project-URL: Issue tracker, https://github.com/atomadictech/atomadic-forge/issues
|
|
11
|
+
Project-URL: Source archive, https://github.com/atomadictech/atomadic-forge
|
|
12
|
+
Keywords: deprecated,atomadic,forge,lattice,omega
|
|
13
|
+
Classifier: Development Status :: 7 - Inactive
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: pyDeprecate>=0.3.2
|
|
23
|
+
Requires-Dist: atomadic>=0.1.0
|
|
24
|
+
|
|
25
|
+
# atomadic-forge deprecation shim (local draft)
|
|
26
|
+
|
|
27
|
+
This directory is a **prepared-only** PyPI package skeleton. Do **not** upload until an operator sets `EXECUTE_PYPI=1` in the runbook checklist.
|
|
28
|
+
|
|
29
|
+
## Purpose
|
|
30
|
+
|
|
31
|
+
Publish a final `atomadic-forge` release that:
|
|
32
|
+
|
|
33
|
+
1. Marks the package **Inactive** on PyPI (classifier + README).
|
|
34
|
+
2. Emits a loud `DeprecationWarning` on import via `pyDeprecate`.
|
|
35
|
+
3. Declares `atomadic` as the successor dependency so `pip install atomadic-forge` pulls the new SDK.
|
|
36
|
+
|
|
37
|
+
## Build (local test only)
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
cd C:\Atomadic-Compliant\tools\forge-eol\deprecated_shim
|
|
41
|
+
python -m pip install build twine
|
|
42
|
+
python -m build
|
|
43
|
+
twine check dist/*
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Upload (operator gate — requires EXECUTE_PYPI=1)
|
|
47
|
+
|
|
48
|
+
```powershell
|
|
49
|
+
$env:TWINE_USERNAME = "__token__"
|
|
50
|
+
$env:TWINE_PASSWORD = "<from VAULT.env PYPI_API_TOKEN — never commit>"
|
|
51
|
+
twine upload dist/*
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Post-upload
|
|
55
|
+
|
|
56
|
+
- Do **not** yank older releases unless legal/security requires it; yanking breaks reproducible installs.
|
|
57
|
+
- Pin migration docs at `https://atomadic.tech/docs/forge-eol`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
src/atomadic_forge/__init__.py
|
|
4
|
+
src/atomadic_forge.egg-info/PKG-INFO
|
|
5
|
+
src/atomadic_forge.egg-info/SOURCES.txt
|
|
6
|
+
src/atomadic_forge.egg-info/dependency_links.txt
|
|
7
|
+
src/atomadic_forge.egg-info/requires.txt
|
|
8
|
+
src/atomadic_forge.egg-info/top_level.txt
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
name: Bug report
|
|
2
|
-
description: Report a reproducible Forge problem.
|
|
3
|
-
title: "[Bug]: "
|
|
4
|
-
labels: ["bug", "needs-triage"]
|
|
5
|
-
body:
|
|
6
|
-
- type: markdown
|
|
7
|
-
attributes:
|
|
8
|
-
value: |
|
|
9
|
-
Thanks for helping harden Forge. Please include the smallest repro you can.
|
|
10
|
-
|
|
11
|
-
- type: textarea
|
|
12
|
-
id: summary
|
|
13
|
-
attributes:
|
|
14
|
-
label: Summary
|
|
15
|
-
description: What happened, and what did you expect instead?
|
|
16
|
-
validations:
|
|
17
|
-
required: true
|
|
18
|
-
|
|
19
|
-
- type: textarea
|
|
20
|
-
id: reproduce
|
|
21
|
-
attributes:
|
|
22
|
-
label: Reproduction
|
|
23
|
-
description: Exact commands, sample files, or a minimal repo layout.
|
|
24
|
-
placeholder: |
|
|
25
|
-
python -m atomadic_forge.a4_sy_orchestration.cli ...
|
|
26
|
-
validations:
|
|
27
|
-
required: true
|
|
28
|
-
|
|
29
|
-
- type: textarea
|
|
30
|
-
id: output
|
|
31
|
-
attributes:
|
|
32
|
-
label: Output
|
|
33
|
-
description: Paste relevant terminal output. Redact secrets.
|
|
34
|
-
render: shell
|
|
35
|
-
|
|
36
|
-
- type: textarea
|
|
37
|
-
id: environment
|
|
38
|
-
attributes:
|
|
39
|
-
label: Environment
|
|
40
|
-
description: Output from `forge doctor --json`, Python version, OS, provider/model if relevant.
|
|
41
|
-
render: json
|
|
42
|
-
|
|
43
|
-
- type: checkboxes
|
|
44
|
-
id: checks
|
|
45
|
-
attributes:
|
|
46
|
-
label: Checks
|
|
47
|
-
options:
|
|
48
|
-
- label: I searched existing issues.
|
|
49
|
-
required: true
|
|
50
|
-
- label: I removed secrets, API keys, and local-only paths from the report.
|
|
51
|
-
required: true
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
blank_issues_enabled: false
|
|
2
|
-
contact_links:
|
|
3
|
-
- name: Security issue
|
|
4
|
-
url: https://github.com/atomadictech/atomadic-forge/security/advisories/new
|
|
5
|
-
about: Please report vulnerabilities privately through GitHub Security Advisories.
|
|
6
|
-
- name: Docs and command reference
|
|
7
|
-
url: https://github.com/atomadictech/atomadic-forge/tree/main/docs
|
|
8
|
-
about: Check the docs before opening a usage question.
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
name: Feature request
|
|
2
|
-
description: Suggest a new Forge capability or workflow.
|
|
3
|
-
title: "[Feature]: "
|
|
4
|
-
labels: ["enhancement", "needs-triage"]
|
|
5
|
-
body:
|
|
6
|
-
- type: textarea
|
|
7
|
-
id: problem
|
|
8
|
-
attributes:
|
|
9
|
-
label: Problem
|
|
10
|
-
description: What workflow is painful today?
|
|
11
|
-
validations:
|
|
12
|
-
required: true
|
|
13
|
-
|
|
14
|
-
- type: textarea
|
|
15
|
-
id: proposal
|
|
16
|
-
attributes:
|
|
17
|
-
label: Proposal
|
|
18
|
-
description: What would a good solution look like?
|
|
19
|
-
validations:
|
|
20
|
-
required: true
|
|
21
|
-
|
|
22
|
-
- type: dropdown
|
|
23
|
-
id: area
|
|
24
|
-
attributes:
|
|
25
|
-
label: Area
|
|
26
|
-
options:
|
|
27
|
-
- absorption pipeline
|
|
28
|
-
- LLM iterate/evolve
|
|
29
|
-
- chat/copilot
|
|
30
|
-
- docs/test generation
|
|
31
|
-
- JavaScript/TypeScript support
|
|
32
|
-
- CLI UX
|
|
33
|
-
- CI/GitHub integration
|
|
34
|
-
- other
|
|
35
|
-
validations:
|
|
36
|
-
required: true
|
|
37
|
-
|
|
38
|
-
- type: textarea
|
|
39
|
-
id: alternatives
|
|
40
|
-
attributes:
|
|
41
|
-
label: Alternatives
|
|
42
|
-
description: Any workaround or alternative design you considered?
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
# forge-action
|
|
2
|
-
|
|
3
|
-
[](https://github.com/atomadictech/atomadic-forge)
|
|
4
|
-
|
|
5
|
-
A GitHub Action that runs **`forge wire` + `forge certify`** on a
|
|
6
|
-
tier-organized package and posts a **sticky PR comment** with the
|
|
7
|
-
rendered Receipt card. Composite action — no Docker, no extra runtime.
|
|
8
|
-
|
|
9
|
-
This is the Lane C W1 deliverable from the Atomadic Forge Golden Path.
|
|
10
|
-
Eventually moves to its own repo (`atomadictech/forge-action`); today
|
|
11
|
-
it ships in-tree under `.github/actions/forge-action/` so the action's
|
|
12
|
-
ref tracks the Forge release that emitted it.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## One-line install
|
|
17
|
-
|
|
18
|
-
In a consuming repo, add `.github/workflows/forge.yml`:
|
|
19
|
-
|
|
20
|
-
```yaml
|
|
21
|
-
name: Atomadic Forge — architecture gate
|
|
22
|
-
on:
|
|
23
|
-
pull_request:
|
|
24
|
-
push:
|
|
25
|
-
branches: [main]
|
|
26
|
-
|
|
27
|
-
permissions:
|
|
28
|
-
contents: read
|
|
29
|
-
pull-requests: write # required to post the sticky comment
|
|
30
|
-
|
|
31
|
-
jobs:
|
|
32
|
-
forge:
|
|
33
|
-
runs-on: ubuntu-latest
|
|
34
|
-
steps:
|
|
35
|
-
- uses: actions/checkout@v4
|
|
36
|
-
- uses: atomadictech/atomadic-forge/.github/actions/forge-action@main
|
|
37
|
-
with:
|
|
38
|
-
package_root: src/your_package
|
|
39
|
-
package_name: your_package
|
|
40
|
-
fail_under: '75'
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
That's it. The action will:
|
|
44
|
-
|
|
45
|
-
1. Install Forge from the same ref the action checked out at.
|
|
46
|
-
2. Run `forge wire <package_root> --fail-on-violations --json` —
|
|
47
|
-
exits 1 on any upward-import violation.
|
|
48
|
-
3. Run `forge certify . --fail-under <N> --emit-receipt
|
|
49
|
-
.atomadic-forge/receipt.json --print-card --json` — exits 1 below
|
|
50
|
-
the threshold.
|
|
51
|
-
4. Upload `wire.json`, `certify.json`, `receipt.json`, and the
|
|
52
|
-
rendered card as a 14-day build artifact.
|
|
53
|
-
5. Post (or update) a single sticky PR comment with the rendered card
|
|
54
|
-
and a one-line verdict summary.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Inputs
|
|
59
|
-
|
|
60
|
-
| Name | Required | Default | Notes |
|
|
61
|
-
|---|---|---|---|
|
|
62
|
-
| `package_root` | yes | – | Tier-organized package path (e.g. `src/your_package`) |
|
|
63
|
-
| `project_root` | no | `.` | Project root passed to `forge certify` |
|
|
64
|
-
| `package_name` | no | `''` | Forwarded to `forge certify --package` |
|
|
65
|
-
| `fail_under` | no | `'75'` | Certify threshold; below this, the job fails |
|
|
66
|
-
| `receipt_path` | no | `.atomadic-forge/receipt.json` | Receipt JSON emit path (relative to `project_root`) |
|
|
67
|
-
| `python_version` | no | `'3.11'` | Python for the Forge install |
|
|
68
|
-
| `forge_ref` | no | (action ref) | Override which `atomadic-forge` ref to install |
|
|
69
|
-
| `comment_on_pr` | no | `'true'` | Set to `'false'` to skip the sticky comment |
|
|
70
|
-
| `upload_artifacts` | no | `'true'` | Set to `'false'` to skip the artifact upload |
|
|
71
|
-
|
|
72
|
-
## Outputs
|
|
73
|
-
|
|
74
|
-
| Name | Type | Notes |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| `certify_score` | string | The certify score (0–100) as text |
|
|
77
|
-
| `wire_verdict` | string | `PASS` or `FAIL` |
|
|
78
|
-
| `receipt_path` | string | Echoes back the input `receipt_path` |
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Soft-fail discipline
|
|
83
|
-
|
|
84
|
-
- **Wire and certify gates fail the job by themselves.** The
|
|
85
|
-
`--fail-on-violations` and `--fail-under` flags are native (shipped
|
|
86
|
-
in 0.2.x); no `python -c` workarounds.
|
|
87
|
-
- **The PR comment is best-effort.** When the workflow runs from a
|
|
88
|
-
fork or without `pull-requests: write`, the comment step is skipped
|
|
89
|
-
and the job still reports its real verdict via exit code.
|
|
90
|
-
- **The Receipt is signable.** When `AAAA_NEXUS_API_KEY` is available
|
|
91
|
-
in the environment and the consuming workflow re-invokes `forge
|
|
92
|
-
certify --sign`, the Receipt's `signatures.aaaa_nexus` field is
|
|
93
|
-
populated. `forge-action` does not call `--sign` by default — most
|
|
94
|
-
CI runs are unsigned dev attestations.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## What the sticky comment looks like
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
### Atomadic Forge — wire + certify
|
|
102
|
-
|
|
103
|
-
**wire:** `PASS` · **certify:** `100.0/100`
|
|
104
|
-
|
|
105
|
-
╔══════════════════════════════════════════════════════════╗
|
|
106
|
-
│ Atomadic Forge Receipt atomadic-forge.receipt/v1 │
|
|
107
|
-
│ ✓ PASS forge x.y.z │
|
|
108
|
-
│ atomadic-forge │
|
|
109
|
-
│ CERTIFY 100.0 / 100 │
|
|
110
|
-
│ docs ✓ tests ✓ layout ✓ wire ✓ │
|
|
111
|
-
│ WIRE PASS (0 violations) │
|
|
112
|
-
│ SCOUT 952 symbols (python) 952 tier-placed │
|
|
113
|
-
╚══════════════════════════════════════════════════════════╝
|
|
114
|
-
|
|
115
|
-
Posted by forge-action. The card and JSON receipt are also uploaded
|
|
116
|
-
as build artifacts on this run.
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
Updated in place on every push — never spams the PR.
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Status
|
|
124
|
-
|
|
125
|
-
- **Today (Lane C W1):** in-tree under `.github/actions/forge-action/`,
|
|
126
|
-
ref-pinned to the consuming Forge release.
|
|
127
|
-
- **Lane C W12 (planned):** dedicated repo `atomadictech/forge-action`
|
|
128
|
-
+ Marketplace listing.
|
|
129
|
-
- **Lane C W16+ (planned):** GitHub App variant that opens weekly
|
|
130
|
-
drift-PRs via `forge iterate --dry-run`.
|