Skip to content

Stokowski tooling: fix Claude→Qwen routing, add lc issue comment - #197

Merged
bougyman merged 8 commits into
mainfrom
add-anthropic-env-vars
Sep 1, 2026
Merged

Stokowski tooling: fix Claude→Qwen routing, add lc issue comment#197
bougyman merged 8 commits into
mainfrom
add-anthropic-env-vars

Conversation

@ruby-automation

Copy link
Copy Markdown
Contributor

Summary

  • Fix: mise.toml was silently routing every "claude" Stokowski runner turn through a local Qwen3.6-35B model (via a lemonade proxy on ANTHROPIC_BASE_URL), not real Claude. Disabled the override and pointed the active workflow.yaml at workflow.opus.yaml.
  • Feat: new lc issue comment ISSUE_ID [-m TEXT] [--body-file PATH] subcommand. --body-file (- for stdin) lets a caller supply a large multi-line comment body without building it as a single shell argument.
  • Also includes prior work already on this branch: Codex-runner support (workflow.codex.yaml/workflow.claude.yaml), and the Phase 12/13 plan-index entries in AGENTS.md.

Why

EXT-17's code-review run 4 posted two malformed Linear comments (a literal \n instead of a real newline, and an unexpanded $VAR inside a quoted heredoc). Root cause: the review agent had no safe mix lc way to post a multi-line comment, so it hand-rolled a curl/GraphQL call instead — exactly the failure mode "always use mix lc" (AGENTS.md) exists to prevent. --body-file closes that gap directly.

Along the way, also fixed a latent crash: Display.puts_text/2 had no text-mode clause for a bare Comment, so showing one raised FunctionClauseError into a real System.halt/1.

An earlier design (documents/phase-13-plan.adoc) had this command find-and-update a single persistent "workpad" comment by marker match. That's gone: live testing showed commentUpdate needs a scope this project's Linear key doesn't reliably carry, and matching a comment by string prefix is inherently indeterminate anyway. The per-stage prompts (global.md, investigate.md, implement.md, merge.md) now just say to post one comment per milestone instead.

Test plan

  • mix format --check-formatted, mix credo --strict, mix test (352 tests) all clean
  • Verified live against real Linear (EXT-17): plain create and --body-file (file and stdin) both confirmed, including byte-for-byte survival of a literal \n and a $VAR-looking string through --output json + repr()

ruby-automation and others added 8 commits August 24, 2026 09:12
…odel

mise.toml pointed ANTHROPIC_BASE_URL at a local lemonade proxy and
remapped every Claude model alias (Opus/Sonnet/Haiku/subagent) to
user.Qwen3.6-35B-A3B-ThinkingCoder, so every "claude" runner turn was
silently served by that local model instead of real Claude. Comment out
the override and switch the active workflow.yaml symlink to
workflow.opus.yaml so the claude runner uses real Anthropic models.
…e bodies

Add a new `lc issue comment ISSUE_ID [-m TEXT] [--body-file PATH]`
subcommand. --body-file (- for stdin) lets a caller supply a large
multi-line comment body without building it as a single shell argument -
closing the exact bug class that produced two malformed EXT-17 comments
(a literal backslash-n instead of a real newline, and an unexpanded
variable inside a quoted heredoc), both from an agent that had no safe
`mix lc` way to post a multi-line comment and hand-rolled curl/GraphQL
instead.

Also fixes a latent crash: Display.puts_text/2 had no text-mode clause
for a bare Comment, so showing one raised FunctionClauseError straight
into a real System.halt/1.

Update the per-stage agent prompts (global.md, investigate.md,
implement.md, merge.md) to post one Linear comment per milestone via
this command instead of maintaining a single "workpad" comment - an
earlier design in documents/phase-13-plan.adoc that upserted a comment
by marker match, dropped after live testing showed commentUpdate needs a
scope this project's Linear key doesn't reliably carry, and matching a
comment by string prefix is inherently indeterminate.
@bougyman
bougyman merged commit f6a5e37 into main Sep 1, 2026
3 checks passed
@bougyman
bougyman deleted the add-anthropic-env-vars branch September 1, 2026 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants