Quill answers status questions by reading the nest first: its prompt is built from the nest's recent messages (author + kind + first 200 chars each, newest last), so a reply about "where did X get to" provably sees the thread. CHATROOM_SPEC section 6: "answers status questions by reading the nest first and showing what it's doing."
Acceptance criteria — falsifiable tests
TestQuillPromptContainsNestHistory (quill_test.go) — Given a nest where a request by owner and a deliver by Hugin exist, when the owner asks @Quill where did that get to, then the recorded crow prompt contains the request's text and the deliver's text, and the reply is a Quill deliver. Red now: respondQuill (added in D1) does not include message history.
TestQuillEmptyNestSaysQuiet — Given a fresh nest with no messages, when the owner asks Quill for status, then the prompt states the nest has no earlier messages (assert on a RecentMessages-built block containing "no earlier messages"), and Quill still answers once.
TestQuillHistoryCap — Given 40 messages in a nest, the prompt contains at most the last 20 (assert count of message lines in the recorded prompt ≤ 20). The cap constant lives in the Quill context builder, not in guardrails.
Test command
go test -race -count=1 -run 'TestQuill' .
Blockers / unknowns
Use the existing store read path behind getNestMessages (nestapi.go) — no new persistence needed.
Epic: #36. Depends on: #38
## Goal
Quill answers status questions by reading the nest first: its prompt is built from the nest's recent messages (author + kind + first 200 chars each, newest last), so a reply about "where did X get to" provably sees the thread. CHATROOM_SPEC section 6: "answers status questions by reading the nest first and showing what it's doing."
## Acceptance criteria — falsifiable tests
1. `TestQuillPromptContainsNestHistory` (`quill_test.go`) — Given a nest where a request by owner and a deliver by Hugin exist, when the owner asks `@Quill where did that get to`, then the recorded crow prompt contains the request's text and the deliver's text, and the reply is a Quill `deliver`. Red now: `respondQuill` (added in D1) does not include message history.
2. `TestQuillEmptyNestSaysQuiet` — Given a fresh nest with no messages, when the owner asks Quill for status, then the prompt states the nest has no earlier messages (assert on a `RecentMessages`-built block containing `"no earlier messages"`), and Quill still answers once.
3. `TestQuillHistoryCap` — Given 40 messages in a nest, the prompt contains at most the last 20 (assert count of message lines in the recorded prompt ≤ 20). The cap constant lives in the Quill context builder, not in guardrails.
## Test command
`go test -race -count=1 -run 'TestQuill' .`
## Blockers / unknowns
Use the existing store read path behind `getNestMessages` (nestapi.go) — no new persistence needed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Epic: #36. Depends on: #38
Goal
Quill answers status questions by reading the nest first: its prompt is built from the nest's recent messages (author + kind + first 200 chars each, newest last), so a reply about "where did X get to" provably sees the thread. CHATROOM_SPEC section 6: "answers status questions by reading the nest first and showing what it's doing."
Acceptance criteria — falsifiable tests
TestQuillPromptContainsNestHistory(quill_test.go) — Given a nest where a request by owner and a deliver by Hugin exist, when the owner asks@Quill where did that get to, then the recorded crow prompt contains the request's text and the deliver's text, and the reply is a Quilldeliver. Red now:respondQuill(added in D1) does not include message history.TestQuillEmptyNestSaysQuiet— Given a fresh nest with no messages, when the owner asks Quill for status, then the prompt states the nest has no earlier messages (assert on aRecentMessages-built block containing"no earlier messages"), and Quill still answers once.TestQuillHistoryCap— Given 40 messages in a nest, the prompt contains at most the last 20 (assert count of message lines in the recorded prompt ≤ 20). The cap constant lives in the Quill context builder, not in guardrails.Test command
go test -race -count=1 -run 'TestQuill' .Blockers / unknowns
Use the existing store read path behind
getNestMessages(nestapi.go) — no new persistence needed.