devagent-ai 0.8.7__tar.gz → 0.8.13__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.
- devagent_ai-0.8.13/PKG-INFO +310 -0
- devagent_ai-0.8.13/PYPI_README.md +274 -0
- devagent_ai-0.8.7/devagent_ai.egg-info/PKG-INFO → devagent_ai-0.8.13/README.md +549 -51
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/__init__.py +1 -1
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/entrypoint.py +12 -0
- devagent_ai-0.8.13/devagent/live/__init__.py +374 -0
- devagent_ai-0.8.13/devagent/live/_commercial_realtime_impl.py +1151 -0
- devagent_ai-0.8.13/devagent/live/advanced_assistant.py +603 -0
- devagent_ai-0.8.13/devagent/live/advanced_semantics.py +567 -0
- devagent_ai-0.8.13/devagent/live/agent_integration.py +482 -0
- devagent_ai-0.8.13/devagent/live/assist_cli.py +476 -0
- devagent_ai-0.8.13/devagent/live/assist_production_cli.py +91 -0
- devagent_ai-0.8.13/devagent/live/assistant.py +458 -0
- devagent_ai-0.8.13/devagent/live/certificate_material.py +174 -0
- devagent_ai-0.8.13/devagent/live/cli.py +747 -0
- devagent_ai-0.8.13/devagent/live/cli_security.py +182 -0
- devagent_ai-0.8.13/devagent/live/commercial_assistant.py +102 -0
- devagent_ai-0.8.13/devagent/live/commercial_readiness.py +539 -0
- devagent_ai-0.8.13/devagent/live/commercial_realtime.py +24 -0
- devagent_ai-0.8.13/devagent/live/commission.py +595 -0
- devagent_ai-0.8.13/devagent/live/connection_guidance.py +404 -0
- devagent_ai-0.8.13/devagent/live/control_guard.py +59 -0
- devagent_ai-0.8.13/devagent/live/diagnosis.py +663 -0
- devagent_ai-0.8.13/devagent/live/diagnosis_guard.py +91 -0
- devagent_ai-0.8.13/devagent/live/doctor.py +334 -0
- devagent_ai-0.8.13/devagent/live/engineering_context.py +394 -0
- devagent_ai-0.8.13/devagent/live/errors.py +17 -0
- devagent_ai-0.8.13/devagent/live/history.py +605 -0
- devagent_ai-0.8.13/devagent/live/manager.py +387 -0
- devagent_ai-0.8.13/devagent/live/models.py +70 -0
- devagent_ai-0.8.13/devagent/live/opcua_client.py +950 -0
- devagent_ai-0.8.13/devagent/live/plan.py +386 -0
- devagent_ai-0.8.13/devagent/live/production_integration.py +418 -0
- devagent_ai-0.8.13/devagent/live/production_realtime.py +325 -0
- devagent_ai-0.8.13/devagent/live/project_folder.py +344 -0
- devagent_ai-0.8.13/devagent/live/qa.py +460 -0
- devagent_ai-0.8.13/devagent/live/qualification.py +644 -0
- devagent_ai-0.8.13/devagent/live/question_resolution.py +46 -0
- devagent_ai-0.8.13/devagent/live/readiness.py +515 -0
- devagent_ai-0.8.13/devagent/live/realtime_assistant.py +595 -0
- devagent_ai-0.8.13/devagent/live/realtime_manager.py +619 -0
- devagent_ai-0.8.13/devagent/live/reconciled_evidence.py +158 -0
- devagent_ai-0.8.13/devagent/live/recursive_assistant.py +565 -0
- devagent_ai-0.8.13/devagent/live/recursive_diagnosis.py +515 -0
- devagent_ai-0.8.13/devagent/live/runtime_environment.py +60 -0
- devagent_ai-0.8.13/devagent/live/security.py +332 -0
- devagent_ai-0.8.13/devagent/live/semantic_assistant.py +477 -0
- devagent_ai-0.8.13/devagent/live/semantic_intent.py +296 -0
- devagent_ai-0.8.13/devagent/live/sim_cli.py +107 -0
- devagent_ai-0.8.13/devagent/live/simulator.py +439 -0
- devagent_ai-0.8.13/devagent/live/simulator_scenarios.py +180 -0
- devagent_ai-0.8.13/devagent/live/soak.py +445 -0
- devagent_ai-0.8.13/devagent/live/stateful_assistant.py +103 -0
- devagent_ai-0.8.13/devagent/live/stateful_context.py +496 -0
- devagent_ai-0.8.13/devagent/live/system_health.py +635 -0
- devagent_ai-0.8.13/devagent/live/tag_reconciliation.py +710 -0
- devagent_ai-0.8.13/devagent/live/vendor_qualification.py +297 -0
- devagent_ai-0.8.13/devagent/live/workflow.py +296 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/__init__.py +49 -1
- devagent_ai-0.8.13/devagent/plc/plc_dispatch.py +66 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/professional_report_install_v14.py +5 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/professional_report_v14.py +107 -6
- devagent_ai-0.8.13/devagent/plc/report_contract_console_v1.py +75 -0
- devagent_ai-0.8.13/devagent/plc/report_contract_v1.py +188 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_stateful_runtime.py +1 -1
- devagent_ai-0.8.13/devagent/plc/schneider_call_graph_v3.py +1660 -0
- devagent_ai-0.8.13/devagent/plc/schneider_cli_install_v1.py +97 -0
- devagent_ai-0.8.13/devagent/plc/schneider_closeout_v9.py +800 -0
- devagent_ai-0.8.13/devagent/plc/schneider_control_expert_v1.py +836 -0
- devagent_ai-0.8.13/devagent/plc/schneider_fault_recovery_v7.py +1037 -0
- devagent_ai-0.8.13/devagent/plc/schneider_graphical_v4.py +1329 -0
- devagent_ai-0.8.13/devagent/plc/schneider_graphical_writer_hardening_v4.py +87 -0
- devagent_ai-0.8.13/devagent/plc/schneider_identity_hardening_v8.py +220 -0
- devagent_ai-0.8.13/devagent/plc/schneider_identity_types_v8.py +932 -0
- devagent_ai-0.8.13/devagent/plc/schneider_integration_v1.py +405 -0
- devagent_ai-0.8.13/devagent/plc/schneider_interlock_permissive_hardening_v6.py +99 -0
- devagent_ai-0.8.13/devagent/plc/schneider_interlock_permissive_v6.py +1204 -0
- devagent_ai-0.8.13/devagent/plc/schneider_production_readiness.py +448 -0
- devagent_ai-0.8.13/devagent/plc/schneider_real_export_audit_hardening_v9.py +113 -0
- devagent_ai-0.8.13/devagent/plc/schneider_real_st_actions_v10.py +391 -0
- devagent_ai-0.8.13/devagent/plc/schneider_real_st_gap_analysis.py +256 -0
- devagent_ai-0.8.13/devagent/plc/schneider_regression_hardening_v9.py +207 -0
- devagent_ai-0.8.13/devagent/plc/schneider_report_install_v1.py +152 -0
- devagent_ai-0.8.13/devagent/plc/schneider_st_control_flow_v2.py +858 -0
- devagent_ai-0.8.13/devagent/plc/schneider_state_machine_hardening_v5.py +300 -0
- devagent_ai-0.8.13/devagent/plc/schneider_state_machine_v5.py +1492 -0
- devagent_ai-0.8.13/devagent/plc/schneider_tag_merge_v1.py +47 -0
- devagent_ai-0.8.13/devagent/plc/schneider_v5_bindings_v1.py +118 -0
- devagent_ai-0.8.13/devagent/plc/schneider_v8_compat_hardening.py +146 -0
- devagent_ai-0.8.13/devagent/plc/schneider_v9_hardening.py +69 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/signature_trust.py +1 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/top_engineering_risks_v1.py +15 -6
- devagent_ai-0.8.13/devagent_ai.egg-info/PKG-INFO +310 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent_ai.egg-info/SOURCES.txt +188 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent_ai.egg-info/requires.txt +4 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/pyproject.toml +4 -3
- devagent_ai-0.8.13/tests/test_live_advanced_contract_v1.py +53 -0
- devagent_ai-0.8.13/tests/test_live_advanced_hardening_v1.py +84 -0
- devagent_ai-0.8.13/tests/test_live_advanced_review_fixes_v1.py +137 -0
- devagent_ai-0.8.13/tests/test_live_advanced_rll_v1.py +81 -0
- devagent_ai-0.8.13/tests/test_live_advanced_scoped_tag_v1.py +60 -0
- devagent_ai-0.8.13/tests/test_live_advanced_semantics_v1.py +280 -0
- devagent_ai-0.8.13/tests/test_live_agent_integration.py +374 -0
- devagent_ai-0.8.13/tests/test_live_assist_cli_v1.py +117 -0
- devagent_ai-0.8.13/tests/test_live_certificate_format_compat.py +335 -0
- devagent_ai-0.8.13/tests/test_live_commercial_cli_v1.py +141 -0
- devagent_ai-0.8.13/tests/test_live_commercial_readiness_v1.py +227 -0
- devagent_ai-0.8.13/tests/test_live_commission_command.py +162 -0
- devagent_ai-0.8.13/tests/test_live_commission_config.py +319 -0
- devagent_ai-0.8.13/tests/test_live_commission_security_profiles.py +81 -0
- devagent_ai-0.8.13/tests/test_live_commission_summary_redaction.py +59 -0
- devagent_ai-0.8.13/tests/test_live_commissioning_qa_v1.py +414 -0
- devagent_ai-0.8.13/tests/test_live_commissioning_workflow.py +425 -0
- devagent_ai-0.8.13/tests/test_live_connection_guidance.py +257 -0
- devagent_ai-0.8.13/tests/test_live_control_guard_v1.py +63 -0
- devagent_ai-0.8.13/tests/test_live_conversation_final_review_guards_v2.py +123 -0
- devagent_ai-0.8.13/tests/test_live_diagnosis_guard_v1.py +105 -0
- devagent_ai-0.8.13/tests/test_live_doctor_soak_runtime_v1.py +174 -0
- devagent_ai-0.8.13/tests/test_live_entrypoint.py +21 -0
- devagent_ai-0.8.13/tests/test_live_history_question_defaults_v1.py +19 -0
- devagent_ai-0.8.13/tests/test_live_insecure_username_profile.py +102 -0
- devagent_ai-0.8.13/tests/test_live_manager.py +390 -0
- devagent_ai-0.8.13/tests/test_live_models.py +34 -0
- devagent_ai-0.8.13/tests/test_live_multi_plc_integration.py +96 -0
- devagent_ai-0.8.13/tests/test_live_opcua.py +207 -0
- devagent_ai-0.8.13/tests/test_live_opcua_certificate_format_integration.py +212 -0
- devagent_ai-0.8.13/tests/test_live_opcua_profile_runtime_integration.py +233 -0
- devagent_ai-0.8.13/tests/test_live_opcua_security_integration.py +207 -0
- devagent_ai-0.8.13/tests/test_live_opcua_trust_store_integration.py +234 -0
- devagent_ai-0.8.13/tests/test_live_pkcs12_server_pin.py +104 -0
- devagent_ai-0.8.13/tests/test_live_plan_command.py +153 -0
- devagent_ai-0.8.13/tests/test_live_plan_generator.py +255 -0
- devagent_ai-0.8.13/tests/test_live_probe_guidance_integration.py +39 -0
- devagent_ai-0.8.13/tests/test_live_probe_status_output.py +71 -0
- devagent_ai-0.8.13/tests/test_live_production_integration.py +274 -0
- devagent_ai-0.8.13/tests/test_live_production_readiness.py +173 -0
- devagent_ai-0.8.13/tests/test_live_production_readiness_command.py +132 -0
- devagent_ai-0.8.13/tests/test_live_project_folder_example_v1.py +20 -0
- devagent_ai-0.8.13/tests/test_live_project_folder_intake_v1.py +124 -0
- devagent_ai-0.8.13/tests/test_live_realistic_agent_matrix_v1.py +121 -0
- devagent_ai-0.8.13/tests/test_live_realistic_agent_qa_v1.py +122 -0
- devagent_ai-0.8.13/tests/test_live_realtime_conversation_context_v1.py +432 -0
- devagent_ai-0.8.13/tests/test_live_realtime_evidence_integrity_integration_v2.py +144 -0
- devagent_ai-0.8.13/tests/test_live_realtime_evidence_integrity_regressions_v2.py +276 -0
- devagent_ai-0.8.13/tests/test_live_realtime_evidence_integrity_v2.py +324 -0
- devagent_ai-0.8.13/tests/test_live_realtime_evidence_v1.py +484 -0
- devagent_ai-0.8.13/tests/test_live_realtime_final_review_regressions_v2.py +360 -0
- devagent_ai-0.8.13/tests/test_live_realtime_race_hardening_v1.py +255 -0
- devagent_ai-0.8.13/tests/test_live_realtime_reconfiguration_integrity_v2.py +85 -0
- devagent_ai-0.8.13/tests/test_live_realtime_revalidation_v1.py +258 -0
- devagent_ai-0.8.13/tests/test_live_reconciled_evidence.py +204 -0
- devagent_ai-0.8.13/tests/test_live_reconciled_evidence_scope.py +108 -0
- devagent_ai-0.8.13/tests/test_live_reconnect_unit.py +321 -0
- devagent_ai-0.8.13/tests/test_live_recursive_assistant_contract_v1.py +78 -0
- devagent_ai-0.8.13/tests/test_live_recursive_diagnosis_v1.py +252 -0
- devagent_ai-0.8.13/tests/test_live_release_qualification.py +192 -0
- devagent_ai-0.8.13/tests/test_live_release_qualification_command.py +72 -0
- devagent_ai-0.8.13/tests/test_live_release_qualification_hardening.py +64 -0
- devagent_ai-0.8.13/tests/test_live_review_hardening_v1.py +96 -0
- devagent_ai-0.8.13/tests/test_live_security.py +458 -0
- devagent_ai-0.8.13/tests/test_live_security_backward_compat.py +29 -0
- devagent_ai-0.8.13/tests/test_live_security_exception_chain.py +79 -0
- devagent_ai-0.8.13/tests/test_live_semantic_intent_router_v2.py +289 -0
- devagent_ai-0.8.13/tests/test_live_semantic_intent_router_v2_p1_regressions.py +452 -0
- devagent_ai-0.8.13/tests/test_live_semantic_router_observability_v1.py +33 -0
- devagent_ai-0.8.13/tests/test_live_server_hostname_validation.py +67 -0
- devagent_ai-0.8.13/tests/test_live_sim_matrix_cli_v1.py +27 -0
- devagent_ai-0.8.13/tests/test_live_simulator_demo_project_v1.py +52 -0
- devagent_ai-0.8.13/tests/test_live_simulator_scenarios_v1.py +128 -0
- devagent_ai-0.8.13/tests/test_live_simulator_security_unit.py +44 -0
- devagent_ai-0.8.13/tests/test_live_stateful_failclosed_v1.py +39 -0
- devagent_ai-0.8.13/tests/test_live_stateful_history_v1.py +269 -0
- devagent_ai-0.8.13/tests/test_live_stateful_missing_rungs_v1.py +16 -0
- devagent_ai-0.8.13/tests/test_live_system_health_fail_closed_v1.py +122 -0
- devagent_ai-0.8.13/tests/test_live_system_health_v1.py +315 -0
- devagent_ai-0.8.13/tests/test_live_system_master_overview_v1.py +134 -0
- devagent_ai-0.8.13/tests/test_live_system_master_routing_v1.py +110 -0
- devagent_ai-0.8.13/tests/test_live_system_master_simulator_integration_v1.py +109 -0
- devagent_ai-0.8.13/tests/test_live_tag_reconciliation.py +399 -0
- devagent_ai-0.8.13/tests/test_live_trust_store.py +267 -0
- devagent_ai-0.8.13/tests/test_live_vendor_soak_v1.py +178 -0
- devagent_ai-0.8.13/tests/test_live_workflow_public_api.py +30 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_cli_live_progress.py +40 -0
- devagent_ai-0.8.13/tests/test_plc_report_contract_v1.py +169 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_core.py +143 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_production.py +122 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_production_readiness.py +268 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_production_readiness_hardening.py +102 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_real_st_actions_v10.py +146 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_real_st_gap_analysis.py +84 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_regression_hardening.py +147 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v2.py +314 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v3.py +315 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v4.py +292 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v4_writer_hardening.py +91 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v5.py +374 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v5_hardening.py +249 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v6.py +362 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v6_hardening.py +52 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v7.py +319 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v8.py +281 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v8_downstream_hardening.py +71 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v9.py +201 -0
- devagent_ai-0.8.13/tests/test_plc_schneider_v9_hardening.py +137 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_production_v040.py +28 -7
- devagent_ai-0.8.7/PKG-INFO +0 -756
- devagent_ai-0.8.7/README.md +0 -723
- devagent_ai-0.8.7/devagent/plc/plc_dispatch.py +0 -41
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/LICENSE +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/NOTICE +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/__init__.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/llm.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/loop.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/memory.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/prompts.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/agent/tools.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/__main__.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/artifacts.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/automations.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/autonomy.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/browser.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/cli.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/config.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/discovery.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/evaluation.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/memory.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/models.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/orchestrator.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/agent_harness_install_v15.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/agent_harness_v15.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/analysis.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/cli.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/execution_trust.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/fat_procedure_v12.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/four_contract_v13.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/inspect_cli.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/models.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_ai.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_evidence.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_models.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_readiness.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_readiness_v5.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_regression.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_report.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_review.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_utils.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_v5.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/production_verification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/release_policy.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/report.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/report_clarity_install_v16.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/report_levels.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/requirements.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_action_requirements.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_alias_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_branch_coverage_v16.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_closeout.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_closeout_gate_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_compare.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_compare_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_compare_reachability_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_core_review_v12.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_echo.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_echo_gate.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_entrypoint_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_general_actions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_l5x.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_motion_runtime_v11.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_regression_case_compat_v12.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_regression_evidence_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_requirement_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_risk_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_semantic_capabilities.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_st_case_v11.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_st_v10.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_standard_catalog.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_state_machine_v11.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_structure.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_system_service_install_v17.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_system_service_report_install_v17.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_system_service_v17.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/rockwell_v10_semantics.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/safe_analysis.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/semantic_coverage.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/semantic_coverage_report.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_call_graph_v3.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_cli_install_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_closeout_v9.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_flgnet_extended_hardening_v4.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_flgnet_extended_v4.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_flgnet_hardening_v4.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_flgnet_v4.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_identity_types_v8.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_integration_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_interlock_permissive_v6.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_recovery_v7.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_scl_control_flow_hardening_v2.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_scl_control_flow_v2.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_state_machine_hardening_v5.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_state_machine_v5.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_tia_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_v5_bindings_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_v6_v7_token_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/siemens_v8_v9_compat_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/trusted_snapshot.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/v2_guardrails.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/plc/v2_semantics.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/provider_benchmark.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/providers.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/qualification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/realworld.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/report.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/retrieval.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/routing.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/runtime.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/safety.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/skills.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/source_control.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/state_machine.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/tasking.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/technical_review.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/workspace.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent/worktree.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent_ai.egg-info/dependency_links.txt +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent_ai.egg-info/entry_points.txt +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/devagent_ai.egg-info/top_level.txt +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/setup.cfg +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_acceptance_contract.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_benchmark_catalog.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_browser_verification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_capability_discovery.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_cli.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_cli_progress.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_developer_review_report.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_discovery_memory.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_e2e_fake_provider.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_evaluation_harness.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_evaluation_matrix.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_evaluation_regression_evidence.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_functional_qualification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_huge_monorepo_v070.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_migration_e2e_v070.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_model_routing.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_multilang_technical_review.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_multistack_devagent_e2e.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_multistack_qualification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_packaging_metadata.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plan_verification_normalization.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_agent_harness_trace_v15.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_agent_harness_v15.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_execution_trust.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_four_contract_v13.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_product_contract_v12.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_production.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_production_v5.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_release_policy.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_report_levels.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_boolean_alias_proof.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_canonical_risks.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_closeout_v9.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_closeout_v9_guardrails.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_closeout_v9_review_regressions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_compare_v8.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_compare_v8_aliases.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_compare_v8_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_compare_v8_identity_assertions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_compare_v8_review_regressions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_echo_cli_v6.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_echo_v6.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_semantics_v7.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_action_requirements.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_arbitrary_project_qualification.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_echo_compatibility.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_general_actions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_general_semantics.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_inspect_cli.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_semantic_coverage.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_st_safe_functions.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v10_stateful_runtime.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v11_reporting.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v11_st_motion.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v11_state_machine.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v16_semantic_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v17_system_service_fat.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v17_system_service_generic.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v2.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v9_entry_edgecases.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v9_final_codex.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v9_merge_gates.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_rockwell_v9_reachable_writers.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v1.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v2.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v3_call_graph.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v4_extended.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v4_flgnet.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v5_state_machine.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v6_v7.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_siemens_v8_v9.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_signature_trust.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_top_engineering_risks.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_v5_security_floor.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_plc_v5_toctou.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_preservation_contradiction.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_production_hardening.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_realworld_benchmark.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_requirement_compiler_v082.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_requirement_intelligence_v083.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_retrieval.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_runtime_sandbox.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_safety_workspace.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_source_control_publish.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_structural_devagent_e2e_v070.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_structural_operations.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_structured_provider_contract.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_tasking_state.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_v070_engineering_breadth.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_v080_autonomy.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_v080_provider_benchmark.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_v080_skills_automations.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_workspace_environment.py +0 -0
- {devagent_ai-0.8.7 → devagent_ai-0.8.13}/tests/test_worktree.py +0 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: devagent-ai
|
|
3
|
+
Version: 0.8.13
|
|
4
|
+
Summary: Evidence-driven local autonomous software engineering agent
|
|
5
|
+
Author: Tom Ha
|
|
6
|
+
Maintainer: Tom Ha
|
|
7
|
+
License: MIT
|
|
8
|
+
Project-URL: Homepage, https://github.com/tomha85/devagent
|
|
9
|
+
Project-URL: Repository, https://github.com/tomha85/devagent
|
|
10
|
+
Project-URL: Issues, https://github.com/tomha85/devagent/issues
|
|
11
|
+
Project-URL: Changelog, https://github.com/tomha85/devagent/blob/main/CHANGELOG.md
|
|
12
|
+
Project-URL: Sponsor, https://github.com/sponsors/tomha85
|
|
13
|
+
Keywords: ai,agent,developer-tools,software-engineering,verification,local-first
|
|
14
|
+
Classifier: Development Status :: 4 - Beta
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
20
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
21
|
+
Requires-Python: >=3.10
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
License-File: NOTICE
|
|
25
|
+
Requires-Dist: openai>=1.40.0
|
|
26
|
+
Requires-Dist: anthropic>=0.34.0
|
|
27
|
+
Requires-Dist: cryptography>=42.0.0
|
|
28
|
+
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
|
|
29
|
+
Provides-Extra: live
|
|
30
|
+
Requires-Dist: asyncua<3,>=2.0; extra == "live"
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-cov>=5.0; extra == "dev"
|
|
34
|
+
Requires-Dist: asyncua<3,>=2.0; extra == "dev"
|
|
35
|
+
Dynamic: license-file
|
|
36
|
+
|
|
37
|
+
# DevAgent
|
|
38
|
+
|
|
39
|
+
[](https://www.python.org/)
|
|
40
|
+
[](https://github.com/tomha85/devagent#project-status)
|
|
41
|
+
[](https://github.com/sponsors/tomha85)
|
|
42
|
+
|
|
43
|
+
**An evidence-driven engineering agent for software engineering, offline PLC engineering/FAT review, and read-only onsite commissioning.**
|
|
44
|
+
|
|
45
|
+
> **From requirement to evidence-backed engineering decisions.**
|
|
46
|
+
|
|
47
|
+
DevAgent is free during public beta. If it saves you engineering time, consider [supporting continued development](https://github.com/sponsors/tomha85).
|
|
48
|
+
|
|
49
|
+
- **Project:** https://github.com/tomha85/devagent
|
|
50
|
+
- **Documentation:** https://github.com/tomha85/devagent#readme
|
|
51
|
+
- **Issues:** https://github.com/tomha85/devagent/issues
|
|
52
|
+
|
|
53
|
+
## General Architecture
|
|
54
|
+
|
|
55
|
+
DevAgent has **three sibling product branches** under one evidence-driven core. Each branch owns a distinct engineering responsibility, input model, safety boundary, and qualification path.
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
DevAgent Core
|
|
59
|
+
Evidence-Driven Engineering Platform
|
|
60
|
+
|
|
|
61
|
+
+-------------------+-------------------+
|
|
62
|
+
| | |
|
|
63
|
+
v v v
|
|
64
|
+
Software Engineering DevAgent PLC DevAgent Live
|
|
65
|
+
Product Branch #1 Product Branch #2 Product Branch #3
|
|
66
|
+
| | |
|
|
67
|
+
Local / GitHub repo PLC export Engineering context
|
|
68
|
+
| Siemens + OPC UA endpoint(s)
|
|
69
|
+
| Rockwell |
|
|
70
|
+
| Schneider v
|
|
71
|
+
| | Reconcile / Trust
|
|
72
|
+
v v Freshness / History
|
|
73
|
+
Understand / Plan Canonical PLC |
|
|
74
|
+
Modify / Test / Review Engineering Model v
|
|
75
|
+
| | Deterministic
|
|
76
|
+
v v Commissioning Diagnosis
|
|
77
|
+
Engineering Report Analyze / Verify |
|
|
78
|
+
+ Safe Branch FAT / Release Readiness v
|
|
79
|
+
Evidence / Explanation
|
|
80
|
+
+ Next Safe Check
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
| Product branch | Primary input | Authority |
|
|
84
|
+
| --- | --- | --- |
|
|
85
|
+
| **Software Engineering** | Local / GitHub repository | Understand, modify, verify, review, report, publish a safe branch |
|
|
86
|
+
| **DevAgent PLC** | Exported PLC engineering artifacts | Offline engineering review, requirements, FAT, evidence, release readiness |
|
|
87
|
+
| **DevAgent Live** | Read-only engineering context + OPC UA runtime | Onsite commissioning diagnosis, runtime evidence, history, Q&A - **no PLC control** |
|
|
88
|
+
|
|
89
|
+
### Read-only PLC to Live integration contract
|
|
90
|
+
|
|
91
|
+
DevAgent Live is **not a child of DevAgent PLC**. Stable PLC engineering context can cross into Live through a bounded read-only adapter contract. FAT and release-readiness authority stays with DevAgent PLC; OPC UA sessions, runtime trust/history, diagnosis, and commissioning Q&A stay with DevAgent Live.
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
Canonical PLC Engineering Model
|
|
95
|
+
|
|
|
96
|
+
| READ-ONLY ENGINEERING CONTEXT
|
|
97
|
+
v
|
|
98
|
+
DevAgent Live Adapter <----- OPC UA Runtime Evidence
|
|
99
|
+
|
|
|
100
|
+
v
|
|
101
|
+
Engineering <-> Runtime Join
|
|
102
|
+
|
|
|
103
|
+
v
|
|
104
|
+
Commissioning Diagnosis
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The read-only engineering-context path does **not** transfer FAT authority, release-readiness authority, or PLC control authority to DevAgent Live.
|
|
108
|
+
|
|
109
|
+
For the expanded architecture, see:
|
|
110
|
+
https://github.com/tomha85/devagent/blob/main/docs/general-architecture.md
|
|
111
|
+
|
|
112
|
+
## Why DevAgent?
|
|
113
|
+
|
|
114
|
+
Many AI engineering tools optimize first for generation. DevAgent is built around a different question:
|
|
115
|
+
|
|
116
|
+
**Can this engineering claim be supported by evidence on the exact analyzed revision, PLC export, or trusted runtime state?**
|
|
117
|
+
|
|
118
|
+
Core principles include:
|
|
119
|
+
|
|
120
|
+
- evidence before modification;
|
|
121
|
+
- explicit acceptance contracts;
|
|
122
|
+
- false-`VERIFIED` resistance;
|
|
123
|
+
- minimal-change discipline;
|
|
124
|
+
- backups before edits;
|
|
125
|
+
- repository-native verification;
|
|
126
|
+
- independent review;
|
|
127
|
+
- bring-your-own-model support;
|
|
128
|
+
- deterministic publication rules;
|
|
129
|
+
- a strict read-only commissioning boundary for DevAgent Live.
|
|
130
|
+
|
|
131
|
+
## Install
|
|
132
|
+
|
|
133
|
+
Standard package:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
python -m pip install devagent-ai
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
With OPC UA runtime support for DevAgent Live:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
python -m pip install "devagent-ai[live]"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Or with pipx:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
pipx install devagent-ai
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The PyPI distribution is `devagent-ai`; the Python package and CLI command are both `devagent`.
|
|
152
|
+
|
|
153
|
+
## Software Engineering
|
|
154
|
+
|
|
155
|
+
Run DevAgent from a repository and describe the engineering outcome:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cd my-repo
|
|
159
|
+
devagent "Fix the websocket reconnect bug and add regression tests"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
A normal software-engineering path is:
|
|
163
|
+
|
|
164
|
+
```text
|
|
165
|
+
DISCOVER / UNDERSTAND
|
|
166
|
+
|
|
|
167
|
+
v
|
|
168
|
+
COMPILE ACCEPTANCE CONTRACT
|
|
169
|
+
|
|
|
170
|
+
v
|
|
171
|
+
BASELINE / PLAN / GATHER CONTEXT
|
|
172
|
+
|
|
|
173
|
+
v
|
|
174
|
+
IMPLEMENT MINIMAL PATCH
|
|
175
|
+
|
|
|
176
|
+
v
|
|
177
|
+
TARGETED + BROAD VERIFICATION
|
|
178
|
+
|
|
|
179
|
+
v
|
|
180
|
+
INDEPENDENT REVIEW
|
|
181
|
+
|
|
|
182
|
+
v
|
|
183
|
+
FINAL CURRENT-REVISION VERIFICATION
|
|
184
|
+
|
|
|
185
|
+
v
|
|
186
|
+
FULL ENGINEERING REPORT
|
|
187
|
+
|
|
|
188
|
+
v
|
|
189
|
+
VERIFIED ONLY: COMMIT + FAST-FORWARD PUSH SAFE BRANCH
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
DevAgent runtime does not create pull requests, merge, rebase, force-push, or deploy.
|
|
193
|
+
|
|
194
|
+
## DevAgent PLC
|
|
195
|
+
|
|
196
|
+
DevAgent PLC performs offline/pre-site engineering review for supported exports from:
|
|
197
|
+
|
|
198
|
+
- **Rockwell Studio 5000 / Logix Designer** - full-project `.L5X`;
|
|
199
|
+
- **Siemens TIA Portal** - supported exported source/XML engineering artifacts;
|
|
200
|
+
- **Schneider Electric EcoStruxure Control Expert / Unity Pro** - supported XML exchange exports, with `.XEF` preferred.
|
|
201
|
+
|
|
202
|
+
Example:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
devagent plc ./exports/Line1_Controller.L5X \
|
|
206
|
+
--requirements ./requirements/line1.md \
|
|
207
|
+
--ai \
|
|
208
|
+
--output-dir ./plc-review/line1-current
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
The PLC workflow can provide engineering review, requirements verification, risk detection, FAT planning, regression analysis, recommendations, evidence, and release-readiness reporting. Static analysis does not pretend to replace simulator, HIL, field wiring, process physics, or real-controller execution when those are required.
|
|
212
|
+
|
|
213
|
+
Full PLC guide:
|
|
214
|
+
https://github.com/tomha85/devagent/blob/main/docs/plc-engineer-guide.md
|
|
215
|
+
|
|
216
|
+
## DevAgent Live
|
|
217
|
+
|
|
218
|
+
DevAgent Live is the separate **read-only onsite commissioning** branch. It can combine supported engineering context with trusted OPC UA runtime evidence to diagnose blockers and explain the next evidence-backed check.
|
|
219
|
+
|
|
220
|
+
```text
|
|
221
|
+
Supported PLC engineering context
|
|
222
|
+
+
|
|
223
|
+
OPC UA runtime endpoint
|
|
224
|
+
|
|
|
225
|
+
v
|
|
226
|
+
DevAgent Live
|
|
227
|
+
|
|
|
228
|
+
v
|
|
229
|
+
reconcile engineering <-> runtime
|
|
230
|
+
|
|
|
231
|
+
v
|
|
232
|
+
deterministic diagnosis + evidence
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Example:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
devagent live assist \
|
|
239
|
+
--project-folder /path/to/customer-line1 \
|
|
240
|
+
--primary-project plc/Line1.L5X \
|
|
241
|
+
--endpoint opc.tcp://192.168.10.20:4840/ \
|
|
242
|
+
--history-seconds 900 \
|
|
243
|
+
--ai \
|
|
244
|
+
--provider openai \
|
|
245
|
+
--model YOUR_OPENAI_MODEL
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### READ ONLY safety boundary
|
|
249
|
+
|
|
250
|
+
```text
|
|
251
|
+
READ ONLY
|
|
252
|
+
no write
|
|
253
|
+
no force
|
|
254
|
+
no reset
|
|
255
|
+
no bypass
|
|
256
|
+
no upload / download
|
|
257
|
+
no mode change
|
|
258
|
+
no start / stop control
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
The LLM may interpret or explain evidence. It cannot turn model confidence into PLC truth or authorize machine control.
|
|
262
|
+
|
|
263
|
+
Live documentation:
|
|
264
|
+
https://github.com/tomha85/devagent/tree/main/docs/live
|
|
265
|
+
|
|
266
|
+
## Bring Your Own Model
|
|
267
|
+
|
|
268
|
+
DevAgent supports OpenAI, Anthropic/Claude, xAI/Grok, Google Gemini, and OpenAI-compatible endpoints behind the same deterministic engineering harness.
|
|
269
|
+
|
|
270
|
+
Example:
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
devagent setup --provider openai --model YOUR_MODEL
|
|
274
|
+
export OPENAI_API_KEY=...
|
|
275
|
+
devagent doctor --live
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
Provider choice can affect reasoning quality, latency, cost, and privacy characteristics. It does not change DevAgent's deterministic acceptance, verification, safety, reporting, or publication rules.
|
|
279
|
+
|
|
280
|
+
## Outcome Contract
|
|
281
|
+
|
|
282
|
+
DevAgent reports bounded engineering outcomes:
|
|
283
|
+
|
|
284
|
+
- **`VERIFIED`** - required criteria are supported by admissible evidence and final verification/review passes on the current revision;
|
|
285
|
+
- **`PARTIALLY_VERIFIED`** - meaningful evidence exists but complete proof is unavailable;
|
|
286
|
+
- **`BLOCKED`** - DevAgent cannot safely understand, implement, or verify the request.
|
|
287
|
+
|
|
288
|
+
A conservative result is preferred over a false `VERIFIED`.
|
|
289
|
+
|
|
290
|
+
## Project Status
|
|
291
|
+
|
|
292
|
+
DevAgent is beta software. Qualification claims are tied to explicit test catalogs, pinned revisions, fixtures/external oracles where applicable, and the environments actually exercised. They are not universal-correctness or market-superiority claims.
|
|
293
|
+
|
|
294
|
+
For the current implementation status, qualification details, limitations, examples, and complete documentation, see the main repository README:
|
|
295
|
+
https://github.com/tomha85/devagent#readme
|
|
296
|
+
|
|
297
|
+
## Support
|
|
298
|
+
|
|
299
|
+
DevAgent is currently free during public beta.
|
|
300
|
+
|
|
301
|
+
If DevAgent saves you engineering time, you can support continued development through GitHub Sponsors:
|
|
302
|
+
https://github.com/sponsors/tomha85
|
|
303
|
+
|
|
304
|
+
## License
|
|
305
|
+
|
|
306
|
+
DevAgent is open source under the MIT License.
|
|
307
|
+
|
|
308
|
+
Copyright (c) 2026 Tom Ha
|
|
309
|
+
|
|
310
|
+
Original repository: https://github.com/tomha85/devagent
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# DevAgent
|
|
2
|
+
|
|
3
|
+
[](https://www.python.org/)
|
|
4
|
+
[](https://github.com/tomha85/devagent#project-status)
|
|
5
|
+
[](https://github.com/sponsors/tomha85)
|
|
6
|
+
|
|
7
|
+
**An evidence-driven engineering agent for software engineering, offline PLC engineering/FAT review, and read-only onsite commissioning.**
|
|
8
|
+
|
|
9
|
+
> **From requirement to evidence-backed engineering decisions.**
|
|
10
|
+
|
|
11
|
+
DevAgent is free during public beta. If it saves you engineering time, consider [supporting continued development](https://github.com/sponsors/tomha85).
|
|
12
|
+
|
|
13
|
+
- **Project:** https://github.com/tomha85/devagent
|
|
14
|
+
- **Documentation:** https://github.com/tomha85/devagent#readme
|
|
15
|
+
- **Issues:** https://github.com/tomha85/devagent/issues
|
|
16
|
+
|
|
17
|
+
## General Architecture
|
|
18
|
+
|
|
19
|
+
DevAgent has **three sibling product branches** under one evidence-driven core. Each branch owns a distinct engineering responsibility, input model, safety boundary, and qualification path.
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
DevAgent Core
|
|
23
|
+
Evidence-Driven Engineering Platform
|
|
24
|
+
|
|
|
25
|
+
+-------------------+-------------------+
|
|
26
|
+
| | |
|
|
27
|
+
v v v
|
|
28
|
+
Software Engineering DevAgent PLC DevAgent Live
|
|
29
|
+
Product Branch #1 Product Branch #2 Product Branch #3
|
|
30
|
+
| | |
|
|
31
|
+
Local / GitHub repo PLC export Engineering context
|
|
32
|
+
| Siemens + OPC UA endpoint(s)
|
|
33
|
+
| Rockwell |
|
|
34
|
+
| Schneider v
|
|
35
|
+
| | Reconcile / Trust
|
|
36
|
+
v v Freshness / History
|
|
37
|
+
Understand / Plan Canonical PLC |
|
|
38
|
+
Modify / Test / Review Engineering Model v
|
|
39
|
+
| | Deterministic
|
|
40
|
+
v v Commissioning Diagnosis
|
|
41
|
+
Engineering Report Analyze / Verify |
|
|
42
|
+
+ Safe Branch FAT / Release Readiness v
|
|
43
|
+
Evidence / Explanation
|
|
44
|
+
+ Next Safe Check
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Product branch | Primary input | Authority |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| **Software Engineering** | Local / GitHub repository | Understand, modify, verify, review, report, publish a safe branch |
|
|
50
|
+
| **DevAgent PLC** | Exported PLC engineering artifacts | Offline engineering review, requirements, FAT, evidence, release readiness |
|
|
51
|
+
| **DevAgent Live** | Read-only engineering context + OPC UA runtime | Onsite commissioning diagnosis, runtime evidence, history, Q&A - **no PLC control** |
|
|
52
|
+
|
|
53
|
+
### Read-only PLC to Live integration contract
|
|
54
|
+
|
|
55
|
+
DevAgent Live is **not a child of DevAgent PLC**. Stable PLC engineering context can cross into Live through a bounded read-only adapter contract. FAT and release-readiness authority stays with DevAgent PLC; OPC UA sessions, runtime trust/history, diagnosis, and commissioning Q&A stay with DevAgent Live.
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Canonical PLC Engineering Model
|
|
59
|
+
|
|
|
60
|
+
| READ-ONLY ENGINEERING CONTEXT
|
|
61
|
+
v
|
|
62
|
+
DevAgent Live Adapter <----- OPC UA Runtime Evidence
|
|
63
|
+
|
|
|
64
|
+
v
|
|
65
|
+
Engineering <-> Runtime Join
|
|
66
|
+
|
|
|
67
|
+
v
|
|
68
|
+
Commissioning Diagnosis
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
The read-only engineering-context path does **not** transfer FAT authority, release-readiness authority, or PLC control authority to DevAgent Live.
|
|
72
|
+
|
|
73
|
+
For the expanded architecture, see:
|
|
74
|
+
https://github.com/tomha85/devagent/blob/main/docs/general-architecture.md
|
|
75
|
+
|
|
76
|
+
## Why DevAgent?
|
|
77
|
+
|
|
78
|
+
Many AI engineering tools optimize first for generation. DevAgent is built around a different question:
|
|
79
|
+
|
|
80
|
+
**Can this engineering claim be supported by evidence on the exact analyzed revision, PLC export, or trusted runtime state?**
|
|
81
|
+
|
|
82
|
+
Core principles include:
|
|
83
|
+
|
|
84
|
+
- evidence before modification;
|
|
85
|
+
- explicit acceptance contracts;
|
|
86
|
+
- false-`VERIFIED` resistance;
|
|
87
|
+
- minimal-change discipline;
|
|
88
|
+
- backups before edits;
|
|
89
|
+
- repository-native verification;
|
|
90
|
+
- independent review;
|
|
91
|
+
- bring-your-own-model support;
|
|
92
|
+
- deterministic publication rules;
|
|
93
|
+
- a strict read-only commissioning boundary for DevAgent Live.
|
|
94
|
+
|
|
95
|
+
## Install
|
|
96
|
+
|
|
97
|
+
Standard package:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
python -m pip install devagent-ai
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
With OPC UA runtime support for DevAgent Live:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
python -m pip install "devagent-ai[live]"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Or with pipx:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
pipx install devagent-ai
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The PyPI distribution is `devagent-ai`; the Python package and CLI command are both `devagent`.
|
|
116
|
+
|
|
117
|
+
## Software Engineering
|
|
118
|
+
|
|
119
|
+
Run DevAgent from a repository and describe the engineering outcome:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
cd my-repo
|
|
123
|
+
devagent "Fix the websocket reconnect bug and add regression tests"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
A normal software-engineering path is:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
DISCOVER / UNDERSTAND
|
|
130
|
+
|
|
|
131
|
+
v
|
|
132
|
+
COMPILE ACCEPTANCE CONTRACT
|
|
133
|
+
|
|
|
134
|
+
v
|
|
135
|
+
BASELINE / PLAN / GATHER CONTEXT
|
|
136
|
+
|
|
|
137
|
+
v
|
|
138
|
+
IMPLEMENT MINIMAL PATCH
|
|
139
|
+
|
|
|
140
|
+
v
|
|
141
|
+
TARGETED + BROAD VERIFICATION
|
|
142
|
+
|
|
|
143
|
+
v
|
|
144
|
+
INDEPENDENT REVIEW
|
|
145
|
+
|
|
|
146
|
+
v
|
|
147
|
+
FINAL CURRENT-REVISION VERIFICATION
|
|
148
|
+
|
|
|
149
|
+
v
|
|
150
|
+
FULL ENGINEERING REPORT
|
|
151
|
+
|
|
|
152
|
+
v
|
|
153
|
+
VERIFIED ONLY: COMMIT + FAST-FORWARD PUSH SAFE BRANCH
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
DevAgent runtime does not create pull requests, merge, rebase, force-push, or deploy.
|
|
157
|
+
|
|
158
|
+
## DevAgent PLC
|
|
159
|
+
|
|
160
|
+
DevAgent PLC performs offline/pre-site engineering review for supported exports from:
|
|
161
|
+
|
|
162
|
+
- **Rockwell Studio 5000 / Logix Designer** - full-project `.L5X`;
|
|
163
|
+
- **Siemens TIA Portal** - supported exported source/XML engineering artifacts;
|
|
164
|
+
- **Schneider Electric EcoStruxure Control Expert / Unity Pro** - supported XML exchange exports, with `.XEF` preferred.
|
|
165
|
+
|
|
166
|
+
Example:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
devagent plc ./exports/Line1_Controller.L5X \
|
|
170
|
+
--requirements ./requirements/line1.md \
|
|
171
|
+
--ai \
|
|
172
|
+
--output-dir ./plc-review/line1-current
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
The PLC workflow can provide engineering review, requirements verification, risk detection, FAT planning, regression analysis, recommendations, evidence, and release-readiness reporting. Static analysis does not pretend to replace simulator, HIL, field wiring, process physics, or real-controller execution when those are required.
|
|
176
|
+
|
|
177
|
+
Full PLC guide:
|
|
178
|
+
https://github.com/tomha85/devagent/blob/main/docs/plc-engineer-guide.md
|
|
179
|
+
|
|
180
|
+
## DevAgent Live
|
|
181
|
+
|
|
182
|
+
DevAgent Live is the separate **read-only onsite commissioning** branch. It can combine supported engineering context with trusted OPC UA runtime evidence to diagnose blockers and explain the next evidence-backed check.
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
Supported PLC engineering context
|
|
186
|
+
+
|
|
187
|
+
OPC UA runtime endpoint
|
|
188
|
+
|
|
|
189
|
+
v
|
|
190
|
+
DevAgent Live
|
|
191
|
+
|
|
|
192
|
+
v
|
|
193
|
+
reconcile engineering <-> runtime
|
|
194
|
+
|
|
|
195
|
+
v
|
|
196
|
+
deterministic diagnosis + evidence
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Example:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
devagent live assist \
|
|
203
|
+
--project-folder /path/to/customer-line1 \
|
|
204
|
+
--primary-project plc/Line1.L5X \
|
|
205
|
+
--endpoint opc.tcp://192.168.10.20:4840/ \
|
|
206
|
+
--history-seconds 900 \
|
|
207
|
+
--ai \
|
|
208
|
+
--provider openai \
|
|
209
|
+
--model YOUR_OPENAI_MODEL
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### READ ONLY safety boundary
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
READ ONLY
|
|
216
|
+
no write
|
|
217
|
+
no force
|
|
218
|
+
no reset
|
|
219
|
+
no bypass
|
|
220
|
+
no upload / download
|
|
221
|
+
no mode change
|
|
222
|
+
no start / stop control
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The LLM may interpret or explain evidence. It cannot turn model confidence into PLC truth or authorize machine control.
|
|
226
|
+
|
|
227
|
+
Live documentation:
|
|
228
|
+
https://github.com/tomha85/devagent/tree/main/docs/live
|
|
229
|
+
|
|
230
|
+
## Bring Your Own Model
|
|
231
|
+
|
|
232
|
+
DevAgent supports OpenAI, Anthropic/Claude, xAI/Grok, Google Gemini, and OpenAI-compatible endpoints behind the same deterministic engineering harness.
|
|
233
|
+
|
|
234
|
+
Example:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
devagent setup --provider openai --model YOUR_MODEL
|
|
238
|
+
export OPENAI_API_KEY=...
|
|
239
|
+
devagent doctor --live
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Provider choice can affect reasoning quality, latency, cost, and privacy characteristics. It does not change DevAgent's deterministic acceptance, verification, safety, reporting, or publication rules.
|
|
243
|
+
|
|
244
|
+
## Outcome Contract
|
|
245
|
+
|
|
246
|
+
DevAgent reports bounded engineering outcomes:
|
|
247
|
+
|
|
248
|
+
- **`VERIFIED`** - required criteria are supported by admissible evidence and final verification/review passes on the current revision;
|
|
249
|
+
- **`PARTIALLY_VERIFIED`** - meaningful evidence exists but complete proof is unavailable;
|
|
250
|
+
- **`BLOCKED`** - DevAgent cannot safely understand, implement, or verify the request.
|
|
251
|
+
|
|
252
|
+
A conservative result is preferred over a false `VERIFIED`.
|
|
253
|
+
|
|
254
|
+
## Project Status
|
|
255
|
+
|
|
256
|
+
DevAgent is beta software. Qualification claims are tied to explicit test catalogs, pinned revisions, fixtures/external oracles where applicable, and the environments actually exercised. They are not universal-correctness or market-superiority claims.
|
|
257
|
+
|
|
258
|
+
For the current implementation status, qualification details, limitations, examples, and complete documentation, see the main repository README:
|
|
259
|
+
https://github.com/tomha85/devagent#readme
|
|
260
|
+
|
|
261
|
+
## Support
|
|
262
|
+
|
|
263
|
+
DevAgent is currently free during public beta.
|
|
264
|
+
|
|
265
|
+
If DevAgent saves you engineering time, you can support continued development through GitHub Sponsors:
|
|
266
|
+
https://github.com/sponsors/tomha85
|
|
267
|
+
|
|
268
|
+
## License
|
|
269
|
+
|
|
270
|
+
DevAgent is open source under the MIT License.
|
|
271
|
+
|
|
272
|
+
Copyright (c) 2026 Tom Ha
|
|
273
|
+
|
|
274
|
+
Original repository: https://github.com/tomha85/devagent
|