sliceagent 0.1.6__tar.gz → 0.1.7__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 (205) hide show
  1. {sliceagent-0.1.6 → sliceagent-0.1.7}/CHANGELOG.md +7 -0
  2. {sliceagent-0.1.6 → sliceagent-0.1.7}/PKG-INFO +1 -1
  3. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/__init__.py +1 -1
  4. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/tui.py +1 -2
  5. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_config_journey.py +12 -0
  6. {sliceagent-0.1.6 → sliceagent-0.1.7}/.dockerignore +0 -0
  7. {sliceagent-0.1.6 → sliceagent-0.1.7}/.env.example +0 -0
  8. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  11. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/dependabot.yml +0 -0
  12. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/workflows/ci.yml +0 -0
  13. {sliceagent-0.1.6 → sliceagent-0.1.7}/.github/workflows/publish.yml +0 -0
  14. {sliceagent-0.1.6 → sliceagent-0.1.7}/.gitignore +0 -0
  15. {sliceagent-0.1.6 → sliceagent-0.1.7}/CODE_OF_CONDUCT.md +0 -0
  16. {sliceagent-0.1.6 → sliceagent-0.1.7}/CONTRIBUTING.md +0 -0
  17. {sliceagent-0.1.6 → sliceagent-0.1.7}/Dockerfile +0 -0
  18. {sliceagent-0.1.6 → sliceagent-0.1.7}/LICENSE +0 -0
  19. {sliceagent-0.1.6 → sliceagent-0.1.7}/NOTICE +0 -0
  20. {sliceagent-0.1.6 → sliceagent-0.1.7}/QUICKSTART.md +0 -0
  21. {sliceagent-0.1.6 → sliceagent-0.1.7}/README.md +0 -0
  22. {sliceagent-0.1.6 → sliceagent-0.1.7}/SECURITY.md +0 -0
  23. {sliceagent-0.1.6 → sliceagent-0.1.7}/examples/plugins/hello/__init__.py +0 -0
  24. {sliceagent-0.1.6 → sliceagent-0.1.7}/examples/plugins/hello/plugin.toml +0 -0
  25. {sliceagent-0.1.6 → sliceagent-0.1.7}/install.sh +0 -0
  26. {sliceagent-0.1.6 → sliceagent-0.1.7}/pyproject.toml +0 -0
  27. {sliceagent-0.1.6 → sliceagent-0.1.7}/scripts/gen_config_reference.py +0 -0
  28. {sliceagent-0.1.6 → sliceagent-0.1.7}/scripts/run_tests.sh +0 -0
  29. {sliceagent-0.1.6 → sliceagent-0.1.7}/sliceagent.toml.example +0 -0
  30. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/__main__.py +0 -0
  31. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/access.py +0 -0
  32. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/agents.py +0 -0
  33. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/background_review.py +0 -0
  34. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/binsniff.py +0 -0
  35. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/cli.py +0 -0
  36. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/clock.py +0 -0
  37. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/code_grep.py +0 -0
  38. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/code_index.py +0 -0
  39. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/config.py +0 -0
  40. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/context_overflow.py +0 -0
  41. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/envspec.py +0 -0
  42. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/errors.py +0 -0
  43. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/events.py +0 -0
  44. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/finding_types.py +0 -0
  45. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/flags.py +0 -0
  46. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/fuzzy.py +0 -0
  47. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/guardrails.py +0 -0
  48. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/guidance.py +0 -0
  49. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/hippocampus.py +0 -0
  50. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/hooks.py +0 -0
  51. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/interfaces.py +0 -0
  52. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/llm.py +0 -0
  53. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/loop.py +0 -0
  54. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/mcp_client.py +0 -0
  55. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/mcp_security.py +0 -0
  56. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/memory.py +0 -0
  57. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/metrics.py +0 -0
  58. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/model_catalog.py +0 -0
  59. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/monitor.py +0 -0
  60. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/neocortex.py +0 -0
  61. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/onboarding.py +0 -0
  62. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/oracle.py +0 -0
  63. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/pagetable.py +0 -0
  64. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/pfc.py +0 -0
  65. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/plugins.py +0 -0
  66. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/policy.py +0 -0
  67. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/procman.py +0 -0
  68. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/prompt.py +0 -0
  69. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/records.py +0 -0
  70. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/recovery.py +0 -0
  71. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/regions.py +0 -0
  72. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/registry.py +0 -0
  73. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/retriever.py +0 -0
  74. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/safety.py +0 -0
  75. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/sandbox.py +0 -0
  76. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/scheduler.py +0 -0
  77. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/search_index.py +0 -0
  78. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/seed.py +0 -0
  79. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/sensory_cortex.py +0 -0
  80. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/session.py +0 -0
  81. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/skill_provenance.py +0 -0
  82. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/skill_usage.py +0 -0
  83. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/skills.py +0 -0
  84. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/subagent.py +0 -0
  85. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/subdir_hints.py +0 -0
  86. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/swap.py +0 -0
  87. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/taskstate.py +0 -0
  88. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/telemetry.py +0 -0
  89. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/terminal.py +0 -0
  90. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/text_utils.py +0 -0
  91. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/tool_summary.py +0 -0
  92. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/tools.py +0 -0
  93. {sliceagent-0.1.6 → sliceagent-0.1.7}/src/sliceagent/web.py +0 -0
  94. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/README.md +0 -0
  95. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_active_focus.py +0 -0
  96. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_agents.py +0 -0
  97. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_ask_echo.py +0 -0
  98. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_ask_user.py +0 -0
  99. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_background_review.py +0 -0
  100. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_binary_view.py +0 -0
  101. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bound_is_relevance.py +0 -0
  102. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_breadth_e2e.py +0 -0
  103. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_2b.py +0 -0
  104. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_breadth_wave.py +0 -0
  105. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_current_request.py +0 -0
  106. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_linenum.py +0 -0
  107. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_loop_wave.py +0 -0
  108. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_memory_wave.py +0 -0
  109. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_p0a.py +0 -0
  110. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_p0b.py +0 -0
  111. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_p0c.py +0 -0
  112. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_selfreview.py +0 -0
  113. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_selfreview_siblings.py +0 -0
  114. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_skills_h1.py +0 -0
  115. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_slice_wave.py +0 -0
  116. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_subagent_wave.py +0 -0
  117. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bugfix_tools_wave.py +0 -0
  118. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_bughunt_fixes.py +0 -0
  119. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_cache_manifest.py +0 -0
  120. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_checkpoint.py +0 -0
  121. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_cli_smoke.py +0 -0
  122. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_closure.py +0 -0
  123. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_code_grep.py +0 -0
  124. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_code_index.py +0 -0
  125. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_consolidate.py +0 -0
  126. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_context_overflow.py +0 -0
  127. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_conversation.py +0 -0
  128. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_coresidency.py +0 -0
  129. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_echo_before_blocking.py +0 -0
  130. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_episode.py +0 -0
  131. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_errors_backoff.py +0 -0
  132. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_esc_sentinel.py +0 -0
  133. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_exec_env.py +0 -0
  134. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_finding_types.py +0 -0
  135. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_flags.py +0 -0
  136. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_fuzzy.py +0 -0
  137. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_ghost_index.py +0 -0
  138. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_guardrails.py +0 -0
  139. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_guidance.py +0 -0
  140. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_history.py +0 -0
  141. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_invariant_fixes.py +0 -0
  142. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_live_composer.py +0 -0
  143. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_llm_streaming.py +0 -0
  144. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_llm_usage_cache.py +0 -0
  145. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_llm_watchdog.py +0 -0
  146. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_log_redaction.py +0 -0
  147. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_loop_overflow.py +0 -0
  148. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_mcp_output_cap.py +0 -0
  149. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_mcp_runtime.py +0 -0
  150. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_memory.py +0 -0
  151. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_memory_persist.py +0 -0
  152. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_menu_select.py +0 -0
  153. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_metrics.py +0 -0
  154. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_mining.py +0 -0
  155. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_mission_tier.py +0 -0
  156. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_model_catalog.py +0 -0
  157. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_monitor.py +0 -0
  158. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_onboarding.py +0 -0
  159. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_pageout_compaction.py +0 -0
  160. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_permission_patterns.py +0 -0
  161. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_pinned_composer.py +0 -0
  162. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_plan_tier.py +0 -0
  163. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_procman.py +0 -0
  164. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_product_features.py +0 -0
  165. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_progress_status.py +0 -0
  166. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_prompt_ab.py +0 -0
  167. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_provenance.py +0 -0
  168. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_provider_lineup.py +0 -0
  169. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_proxy_interrupt.py +0 -0
  170. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_reach.py +0 -0
  171. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_readonly_subagent.py +0 -0
  172. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_recall_search.py +0 -0
  173. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_records.py +0 -0
  174. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_refault.py +0 -0
  175. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_registry_validation.py +0 -0
  176. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_reliability.py +0 -0
  177. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_repo_map_bounded.py +0 -0
  178. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_requirements.py +0 -0
  179. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_review_fixes.py +0 -0
  180. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_route_lexical.py +0 -0
  181. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_safety.py +0 -0
  182. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_seal_markdown.py +0 -0
  183. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_search_index.py +0 -0
  184. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_skill_meta.py +0 -0
  185. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_skill_metadata.py +0 -0
  186. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_subdir_hints.py +0 -0
  187. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_task_agnostic.py +0 -0
  188. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_task_state_roundtrip.py +0 -0
  189. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_telemetry_convergence.py +0 -0
  190. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_terminal.py +0 -0
  191. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tool_dedup.py +0 -0
  192. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tool_result_ok.py +0 -0
  193. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tools_robust.py +0 -0
  194. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_topic_switch.py +0 -0
  195. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_trajectory.py +0 -0
  196. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tui.py +0 -0
  197. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tui_menus.py +0 -0
  198. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tui_render.py +0 -0
  199. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_tui_widgets.py +0 -0
  200. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_turn_budget.py +0 -0
  201. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_verification_agent.py +0 -0
  202. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_web.py +0 -0
  203. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_workspace.py +0 -0
  204. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_world_region.py +0 -0
  205. {sliceagent-0.1.6 → sliceagent-0.1.7}/tests/test_world_state.py +0 -0
@@ -5,6 +5,13 @@ this project aims for [Semantic Versioning](https://semver.org/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.1.7] — 2026-07-02
9
+
10
+ ### Fixed
11
+ - `/model`: the current env-configured model row is now labeled `current (env)` instead of the
12
+ provider family name — it could masquerade as a configured provider (e.g. an env `gpt-5.5` on a
13
+ DeepSeek endpoint showed as "deepseek").
14
+
8
15
  ## [0.1.6] — 2026-07-02
9
16
 
10
17
  The clear config journey: one wizard, two doors, an honest /model.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sliceagent
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: A coding agent with a new context-engineering framework: bounded, deterministic, reconstructed context (slice architecture) — built for long-horizon work.
5
5
  Author: TT-Wang
6
6
  License-Expression: MIT
@@ -1,3 +1,3 @@
1
1
  """sliceagent — a memory-native coding agent (deterministic, bounded, reconstructed context)."""
2
2
 
3
- __version__ = "0.1.6"
3
+ __version__ = "0.1.7"
@@ -849,8 +849,7 @@ def _model_candidates(llm, cfg):
849
849
  out.append((m, pid, pid))
850
850
  out.sort(key=lambda t: (t[1], t[0]))
851
851
  if all(m != llm.model for m, _, _ in out): # an env-overridden current model still shows first
852
- base = getattr(llm, "_base_url", "")
853
- out.insert(0, (llm.model, capability(llm.model, base).family, None))
852
+ out.insert(0, (llm.model, "current (env)", None)) # not a configured provider — label honestly
854
853
  else:
855
854
  known = ["gpt-5.5", "gpt-5", "gpt-5-mini", "o3", "deepseek-chat", "kimi-k2-0905-preview",
856
855
  "claude-sonnet-5"]
@@ -47,6 +47,18 @@ def every_candidate_carries_its_provider_for_endpoint_switch():
47
47
  assert pid in ("deepseek", "openrouter"), f"{m} must map to a configured provider, got {pid!r}"
48
48
 
49
49
 
50
+ @check
51
+ def env_current_model_is_labeled_honestly_not_as_a_provider():
52
+ class _EnvLlm: # env model NOT in any configured provider's list
53
+ model = "gpt-5.5"
54
+ _base_url = "https://api.deepseek.com/v1" # deepseek endpoint must NOT make it say "deepseek"
55
+ reasoning = "full"
56
+ cands = _model_candidates(_EnvLlm(), _CFG)
57
+ m, grp, pid = cands[0]
58
+ assert m == "gpt-5.5" and pid is None
59
+ assert grp == "current (env)", f"env model must not masquerade as a configured provider, got {grp!r}"
60
+
61
+
50
62
  @check
51
63
  def no_providers_configured_falls_back_to_known_set():
52
64
  cands = _model_candidates(_Llm(), Config({}))
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
File without changes
File without changes