Review the bot's answers¶
The bot posts nothing in a server until a person has read thirty of its answers to real questions and agreed they are worth posting there. This is how to produce those answers and review them.
Answers reviewed on a stage server count towards production's thirty, as long as the two servers
share the corpus, the model and the settings that shape an answer. Asking test questions on stage
lets you see each answer posted in the open, as a member would, while production stays in shadow.
review and review status read one server at a time, so add the two counts yourself. Once
production is given its own corpus or ai.model, only its own answers count. forum_scopes
does not change that: it only shapes answers to questions asked in a forum, so forum targeting is
judged from production's forum questions alone (spec 0029 D4, revised 2026-10-05).
1. Give it questions to answer¶
Run the daemon against the test guild, as in run the bot, and ask it questions there by mentioning it. In shadow mode it composes each answer and stores it, and the channel stays quiet.
Real questions count: anyone's, and your own. What does not count is a question copied from the
benchmark or calibration sets under test/corpus/, because those have been answered so often that
another answer proves nothing.
2. Review what it would have said¶
On the machine that runs the daemon, or anywhere with the same database:
With more than one server configured, name the one you are reviewing:
The command refuses to guess. With one server configured, it is implied.
Each answer is shown exactly as it would have been posted, under the thread title it opened, with the pages it cited and the commit each was read at. A title that misnames the subject is worth a note. For each one, say whether it was correct and whether its citations were apt, and add a note if something is worth remembering. Skip an answer you want to come back to, and exclude one that turns out to be a replayed benchmark question. The command reference has the detail.
Judge the answer a user would have seen. A correct answer resting on the wrong page is a citation problem, and a decline is correct only if the documentation really does not answer the question.
3. Read the tally¶
review status takes the same --server, and counts that server's answers only.
$ phpbotscout review status
Reviewed: 12 of 30 (answers 9, declines 3; posted 4, shadow 8)
Correct: 10 of 12
Citations apt: 8 of 9 judged
Excluded: 1
Waiting: 4
Feedback: 3 helpful, 1 not, on 3 answers
At thirty the gate can be met, but status will not say so. Whether the bot is ready to post is a
judgement about those verdicts, and lifting shadow mode is a code change made afterwards.
Answers expire¶
An answer's text is kept for 120 days, and an answer past that is no longer offered. Review within a few weeks of asking.