Documentation
¶
Index ¶
- Constants
- func Ask(w *blog.Writer, from, to, question string) (string, error)
- func PollForAnswer(logPath, questionID string) (*blog.Entry, error)
- func RoundsSoFar(entries []blog.Entry, thread string) int
- func WaitForAnswer(logPath, questionID string, timeout, pollInterval time.Duration) (answer string, found bool, err error)
Constants ¶
const MaxRounds = 3
MaxRounds caps back-and-forth on a single question thread before forcing human escalation (spec: Concurrency Model — "a capped number of back-and-forth rounds (3)").
Variables ¶
This section is empty.
Functions ¶
func Ask ¶
Ask posts a QUESTION entry and returns its ID, which the asker later passes to PollForAnswer.
func PollForAnswer ¶
PollForAnswer looks for an ANSWER entry whose InReplyTo matches questionID. The caller (the observer, or the developer role's own step loop) is responsible for calling this repeatedly with its own backoff until the configured per-backend timeout elapses. Returns the matching Entry pointer when found, nil entry when not found yet.
func RoundsSoFar ¶
RoundsSoFar counts QUESTION/ANSWER pairs sharing the same thread (Target), used to enforce MaxRounds before escalating to a human rather than looping indefinitely.
Types ¶
This section is empty.