nestapi.go: POST /api/nests/{id}/messages (guardrails: length, membership, crow-postable kinds, rate limit reuse; Jev-first tagging per A1) and GET /api/nests/{id}/messages (log read).
Event-driven trigger: a request addressed to a member crow invokes exactly one crow through Flock.ask under budget/timeout/flight-log; unaddressed say summons nobody (no idle loops).
Flock.ClassifyKind + JevClient.ClassifyKind: the A1 tagger above the confidence band, probabilities written to the flight log (Event.Prob) for calibration.
Hub.OpenNest/PublishNest and GET /api/events?nest_id= — nests share the replay/Last-Event-ID machinery. Nest ids (slugs) can't collide with list ids (hex), so one map serves both.
cmdServe wires the message store (.crows/messages/).
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.
nestapi.go:POST /api/nests/{id}/messages(guardrails: length, membership, crow-postable kinds, rate limit reuse; Jev-first tagging per A1) andGET /api/nests/{id}/messages(log read).requestaddressed to a member crow invokes exactly one crow throughFlock.askunder budget/timeout/flight-log; unaddressedsaysummons nobody (no idle loops).Flock.ClassifyKind+JevClient.ClassifyKind: the A1 tagger above the confidence band, probabilities written to the flight log (Event.Prob) for calibration.Hub.OpenNest/PublishNestandGET /api/events?nest_id=— nests share the replay/Last-Event-ID machinery. Nest ids (slugs) can't collide with list ids (hex), so one map serves both.cmdServewires the message store (.crows/messages/).Closes #10 · Epic: #2
Red (impl absent):
Green (after):