fix(extension): make #249 AC8 true — repair the bug-session test suite and wire the session-level model pin - #278
Merged
Conversation
…opencode.lock): pin to v1.18.10-amicode.4 (#245)
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.
Important
Problem
mainis red. Two extension tests fail at HEAD, both in the bug-session feature that HEAD itself landed, so #249's acceptance criterion 8 ("extension unit tests cover orchestration and lifecycle") is not met by the merged implementation. One failure masks a third: the suite asserts a model handoff on the arming turn that was never implemented.Approach
Repair the two failures, then implement the session-level half of the model handoff the tests already specify — a configuration-pinned model on the arming turn, omitted when unset. The composer-level half is deliberately deferred to #277. Key reason: the tests are the spec here and they are unambiguous; aligning them downward to a partial implementation would narrow coverage in the very PR meant to make AC8 true.
Approaches Considered
Scope
Assumptions / Open Qs
What was failing
F1 — the test never ran. The bridge test file calls the model extractor six times but never imported it, so the file raised a reference error before evaluating a single assertion. It has never passed.
F2 — the assertion was stale. Bug-session creation sends a
questionpermission deny-list (per the lifecycle ADR: the dock owns dialogue through its textarea, not the question tool's structured Q&A). Production has sent it since the feature landed; the expectation was never updated. Production was correct.F3 — masked by F2. With F2 repaired, a third failure surfaced: the suite expects a model on the arming turn. Production sent none. This was invisible because the earlier assertion threw first.
What changed
Verification
The session command route was checked against the built binary's own OpenAPI document rather than assumed: it takes a required command and arguments, and optional model and variant, both strings. The test's expectation was well founded; only the implementation was missing.
Key Decisions
Constraints & Invariants
Source
Notes
Until #277 lands, a bug session runs the configured or server default, so model attribution in a filed report reflects configuration rather than what the user was running. Worth knowing when triaging anything filed through the feature.
The sweep that surfaced this also produced diagnoses for #261 (paste duplicates input) and #266 (zoom keybindings), both of which are fork-side and belong in a separate change.