lemming-cli 0.4.5__tar.gz → 0.4.6__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 (191) hide show
  1. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/PKG-INFO +2 -2
  2. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/pyproject.toml +2 -2
  3. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/readability_cli.py +2 -2
  4. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/readability_cli_test.py +9 -10
  5. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/metrics.py +2 -2
  6. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/metrics_test.py +5 -5
  7. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/uv.lock +5 -5
  8. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.dockerignore +0 -0
  9. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.github/workflows/ci.yml +0 -0
  10. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.github/workflows/publish.yml +0 -0
  11. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.github/workflows/screenshots.yml +0 -0
  12. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.gitignore +0 -0
  13. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.prettierignore +0 -0
  14. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/.prettierrc +0 -0
  15. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/Dockerfile +0 -0
  16. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/LICENSE +0 -0
  17. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/README.md +0 -0
  18. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/SKILL.md +0 -0
  19. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/biome.json +0 -0
  20. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docker-compose.yml +0 -0
  21. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/EVALS.md +0 -0
  22. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/HOOKS.md +0 -0
  23. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/screenshots/dashboard-desktop.png +0 -0
  24. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/screenshots/dashboard-mobile.png +0 -0
  25. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/screenshots/task-log-desktop.png +0 -0
  26. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/docs/screenshots/task-log-mobile.png +0 -0
  27. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/package-lock.json +0 -0
  28. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/package.json +0 -0
  29. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/playwright.config.js +0 -0
  30. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/pyrefly.toml +0 -0
  31. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/__init__.py +0 -0
  32. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/__init__.py +0 -0
  33. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/auth.py +0 -0
  34. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/auth_test.py +0 -0
  35. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/config.py +0 -0
  36. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/config_test.py +0 -0
  37. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/conftest.py +0 -0
  38. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/context.py +0 -0
  39. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/context_test.py +0 -0
  40. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/directories.py +0 -0
  41. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/directories_test.py +0 -0
  42. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/files.py +0 -0
  43. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/files_test.py +0 -0
  44. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/hooks.py +0 -0
  45. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/hooks_test.py +0 -0
  46. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/logging.py +0 -0
  47. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/logging_test.py +0 -0
  48. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/loop.py +0 -0
  49. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/loop_test.py +0 -0
  50. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/main.py +0 -0
  51. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/main_test.py +0 -0
  52. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/tasks.py +0 -0
  53. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api/tasks_test.py +0 -0
  54. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/api_test.py +0 -0
  55. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/brief_test.py +0 -0
  56. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/__init__.py +0 -0
  57. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/brief.py +0 -0
  58. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/config.py +0 -0
  59. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/config_test.py +0 -0
  60. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/exec_cli.py +0 -0
  61. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/exec_cli_test.py +0 -0
  62. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/goal.py +0 -0
  63. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/goal_test.py +0 -0
  64. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/hooks.py +0 -0
  65. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/hooks_test.py +0 -0
  66. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/machine_output_test.py +0 -0
  67. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/main.py +0 -0
  68. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/main_test.py +0 -0
  69. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/operations.py +0 -0
  70. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/operations_test.py +0 -0
  71. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/progress.py +0 -0
  72. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/progress_test.py +0 -0
  73. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/skill.py +0 -0
  74. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/skill_test.py +0 -0
  75. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/stop_test.py +0 -0
  76. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/tasks.py +0 -0
  77. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli/tasks_test.py +0 -0
  78. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/cli_test.py +0 -0
  79. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/conftest.py +0 -0
  80. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/__init__.py +0 -0
  81. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/__main__.py +0 -0
  82. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/cli.py +0 -0
  83. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/cli_test.py +0 -0
  84. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/container.py +0 -0
  85. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/container_test.py +0 -0
  86. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/fixtures.py +0 -0
  87. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/fixtures_test.py +0 -0
  88. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/harness.py +0 -0
  89. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/harness_test.py +0 -0
  90. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/README.md +0 -0
  91. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/__init__.py +0 -0
  92. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/legacy.py +0 -0
  93. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/ops.py +0 -0
  94. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/base/calc/ops_test.py +0 -0
  95. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/clean/calc/ops.py +0 -0
  96. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/clean/calc/ops_test.py +0 -0
  97. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/dead-code/calc/ops.py +0 -0
  98. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/dead-code/calc/ops_test.py +0 -0
  99. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/duplicated-behavior/calc/ops.py +0 -0
  100. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/duplicated-behavior/calc/ops_test.py +0 -0
  101. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/false-reuse/calc/limits.py +0 -0
  102. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/false-reuse/calc/limits_test.py +0 -0
  103. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/lint-debt/calc/ops.py +0 -0
  104. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/readability/lint-debt/calc/ops_test.py +0 -0
  105. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/README.md +0 -0
  106. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/__init__.py +0 -0
  107. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/ops.py +0 -0
  108. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/add-only/calc/ops_test.py +0 -0
  109. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/README.md +0 -0
  110. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/__init__.py +0 -0
  111. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/ops.py +0 -0
  112. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/buggy-subtract/calc/ops_test.py +0 -0
  113. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/README.md +0 -0
  114. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/__init__.py +0 -0
  115. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/ops.py +0 -0
  116. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/full-ops/calc/ops_test.py +0 -0
  117. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/README.md +0 -0
  118. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/__init__.py +0 -0
  119. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/cli.py +0 -0
  120. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/cli_test.py +0 -0
  121. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/ops.py +0 -0
  122. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/roadmap/unwired-cli/calc/ops_test.py +0 -0
  123. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/hidden/stats/summary_hidden_test.py +0 -0
  124. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/README.md +0 -0
  125. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/__init__.py +0 -0
  126. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/summary.py +0 -0
  127. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/projects/task/summary/stats/summary_test.py +0 -0
  128. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/readability.py +0 -0
  129. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/readability_test.py +0 -0
  130. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/report.py +0 -0
  131. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/report_test.py +0 -0
  132. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/roadmap.py +0 -0
  133. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/roadmap_test.py +0 -0
  134. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/scenarios.py +0 -0
  135. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/scenarios_test.py +0 -0
  136. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/suites.py +0 -0
  137. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/task.py +0 -0
  138. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/task_test.py +0 -0
  139. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/trial.py +0 -0
  140. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/evals/trial_test.py +0 -0
  141. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/hooks.py +0 -0
  142. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/hooks_test.py +0 -0
  143. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/integration_test.py +0 -0
  144. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/main.py +0 -0
  145. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/main_test.py +0 -0
  146. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/models.py +0 -0
  147. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/models_test.py +0 -0
  148. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/orchestrator.py +0 -0
  149. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/orchestrator_test.py +0 -0
  150. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/paths.py +0 -0
  151. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/paths_test.py +0 -0
  152. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/persistence.py +0 -0
  153. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/persistence_test.py +0 -0
  154. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/50-readability.md +0 -0
  155. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/60-testing.md +0 -0
  156. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/70-ux.md +0 -0
  157. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts/hooks/90-roadmap.md +0 -0
  158. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts/taskrunner.md +0 -0
  159. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts.py +0 -0
  160. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/prompts_test.py +0 -0
  161. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/providers.py +0 -0
  162. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/providers_test.py +0 -0
  163. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/runner.py +0 -0
  164. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/runner_test.py +0 -0
  165. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/scope.py +0 -0
  166. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/scope_test.py +0 -0
  167. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/shutdown.py +0 -0
  168. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/shutdown_integration_test.py +0 -0
  169. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/shutdown_test.py +0 -0
  170. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/__init__.py +0 -0
  171. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/lifecycle.py +0 -0
  172. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/lifecycle_test.py +0 -0
  173. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/limits.py +0 -0
  174. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/operations.py +0 -0
  175. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/operations_test.py +0 -0
  176. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/progress.py +0 -0
  177. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/progress_test.py +0 -0
  178. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/queries.py +0 -0
  179. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/tasks/queries_test.py +0 -0
  180. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/dashboard.spec.js +0 -0
  181. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/dashboard.test.js +0 -0
  182. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/favicon.js +0 -0
  183. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/favicon.spec.js +0 -0
  184. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/files.html +0 -0
  185. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/files.spec.js +0 -0
  186. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/index.html +0 -0
  187. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/index.js +0 -0
  188. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/logs.html +0 -0
  189. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/logs.test.js +0 -0
  190. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/mancha.js +0 -0
  191. {lemming_cli-0.4.5 → lemming_cli-0.4.6}/src/lemming/web/screenshots.spec.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lemming-cli
3
- Version: 0.4.5
3
+ Version: 0.4.6
4
4
  Summary: An autonomous, iterative task runner for AI coding agents.
5
5
  Project-URL: Homepage, https://github.com/owahltinez/lemming
6
6
  Project-URL: Repository, https://github.com/owahltinez/lemming
@@ -15,7 +15,7 @@ Requires-Dist: fastapi>=0.124.4
15
15
  Requires-Dist: markdownify>=0.14.1
16
16
  Requires-Dist: pydantic>=2.12.5
17
17
  Requires-Dist: pyyaml>=6.0.3
18
- Requires-Dist: readability-cli>=0.8.6
18
+ Requires-Dist: readability-cli>=0.9.0
19
19
  Requires-Dist: requests>=2.32.3
20
20
  Requires-Dist: uvicorn>=0.33.0
21
21
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "lemming-cli"
7
- version = "0.4.5"
7
+ version = "0.4.6"
8
8
  description = "An autonomous, iterative task runner for AI coding agents."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "markdownify>=0.14.1",
21
21
  "pydantic>=2.12.5",
22
22
  "pyyaml>=6.0.3",
23
- "readability-cli>=0.8.6",
23
+ "readability-cli>=0.9.0",
24
24
  "requests>=2.32.3",
25
25
  "uvicorn>=0.33.0",
26
26
  ]
@@ -3,7 +3,7 @@
3
3
  import logging
4
4
 
5
5
  import click
6
- import readability
6
+ from readability.cli import cli as readability_cli
7
7
 
8
8
  from .main import cli
9
9
 
@@ -24,5 +24,5 @@ def readability_group(ctx: click.Context):
24
24
  # Merge the commands from the readability package directly into our group.
25
25
  # This allows 'lemming readability check ...' instead of
26
26
  # 'lemming readability cli check ...'
27
- for name, command in readability.cli.commands.items():
27
+ for name, command in readability_cli.commands.items():
28
28
  readability_group.add_command(command, name=name)
@@ -59,12 +59,12 @@ def test_readability_check_ignored_file():
59
59
  assert result.exit_code == 0
60
60
 
61
61
 
62
- def test_readability_formats_markdown_without_project_config(tmp_path):
63
- """The wrapper exposes readability's configless Markdown defaults."""
62
+ def test_readability_leaves_unsupported_markdown_unchanged(tmp_path):
63
+ """The wrapper preserves files that readability does not own."""
64
64
  paragraph = (
65
65
  "This deliberately long paragraph proves that the lemming command "
66
- "loads the installed readability dependency and delegates Markdown "
67
- "formatting to Prettier without requiring a project configuration.\n"
66
+ "loads the installed readability dependency while leaving unsupported "
67
+ "Markdown content exactly as the caller wrote it.\n"
68
68
  )
69
69
  runner = CliRunner()
70
70
 
@@ -72,12 +72,11 @@ def test_readability_formats_markdown_without_project_config(tmp_path):
72
72
  markdown = Path("README.md")
73
73
  markdown.write_text(f"# Integration\n\n{paragraph}")
74
74
 
75
- check = runner.invoke(cli, ["readability", "check", str(markdown)])
76
- assert check.exit_code == 1
77
- assert "prettier formatting findings" in check.output
75
+ original = markdown.read_text()
78
76
 
79
- fix = runner.invoke(
77
+ result = runner.invoke(
80
78
  cli, ["readability", "check", "--fix", str(markdown)]
81
79
  )
82
- assert fix.exit_code == 0
83
- assert max(map(len, markdown.read_text().splitlines())) <= 80
80
+ assert result.exit_code == 0
81
+ assert "nothing was checked" in result.output
82
+ assert markdown.read_text() == original
@@ -12,7 +12,7 @@ import pathlib
12
12
  import subprocess
13
13
  import sys
14
14
 
15
- import readability
15
+ from readability.checking import check_paths
16
16
 
17
17
 
18
18
  def unresolved_findings(workspace: pathlib.Path, paths: list[str]) -> str:
@@ -44,7 +44,7 @@ def unresolved_findings(workspace: pathlib.Path, paths: list[str]) -> str:
44
44
  return ""
45
45
 
46
46
  # Delegate to readability; its findings land on this process's streams.
47
- report = readability.check_paths(targets, project_root=workspace)
47
+ report = check_paths(targets, project_root=workspace)
48
48
 
49
49
  # Clean means the tools ran and found nothing; unverified is not clean.
50
50
  unverified = sorted(report.skipped | report.failed)
@@ -4,7 +4,7 @@ import tempfile
4
4
  import unittest
5
5
  import unittest.mock
6
6
 
7
- import readability
7
+ from readability.checking import CheckReport
8
8
 
9
9
  from lemming.evals import fixtures, metrics
10
10
 
@@ -94,11 +94,11 @@ class TestUnresolvedFindings(MetricsTestCase):
94
94
  # No findings from a tool that never ran is not a pass.
95
95
  self.seed({"pkg/mod.py": _CLEAN})
96
96
  unverified = {
97
- "no tool ran at all": readability.CheckReport(),
98
- "an applicable tool was missing": readability.CheckReport(
97
+ "no tool ran at all": CheckReport(),
98
+ "an applicable tool was missing": CheckReport(
99
99
  ran={"ruff"}, skipped={"pyrefly"}
100
100
  ),
101
- "a tool could not finish": readability.CheckReport(
101
+ "a tool could not finish": CheckReport(
102
102
  ran={"ruff"}, failed={"pyrefly"}
103
103
  ),
104
104
  }
@@ -106,7 +106,7 @@ class TestUnresolvedFindings(MetricsTestCase):
106
106
  for label, report in unverified.items():
107
107
  with self.subTest(label):
108
108
  with unittest.mock.patch.object(
109
- metrics.readability, "check_paths", return_value=report
109
+ metrics, "check_paths", return_value=report
110
110
  ):
111
111
  outstanding = metrics.unresolved_findings(
112
112
  self.workspace, ["pkg/mod.py"]
@@ -291,7 +291,7 @@ wheels = [
291
291
 
292
292
  [[package]]
293
293
  name = "lemming-cli"
294
- version = "0.4.5"
294
+ version = "0.4.6"
295
295
  source = { editable = "." }
296
296
  dependencies = [
297
297
  { name = "beautifulsoup4" },
@@ -325,7 +325,7 @@ requires-dist = [
325
325
  { name = "markdownify", specifier = ">=0.14.1" },
326
326
  { name = "pydantic", specifier = ">=2.12.5" },
327
327
  { name = "pyyaml", specifier = ">=6.0.3" },
328
- { name = "readability-cli", specifier = ">=0.8.6" },
328
+ { name = "readability-cli", specifier = ">=0.9.0" },
329
329
  { name = "requests", specifier = ">=2.32.3" },
330
330
  { name = "uvicorn", specifier = ">=0.33.0" },
331
331
  ]
@@ -555,7 +555,7 @@ wheels = [
555
555
 
556
556
  [[package]]
557
557
  name = "readability-cli"
558
- version = "0.8.6"
558
+ version = "0.9.0"
559
559
  source = { registry = "https://pypi.org/simple" }
560
560
  dependencies = [
561
561
  { name = "beautifulsoup4" },
@@ -563,9 +563,9 @@ dependencies = [
563
563
  { name = "markdownify" },
564
564
  { name = "requests" },
565
565
  ]
566
- sdist = { url = "https://files.pythonhosted.org/packages/b1/e2/ec61c5dbdaa21210d474eb678f096470c8a9669fab0af6de60d090a0fd78/readability_cli-0.8.6.tar.gz", hash = "sha256:83374be47779be8432bc1cb596d921fbb16570da2638d25f6d7dc31da474d14e", size = 340849, upload-time = "2026-08-19T21:12:56.261Z" }
566
+ sdist = { url = "https://files.pythonhosted.org/packages/eb/aa/7570aaa1ec46c74b8359b2d2a47bdc70d7ee6adff94501cbdaf347810f19/readability_cli-0.9.0.tar.gz", hash = "sha256:4e14e182be391d70092fe159d8d81c6d94e34e8099fdfc9ca8b8ad3ffc31d4c5", size = 343257, upload-time = "2026-08-20T00:51:02.731Z" }
567
567
  wheels = [
568
- { url = "https://files.pythonhosted.org/packages/92/4c/626c5ce0246250a38bf326804250c7f7812d2429a71e3d9d4d8eac7ef262/readability_cli-0.8.6-py3-none-any.whl", hash = "sha256:f1b0f468ef628118753141e21bd27b7096d1448162d3a5b1e195bf1f56480394", size = 321361, upload-time = "2026-08-19T21:12:55.165Z" },
568
+ { url = "https://files.pythonhosted.org/packages/8d/94/1857a49eaf9a3efddcdf6f6f413f0aac804915a58d1ccbd64b32a6994602/readability_cli-0.9.0-py3-none-any.whl", hash = "sha256:1709c282575c3f5fc9351d585f069a92b79312d33a22a5ff3713aef8cb834850", size = 324977, upload-time = "2026-08-20T00:51:01.416Z" },
569
569
  ]
570
570
 
571
571
  [[package]]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes