10 Commits
Author SHA1 Message Date
BaaRai 0e82253686 Bot: quote the response_format JSON for --argjson
--argjson requires strict JSON; the unquoted-key object made jq fail,
sent an empty request body, and the triage died with 'model returned
nothing'. Also log the raw API response when choices is missing so the
next failure shows its cause immediately.
2026-10-10 19:19:34 +02:00
BaaRai 42f3bd98ea Bot: JSON mode for triage, temperature 0, flash model
The trailing-line LABELS contract was unreliable at temperature 0.2:
a raw A/B run showed both deepseek-chat and deepseek-flash emit the
line correctly at temperature 0 but drop it nondeterministically at
0.2 (five failed live runs, one lucky success). Structural fix: the
triage now requests response_format json_object, temperature 0, and
parses the reply with jq (comment field for the reply, labels array
for labeling). The label whitelist still drops invented names and the
raw JSON is logged before parsing. Model switched to deepseek-flash:
the A/B showed JSON compliance on both models and flash is the
cheaper line. Mentions and PR first-looks keep text mode at
temperature 0.
2026-10-10 19:16:37 +02:00
BaaRai f420277729 Bot: restore the original LABELS instruction wording
The reworded instruction from #20 ("plain text with no markdown
formatting, characters, or emphasis") made models stop emitting the
LABELS line entirely; the original quoted phrasing had 100 percent
compliance. Tolerant parser and debug logging stay.
2026-10-10 19:08:00 +02:00
BaaRai d1d28cb333 Bot: log the raw reply tail for triage debugging 2026-10-10 19:05:59 +02:00
BaaRai 698ec389e0 Bot: back to deepseek-chat
deepseek-flash dropped the LABELS instruction twice in live tests
(decorated once, absent once); deepseek-chat followed it exactly on
the first try. The price difference is fractions of a cent per call,
reliability wins. The tolerant parser from #20 stays: it is harmless
and protects against any model formatting quirks.
2026-10-10 19:02:13 +02:00
BaaRai c08a229a57 Bot: tolerate decorated LABELS lines from smaller models
deepseek-flash sometimes bolds or backticks the LABELS marker and the
individual names. Accept any decoration around the marker line and
strip markdown characters from each name before the whitelist check.
Also log the parsed label line for easier triage of future misses.
2026-10-10 19:00:04 +02:00
BaaRai f95e975e31 Bot: switch the model to deepseek-flash
DeepSeek's current recommendation: V4.1-Flash replaces V4-Pro and is
the efficient line (new encoder-decoder MoE, quarter-size KV cache,
off-peak at half price). Plenty for triage work; the API name is
deepseek-flash.
2026-10-10 18:56:18 +02:00
BaaRai 7511937e82 Bot: label maintainer-opened issues, silently
Closes #15. Issues opened by the maintainer now go through the same
classification and label application but without the triage comment
or reaction. Visitors keep the full behavior; mentions and PR
first-looks stay maintainer-off.
2026-10-10 18:46:31 +02:00
BaaRai 875f2f0f53 Bot: apply type and priority labels when triaging new issues
Closes #13. The triage prompt now ends with a LABELS line (bug,
question, feature, plus P1/P2/P3 for bugs). The script strips that
line from the posted comment, filters it against a fixed whitelist,
creates the labels with stable colors if missing, and applies them.
Mentions and PR first-looks stay comment-only.
2026-10-10 18:43:21 +02:00
BaaRai 88dbe0cb66 Add triage and reply bot for issues and pull requests
Closes #10. A GitHub Action bot with no server: one triage comment per
new issue (classification, missing-info list, grounded first answer),
answers comments that @artex-bot, and a first-look summary checklist on
opened pull requests. Comment-only, never an approving review. Skips
the maintainer, bots, and itself; exits cleanly without the API key;
all model inputs are size-capped.
2026-10-10 17:38:07 +02:00