refactor(agents): rename reasoning config field to reasoning_feedback #143
No reviewers
Labels
No labels
auto/blocked-by-deps
auto/ci-timeout
auto/claimed-implementer
auto/claimed-merge
auto/claimed-reviewer
auto/driver-down
auto/invariant-violation
auto/last-attempt-tier-0
auto/last-attempt-tier-1
auto/last-attempt-tier-2
auto/last-attempt-tier-min
Automation Tracking
auto/needs-conflict-resolution
auto/needs-implementer
auto/postmortem
auto/ready-to-merge
auto/restart-throttled
auto/revert
auto/sentinel
auto/stale-inactivity
auto/unstable
Blocked
Bounty
$100
Bounty
$1000
Bounty
$10000
Bounty
$20
Bounty
$2000
Bounty
$250
Bounty
$50
Bounty
$500
Bounty
$5000
Bounty
$750
MoSCoW
Could have
MoSCoW
Must have
MoSCoW
Should have
Needs Feedback
Points
1
Points
13
Points
2
Points
21
Points
3
Points
34
Points
5
Points
55
Points
8
Points
88
Priority
Backlog
Priority
CI Blocker
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
State
Completed
State
Duplicate
State
In Progress
State
In Review
State
Paused
State
Unverified
State
Verified
State
Wont Do
Type
Automation
Type
Bug
Type
Discussion
Type
Documentation
Type
Epic
Type
Feature
Type
Legendary
Type
Refactor
Type
Support
Type
Task
Type
Testing
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Blocks
#142 Rename LLM agent
reasoning config property to reasoning_feedback
cleveragents/cleveractors-core
Reference
cleveragents/cleveractors-core!143
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/m1-rename-reasoning-config-property"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Renames the
type: llmagent configuration fieldreasoningtoreasoning_feedback(ADR-2036 D-10, accepted in place). Semantics, default (false), validation, and routing effect are unchanged — the field still selects the reasoning-aware client (ReasoningChatModel) that round-trips a non-native provider'sreasoning_content, only its name changes.docs/adr/ADR-2036-reasoning-aware-provider-routing.md: adds accepted decision D-10 documenting the rename and its rationale; D-1–D-9 are left unchanged as the historical record, and a Revision History section is added.docs/index.md§4.4 / §4.4.1: field name and example updated toreasoning_feedback. Since the field never shipped in a release, the existing 1.3.0 §21.1 entry is corrected in place — no Version bump.src/cleveractors/agents/llm_client.py:config.get("reasoning_feedback", False), the boolean-validation error message, and thereasoning_feedback: boolparameter throughbuild_chat_model/_build_from_credentials.docs/guides/reasoning-aware-llm-agents.md: operator guide examples updated.features/reasoning_provider_routing.feature+features/steps/reasoning_provider_routing_steps.py,robot/ReasoningRoutingTestLib.py: Behave/Robot tests exercisereasoning_feedback.CHANGELOG.md: the still-[Unreleased]entry that introduced this field is corrected in place (no new entry, consistent with no release having occurred).Explicitly out of scope (per ADR-2036 D-10):
reasoning_content/reasoning_details(the wire-protocol fields the flag round-trips),ReasoningChatModel, and the unrelated"reasoning"§4.11 capabilities-list identifier (LLMAgent.get_capabilities,features/llm_agent_coverage.feature) are all untouched.Closes #142
Tests
features/reasoning_provider_routing.feature(9 scenarios, all passing) exercising the renamed field.robot/reasoning_provider_routing.robot(ReasoningRoutingTestLib.py) — passing.nox(lint, format --check, typecheck, security_scan, dead_code, unit_tests, coverage_report, integration_tests, docs, build, complexity) all green:unit_tests: 154 features / 3083 scenarios / 14274 steps passed.coverage_report: 96.9% (threshold 96.5%).integration_tests: 362 Robot tests passed (pabot).benchmark/benchmark_regression: not run — no performance-sensitive code changed (config-key rename only); pre-existing ASV machine-registration gap in this sandbox is unrelated and was confirmed to reproduce on unmodifiedmaster.reasoningconfig property toreasoning_feedbackPR Review: !143 (Ticket #142)
Verdict: Approve
This is a clean, mechanical rename of the LLM agent configuration key from
reasoningtoreasoning_feedback. The implementation is consistent across the code, tests, operator guide, changelog, and ADR. The semantics, default value, validation behavior, and routing effect are preserved exactly as required by ADR-2036 D-10. The PR author has also clearly documented the items that are intentionally out of scope (wire-protocol fields,ReasoningChatModelinternals, and the"reasoning"capability identifier), and those boundaries are respected.Critical Issues
None.
Major Issues
None.
Minor Issues
None.
Nits
coverage_report: 96.9% (threshold 96.5%), which passes the value actually enforced innoxfile.py(COVERAGE_THRESHOLD = 96.5). However,CONTRIBUTING.mdstates the project threshold is 97%, and thecoverage_reportdocstring also says "Coverage threshold is enforced at >=97.0%." This inconsistency is unrelated to the rename and appears to pre-date the PR, but it may be worth aligningnoxfile.pyandCONTRIBUTING.mdin a separate housekeeping change so CI and documentation agree.Summary
A focused, well-documented refactor. All changed files keep the new naming consistent, the ADR revision is correctly recorded as accepted, and the test suite exercises the renamed field including validation and error paths. No behavior is altered beyond the configuration key name. I recommend merging.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.