local-coding-agent 1.1.1__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.1 → local_coding_agent-1.2.0}/PKG-INFO +25 -12
  2. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/README.md +21 -11
  3. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/__init__.py +1 -1
  4. {local_coding_agent-1.1.1 → 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.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_judge.py +44 -3
  7. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_oracles.py +133 -0
  8. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_runner.py +147 -22
  9. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_summary.py +12 -3
  10. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/capability.py +11 -6
  11. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_dispatch.py +95 -0
  12. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_handlers.py +52 -18
  13. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_handlers2.py +21 -1
  14. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_parser.py +32 -0
  15. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/controller/_controller.py +143 -84
  16. {local_coding_agent-1.1.1 → 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.1 → 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.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_handlers.py +270 -47
  24. {local_coding_agent-1.1.1 → 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.1 → local_coding_agent-1.2.0}/local_coding_agent/mcp_server.py +15 -3
  38. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/mode_router.py +7 -0
  39. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/model_scanner.py +57 -2
  40. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/ollama_adapter.py +107 -12
  41. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/prescriptions.py +45 -0
  42. {local_coding_agent-1.1.1 → 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.1 → local_coding_agent-1.2.0}/local_coding_agent/service.py +32 -15
  45. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/skill_config.py +72 -1
  46. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/validators.py +83 -28
  47. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/PKG-INFO +25 -12
  48. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/SOURCES.txt +13 -64
  49. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/pyproject.toml +8 -3
  50. local_coding_agent-1.1.1/local_coding_agent/benchmark/_cases.py +0 -307
  51. local_coding_agent-1.1.1/local_coding_agent/delegator.py +0 -180
  52. local_coding_agent-1.1.1/local_coding_agent/desktop/assets/tailwind.css +0 -1
  53. local_coding_agent-1.1.1/local_coding_agent/desktop/client_js.py +0 -1271
  54. local_coding_agent-1.1.1/local_coding_agent/desktop/components.py +0 -555
  55. local_coding_agent-1.1.1/local_coding_agent/desktop/styles.py +0 -76
  56. local_coding_agent-1.1.1/local_coding_agent/desktop/ui.py +0 -53
  57. local_coding_agent-1.1.1/tests/test_acp_server.py +0 -698
  58. local_coding_agent-1.1.1/tests/test_adversarial_session.py +0 -468
  59. local_coding_agent-1.1.1/tests/test_ast_compactor.py +0 -87
  60. local_coding_agent-1.1.1/tests/test_atomizer.py +0 -192
  61. local_coding_agent-1.1.1/tests/test_benchmark.py +0 -481
  62. local_coding_agent-1.1.1/tests/test_calibration.py +0 -164
  63. local_coding_agent-1.1.1/tests/test_capability.py +0 -185
  64. local_coding_agent-1.1.1/tests/test_chat_compaction.py +0 -224
  65. local_coding_agent-1.1.1/tests/test_cli.py +0 -866
  66. local_coding_agent-1.1.1/tests/test_context_manager.py +0 -125
  67. local_coding_agent-1.1.1/tests/test_controller.py +0 -1712
  68. local_coding_agent-1.1.1/tests/test_ctx_preflight.py +0 -309
  69. local_coding_agent-1.1.1/tests/test_delegator.py +0 -120
  70. local_coding_agent-1.1.1/tests/test_desktop_app.py +0 -1754
  71. local_coding_agent-1.1.1/tests/test_desktop_http_framing.py +0 -202
  72. local_coding_agent-1.1.1/tests/test_desktop_release_gate.py +0 -545
  73. local_coding_agent-1.1.1/tests/test_doctor.py +0 -103
  74. local_coding_agent-1.1.1/tests/test_doctor_fix.py +0 -76
  75. local_coding_agent-1.1.1/tests/test_e2e_functional_scenario.py +0 -401
  76. local_coding_agent-1.1.1/tests/test_edits.py +0 -222
  77. local_coding_agent-1.1.1/tests/test_hooks.py +0 -340
  78. local_coding_agent-1.1.1/tests/test_lsp.py +0 -570
  79. local_coding_agent-1.1.1/tests/test_mcp_config.py +0 -331
  80. local_coding_agent-1.1.1/tests/test_mcp_server.py +0 -259
  81. local_coding_agent-1.1.1/tests/test_mediated_apply.py +0 -142
  82. local_coding_agent-1.1.1/tests/test_memory_manager.py +0 -132
  83. local_coding_agent-1.1.1/tests/test_mode_router.py +0 -278
  84. local_coding_agent-1.1.1/tests/test_model_scanner.py +0 -217
  85. local_coding_agent-1.1.1/tests/test_monitor.py +0 -89
  86. local_coding_agent-1.1.1/tests/test_observation_policy.py +0 -152
  87. local_coding_agent-1.1.1/tests/test_ollama_adapter.py +0 -365
  88. local_coding_agent-1.1.1/tests/test_openai_adapter.py +0 -524
  89. local_coding_agent-1.1.1/tests/test_plan_mode.py +0 -679
  90. local_coding_agent-1.1.1/tests/test_prescriptions.py +0 -112
  91. local_coding_agent-1.1.1/tests/test_profiles.py +0 -82
  92. local_coding_agent-1.1.1/tests/test_progress_telemetry.py +0 -44
  93. local_coding_agent-1.1.1/tests/test_r30_adversarial.py +0 -225
  94. local_coding_agent-1.1.1/tests/test_repository_tools.py +0 -513
  95. local_coding_agent-1.1.1/tests/test_ripgrep.py +0 -204
  96. local_coding_agent-1.1.1/tests/test_semantic_linter.py +0 -72
  97. local_coding_agent-1.1.1/tests/test_service.py +0 -622
  98. local_coding_agent-1.1.1/tests/test_session_events.py +0 -317
  99. local_coding_agent-1.1.1/tests/test_session_query.py +0 -262
  100. local_coding_agent-1.1.1/tests/test_skill_config.py +0 -81
  101. local_coding_agent-1.1.1/tests/test_skill_parity.py +0 -10
  102. local_coding_agent-1.1.1/tests/test_smoke.py +0 -54
  103. local_coding_agent-1.1.1/tests/test_speculative_racing.py +0 -50
  104. local_coding_agent-1.1.1/tests/test_spill.py +0 -157
  105. local_coding_agent-1.1.1/tests/test_stats.py +0 -112
  106. local_coding_agent-1.1.1/tests/test_stdio.py +0 -149
  107. local_coding_agent-1.1.1/tests/test_subagent.py +0 -250
  108. local_coding_agent-1.1.1/tests/test_task.py +0 -30
  109. local_coding_agent-1.1.1/tests/test_task_store.py +0 -178
  110. local_coding_agent-1.1.1/tests/test_tasks.py +0 -623
  111. local_coding_agent-1.1.1/tests/test_telemetry.py +0 -54
  112. local_coding_agent-1.1.1/tests/test_terminal.py +0 -520
  113. local_coding_agent-1.1.1/tests/test_tool_call_parser.py +0 -144
  114. local_coding_agent-1.1.1/tests/test_ui_app.py +0 -51
  115. local_coding_agent-1.1.1/tests/test_ux_audit_fixes.py +0 -99
  116. local_coding_agent-1.1.1/tests/test_validators.py +0 -249
  117. local_coding_agent-1.1.1/tests/test_version_consistency.py +0 -169
  118. local_coding_agent-1.1.1/tests/test_vram_fit.py +0 -280
  119. local_coding_agent-1.1.1/tests/test_worker_pool.py +0 -322
  120. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/LICENSE +0 -0
  121. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/__main__.py +0 -0
  122. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/__init__.py +0 -0
  123. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_codec.py +0 -0
  124. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_protocol.py +0 -0
  125. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_server.py +0 -0
  126. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_session.py +0 -0
  127. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/acp_server/_tools.py +0 -0
  128. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/ast_compactor.py +0 -0
  129. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/atomizer.py +0 -0
  130. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark/_stats.py +0 -0
  131. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/benchmark_oracle_worker.py +0 -0
  132. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/calibration.py +0 -0
  133. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/chat_compaction.py +0 -0
  134. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/__init__.py +0 -0
  135. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_input.py +0 -0
  136. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/cli/_main.py +0 -0
  137. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/context_manager.py +0 -0
  138. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/controller/__init__.py +0 -0
  139. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/controller/_constants.py +0 -0
  140. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/__init__.py +0 -0
  141. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/assets/lucide.min.js +0 -0
  142. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/__init__.py +0 -0
  143. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_models.py +0 -0
  144. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/desktop/server/_telemetry.py +0 -0
  145. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/doctor.py +0 -0
  146. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/hooks/__init__.py +0 -0
  147. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_adapters.py +0 -0
  148. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_bridge.py +0 -0
  149. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/hooks/_decision.py +0 -0
  150. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/__init__.py +0 -0
  151. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_client.py +0 -0
  152. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_fallback.py +0 -0
  153. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_manager.py +0 -0
  154. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_mock.py +0 -0
  155. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/lsp/_types.py +0 -0
  156. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/mcp_config.py +0 -0
  157. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/memory.py +0 -0
  158. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/monitor.py +0 -0
  159. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/observation_policy.py +0 -0
  160. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/plan_mode.py +0 -0
  161. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/repository_tools.py +0 -0
  162. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/ripgrep.py +0 -0
  163. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/semantic_linter.py +0 -0
  164. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/session_events.py +0 -0
  165. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/session_query.py +0 -0
  166. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/smoke.py +0 -0
  167. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/speculative_racing.py +0 -0
  168. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/spill.py +0 -0
  169. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/stats.py +0 -0
  170. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/stdio.py +0 -0
  171. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/subagent.py +0 -0
  172. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/task.py +0 -0
  173. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/task_store.py +0 -0
  174. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/tasks.py +0 -0
  175. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/__init__.py +0 -0
  176. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_manager.py +0 -0
  177. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_process.py +0 -0
  178. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_session.py +0 -0
  179. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_tools.py +0 -0
  180. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/terminal/_types.py +0 -0
  181. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/tool_call_parser.py +0 -0
  182. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/vram_fit.py +0 -0
  183. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent/worker_pool.py +0 -0
  184. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/dependency_links.txt +0 -0
  185. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/entry_points.txt +0 -0
  186. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/requires.txt +0 -0
  187. {local_coding_agent-1.1.1 → local_coding_agent-1.2.0}/local_coding_agent.egg-info/top_level.txt +0 -0
  188. {local_coding_agent-1.1.1 → 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.1
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
@@ -24,6 +27,11 @@ Provides-Extra: desktop
24
27
  Requires-Dist: pywebview>=5.0.0; extra == "desktop"
25
28
  Dynamic: license-file
26
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
+
27
35
  # Local Coding Agent
28
36
 
29
37
  <!-- mcp-name: io.github.pvnc228/local-coding-agent -->
@@ -31,7 +39,7 @@ Dynamic: license-file
31
39
  Local execution and safety layer for delegating coding tasks from cloud agents to models on your own machine.
32
40
 
33
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)
34
- [![Version](https://img.shields.io/badge/version-1.1.1-blue.svg)](pyproject.toml)
42
+ [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](pyproject.toml)
35
43
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
36
44
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
37
45
 
@@ -56,13 +64,13 @@ The same gate backs `apply_proposal`, `local-agent apply`, and the desktop apply
56
64
 
57
65
  ## Choose your download
58
66
 
59
- ### Current public release: v1.1.0
67
+ ### Current public release: v1.2.0
60
68
 
61
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.
62
70
 
63
- [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/local_coding_agent-1.1.0-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/local_coding_agent-1.1.0.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/Local.AI.Coding.Harness_1.1.0_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/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).
64
72
 
65
- The `v1.1.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.
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.
66
74
 
67
75
  ## Desktop Harness
68
76
 
@@ -129,7 +137,7 @@ Start the MCP server manually when a client needs an explicit command:
129
137
  local-agent serve-mcp --workspace . --enable-tasks
130
138
  ```
131
139
 
132
- 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.
133
141
 
134
142
  ## A typical coding request
135
143
 
@@ -179,7 +187,7 @@ The published numbers come from a 20-task suite, so treat them as directional ra
179
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.
180
188
  - Results are model and hardware specific. Reproduce them with `local-agent benchmark` before relying on any figure.
181
189
 
182
- 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.
183
191
 
184
192
  ## Local models
185
193
 
@@ -192,13 +200,18 @@ local-agent memory status --json
192
200
 
193
201
  ## Documentation
194
202
 
195
- - [Quickstart](docs/QUICKSTART.md)
196
- - [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)
197
206
  - [Security policy](SECURITY.md)
198
207
  - [Changelog](CHANGELOG.md)
199
- - [Architecture reference](docs/ARCHITECTURE.md)
200
- - [Protocol reference](docs/PROTOCOL.md)
201
- - [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.
202
215
 
203
216
  ## License
204
217
 
@@ -1,3 +1,8 @@
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
 
3
8
  <!-- mcp-name: io.github.pvnc228/local-coding-agent -->
@@ -5,7 +10,7 @@
5
10
  Local execution and safety layer for delegating coding tasks from cloud agents to models on your own machine.
6
11
 
7
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)
8
- [![Version](https://img.shields.io/badge/version-1.1.1-blue.svg)](pyproject.toml)
13
+ [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](pyproject.toml)
9
14
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)
10
15
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
11
16
 
@@ -30,13 +35,13 @@ The same gate backs `apply_proposal`, `local-agent apply`, and the desktop apply
30
35
 
31
36
  ## Choose your download
32
37
 
33
- ### Current public release: v1.1.0
38
+ ### Current public release: v1.2.0
34
39
 
35
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.
36
41
 
37
- [Download the CLI wheel](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/local_coding_agent-1.1.0-py3-none-any.whl) or [CLI source archive](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/local_coding_agent-1.1.0.tar.gz). Windows users can [download the Desktop Harness installer](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/Local.AI.Coding.Harness_1.1.0_x64-setup.exe) and verify the published files with [SHA256SUMS.txt](https://github.com/pvnc228/local-coding-agent/releases/download/v1.1.0/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).
38
43
 
39
- The `v1.1.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.
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.
40
45
 
41
46
  ## Desktop Harness
42
47
 
@@ -103,7 +108,7 @@ Start the MCP server manually when a client needs an explicit command:
103
108
  local-agent serve-mcp --workspace . --enable-tasks
104
109
  ```
105
110
 
106
- 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.
107
112
 
108
113
  ## A typical coding request
109
114
 
@@ -153,7 +158,7 @@ The published numbers come from a 20-task suite, so treat them as directional ra
153
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.
154
159
  - Results are model and hardware specific. Reproduce them with `local-agent benchmark` before relying on any figure.
155
160
 
156
- 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.
157
162
 
158
163
  ## Local models
159
164
 
@@ -166,13 +171,18 @@ local-agent memory status --json
166
171
 
167
172
  ## Documentation
168
173
 
169
- - [Quickstart](docs/QUICKSTART.md)
170
- - [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)
171
177
  - [Security policy](SECURITY.md)
172
178
  - [Changelog](CHANGELOG.md)
173
- - [Architecture reference](docs/ARCHITECTURE.md)
174
- - [Protocol reference](docs/PROTOCOL.md)
175
- - [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.
176
186
 
177
187
  ## License
178
188
 
@@ -1,6 +1,6 @@
1
1
  """Bounded controller components for delegating small coding tasks."""
2
2
 
3
- __version__ = "1.1.1"
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",