local-coding-agent 1.1.0__tar.gz → 1.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/PKG-INFO +30 -14
  2. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/README.md +25 -13
  3. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/__init__.py +1 -1
  4. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/__init__.py +2 -1
  5. local_coding_agent-1.2.0/local_coding_agent/benchmark/_cases.py +793 -0
  6. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_judge.py +44 -3
  7. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_oracles.py +133 -0
  8. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_runner.py +147 -22
  9. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_summary.py +12 -3
  10. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/capability.py +11 -6
  11. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_dispatch.py +95 -0
  12. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_handlers.py +52 -18
  13. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_handlers2.py +26 -2
  14. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_parser.py +32 -0
  15. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/controller/_controller.py +143 -84
  16. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/controller/_post_apply.py +51 -9
  17. local_coding_agent-1.2.0/local_coding_agent/controller/_scratch.py +213 -0
  18. local_coding_agent-1.2.0/local_coding_agent/delegator.py +837 -0
  19. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/app.py +30 -1
  20. local_coding_agent-1.2.0/local_coding_agent/desktop/assets/tailwind.css +1 -0
  21. local_coding_agent-1.2.0/local_coding_agent/desktop/client_js.py +2424 -0
  22. local_coding_agent-1.2.0/local_coding_agent/desktop/components.py +625 -0
  23. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_handlers.py +270 -47
  24. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_server.py +21 -3
  25. local_coding_agent-1.2.0/local_coding_agent/desktop/settings.py +470 -0
  26. local_coding_agent-1.2.0/local_coding_agent/desktop/styles.py +809 -0
  27. local_coding_agent-1.2.0/local_coding_agent/desktop/ui.py +87 -0
  28. local_coding_agent-1.2.0/local_coding_agent/docs/ARCHITECTURE.md +150 -0
  29. local_coding_agent-1.2.0/local_coding_agent/docs/BENCHMARK.md +70 -0
  30. local_coding_agent-1.2.0/local_coding_agent/docs/FAQ.md +75 -0
  31. local_coding_agent-1.2.0/local_coding_agent/docs/MCP_INTEGRATION.md +179 -0
  32. local_coding_agent-1.2.0/local_coding_agent/docs/PROTOCOL.md +210 -0
  33. local_coding_agent-1.2.0/local_coding_agent/docs/QUICKSTART.md +128 -0
  34. local_coding_agent-1.2.0/local_coding_agent/docs/ROADMAP.md +11 -0
  35. local_coding_agent-1.2.0/local_coding_agent/docs/RUNTIME_TIPS.md +188 -0
  36. local_coding_agent-1.2.0/local_coding_agent/help_docs.py +161 -0
  37. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/mcp_server.py +18 -5
  38. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/mode_router.py +7 -0
  39. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/model_scanner.py +57 -2
  40. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/ollama_adapter.py +107 -12
  41. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/prescriptions.py +45 -0
  42. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/profiles.py +1 -0
  43. local_coding_agent-1.2.0/local_coding_agent/quality.py +138 -0
  44. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/service.py +36 -15
  45. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/skill_config.py +73 -2
  46. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/tasks.py +3 -1
  47. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/validators.py +83 -28
  48. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/PKG-INFO +30 -14
  49. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/SOURCES.txt +13 -64
  50. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/requires.txt +1 -0
  51. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/pyproject.toml +10 -3
  52. local_coding_agent-1.1.0/local_coding_agent/benchmark/_cases.py +0 -307
  53. local_coding_agent-1.1.0/local_coding_agent/delegator.py +0 -180
  54. local_coding_agent-1.1.0/local_coding_agent/desktop/assets/tailwind.css +0 -1
  55. local_coding_agent-1.1.0/local_coding_agent/desktop/client_js.py +0 -1271
  56. local_coding_agent-1.1.0/local_coding_agent/desktop/components.py +0 -555
  57. local_coding_agent-1.1.0/local_coding_agent/desktop/styles.py +0 -76
  58. local_coding_agent-1.1.0/local_coding_agent/desktop/ui.py +0 -53
  59. local_coding_agent-1.1.0/tests/test_acp_server.py +0 -698
  60. local_coding_agent-1.1.0/tests/test_adversarial_session.py +0 -468
  61. local_coding_agent-1.1.0/tests/test_ast_compactor.py +0 -87
  62. local_coding_agent-1.1.0/tests/test_atomizer.py +0 -192
  63. local_coding_agent-1.1.0/tests/test_benchmark.py +0 -481
  64. local_coding_agent-1.1.0/tests/test_calibration.py +0 -164
  65. local_coding_agent-1.1.0/tests/test_capability.py +0 -185
  66. local_coding_agent-1.1.0/tests/test_chat_compaction.py +0 -224
  67. local_coding_agent-1.1.0/tests/test_cli.py +0 -851
  68. local_coding_agent-1.1.0/tests/test_context_manager.py +0 -125
  69. local_coding_agent-1.1.0/tests/test_controller.py +0 -1712
  70. local_coding_agent-1.1.0/tests/test_ctx_preflight.py +0 -309
  71. local_coding_agent-1.1.0/tests/test_delegator.py +0 -120
  72. local_coding_agent-1.1.0/tests/test_desktop_app.py +0 -1754
  73. local_coding_agent-1.1.0/tests/test_desktop_http_framing.py +0 -202
  74. local_coding_agent-1.1.0/tests/test_desktop_release_gate.py +0 -545
  75. local_coding_agent-1.1.0/tests/test_doctor.py +0 -103
  76. local_coding_agent-1.1.0/tests/test_doctor_fix.py +0 -76
  77. local_coding_agent-1.1.0/tests/test_e2e_functional_scenario.py +0 -401
  78. local_coding_agent-1.1.0/tests/test_edits.py +0 -222
  79. local_coding_agent-1.1.0/tests/test_hooks.py +0 -340
  80. local_coding_agent-1.1.0/tests/test_lsp.py +0 -570
  81. local_coding_agent-1.1.0/tests/test_mcp_config.py +0 -331
  82. local_coding_agent-1.1.0/tests/test_mcp_server.py +0 -233
  83. local_coding_agent-1.1.0/tests/test_mediated_apply.py +0 -142
  84. local_coding_agent-1.1.0/tests/test_memory_manager.py +0 -132
  85. local_coding_agent-1.1.0/tests/test_mode_router.py +0 -278
  86. local_coding_agent-1.1.0/tests/test_model_scanner.py +0 -217
  87. local_coding_agent-1.1.0/tests/test_monitor.py +0 -89
  88. local_coding_agent-1.1.0/tests/test_observation_policy.py +0 -152
  89. local_coding_agent-1.1.0/tests/test_ollama_adapter.py +0 -365
  90. local_coding_agent-1.1.0/tests/test_openai_adapter.py +0 -524
  91. local_coding_agent-1.1.0/tests/test_plan_mode.py +0 -679
  92. local_coding_agent-1.1.0/tests/test_prescriptions.py +0 -112
  93. local_coding_agent-1.1.0/tests/test_profiles.py +0 -82
  94. local_coding_agent-1.1.0/tests/test_progress_telemetry.py +0 -44
  95. local_coding_agent-1.1.0/tests/test_r30_adversarial.py +0 -225
  96. local_coding_agent-1.1.0/tests/test_repository_tools.py +0 -513
  97. local_coding_agent-1.1.0/tests/test_ripgrep.py +0 -204
  98. local_coding_agent-1.1.0/tests/test_semantic_linter.py +0 -72
  99. local_coding_agent-1.1.0/tests/test_service.py +0 -605
  100. local_coding_agent-1.1.0/tests/test_session_events.py +0 -317
  101. local_coding_agent-1.1.0/tests/test_session_query.py +0 -262
  102. local_coding_agent-1.1.0/tests/test_skill_config.py +0 -81
  103. local_coding_agent-1.1.0/tests/test_skill_parity.py +0 -10
  104. local_coding_agent-1.1.0/tests/test_smoke.py +0 -54
  105. local_coding_agent-1.1.0/tests/test_speculative_racing.py +0 -50
  106. local_coding_agent-1.1.0/tests/test_spill.py +0 -157
  107. local_coding_agent-1.1.0/tests/test_stats.py +0 -112
  108. local_coding_agent-1.1.0/tests/test_stdio.py +0 -149
  109. local_coding_agent-1.1.0/tests/test_subagent.py +0 -250
  110. local_coding_agent-1.1.0/tests/test_task.py +0 -30
  111. local_coding_agent-1.1.0/tests/test_task_store.py +0 -178
  112. local_coding_agent-1.1.0/tests/test_tasks.py +0 -621
  113. local_coding_agent-1.1.0/tests/test_telemetry.py +0 -54
  114. local_coding_agent-1.1.0/tests/test_terminal.py +0 -520
  115. local_coding_agent-1.1.0/tests/test_tool_call_parser.py +0 -144
  116. local_coding_agent-1.1.0/tests/test_ui_app.py +0 -51
  117. local_coding_agent-1.1.0/tests/test_ux_audit_fixes.py +0 -99
  118. local_coding_agent-1.1.0/tests/test_validators.py +0 -249
  119. local_coding_agent-1.1.0/tests/test_version_consistency.py +0 -148
  120. local_coding_agent-1.1.0/tests/test_vram_fit.py +0 -280
  121. local_coding_agent-1.1.0/tests/test_worker_pool.py +0 -322
  122. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/LICENSE +0 -0
  123. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/__main__.py +0 -0
  124. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/__init__.py +0 -0
  125. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_codec.py +0 -0
  126. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_protocol.py +0 -0
  127. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_server.py +0 -0
  128. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_session.py +0 -0
  129. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_tools.py +0 -0
  130. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/ast_compactor.py +0 -0
  131. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/atomizer.py +0 -0
  132. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_stats.py +0 -0
  133. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/benchmark_oracle_worker.py +0 -0
  134. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/calibration.py +0 -0
  135. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/chat_compaction.py +0 -0
  136. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/__init__.py +0 -0
  137. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_input.py +0 -0
  138. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/cli/_main.py +0 -0
  139. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/context_manager.py +0 -0
  140. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/controller/__init__.py +0 -0
  141. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/controller/_constants.py +0 -0
  142. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/__init__.py +0 -0
  143. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/assets/lucide.min.js +0 -0
  144. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/__init__.py +0 -0
  145. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_models.py +0 -0
  146. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_telemetry.py +0 -0
  147. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/doctor.py +0 -0
  148. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/hooks/__init__.py +0 -0
  149. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_adapters.py +0 -0
  150. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_bridge.py +0 -0
  151. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_decision.py +0 -0
  152. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/__init__.py +0 -0
  153. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_client.py +0 -0
  154. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_fallback.py +0 -0
  155. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_manager.py +0 -0
  156. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_mock.py +0 -0
  157. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_types.py +0 -0
  158. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/mcp_config.py +0 -0
  159. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/memory.py +0 -0
  160. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/monitor.py +0 -0
  161. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/observation_policy.py +0 -0
  162. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/plan_mode.py +0 -0
  163. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/repository_tools.py +0 -0
  164. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/ripgrep.py +0 -0
  165. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/semantic_linter.py +0 -0
  166. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/session_events.py +0 -0
  167. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/session_query.py +0 -0
  168. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/smoke.py +0 -0
  169. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/speculative_racing.py +0 -0
  170. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/spill.py +0 -0
  171. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/stats.py +0 -0
  172. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/stdio.py +0 -0
  173. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/subagent.py +0 -0
  174. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/task.py +0 -0
  175. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/task_store.py +0 -0
  176. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/__init__.py +0 -0
  177. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_manager.py +0 -0
  178. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_process.py +0 -0
  179. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_session.py +0 -0
  180. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_tools.py +0 -0
  181. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_types.py +0 -0
  182. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/tool_call_parser.py +0 -0
  183. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/vram_fit.py +0 -0
  184. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent/worker_pool.py +0 -0
  185. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/dependency_links.txt +0 -0
  186. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/entry_points.txt +0 -0
  187. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/top_level.txt +0 -0
  188. {local_coding_agent-1.1.0 → local_coding_agent-1.2.0}/setup.cfg +0 -0
@@ -1,9 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: local-coding-agent
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Harness-agnostic controller delegating atomic coding tasks to local Ollama & llama.cpp models via MCP, Agent Skills, and direct CLI.
5
5
  Author: Local Coding Agent Contributors
6
6
  License: MIT
7
+ Project-URL: Homepage, https://github.com/pvnc228/local-coding-agent
8
+ Project-URL: Changelog, https://github.com/pvnc228/local-coding-agent/blob/main/CHANGELOG.md
9
+ Project-URL: Issues, https://github.com/pvnc228/local-coding-agent/issues
7
10
  Classifier: Programming Language :: Python :: 3
8
11
  Classifier: Programming Language :: Python :: 3.10
9
12
  Classifier: Programming Language :: Python :: 3.11
@@ -15,6 +18,7 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
15
18
  Requires-Python: >=3.10
16
19
  Description-Content-Type: text/markdown
17
20
  License-File: LICENSE
21
+ Requires-Dist: mcp==2.0.0
18
22
  Provides-Extra: mcp
19
23
  Requires-Dist: mcp==2.0.0; extra == "mcp"
20
24
  Provides-Extra: dev
@@ -23,12 +27,19 @@ Provides-Extra: desktop
23
27
  Requires-Dist: pywebview>=5.0.0; extra == "desktop"
24
28
  Dynamic: license-file
25
29
 
30
+ <picture>
31
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/pvnc228/local-coding-agent/main/docs/brand/readme-banner-light.png">
32
+ <img src="https://raw.githubusercontent.com/pvnc228/local-coding-agent/main/docs/brand/readme-banner-dark.png" alt="Local Coding Agent: the local model proposes; the controller verifies." width="100%">
33
+ </picture>
34
+
26
35
  # Local Coding Agent
27
36
 
37
+ <!-- mcp-name: io.github.pvnc228/local-coding-agent -->
38
+
28
39
  Local execution and safety layer for delegating coding tasks from cloud agents to models on your own machine.
29
40
 
30
41
  [![CI](https://github.com/pvnc228/local-coding-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/pvnc228/local-coding-agent/actions/workflows/ci.yml)
31
- [![Version](https://img.shields.io/badge/version-1.1.0-blue.svg)](pyproject.toml)
42
+ [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](pyproject.toml)
32
43
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
33
44
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
34
45
 
@@ -53,13 +64,13 @@ The same gate backs `apply_proposal`, `local-agent apply`, and the desktop apply
53
64
 
54
65
  ## Choose your download
55
66
 
56
- ### Current public release: v1.0.4
67
+ ### Current public release: v1.2.0
57
68
 
58
69
  Choose the CLI release for terminal workflows, scripts, CI, or integration with another AI coding environment. It provides the `local-agent` command, MCP server, Agent Skill, diagnostics, sessions, model tools, and task delegation.
59
70
 
60
- [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/local_coding_agent-1.0.4-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/local_coding_agent-1.0.4.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/Local.AI.Coding.Harness_1.0.4_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/SHA256SUMS.txt).
71
+ [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/local_coding_agent-1.2.0-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/local_coding_agent-1.2.0.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/Local.AI.Coding.Harness_1.2.0_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/SHA256SUMS.txt).
61
72
 
62
- The `v1.0.4` release contains the CLI archives and the Windows Desktop Harness installer. Local inference remains local; install [Ollama](https://ollama.com/) or run a compatible local model server before requesting live model responses.
73
+ The `v1.2.0` release contains the CLI archives and the Windows Desktop Harness installer. Local inference remains local; install [Ollama](https://ollama.com/) or run a compatible local model server before requesting live model responses.
63
74
 
64
75
  ## Desktop Harness
65
76
 
@@ -91,7 +102,7 @@ Requirements:
91
102
  Install the CLI package:
92
103
 
93
104
  ```bash
94
- pipx install "local-coding-agent[mcp]"
105
+ pipx install local-coding-agent
95
106
  ```
96
107
 
97
108
  Or install from a checkout:
@@ -99,7 +110,7 @@ Or install from a checkout:
99
110
  ```bash
100
111
  git clone https://github.com/pvnc228/local-coding-agent.git
101
112
  cd local-coding-agent
102
- python -m pip install -e ".[mcp]"
113
+ python -m pip install -e .
103
114
  ```
104
115
 
105
116
  Check the installation:
@@ -126,7 +137,7 @@ Start the MCP server manually when a client needs an explicit command:
126
137
  local-agent serve-mcp --workspace . --enable-tasks
127
138
  ```
128
139
 
129
- See [docs/MCP_INTEGRATION.md](docs/MCP_INTEGRATION.md) for client configuration examples and [skills/local-coding-agent/SKILL.md](skills/local-coding-agent/SKILL.md) for the reusable Agent Skill.
140
+ See [local_coding_agent/docs/MCP_INTEGRATION.md](local_coding_agent/docs/MCP_INTEGRATION.md) for client configuration examples and [skills/local-coding-agent/SKILL.md](skills/local-coding-agent/SKILL.md) for the reusable Agent Skill.
130
141
 
131
142
  ## A typical coding request
132
143
 
@@ -176,7 +187,7 @@ The published numbers come from a 20-task suite, so treat them as directional ra
176
187
  - Small models handle single-file work in this harness; cross-file coordination (Tier 3 in the capability ladder) needs the host agent to decompose the task into atomic envelopes first.
177
188
  - Results are model and hardware specific. Reproduce them with `local-agent benchmark` before relying on any figure.
178
189
 
179
- See [docs/BENCHMARK.md](docs/BENCHMARK.md) for the methodology and the full table.
190
+ See [local_coding_agent/docs/BENCHMARK.md](local_coding_agent/docs/BENCHMARK.md) for the methodology and the full table.
180
191
 
181
192
  ## Local models
182
193
 
@@ -189,13 +200,18 @@ local-agent memory status --json
189
200
 
190
201
  ## Documentation
191
202
 
192
- - [Quickstart](docs/QUICKSTART.md)
193
- - [MCP integration](docs/MCP_INTEGRATION.md)
203
+ - [Quickstart](local_coding_agent/docs/QUICKSTART.md)
204
+ - [FAQ](local_coding_agent/docs/FAQ.md)
205
+ - [MCP integration](local_coding_agent/docs/MCP_INTEGRATION.md)
194
206
  - [Security policy](SECURITY.md)
195
207
  - [Changelog](CHANGELOG.md)
196
- - [Architecture reference](docs/ARCHITECTURE.md)
197
- - [Protocol reference](docs/PROTOCOL.md)
198
- - [Benchmark methodology](docs/BENCHMARK.md)
208
+ - [Architecture reference](local_coding_agent/docs/ARCHITECTURE.md)
209
+ - [Protocol reference](local_coding_agent/docs/PROTOCOL.md)
210
+ - [Benchmark methodology](local_coding_agent/docs/BENCHMARK.md)
211
+ - [Roadmap](local_coding_agent/docs/ROADMAP.md)
212
+ - [Runtime setup tips: context, KV cache, thinking and CPU limits](local_coding_agent/docs/RUNTIME_TIPS.md)
213
+
214
+ The same pages open inside the Desktop Harness under **Help**, and `local-agent help-docs` prints them in a terminal.
199
215
 
200
216
  ## License
201
217
 
@@ -1,9 +1,16 @@
1
+ <picture>
2
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/pvnc228/local-coding-agent/main/docs/brand/readme-banner-light.png">
3
+ <img src="https://raw.githubusercontent.com/pvnc228/local-coding-agent/main/docs/brand/readme-banner-dark.png" alt="Local Coding Agent: the local model proposes; the controller verifies." width="100%">
4
+ </picture>
5
+
1
6
  # Local Coding Agent
2
7
 
8
+ <!-- mcp-name: io.github.pvnc228/local-coding-agent -->
9
+
3
10
  Local execution and safety layer for delegating coding tasks from cloud agents to models on your own machine.
4
11
 
5
12
  [![CI](https://github.com/pvnc228/local-coding-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/pvnc228/local-coding-agent/actions/workflows/ci.yml)
6
- [![Version](https://img.shields.io/badge/version-1.1.0-blue.svg)](pyproject.toml)
13
+ [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](pyproject.toml)
7
14
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
8
15
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
9
16
 
@@ -28,13 +35,13 @@ The same gate backs `apply_proposal`, `local-agent apply`, and the desktop apply
28
35
 
29
36
  ## Choose your download
30
37
 
31
- ### Current public release: v1.0.4
38
+ ### Current public release: v1.2.0
32
39
 
33
40
  Choose the CLI release for terminal workflows, scripts, CI, or integration with another AI coding environment. It provides the `local-agent` command, MCP server, Agent Skill, diagnostics, sessions, model tools, and task delegation.
34
41
 
35
- [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/local_coding_agent-1.0.4-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/local_coding_agent-1.0.4.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/Local.AI.Coding.Harness_1.0.4_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.0.4/SHA256SUMS.txt).
42
+ [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/local_coding_agent-1.2.0-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/local_coding_agent-1.2.0.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/Local.AI.Coding.Harness_1.2.0_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.2.0/SHA256SUMS.txt).
36
43
 
37
- The `v1.0.4` release contains the CLI archives and the Windows Desktop Harness installer. Local inference remains local; install [Ollama](https://ollama.com/) or run a compatible local model server before requesting live model responses.
44
+ The `v1.2.0` release contains the CLI archives and the Windows Desktop Harness installer. Local inference remains local; install [Ollama](https://ollama.com/) or run a compatible local model server before requesting live model responses.
38
45
 
39
46
  ## Desktop Harness
40
47
 
@@ -66,7 +73,7 @@ Requirements:
66
73
  Install the CLI package:
67
74
 
68
75
  ```bash
69
- pipx install "local-coding-agent[mcp]"
76
+ pipx install local-coding-agent
70
77
  ```
71
78
 
72
79
  Or install from a checkout:
@@ -74,7 +81,7 @@ Or install from a checkout:
74
81
  ```bash
75
82
  git clone https://github.com/pvnc228/local-coding-agent.git
76
83
  cd local-coding-agent
77
- python -m pip install -e ".[mcp]"
84
+ python -m pip install -e .
78
85
  ```
79
86
 
80
87
  Check the installation:
@@ -101,7 +108,7 @@ Start the MCP server manually when a client needs an explicit command:
101
108
  local-agent serve-mcp --workspace . --enable-tasks
102
109
  ```
103
110
 
104
- See [docs/MCP_INTEGRATION.md](docs/MCP_INTEGRATION.md) for client configuration examples and [skills/local-coding-agent/SKILL.md](skills/local-coding-agent/SKILL.md) for the reusable Agent Skill.
111
+ See [local_coding_agent/docs/MCP_INTEGRATION.md](local_coding_agent/docs/MCP_INTEGRATION.md) for client configuration examples and [skills/local-coding-agent/SKILL.md](skills/local-coding-agent/SKILL.md) for the reusable Agent Skill.
105
112
 
106
113
  ## A typical coding request
107
114
 
@@ -151,7 +158,7 @@ The published numbers come from a 20-task suite, so treat them as directional ra
151
158
  - Small models handle single-file work in this harness; cross-file coordination (Tier 3 in the capability ladder) needs the host agent to decompose the task into atomic envelopes first.
152
159
  - Results are model and hardware specific. Reproduce them with `local-agent benchmark` before relying on any figure.
153
160
 
154
- See [docs/BENCHMARK.md](docs/BENCHMARK.md) for the methodology and the full table.
161
+ See [local_coding_agent/docs/BENCHMARK.md](local_coding_agent/docs/BENCHMARK.md) for the methodology and the full table.
155
162
 
156
163
  ## Local models
157
164
 
@@ -164,13 +171,18 @@ local-agent memory status --json
164
171
 
165
172
  ## Documentation
166
173
 
167
- - [Quickstart](docs/QUICKSTART.md)
168
- - [MCP integration](docs/MCP_INTEGRATION.md)
174
+ - [Quickstart](local_coding_agent/docs/QUICKSTART.md)
175
+ - [FAQ](local_coding_agent/docs/FAQ.md)
176
+ - [MCP integration](local_coding_agent/docs/MCP_INTEGRATION.md)
169
177
  - [Security policy](SECURITY.md)
170
178
  - [Changelog](CHANGELOG.md)
171
- - [Architecture reference](docs/ARCHITECTURE.md)
172
- - [Protocol reference](docs/PROTOCOL.md)
173
- - [Benchmark methodology](docs/BENCHMARK.md)
179
+ - [Architecture reference](local_coding_agent/docs/ARCHITECTURE.md)
180
+ - [Protocol reference](local_coding_agent/docs/PROTOCOL.md)
181
+ - [Benchmark methodology](local_coding_agent/docs/BENCHMARK.md)
182
+ - [Roadmap](local_coding_agent/docs/ROADMAP.md)
183
+ - [Runtime setup tips: context, KV cache, thinking and CPU limits](local_coding_agent/docs/RUNTIME_TIPS.md)
184
+
185
+ The same pages open inside the Desktop Harness under **Help**, and `local-agent help-docs` prints them in a terminal.
174
186
 
175
187
  ## License
176
188
 
@@ -1,6 +1,6 @@
1
1
  """Bounded controller components for delegating small coding tasks."""
2
2
 
3
- __version__ = "1.1.0"
3
+ __version__ = "1.2.0"
4
4
 
5
5
 
6
6
  from .acp_server import (
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from ._cases import BenchmarkCase, default_cases
5
+ from ._cases import BenchmarkCase, default_cases, hard_cases
6
6
  from ._oracles import (
7
7
  _unique_oracle,
8
8
  _limit_oracle,
@@ -47,6 +47,7 @@ __all__ = [
47
47
  "InstrumentedModel",
48
48
  "BenchmarkCaseResult",
49
49
  "default_cases",
50
+ "hard_cases",
50
51
  "run_case",
51
52
  "run_benchmark",
52
53
  "summarize_results",