feat(btw): add opt-in conversation and work entry - #136
Merged
Merged
Conversation
Place BTW under the plugin group's metadata so conversion keeps its controls and resolves the existing bilingual section keys. AI-Generated: true Generated-At: 2026-09-10T16:17:30Z
7 tasks
This was referenced Sep 10, 2026
YUZHEthefool
added this pull request to stack #149
September 10, 2026 16:54
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add an explicitly enabled conversation entry over the existing Agent request executor. Disabled profiles keep the direct Agent path; enabling conversation does not select an automatic classifier.
Related issue
Related: #123
Parent: #122
Design: #28
Stack
master.Behavior
Introduce opt-in conversation/work admission through the current Agent request path. Keep ordinary conversation usable and make the disabled path behaviorally equivalent to current master. Explicit work submission is supplied by B2; classifier experiments remain independent.
Non-goals
Automatic classifier selection, background execution, provider changes, and capability-assignment UI belong to their own slices.
Implementation notes
Base branch:
master. This PR shows only this feature's changes relative to that dependency. The original prototype at33ee103a62937db3e930c89ba47a648b75cc7772is provenance; integration follows current master's owners and authorization contracts. The parent issue records review/integration order.No new HTTP contract or dependency changes. Feature settings and behavior are documented in both languages.
Validation
78 focused entry/config tests passed initially. The CI metadata regression was fixed by placing BTW controls in the plugin_group metadata section; 6 configuration metadata tests passed, including a regression asserting that the converted enabled control is present.
Python checks used the existing Python 3.14.1 environment with
python -m pytestand task-local--basetempdirectories. Local Node was 24.11.1; CI must validate the pinned toolchain. Relevant scoped formatting and Markdown checks were run. The root tracker records the final combined validation. No live model evaluation is implied by deterministic tests or documentation checks.Compatibility and risk
This is the admission slice. Work submission, detached delivery, and capability restrictions are separate dependent PRs. Existing admission and plugin-owned ProviderRequest behavior remain effective.
Checklist
Repository references: AGENTS.md, GOVERNANCE.md, AI_POLICY.md, and the feat PR template.
Agent note
Codex prepared this PR at the user's request to split the original #28 implementation into reviewable features, with only classifier experiments marked as drafts. AI assisted extraction, current-path adaptation, tests, and English descriptions. The validation above was performed locally; remaining limitations are stated explicitly. This note is not a maintainer approval. No PR has been merged.