Make the Elder addressable inside a nest as a service role: a member @-addresses @Elder on a thread and the Elder merges the conspiracy's delivers (existing reconcile path), honoring its persona policy (merged answer first, then "Where they differed:").
Acceptance criteria — falsifiable tests
TestElderAddressableInNest — Given nest(Hugin, Munin) with two delivers for one conspiracy request, when owner posts say with to:"Elder" referring to the request, then exactly one message from author:"Elder" is appended whose text contains both delivers' distinguishing words and refers_to = request msg_id. Red now (Elder can't be addressed), green after.
TestElderOnlyMergesOnRequest — with no Elder-addressed message after the same conspiracy, no Elder message appears in the log. Red now, green after (the responder currently ignores unknown crows anyway — make this explicit and regression-proof).
parseAddressing gains Elder/assistant as addressable service handles: TestParseAddressing extended — parseAddressing("please @Elder merge this", nestMembers(nest)) == "Elder". Red now, green after.
Test command
go test -race -run 'TestElder|TestParseAddressing' .
Blockers / unknowns
Elder is not in nest.Crows — membership check must special-case service roles for to, not for posting (Elder replies via harness, tagged_by "harness").
Epic: #21. Depends on: #24
## Goal
Make the Elder addressable inside a nest as a service role: a member @-addresses `@Elder` on a thread and the Elder merges the conspiracy's delivers (existing `reconcile` path), honoring its persona policy (merged answer first, then "Where they differed:").
## Acceptance criteria — falsifiable tests
1. `TestElderAddressableInNest` — Given nest(Hugin, Munin) with two delivers for one conspiracy request, when owner posts `say` with `to:"Elder"` referring to the request, then exactly one message from `author:"Elder"` is appended whose text contains both delivers' distinguishing words and `refers_to` = request msg_id. Red now (Elder can't be addressed), green after.
2. `TestElderOnlyMergesOnRequest` — with no Elder-addressed message after the same conspiracy, no Elder message appears in the log. Red now, green after (the responder currently ignores unknown crows anyway — make this explicit and regression-proof).
3. `parseAddressing` gains Elder/assistant as addressable service handles: `TestParseAddressing` extended — `parseAddressing("please @Elder merge this", nestMembers(nest)) == "Elder"`. Red now, green after.
## Test command
`go test -race -run 'TestElder|TestParseAddressing' .`
## Blockers / unknowns
Elder is not in `nest.Crows` — membership check must special-case service roles for `to`, not for posting (Elder replies via harness, tagged_by "harness").
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: #21. Depends on: #24
Goal
Make the Elder addressable inside a nest as a service role: a member @-addresses
@Elderon a thread and the Elder merges the conspiracy's delivers (existingreconcilepath), honoring its persona policy (merged answer first, then "Where they differed:").Acceptance criteria — falsifiable tests
TestElderAddressableInNest— Given nest(Hugin, Munin) with two delivers for one conspiracy request, when owner postssaywithto:"Elder"referring to the request, then exactly one message fromauthor:"Elder"is appended whose text contains both delivers' distinguishing words andrefers_to= request msg_id. Red now (Elder can't be addressed), green after.TestElderOnlyMergesOnRequest— with no Elder-addressed message after the same conspiracy, no Elder message appears in the log. Red now, green after (the responder currently ignores unknown crows anyway — make this explicit and regression-proof).parseAddressinggains Elder/assistant as addressable service handles:TestParseAddressingextended —parseAddressing("please @Elder merge this", nestMembers(nest)) == "Elder". Red now, green after.Test command
go test -race -run 'TestElder|TestParseAddressing' .Blockers / unknowns
Elder is not in
nest.Crows— membership check must special-case service roles forto, not for posting (Elder replies via harness, tagged_by "harness").