tunacode-cli 0.0.72__tar.gz → 0.0.75__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.

Potentially problematic release.


This version of tunacode-cli might be problematic. Click here for more details.

Files changed (452) hide show
  1. tunacode_cli-0.0.75/.claude/commands/context-engineer/QA.md +106 -0
  2. tunacode_cli-0.0.75/.claude/commands/context-engineer/documentation-synthesis.md +114 -0
  3. tunacode_cli-0.0.75/.claude/commands/context-engineer/execute.md +176 -0
  4. tunacode_cli-0.0.75/.claude/commands/context-engineer/plan.md +112 -0
  5. tunacode_cli-0.0.75/.claude/commands/context-engineer/research.md +148 -0
  6. tunacode_cli-0.0.75/.github/workflows/publish.yml +80 -0
  7. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/PKG-INFO +1 -1
  8. tunacode_cli-0.0.75/documentation/configuration/environment-variables.md +195 -0
  9. tunacode_cli-0.0.75/documentation/configuration/tunacode-json-example.md +125 -0
  10. tunacode_cli-0.0.75/documentation/configuration/tunacode.json.example +37 -0
  11. tunacode_cli-0.0.75/documentation/tests/README.md +55 -0
  12. tunacode_cli-0.0.75/documentation/tests/characterization-testing.md +142 -0
  13. tunacode_cli-0.0.75/documentation/tests/mocking-strategies.md +340 -0
  14. tunacode_cli-0.0.75/documentation/tests/troubleshooting.md +219 -0
  15. tunacode_cli-0.0.75/memory-bank/plan/2025-09-11_13-30-00_agent_loop_architecture_enhancement.md +504 -0
  16. tunacode_cli-0.0.75/memory-bank/plan/2025-09-11_14-00-00_enum_state_machine_implementation.md +451 -0
  17. tunacode_cli-0.0.75/memory-bank/plan/2025-09-11_14-15-00_automated_cli_tool_testing_framework.md +461 -0
  18. tunacode_cli-0.0.75/memory-bank/plan/2025-09-12_12-20-00_global_graceful_error_handling_implementation.md +399 -0
  19. tunacode_cli-0.0.75/memory-bank/research/2025-09-11_13-14-06_agent_loop_enhancement_analysis.md +222 -0
  20. tunacode_cli-0.0.75/memory-bank/research/2025-09-12_12-15-48_global_graceful_error_handling_analysis.md +126 -0
  21. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/pyproject.toml +2 -2
  22. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl.py +2 -1
  23. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/constants.py +1 -1
  24. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/agent_config.py +7 -4
  25. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/agent_helpers.py +1 -1
  26. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/node_processor.py +35 -3
  27. tunacode_cli-0.0.75/src/tunacode/core/agents/agent_components/response_state.py +116 -0
  28. tunacode_cli-0.0.75/src/tunacode/core/agents/agent_components/state_transition.py +116 -0
  29. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/task_completion.py +10 -6
  30. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/main.py +4 -4
  31. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/prompts/system.md +11 -1
  32. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/types.py +9 -0
  33. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/test_characterization_main.py +1 -1
  34. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_prompt_changes_validation.py +1 -1
  35. tunacode_cli-0.0.72/.claude/settings.local.json +0 -50
  36. tunacode_cli-0.0.72/.taskmaster/CLAUDE.md +0 -417
  37. tunacode_cli-0.0.72/.taskmaster/config.json +0 -35
  38. tunacode_cli-0.0.72/.taskmaster/docs/prd.txt +0 -322
  39. tunacode_cli-0.0.72/.taskmaster/state.json +0 -6
  40. tunacode_cli-0.0.72/.taskmaster/tasks/task_001.txt +0 -14
  41. tunacode_cli-0.0.72/.taskmaster/tasks/task_002.txt +0 -11
  42. tunacode_cli-0.0.72/.taskmaster/tasks/task_003.txt +0 -11
  43. tunacode_cli-0.0.72/.taskmaster/tasks/task_004.txt +0 -11
  44. tunacode_cli-0.0.72/.taskmaster/tasks/task_005.txt +0 -11
  45. tunacode_cli-0.0.72/.taskmaster/tasks/task_006.txt +0 -54
  46. tunacode_cli-0.0.72/.taskmaster/tasks/tasks.json +0 -369
  47. tunacode_cli-0.0.72/.taskmaster/templates/example_prd.txt +0 -47
  48. tunacode_cli-0.0.72/CHANGELOG.md +0 -65
  49. tunacode_cli-0.0.72/planner.md +0 -29
  50. tunacode_cli-0.0.72/scripts/publish_to_pip.sh +0 -146
  51. tunacode_cli-0.0.72/src/tunacode/core/agents/agent_components/response_state.py +0 -13
  52. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/MEMORY_ANCHOR_SPEC.md +0 -0
  53. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/NEXT_PR_RULES.md +0 -0
  54. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/README.md +0 -0
  55. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/antipattern-sniffer.md +0 -0
  56. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/bug-context-analyzer.md +0 -0
  57. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/code-synthesis-analyzer.md +0 -0
  58. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/codebase-analyzer.md +0 -0
  59. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/codebase-locator.md +0 -0
  60. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/context-synthesis.md +0 -0
  61. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/documentation-synthesis-qa.md +0 -0
  62. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/expert-debugger.md +0 -0
  63. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/phased-task-processor.md +0 -0
  64. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/prompt-engineer.md +0 -0
  65. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/rapid-code-synthesis-qa.md +0 -0
  66. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/agents/tech-docs-maintainer.md +0 -0
  67. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/anchors.json +0 -0
  68. {tunacode_cli-0.0.72/.claude/commands/context-engineer → tunacode_cli-0.0.75/.claude/commands/CE}/QA.md +0 -0
  69. {tunacode_cli-0.0.72/.claude/commands/context-engineer → tunacode_cli-0.0.75/.claude/commands/CE}/documentation-synthesis.md +0 -0
  70. {tunacode_cli-0.0.72/.claude/commands/context-engineer → tunacode_cli-0.0.75/.claude/commands/CE}/execute.md +0 -0
  71. {tunacode_cli-0.0.72/.claude/commands/context-engineer → tunacode_cli-0.0.75/.claude/commands/CE}/plan.md +0 -0
  72. {tunacode_cli-0.0.72/.claude/commands/context-engineer → tunacode_cli-0.0.75/.claude/commands/CE}/research.md +0 -0
  73. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/deploy.md +0 -0
  74. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/github-issue.md +0 -0
  75. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/phaser.md +0 -0
  76. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/smart-git.md +0 -0
  77. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/smells.md +0 -0
  78. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/work.md +0 -0
  79. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/commands/workflow.md +0 -0
  80. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/delta/2025-01-05-baseline.yml +0 -0
  81. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/delta/fix-text-alignment-layout-task3.md +0 -0
  82. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/delta/task4_ui_formatting_fix.md +0 -0
  83. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/delta/v0.0.53_to_v0.0.54.diff +0 -0
  84. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/always-on-display-implementation.md +0 -0
  85. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/cli-json-recovery-incident.md +0 -0
  86. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/directory-caching-optimization.md +0 -0
  87. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/esc-investigation/ESC_KEY_INVESTIGATION.md +0 -0
  88. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/esc-investigation/ESC_KEY_STREAMING_ANALYSIS.md +0 -0
  89. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/hatch-commands.md +0 -0
  90. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/model-updates-2025.md +0 -0
  91. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/onboarding-improvements.md +0 -0
  92. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/openai_tool_calling_evaluation.md +0 -0
  93. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/phase5-prompt-injection-system.md +0 -0
  94. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/slash-commands.md +0 -0
  95. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/uv-hatch-setup.md +0 -0
  96. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/development/uv-installer-updates.md +0 -0
  97. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/metadata/components.yml +0 -0
  98. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/metadata/hotspots.txt +0 -0
  99. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/patterns/json_retry_implementation.md +0 -0
  100. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/qa/fix-agent-errors.yml +0 -0
  101. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/qa/fix-publish-script.yml +0 -0
  102. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/qa/fix-runtime-warnings.yml +0 -0
  103. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/README.md +0 -0
  104. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/active/task_json_retry_implementation_summary_2025-07-24_13-05-40.md +0 -0
  105. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/active/task_standardize_ui_formatting_patterns_2025-07-23_20-43-28.md +0 -0
  106. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/agents/default/spinner-enhancement-2025-08-07.md +0 -0
  107. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/agents/esc-investigation/scratchpad.md +0 -0
  108. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/agents/phase5-recovery/scratchpad.md +0 -0
  109. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/agents/tech-docs-maintainer/scratchpad.md +0 -0
  110. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
  111. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
  112. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
  113. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
  114. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
  115. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
  116. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
  117. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
  118. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
  119. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
  120. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
  121. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
  122. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
  123. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
  124. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
  125. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
  126. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
  127. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
  128. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
  129. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
  130. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
  131. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
  132. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
  133. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
  134. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
  135. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
  136. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
  137. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
  138. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
  139. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/default_slash_command_system_implementation_2025-08-14_034024_scratchpad.md +0 -0
  140. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/archived/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
  141. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/locks/code-synthesis-analyzer.lock +0 -0
  142. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/locks/default.lock +0 -0
  143. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/locks/esc-investigation.lock +0 -0
  144. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/locks/phase5-recovery.lock +0 -0
  145. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/locks/tech-docs-maintainer.lock +0 -0
  146. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/code-synthesis-analyzer_ESC_Double-Press_REPL_Abort_Analysis_2025-08-06_134859_scratchpad.md +0 -0
  147. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_-_Continuation_2025-08-13_152542_scratchpad.md +0 -0
  148. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Add_Prompt_Injection_to_Remaining_Tools_2025-08-13_152352_scratchpad.md +0 -0
  149. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124206_scratchpad.md +0 -0
  150. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_CLI_Agent_JSON_Recovery_Investigation_2025-08-12_124727_scratchpad.md +0 -0
  151. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Completely_remove_TUNACODE_TASK_COMPLETE_from_plan_mode_2025-08-09_091836_scratchpad.md +0 -0
  152. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Debug_ESC_key_still_not_working_in_approval_prompt_2025-08-09_033534_scratchpad.md +0 -0
  153. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Debug_persistent_KeyboardInterrupt_in_event_loop_2025-08-09_034136_scratchpad.md +0 -0
  154. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Debug_present_plan_tool_registration_and_model_capability_2025-08-09_092923_scratchpad.md +0 -0
  155. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Debug_stuck_double_escape_in_plan_approval_2025-08-09_033214_scratchpad.md +0 -0
  156. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_Application.exit()_failed_error_in_ESC_keybinding_2025-08-09_075607_scratchpad.md +0 -0
  157. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_double-tap_and_plan_display_issues_2025-08-09_090055_scratchpad.md +0 -0
  158. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_ESC_exceptions_and_missing_present_plan_tool_2025-08-09_081700_scratchpad.md +0 -0
  159. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_agent_not_calling_present_plan_tool_2025-08-09_090827_scratchpad.md +0 -0
  160. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_double_escape_for_planning_mode_approval_prompt_2025-08-09_032759_scratchpad.md +0 -0
  161. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_unhandled_KeyboardInterrupt_exception_in_event_loop_2025-08-09_033843_scratchpad.md +0 -0
  162. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fix_wizard_UI_-_branch_safety_interference_2025-08-20_222738_scratchpad.md +0 -0
  163. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Fixed_Thinking_dots_animation_2025-08-11_121009_scratchpad.md +0 -0
  164. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Force_agent_to_actually_call_present_plan_tool_2025-08-09_091334_scratchpad.md +0 -0
  165. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_GitHub_Directory_Review_2025-08-11_122451_scratchpad.md +0 -0
  166. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Implementing_ESC_key_double-press_for_REPL_abort_2025-08-06_124754_scratchpad.md +0 -0
  167. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_JSON_Recovery_Implementation_2025-08-12_130251_scratchpad.md +0 -0
  168. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Makefile_to_Hatch_Migration_2025-08-07_192356_scratchpad.md +0 -0
  169. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Performance_Optimization_-_Agent_Initialization_2025-08-13_160447_scratchpad.md +0 -0
  170. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Phase_3_-_Glob_Tool_Optimization_2025-08-13_142601_scratchpad.md +0 -0
  171. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Replace_entire_system_prompt_with_tool-only_instructions_2025-08-09_112839_scratchpad.md +0 -0
  172. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_TunaCode_Search_Enhancement_Implementation_2025-08-13_140905_scratchpad.md +0 -0
  173. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Update_Documentation_for_JSON_Recovery_System_2025-08-12_131127_scratchpad.md +0 -0
  174. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/default_Update_documentation_for_always-on_display_UX_improvements_2025-08-12_154818_scratchpad.md +0 -0
  175. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/scratchpad/shared/done_tasks/phase5-recovery_Phase_5_Recovery_Analysis_2025-08-13_145339_scratchpad.md +0 -0
  176. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/tech-docs-maintainer.md +0 -0
  177. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.claude/test_suite_issues_resolved.md +0 -0
  178. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.github/pull_request_template.md +0 -0
  179. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.github/scripts/check_file_size.py +0 -0
  180. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.github/workflows/lint.yml +0 -0
  181. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.gitignore +0 -0
  182. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/.pre-commit-config.yaml +0 -0
  183. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/CLAUDE.md +0 -0
  184. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/LICENSE +0 -0
  185. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/MANIFEST.in +0 -0
  186. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/README.md +0 -0
  187. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/TUNACODE.md +0 -0
  188. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/assets/tunacode_example.png +0 -0
  189. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/README.md +0 -0
  190. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/TOOLS_WORKFLOW.md +0 -0
  191. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/agent-inspo.md +0 -0
  192. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/how-tunacode-agent-works.md +0 -0
  193. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/main-agent-architecture.md +0 -0
  194. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/swepmini-example.md +0 -0
  195. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/agent/tunacode-tool-system.md +0 -0
  196. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/changelog/CHANGELOG.md +0 -0
  197. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75/documentation/configuration}/.env.example +0 -0
  198. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/configuration/config-file-example.md +0 -0
  199. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/configuration/local-models.md +0 -0
  200. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/configuration/logging-configuration.md +0 -0
  201. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/codebase-hygiene.md +0 -0
  202. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/command-system-architecture.md +0 -0
  203. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/creating-custom-commands.md +0 -0
  204. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/hatch-build-system.md +0 -0
  205. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/performance-optimizations.md +0 -0
  206. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/development/prompt-principles.md +0 -0
  207. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/ui/ui-architecture.md +0 -0
  208. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/user/commands.md +0 -0
  209. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/user/getting-started.md +0 -0
  210. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/documentation/user/tools.md +0 -0
  211. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/memory-bank/research/2025-09-07_21-13-37_agent_loop_architecture.md +0 -0
  212. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/pytest.ini +0 -0
  213. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/check-file-length.sh +0 -0
  214. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/download_ripgrep.py +0 -0
  215. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/install_linux.sh +0 -0
  216. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/playwright_cache.py +0 -0
  217. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/setup_dev_env.sh +0 -0
  218. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/startup_timer.py +0 -0
  219. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/uninstall.sh +0 -0
  220. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/utils/vulture_whitelist.py +0 -0
  221. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/scripts/verify_dev_env.sh +0 -0
  222. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/setup.py +0 -0
  223. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/README.md +0 -0
  224. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/__init__.py +0 -0
  225. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/__init__.py +0 -0
  226. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/__init__.py +0 -0
  227. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/__init__.py +0 -0
  228. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/base.py +0 -0
  229. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/__init__.py +0 -0
  230. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/command_reload.py +0 -0
  231. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/conversation.py +0 -0
  232. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/debug.py +0 -0
  233. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/development.py +0 -0
  234. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/model.py +0 -0
  235. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/plan.py +0 -0
  236. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/quickstart.py +0 -0
  237. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/system.py +0 -0
  238. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/template.py +0 -0
  239. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/implementations/todo.py +0 -0
  240. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/registry.py +0 -0
  241. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/__init__.py +0 -0
  242. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/command.py +0 -0
  243. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/loader.py +0 -0
  244. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/processor.py +0 -0
  245. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/types.py +0 -0
  246. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/slash/validator.py +0 -0
  247. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/commands/template_shortcut.py +0 -0
  248. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/main.py +0 -0
  249. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl_components/__init__.py +0 -0
  250. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl_components/command_parser.py +0 -0
  251. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl_components/error_recovery.py +0 -0
  252. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl_components/output_display.py +0 -0
  253. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/cli/repl_components/tool_executor.py +0 -0
  254. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/configuration/__init__.py +0 -0
  255. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/configuration/defaults.py +0 -0
  256. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/configuration/models.py +0 -0
  257. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/configuration/settings.py +0 -0
  258. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/context.py +0 -0
  259. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/__init__.py +0 -0
  260. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/__init__.py +0 -0
  261. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/__init__.py +0 -0
  262. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/json_tool_parser.py +0 -0
  263. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/message_handler.py +0 -0
  264. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/result_wrapper.py +0 -0
  265. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/tool_buffer.py +0 -0
  266. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/tool_executor.py +0 -0
  267. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/agent_components/truncation_checker.py +0 -0
  268. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/agents/utils.py +0 -0
  269. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/background/__init__.py +0 -0
  270. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/background/manager.py +0 -0
  271. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/code_index.py +0 -0
  272. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/llm/__init__.py +0 -0
  273. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/logging/__init__.py +0 -0
  274. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/logging/config.py +0 -0
  275. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/logging/formatters.py +0 -0
  276. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/logging/handlers.py +0 -0
  277. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/logging/logger.py +0 -0
  278. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/__init__.py +0 -0
  279. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/agent_setup.py +0 -0
  280. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/base.py +0 -0
  281. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/config_setup.py +0 -0
  282. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/coordinator.py +0 -0
  283. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/environment_setup.py +0 -0
  284. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/git_safety_setup.py +0 -0
  285. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/setup/template_setup.py +0 -0
  286. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/state.py +0 -0
  287. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/token_usage/api_response_parser.py +0 -0
  288. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/token_usage/cost_calculator.py +0 -0
  289. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/token_usage/usage_tracker.py +0 -0
  290. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/core/tool_handler.py +0 -0
  291. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/exceptions.py +0 -0
  292. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/prompts/system.md.bak +0 -0
  293. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/py.typed +0 -0
  294. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/services/__init__.py +0 -0
  295. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/services/mcp.py +0 -0
  296. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/setup.py +0 -0
  297. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/templates/__init__.py +0 -0
  298. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/templates/loader.py +0 -0
  299. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/__init__.py +0 -0
  300. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/base.py +0 -0
  301. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/bash.py +0 -0
  302. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/exit_plan_mode.py +0 -0
  303. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/glob.py +0 -0
  304. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep.py +0 -0
  305. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep_components/__init__.py +0 -0
  306. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep_components/file_filter.py +0 -0
  307. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep_components/pattern_matcher.py +0 -0
  308. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep_components/result_formatter.py +0 -0
  309. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/grep_components/search_result.py +0 -0
  310. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/list_dir.py +0 -0
  311. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/present_plan.py +0 -0
  312. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/bash_prompt.xml +0 -0
  313. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/exit_plan_mode_prompt.xml +0 -0
  314. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/glob_prompt.xml +0 -0
  315. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/grep_prompt.xml +0 -0
  316. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/list_dir_prompt.xml +0 -0
  317. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/present_plan_prompt.xml +0 -0
  318. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/read_file_prompt.xml +0 -0
  319. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/run_command_prompt.xml +0 -0
  320. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/todo_prompt.xml +0 -0
  321. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/update_file_prompt.xml +0 -0
  322. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/prompts/write_file_prompt.xml +0 -0
  323. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/read_file.py +0 -0
  324. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/run_command.py +0 -0
  325. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/schema_assembler.py +0 -0
  326. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/todo.py +0 -0
  327. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/update_file.py +0 -0
  328. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/write_file.py +0 -0
  329. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tools/xml_helper.py +0 -0
  330. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tutorial/__init__.py +0 -0
  331. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tutorial/content.py +0 -0
  332. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tutorial/manager.py +0 -0
  333. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/tutorial/steps.py +0 -0
  334. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/__init__.py +0 -0
  335. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/completers.py +0 -0
  336. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/console.py +0 -0
  337. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/constants.py +0 -0
  338. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/decorators.py +0 -0
  339. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/input.py +0 -0
  340. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/keybindings.py +0 -0
  341. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/lexers.py +0 -0
  342. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/logging_compat.py +0 -0
  343. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/model_selector.py +0 -0
  344. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/output.py +0 -0
  345. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/panels.py +0 -0
  346. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/prompt_manager.py +0 -0
  347. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/tool_descriptions.py +0 -0
  348. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/tool_ui.py +0 -0
  349. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/utils.py +0 -0
  350. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/ui/validators.py +0 -0
  351. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/__init__.py +0 -0
  352. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/api_key_validation.py +0 -0
  353. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/bm25.py +0 -0
  354. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/diff_utils.py +0 -0
  355. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/file_utils.py +0 -0
  356. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/import_cache.py +0 -0
  357. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/json_utils.py +0 -0
  358. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/message_utils.py +0 -0
  359. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/models_registry.py +0 -0
  360. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/retry.py +0 -0
  361. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/ripgrep.py +0 -0
  362. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/security.py +0 -0
  363. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/system.py +0 -0
  364. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/text_utils.py +0 -0
  365. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/token_counter.py +0 -0
  366. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/src/tunacode/utils/user_configuration.py +0 -0
  367. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/CHARACTERIZATION_README.md +0 -0
  368. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/CHARACTERIZATION_TEST_PLAN.md +0 -0
  369. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/CHARACTERIZATION_TEST_PLAN_AGENT_MAIN.md +0 -0
  370. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/CHARACTERIZATION_TEST_PLAN_COMMANDS.md +0 -0
  371. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/FILE_OPERATIONS_TEST_GUIDE.md +0 -0
  372. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/__init__.py +0 -0
  373. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/__init__.py +0 -0
  374. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/conftest.py +0 -0
  375. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/test_agent_creation.py +0 -0
  376. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/test_json_tool_parsing.py +0 -0
  377. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/test_process_node.py +0 -0
  378. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/test_process_request.py +0 -0
  379. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/agent/test_tool_message_patching.py +0 -0
  380. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/background/test_background_edge_cases.py +0 -0
  381. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/background/test_cleanup.py +0 -0
  382. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/background/test_task_cancellation.py +0 -0
  383. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/background/test_task_creation.py +0 -0
  384. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/background/test_task_execution.py +0 -0
  385. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/code_index/test_cache_management.py +0 -0
  386. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/code_index/test_file_scanning.py +0 -0
  387. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/code_index/test_index_building.py +0 -0
  388. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/code_index/test_search_operations.py +0 -0
  389. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/code_index/test_symbol_extraction.py +0 -0
  390. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/commands/__init__.py +0 -0
  391. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/commands/test_init_command.py +0 -0
  392. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/conftest.py +0 -0
  393. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/README.md +0 -0
  394. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/__init__.py +0 -0
  395. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/test_context_acceptance.py +0 -0
  396. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/test_context_integration.py +0 -0
  397. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/test_context_loading.py +0 -0
  398. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/context/test_tunacode_logging.py +0 -0
  399. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_command_parsing.py +0 -0
  400. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_error_handling.py +0 -0
  401. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_escape_key_behavior.py +0 -0
  402. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_input_handling.py +0 -0
  403. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_keyboard_interrupts.py +0 -0
  404. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_multiline_input.py +0 -0
  405. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_output_display_logic.py +0 -0
  406. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_repl_initialization.py +0 -0
  407. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/repl/test_session_flow.py +0 -0
  408. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/services/test_error_recovery.py +0 -0
  409. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/services/test_llm_routing.py +0 -0
  410. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/services/test_mcp_integration.py +0 -0
  411. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/services/test_service_lifecycle.py +0 -0
  412. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_agent_tracking.py +0 -0
  413. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_message_history.py +0 -0
  414. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_permissions.py +0 -0
  415. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_session_management.py +0 -0
  416. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_state_initialization.py +0 -0
  417. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/state/test_user_config.py +0 -0
  418. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/test_characterization_commands.py +0 -0
  419. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/test_characterization_grep.py +0 -0
  420. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/test_characterization_repl.py +0 -0
  421. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_async_ui.py +0 -0
  422. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_console_output.py +0 -0
  423. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_diff_display.py +0 -0
  424. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_prompt_rendering.py +0 -0
  425. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_spinner_messages.py +0 -0
  426. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/ui/test_tool_confirmations.py +0 -0
  427. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/utils/test_expand_file_refs.py +0 -0
  428. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/utils/test_file_operations.py +0 -0
  429. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/utils/test_git_commands.py +0 -0
  430. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/utils/test_token_counting.py +0 -0
  431. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/characterization/utils/test_utils_edge_cases.py +0 -0
  432. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/conftest.py +0 -0
  433. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_agent_output_formatting.py +0 -0
  434. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_command_parser_retry.py +0 -0
  435. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_completion_detection.py +0 -0
  436. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_glob_phase3.py +0 -0
  437. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_json_concatenation_recovery.py +0 -0
  438. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_json_retry.py +0 -0
  439. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_logging_config.py +0 -0
  440. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_onboarding_features.py +0 -0
  441. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_phase2_type_hints.py +0 -0
  442. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_plan_mode.py +0 -0
  443. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_prompt_injection.py +0 -0
  444. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_security.py +0 -0
  445. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_slash_commands_comprehensive.py +0 -0
  446. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_slash_commands_functional.py +0 -0
  447. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_slash_commands_integration.py +0 -0
  448. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_slash_commands_isolated.py +0 -0
  449. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_spinner_updates.py +0 -0
  450. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/test_tool_batching_retry.py +0 -0
  451. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tests/unit/test_constants_enums.py +0 -0
  452. {tunacode_cli-0.0.72 → tunacode_cli-0.0.75}/tools/emoji_cleaner.py +0 -0
@@ -0,0 +1,106 @@
1
+ ---
2
+ allowed-tools: View, Bash(git:*), Bash(grep:*), Bash(jq:*), Bash(python:*), Bash(pytest:*), Bash(coverage:*), Bash(mypy:*), Bash(trivy:*), Bash(hadolint:*), Bash(dive:*), Bash(npm:*), Bash(lighthouse:*), Bash(kubectl:*), Bash(helm:*), Bash(curl:*), Bash(gh:*)
3
+ description: READ-ONLY QA focused FIRST on code-logic correctness of recent changes. Outlines issues/smells/antipatterns and risks. NO CODING, NO EDITS, NO FIXES.
4
+ writes-to: memory-bank/QA/
5
+ hard-guards:
6
+ - Do not modify source files
7
+ - Do not create commits/branches/PRs
8
+ - Do not run formatters/linters in write mode
9
+ - Produce findings & recommendations ONLY (outline, not code)
10
+ ---
11
+
12
+ # QA (Read-Only) — Code Logic First
13
+
14
+ Run a post-execution QA review for: $ARGUMENTS (topic OR path to plan/report)
15
+
16
+ ## Initial Prompt (to user)
17
+ "I'm starting a **read-only** QA review focused on the **code logic of recent changes**. I will outline potential logic issues, smells/anti-patterns, and security concerns. **No coding or fixes will be performed.** Please provide a topic or the path to the plan/report under memory-bank/execute/."
18
+
19
+ ## Strict Ordering
20
+ 1) Locate artifacts → 2) Build change set (commit range & diff) → 3) Code-logic review (primary) → 4) Tests & contracts review → 5) Secondary scans (optional, read-only) → 6) Synthesize findings → 7) Save QA report
21
+
22
+ ## Step 1 — Locate Inputs
23
+ - Resolve target by $ARGUMENTS:
24
+ - If path given: use it.
25
+ - If topic: select newest matching under `memory-bank/plan/` and `memory-bank/execute/`.
26
+ - Read FULLY (no offsets):
27
+ - Plan: `memory-bank/plan/...`
28
+ - Execution Log: `memory-bank/execute/*_log.md` (if exists)
29
+ - Execution Report: `memory-bank/execute/*_report.md` (if exists)
30
+
31
+ ## Step 2 — Build the Change Set (read-only)
32
+ - Determine commit range:
33
+ - Start: from plan/log (`start_commit`) if available; else last tagged release or previous commit.
34
+ - End: current HEAD (or end_commit in report).
35
+ - Capture diffs:
36
+ - !`git diff --name-status <start>..<end>`
37
+ - !`git diff --stat <start>..<end>`
38
+ - !`git log --oneline <start>..<end>`
39
+ - Extract changed files (focus on src/ and tests/), group by module/package.
40
+ - For each changed file:
41
+ - !`git diff <start>..<end> -- <file>` (context for evidence referencing only)
42
+
43
+ ## Step 3 — Code-Logic Review (PRIMARY)
44
+ Evaluate only the changed areas, emphasizing control/data flow correctness.
45
+
46
+ Checklist (apply per module/file/function changed):
47
+ - **Inputs & Preconditions**: validation, type assumptions, null/empty, boundary values.
48
+ - **Control Flow**: branching completeness, unreachable paths, fall-through, early returns.
49
+ - **Data Flow**: invariant preservation, mutation scope, shared state leakage, aliasing risks.
50
+ - **State & Transactions**: idempotency, atomicity, rollback behavior, race/concurrency hazards.
51
+ - **Error Handling**: specific exceptions vs broad catches, retry/backoff, dead-letter paths.
52
+ - **Contracts**: pre/post-conditions, schema compatibility (request/response, DTOs), versioning.
53
+ - **Time/Locale**: timezones, monotonic clocks, DST, parsing/formatting stability.
54
+ - **Resource Hygiene**: file/conn lifecycle, timeouts, cancellation propagation.
55
+ - **Edge Cases**: empty sets, max sizes, pagination, partial failure scenarios.
56
+ - **Public Surface**: backward compatibility, OpenAPI/types alignment.
57
+
58
+ ## Step 4 — Tests & Contracts (READ-ONLY)
59
+ - Map **each changed public function/endpoint** to test coverage:
60
+ - !`pytest -q` (read result), !`coverage run -m pytest && coverage report --format=markdown`
61
+ - Identify **missing cases**: error branches, boundary conditions, property invariants, mutation tests.
62
+ - Contract/API checks (if applicable):
63
+ - OpenAPI/JSON schema drift vs implementations.
64
+ - Client compatibility (breaking field/enum changes).
65
+
66
+ ## Step 5 — Secondary Scans (Optional, Read-Only)
67
+ - Static/security summaries (no write/auto-fix):
68
+ - `mypy` (report only), `bandit -r . -q || true`, `pip-audit` / `npm audit --json | jq`.
69
+ - Container & deploy context (if relevant): `hadolint`, `trivy`, `dive` summaries.
70
+ - Web (if staged): brief Lighthouse JSON summary for **regressions** only.
71
+
72
+ ## Step 6 — Write QA Report
73
+ Create `memory-bank/QA/YYYY-MM-DD_HH-MM-SS_<topic>_qa.md` with:
74
+
75
+ ---
76
+ title: "<topic> – QA Report (Code Logic First)"
77
+ phase: QA
78
+ date: "{{timestamp}}"
79
+ owner: "{{agent_or_user}}"
80
+ sources:
81
+ plan: "memory-bank/plan/<file>.md"
82
+ execution_log: "memory-bank/execute/<logfile>.md"
83
+ execution_report: "memory-bank/execute/<reportfile>.md"
84
+ commit_range: "<start>..<end>"
85
+ policy: "READ-ONLY QA — NO CODING OR CHANGES"
86
+ scope: "Changed code only (logic-first), plus impacted contracts/tests"
87
+ ---
88
+
89
+ ## 0. Summary Verdict
90
+ - Overall: ✅ Accept | ⚠️ Accept w/ Conditions | ❌ Reject
91
+ - Top logic risks (3–5 bullets)
92
+ - Required follow-ups (non-prescriptive)
93
+
94
+ ## 1. Change Summary (What changed)
95
+ - Commit range: <start>..<end>
96
+ - Diffstat: <files/insertions/deletions>
97
+ - Modules touched:
98
+ - `<pkg/module>` — files changed: n (list)
99
+ - User-visible behavior changes (from plan/report): bullets
100
+
101
+ ## 2. Code-Logic Findings (by severity)
102
+ > Each item includes **Evidence (file:lines, commit)**, **Impact**, **Likelihood**, **Suggested Remediation (outline only)**, **Owner**, **Due-by**.
103
+
104
+ ### Critical
105
+ - [CR-1] <title> — Evidence: `<file>#Lx-Ly` (commit `<sha>`), Impact: …, Likelihood: …
106
+ ### High
@@ -0,0 +1,114 @@
1
+ ---
2
+ allowed-tools: View, Bash(git:*), Bash(jq:*), Bash(curl:*), Bash(gh:*), Bash(python:*), Bash(npm:*), Bash(kubectl:*), Bash(helm:*)
3
+ description: Synthesizes final documentation from Research → Plan → Execute → QA. Produces a clean developer-facing doc with context, decisions, and next steps.
4
+ writes-to: memory-bank/documentation
5
+ hard-guards:
6
+ - Do not modify or rewrite research/plan/execute/QA artifacts
7
+ - Produce a new synthesis doc only
8
+ - No coding, fixes, or commits
9
+ ---
10
+
11
+ # Documentation Synthesis (Final)
12
+
13
+ Create synthesized documentation for: $ARGUMENTS
14
+ (topic OR path to QA report)
15
+
16
+ ## Initial Prompt
17
+ "I'm creating a **final documentation synthesis** that integrates Research, Plan, Execution, and QA. This is meant to prep the next developer to continue the work smoothly."
18
+
19
+ ---
20
+
21
+ ## Step 1 — Locate Inputs
22
+ - If `$ARGUMENTS` is a topic: find the newest chain in memory-bank (`research/`, `plan/`, `execute/`, `QA/`).
23
+ - If `$ARGUMENTS` is a path to QA report: trace its linked plan, log, report, and research.
24
+ - Always read FULLY (no offsets):
25
+ - Research doc
26
+ - Plan doc
27
+ - Execution Log
28
+ - Execution Report
29
+ - QA Report
30
+
31
+ ---
32
+
33
+ ## Step 2 — Extract Metadata
34
+ - Topic, dates, owners from each doc.
35
+ - Commit ranges (from plan + execute).
36
+ - Verdict (from QA).
37
+ - Key tags, milestones, decisions.
38
+
39
+ ---
40
+
41
+ ## Step 3 — Write Synthesis Doc
42
+ Create `memory-bank/documentation/YYYY-MM-DD_HH-MM-SS_<topic>_synthesis.md`:
43
+
44
+ ```markdown
45
+ ---
46
+ title: "<topic> – Documentation Synthesis"
47
+ phase: Documentation
48
+ date: "{{timestamp}}"
49
+ owner: "{{agent_or_user}}"
50
+ sources:
51
+ research: "memory-bank/research/<file>.md"
52
+ plan: "memory-bank/plan/<file>.md"
53
+ execute_log: "memory-bank/execute/<log>.md"
54
+ execute_report: "memory-bank/execute/<report>.md"
55
+ qa: "memory-bank/QA/<file>.md"
56
+ commit_range: "<start>..<end>"
57
+ verdict: "<QA verdict>"
58
+ ---
59
+
60
+ # Documentation Synthesis – <topic>
61
+
62
+ ## 0. Executive Summary
63
+ - One-paragraph overview of what was done and why
64
+ - QA verdict + top risks
65
+ - Next action for future dev
66
+
67
+ ## 1. Context & Research
68
+ - Problem statement (from research)
69
+ - Key findings & gaps identified
70
+ - Linked references (permalinks, docs)
71
+
72
+ ## 2. Plan Highlights
73
+ - Scope & assumptions
74
+ - Major milestones
75
+ - Deliverables & acceptance criteria
76
+ - Risks & mitigations
77
+
78
+ ## 3. Execution Summary
79
+ - Commit range: `<start>..<end>`
80
+ - Work done by milestone
81
+ - Key tests, builds, deployments
82
+ - Deviations from plan (if any)
83
+ - Success criteria achieved vs missed
84
+
85
+ ## 4. QA Findings
86
+ - Overall verdict: ✅ / ⚠️ / ❌
87
+ - Critical/high issues summary
88
+ - Smells & anti-patterns observed
89
+ - Ship conditions (if ⚠️)
90
+
91
+ ## 5. Lessons Learned
92
+ - What worked well
93
+ - What caused friction
94
+ - Reusable patterns / gotchas
95
+
96
+ ## 6. Next Steps for Developers
97
+ - Open follow-ups / tech debt
98
+ - Areas needing re-review
99
+ - Suggested tasks for next cycle
100
+ - Monitoring/observability items to watch
101
+
102
+ ## 7. References
103
+ - Direct links to all artifacts
104
+ - GitHub permalinks (commits, files)
105
+ - Tickets/Issues
106
+
107
+
108
+ DEPLOY 3 paralel SUBAGENTS at most or one IF needed you can also you 1 or 2 use you best judgment
109
+
110
+ - codebase-analyzer to outline your code changes in relation to the codebase
111
+
112
+ - antipattern-sniffer any new code MUST be evaluted by this subagent
113
+
114
+ - context-synthesis a agent to gather context as needed
@@ -0,0 +1,176 @@
1
+ ---
2
+ allowed-tools: Edit, View, Bash(git:*), Bash(python:*), Bash(pytest:*), Bash(mypy:*), Bash(black:*), Bash(coverage:*), Bash(mutmut:*), Bash(docker:*), Bash(trivy:*), Bash(hadolint:*), Bash(dive:*), Bash(npm:*), Bash(kubectl:*), Bash(helm:*), Bash(lighthouse:*), Bash(jq:*), Bash(curl:*), Bash(gh:*)
3
+ description: Executes a plan with gated checks, atomic commits, build/package/deploy, full validation, and immutable execution logs
4
+ writes-to: memory-bank/execute/
5
+ ---
6
+
7
+ # Execute Plan
8
+
9
+ Execute the implementation according to: $ARGUMENTS (path to a Plan doc)
10
+
11
+ ## Initial Setup (prompt)
12
+ "I'm ready to execute. Please provide the path to the Plan document in memory-bank/plan/."
13
+
14
+
15
+
16
+ ## Strict Ordering
17
+ 1) Read plan FULLY → 2) Pre-flight checks → 3) Implement by tasks → 4) Validate gates → 5) Package/Deploy → 6) Post-deploy verification → 7) Persist log
18
+
19
+ ## Step 1 — Read Plan & Lock Context
20
+ - Read FULL `memory-bank/plan/<file>.md`.
21
+ - Extract: milestones, tasks (IDs), acceptance tests, gates, rollout, success metrics.
22
+
23
+ ## Step 2 — Pre-Flight Snapshot
24
+ Record into execution log header:
25
+ - Active branch: !`git branch --show-current`
26
+ - ROLL BACK POINT: YOU MUST CREATE A GIT COMIMT WITH A ROLLBACK POINT.
27
+
28
+ Create `memory-bank/execute/YYYY-MM-DD_HH-MM-SS_<topic>.md`:
29
+
30
+ You MUST keep this SINGULAR documen in synch as you work
31
+
32
+ DO NOT MAKE MULTIPLE DOCUMENT WILL BE YOUR LOG FOR THE EXCUTION
33
+
34
+ ---
35
+ title: "<topic> – Execution Log"
36
+ phase: Execute
37
+ date: "{{timestamp}}"
38
+ owner: "{{agent_or_user}}"
39
+ plan_path: "memory-bank/plan/<file>.md"
40
+ start_commit: "<short_sha>"
41
+ env: {target: "local|staging|prod", notes: ""}
42
+ ---
43
+
44
+ ## Pre-Flight Checks
45
+ - DoR satisfied?
46
+ - Access/secrets present?
47
+ - Fixtures/data ready?
48
+ - If any **NO** → abort and append **Blockers** section.
49
+
50
+ ## Step 3 — Task-By-Task Implementation (Atomic)
51
+ For each Task (in plan order):
52
+ 1. Create/confirm rollback
53
+ 2. Implement minimal slice aligned with acceptance tests
54
+ 3. Run local quality bar
55
+ 4. Commit atomic change with Task ID in message
56
+ 5. Update **Execution Log** with:
57
+ - Files touched, commands, outputs (trimmed), coverage deltas, notes
58
+
59
+ ## Step 4 — Quality Gates (Enforced)
60
+ - Gate C (Pre-merge):
61
+ - Tests pass
62
+ - Coverage ≥ plan threshold (e.g., 90%+ new/changed lines)
63
+ - Type checks clean
64
+ - Linters OK
65
+
66
+ - If any gate FAILS → record failure + remediation then dont roll back just stop and ask the user for next steps
67
+
68
+
69
+
70
+ ## Step 5 — Permalinks & Artifacts
71
+ - If commits pushed:
72
+ - !`gh repo view --json owner,name`
73
+ - Attach permalinks to PRs/commits and to artifacts (build logs, coverage HTML)
74
+ - Persist artifact pointers in **Execution Log**.
75
+
76
+ ## Execution Log Template (append as you go)
77
+ ### Task <ID> – <Summary>
78
+ - Commit: `<short_sha>`
79
+ - Commands:
80
+ - `<cmd>` → `<trimmed output>`
81
+ - Tests/coverage:
82
+ - `<result>`
83
+ - Notes/decisions:
84
+ - `<why>`
85
+
86
+ ### Gate Results
87
+ - Gate C: pass/fail + evidence
88
+ - Security: pass/fail + evidence
89
+ - Perf/PWA (if applicable): metrics
90
+
91
+ ### Deployment Notes
92
+ - Staging → Prod timestamps
93
+ - Smoke/E2E results
94
+ - SLO/SLA snapshot
95
+
96
+ ### Post-Deploy Verification
97
+ - Error rates, latencies, dashboards screenshots/links
98
+ - On-call runbook links
99
+
100
+ ### Follow-ups
101
+ - TODOs, tech debt, docs to update
102
+
103
+ ## Success Criteria (auto-check)
104
+ - All planned gates passed
105
+ - Rollout completed or rollback clean
106
+ - KPIs/SLOs within thresholds
107
+ - Execution log saved to `memory-bank/execute/` and linked back to Plan
108
+
109
+ # Execution Report – <topic>
110
+
111
+ **Date:** {{date}}
112
+ **Plan Source:** <plan file>
113
+ **Execution Log:** <log file>
114
+
115
+ ## Overview
116
+ - Environment: local|staging|prod
117
+ - Start commit: <sha>
118
+ - End commit: <sha>
119
+ - Duration: Xh Ym
120
+ - Branch: <branch>
121
+ - Release: <tag|helm release>
122
+
123
+ ## Outcomes
124
+ - Tasks attempted: N
125
+ - Tasks completed: N
126
+ - Rollbacks: Y/N
127
+ - Final status: ✅ Success | ❌ Failure
128
+
129
+ ## Gate Results
130
+ - Tests: pass/fail summary
131
+ - Coverage: X% (target Y%)
132
+ - Type checks: pass/fail
133
+ - Security scans: # issues
134
+ - Perf/PWA scores: numbers
135
+
136
+ ## Issues & Resolutions
137
+ - <task ID> – <issue> → <fix>
138
+ - <task ID> – <issue> → <rollback>
139
+
140
+ ## Deployment Notes
141
+ - Staging deploy: success/fail
142
+ - Prod deploy: success/fail
143
+ - Smoke/E2E results
144
+ - Observability checks
145
+
146
+ ## Success Criteria
147
+ - Which criteria met vs missed
148
+
149
+ ## Next Steps
150
+ - Follow-ups, tech debt, docs to update
151
+
152
+ ## References
153
+ - Plan doc
154
+ - Execution log
155
+ - GitHub permalinks
156
+
157
+
158
+ CLEARLY SUMMARIZE WHA YOU DID AND TOUCHED
159
+
160
+ YOU ARE CODING AS YOU UPDATE THIS DOCUMENT
161
+
162
+ SAVE THE DOCUMENT YOU MUST SAVE IN THE CORRECT FORMAT FOR THE NEXT DEV
163
+
164
+ ALWAYS FOLLOW BEST PRACTISES
165
+
166
+ THIS IS THE MOST IMPORTANT PART OF THIS PROMPT:MAKE THE DOCUMENT AND UPDATE AS YOU WORK.
167
+
168
+ AFTER THE WORK IS DONE
169
+
170
+ DEPLOY 3 SUBAGENTS at most
171
+
172
+ - codebase-analyzer to outline your code changes in relation to the codebase
173
+
174
+ - antipattern-sniffer any new code MUST be evaluted by this subagent
175
+
176
+ - context-synthesis a agent to gather context as needed
@@ -0,0 +1,112 @@
1
+ ---
2
+ allowed-tools: Edit, View, Bash(git:*), Bash(python:*), Bash(pytest:*), Bash(mypy:*), Bash(black:*), Bash(npm:*), Bash(jq:*)
3
+ description: Generates a concrete implementation plan from a research doc, with milestones, tasks, gates, risks, DoD/DoR, and acceptance tests
4
+ writes-to: memory-bank/plan/
5
+ ---
6
+
7
+ # Plan From Research
8
+
9
+ Create an execution-ready implementation plan for: $ARGUMENTS
10
+
11
+ ## Initial Setup (prompt)
12
+ "I'm ready to plan the work. Please provide either the path to the research document in memory-bank/research/ or a short topic to find it."
13
+
14
+ ## Strict Ordering
15
+ 1) Read research doc FULLY → 2) Validate freshness → 3) Plan milestones/tasks → 4) Define gates/criteria → 5) Persist plan
16
+
17
+ ## Step 1 — Input & Context
18
+ - If path provided: Read FULL file (no offsets) from `memory-bank/research/`.
19
+ - If topic provided: grep/select the latest `memory-bank/research/*topic*.md` and read FULLY.
20
+ - Extract: scope, constraints, key files, unresolved questions, suggested solutions, references.
21
+
22
+ ## Step 2 — Freshness & Diff Check
23
+ - Capture current git state:
24
+ - !`git rev-parse --short HEAD`
25
+ - !`git status --porcelain`
26
+ - If code changed since research doc commit:
27
+ - Append **"Drift Detected"** note and mark items requiring re-verification.
28
+
29
+ ## Step 3 — Planning Decomposition
30
+ Create `memory-bank/plan/YYYY-MM-DD_HH-MM-SS_<topic>.md` with this exact structure:
31
+
32
+ ---
33
+ title: "<topic> – Plan"
34
+ phase: Plan
35
+ date: "{{timestamp}}"
36
+ owner: "{{agent_or_user}}"
37
+ parent_research: "memory-bank/research/<file>.md"
38
+ git_commit_at_plan: "<short_sha>"
39
+ tags: [plan, <topic>]
40
+ ---
41
+
42
+ ## Goal
43
+ - Crisp statement of outcomes and non-goals.
44
+ - MOST IMPORTANT SETANCE IN THIS PROMPT: WE MUST CLARIFY THE SINGULAR GOAL AND FOCUS ON EXCUTION.
45
+
46
+ ## Scope & Assumptions
47
+ - In / Out of scope
48
+ - Explicit assumptions & constraints
49
+
50
+ ## Deliverables (DoD)
51
+ - Artifacts with measurable acceptance criteria (tests, docs, endpoints, CLIs, dashboards).
52
+
53
+ ## Readiness (DoR)
54
+ - Preconditions, data, access, envs, fixtures required to start.
55
+
56
+ ## Milestones
57
+ - M1: Architecture & skeleton
58
+ - M2: Core feature(s)
59
+ - M3: Tests & hardening
60
+ - M4: Packaging & deploy
61
+ - M5: Observability & docs
62
+
63
+ ## Work Breakdown (Tasks)
64
+ - Task ID, summary, owner, estimate, dependencies, target milestone
65
+ - For each task: **Acceptance Tests** (bullet list), **Files/Interfaces** touched
66
+
67
+ ## Risks & Mitigations
68
+ - Risk → Impact → Likelihood → Mitigation → Trigger
69
+
70
+ ## Test Strategy
71
+ - Unit/Property/Mutation
72
+ - Integration/Contract
73
+ - E2E/Smoke/Perf (thresholds)
74
+
75
+ ## Security & Compliance
76
+ - Secret handling, authZ/authN, threat model notes, scans to run
77
+
78
+ ## Observability
79
+ - Metrics, logs, traces to emit; dashboards to add/modify
80
+
81
+ ## Rollout Plan
82
+ - Env order, migration steps, feature flags, rollback triggers
83
+
84
+ ## Validation Gates
85
+ - Gate A (Design sign-off)
86
+ - Gate B (Test plan sign-off)
87
+ - Gate C (Pre-merge quality bar)
88
+ - Gate D (Pre-deploy checks)
89
+
90
+ ## Success Metrics
91
+ - KPIs / SLOs, error budgets, perf ceilings
92
+
93
+ ## References
94
+ - Research doc sections, GitHub permalinks, tickets
95
+
96
+ ## Agents
97
+
98
+ - you can deploy maxium TWO subagents
99
+ - context-synthesis subagent
100
+ - codebase-analyzer subagent
101
+
102
+ ## Final Gate
103
+ - Output a short summary with: plan path, milestones count, gates, and next command hint: `/execute "<plan_path>"`
104
+
105
+ - this mustbe be a singualr focused plan, we cna have ONE other option in the same document but in general we MUST have a singular focused plan on execution.
106
+
107
+
108
+ DO NOT CODE YOU WILL BE PUNISHED FOR CODING
109
+
110
+ SAVE THE DOCUMENT YOU MUST SAVE IN THE CORRECT FORMAT FOR THE NEXT DEV
111
+
112
+ ALWAYS FOLLOW BEST PRACTISES
@@ -0,0 +1,148 @@
1
+ # Research Codebase
2
+
3
+ You are tasked with conducting comprehensive research across the codebase to answer user questions by spawning parallel sub-agents and synthesizing their findings. All research documents must be stored in the `memory-bank/research/` directory, following the YAML frontmatter and content structure below.
4
+
5
+ ## Initial Setup:
6
+
7
+ When this command is invoked, respond with:
8
+ ```
9
+ I'm ready to research the codebase. Please provide your research question or area of interest, and I'll analyze it thoroughly by exploring relevant components and connections.
10
+ ```
11
+
12
+ Then wait for the user's research query.
13
+
14
+ ## Steps to follow after receiving the research query:
15
+
16
+ 1. **Read any directly mentioned files first:**
17
+ - If the user mentions specific files (tickets, docs, JSON), read them FULLY first
18
+ - **IMPORTANT**: Use the Read tool WITHOUT limit/offset parameters to read entire files
19
+ - **CRITICAL**: Read these files yourself in the main context before spawning any sub-tasks
20
+ - This ensures you have full context before decomposing the research
21
+
22
+ 2. **Analyze and decompose the research question:**
23
+ - Break down the user's query into composable research areas
24
+ - Take time to ultrathink about the underlying patterns, connections, and architectural implications the user might be seeking
25
+ - Identify specific components, patterns, or concepts to investigate
26
+ - Create a research plan using TodoWrite to track all subtasks
27
+ - Consider which directories, files, or architectural patterns are relevant
28
+
29
+ 3. **Spawn parallel sub-agent tasks for comprehensive research:**
30
+ - Strictly limit to a maximum of 3 Task agents per research query. You may not spawn more than two sub-agents for any research query, regardless of the number of aspects or subtasks. This is a hard limit.
31
+ - Only reference files and resources that are part of the current codebase or workspace. Do not reference or include any files, tickets, or resources that are external or not present in this workspace.
32
+
33
+
34
+ YOU MUST DEPLOY THESE 3 IN PARELLEL
35
+ YOU WILL BE PUNISHED FOR NOT DEPLOYING SUBAGENT
36
+
37
+ **For codebase research:**
38
+ - Use the **codebase-locator** agent to find WHERE files and components live
39
+ - Use the **codebase-analyzer** agent to understand HOW specific code works
40
+ - Use the **context-synthesis** agent to find context as needed
41
+
42
+ The key is to use these agents intelligently:
43
+ - Start with locator agents to find what exists
44
+ - Then use analyzer agents on the most promising findings
45
+ - Run agents in parallel only if they are searching for different things, and never exceed two concurrent sub-agents.
46
+ - Each agent knows its job - just tell it what you're looking for
47
+ - Don't write detailed prompts about HOW to search - the agents already know
48
+
49
+ 4. **Wait for all sub-agents to complete and synthesize findings:**
50
+ - IMPORTANT: Wait for ALL sub-agent tasks to complete before proceeding
51
+ - Compile all sub-agent results (both codebase and thoughts findings)
52
+ - Prioritize live codebase findings as primary source of truth
53
+ - Use thoughts/ findings as supplementary historical context
54
+ - Connect findings across different components
55
+ - Include specific file paths and line numbers for reference
56
+ - Verify all thoughts/ paths are correct (e.g., thoughts/allison/ not thoughts/shared/ for personal files)
57
+ - Highlight patterns, connections, and architectural decisions
58
+ - Answer the user's specific questions with concrete evidence
59
+
60
+ 5. **Gather metadata for the research document:**
61
+ - Filename: `memory-bank/research/YYYY-MM-DD_HH-MM-SS_topic.md`
62
+
63
+ 6. **Generate research document:**
64
+ - Use the metadata gathered in step 4
65
+ - Structure the document in the following format and store in `memory-bank/research/`:
66
+ ```markdown
67
+ # Research – <TASK_NAME>
68
+ **Date:** {{date}}
69
+ **Owner:** {{agent or user}}
70
+ **Phase:** Research
71
+
72
+ ## Goal
73
+ Summarize all *existing knowledge* before any new work.
74
+
75
+
76
+ - Additional Search:
77
+ - `grep -ri "<term>" .claude/`
78
+
79
+ ## Findings
80
+ - Relevant files & why they matter:
81
+ - `<file>` → `<reason>`
82
+ - `<file>` → `<reason>`
83
+
84
+ ## Key Patterns / Solutions Found
85
+ - `<pattern>`: short description, relevance
86
+
87
+ ## Knowledge Gaps
88
+ - Missing context or details for next phase
89
+
90
+ ## References
91
+ - Links or filenames for full review
92
+ ```
93
+
94
+ 7. **Add GitHub permalinks (if applicable):**
95
+ - Check if on main branch or if commit is pushed: `git branch --show-current` and `git status`
96
+ - If on main/master or pushed, generate GitHub permalinks:
97
+ - Get repo info: `gh repo view --json owner,name`
98
+ - Create permalinks: `https://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}`
99
+ - Replace local file references with permalinks in the document
100
+ - For research documents, update references to use `memory-bank/research/` paths where applicable.
101
+
102
+
103
+
104
+ 9. **Handle follow-up questions:**
105
+ - If the user has follow-up questions, append to the same research document
106
+ - Update the frontmatter fields `last_updated` and `last_updated_by` to reflect the update
107
+ - Add `last_updated_note: "Added follow-up research for [brief description]"` to frontmatter
108
+ - Add a new section: `## Follow-up Research [timestamp]`
109
+ - Spawn new sub-agents as needed for additional investigation
110
+ - Continue updating the document and syncing
111
+
112
+ ## Important notes:
113
+ - Always use parallel Task agents to maximize efficiency and minimize context usage
114
+ - Always run fresh codebase research - never rely solely on existing research documents
115
+ - The thoughts/ directory provides historical context to supplement live findings
116
+ - Focus on finding concrete file paths and line numbers for developer reference
117
+ - Research documents should be self-contained with all necessary context
118
+ - Each sub-agent prompt should be specific and focused on read-only operations
119
+ - Consider cross-component connections and architectural patterns
120
+ - Include temporal context (when the research was conducted)
121
+ - Link to GitHub when possible for permanent references
122
+ - Keep the main agent focused on synthesis, not deep file reading
123
+ - Encourage sub-agents to find examples and usage patterns, not just definitions
124
+ - Explore all of thoughts/ directory, not just research subdirectory
125
+ - **File reading**: Always read mentioned files FULLY (no limit/offset) before spawning sub-tasks
126
+ - **Critical ordering**: Follow the numbered steps exactly
127
+ - ALWAYS read mentioned files first before spawning sub-tasks (step 1)
128
+ - ALWAYS wait for all sub-agents to complete before synthesizing (step 4)
129
+ - ALWAYS gather metadata before writing the document (step 5 before step 6)
130
+ - NEVER write the research document with placeholder values
131
+ - **Path handling**: The thoughts/searchable/ directory contains hard links for searching
132
+ - Always document paths by removing ONLY "searchable/" - preserve all other subdirectories
133
+
134
+ - NEVER change allison/ to shared/ or vice versa - preserve the exact directory structure
135
+ - This ensures paths are correct for editing and navigation
136
+ - **Frontmatter consistency**:
137
+ - Always include frontmatter at the beginning of research documents
138
+ - Keep frontmatter fields consistent across all research documents
139
+ - Update frontmatter when adding follow-up research
140
+ - Use snake_case for multi-word field names (e.g., `last_updated`, `git_commit`)
141
+ - Tags should be relevant to the research topic and components studied
142
+
143
+
144
+ DO NOT CODE YOU WILL BE PUNISHED FOR CODING
145
+
146
+ SAVE THE DOCUMENT YOU MUST SAVE IN THE CORRECT FORMAT FOR THE NEXT DEV
147
+
148
+ ALWAYS FOLLOW BEST PRACTISES