My aggregated monorepo of OCaml code, automaintained
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Squashed 'poe/' changes from 904a31d..125e71d

125e71d metadata
8f050e0 Fix build warnings and odoc documentation errors

git-subtree-dir: poe
git-subtree-split: 125e71d466a5813953dea9d3a8039bda63e7c8d4

+12 -12
+2 -2
dune-project
··· 6 6 (license ISC) 7 7 (authors "Anil Madhavapeddy") 8 8 (maintainers "Anil Madhavapeddy <anil@recoil.org>") 9 - (homepage "https://tangled.org/@anil.recoil.org/poe") 10 - (bug_reports "https://tangled.org/@anil.recoil.org/poe/issues") 9 + (homepage "https://tangled.org/anil.recoil.org/poe") 10 + (bug_reports "https://tangled.org/anil.recoil.org/poe/issues") 11 11 (maintenance_intent "(latest)") 12 12 13 13 (package
+2 -2
lib/broadcast.mli
··· 6 6 (** Smart broadcast logic for Poe bot. 7 7 8 8 This module implements intelligent change broadcasting that generates 9 - narrative changelogs using Claude, with @mentions for channel members. *) 9 + narrative changelogs using Claude, with mentions for channel members. *) 10 10 11 11 val run : 12 12 sw:Eio.Switch.t -> ··· 23 23 Logic: 24 24 1. Get last git HEAD from storage 25 25 2. Get commits since that HEAD (or last 10 if first run) 26 - 3. Get channel members for @mention matching 26 + 3. Get channel members for mention matching 27 27 4. Generate narrative changelog with Claude 28 28 5. Send as stream message to configured channel/topic 29 29 6. Update last broadcast time and git HEAD in storage
+5 -5
lib/changelog.mli
··· 3 3 SPDX-License-Identifier: ISC 4 4 ---------------------------------------------------------------------------*) 5 5 6 - (** Claude-powered narrative changelog generation with @mentions. 6 + (** Claude-powered narrative changelog generation with Zulip mentions. 7 7 8 8 This module generates human-readable changelog narratives from git commits, 9 - using Claude to summarize changes and automatically @mention channel members 9 + using Claude to summarize changes and automatically mention channel members 10 10 who authored commits. *) 11 11 12 12 (** {1 Types} *) ··· 25 25 full_name: string; 26 26 email: string; 27 27 } 28 - (** A Zulip channel member for @mention matching. *) 28 + (** A Zulip channel member for mention matching. *) 29 29 30 30 (** {1 Git Operations} *) 31 31 ··· 51 51 channel:string -> 52 52 channel_member list 53 53 (** [get_channel_members ~client ~channel] returns the members of [channel] 54 - for @mention matching. *) 54 + for mention matching. *) 55 55 56 56 (** {1 Changelog Generation} *) 57 57 ··· 73 73 from the opam metadata's dev-repo field if [opamrepo_path] is provided), 74 74 a description of the change, and the change type in italics. 75 75 The output includes a header with the date of the most recent commit. 76 - Zulip @-mentions are used for authors matching channel members. *) 76 + Zulip mentions are used for authors matching channel members. *)
+1 -1
lib/loop.mli
··· 30 30 2. Check if git HEAD has changed (compare with stored last_git_head) 31 31 3. If changed: 32 32 - Get commits since last HEAD via git log 33 - - Fetch channel members for @mention matching 33 + - Fetch channel members for mention matching 34 34 - Generate narrative changelog using Claude 35 35 - Send to Zulip channel 36 36 - Update last_broadcast_time and last_git_head in storage
+2 -2
poe.opam
··· 9 9 maintainer: ["Anil Madhavapeddy <anil@recoil.org>"] 10 10 authors: ["Anil Madhavapeddy"] 11 11 license: "ISC" 12 - homepage: "https://tangled.org/@anil.recoil.org/poe" 13 - bug-reports: "https://tangled.org/@anil.recoil.org/poe/issues" 12 + homepage: "https://tangled.org/anil.recoil.org/poe" 13 + bug-reports: "https://tangled.org/anil.recoil.org/poe/issues" 14 14 depends: [ 15 15 "ocaml" {>= "5.2.0"} 16 16 "dune" {>= "3.20" & >= "3.20"}