)]}'
{
  "log": [
    {
      "commit": "02a213a780b1144c1a3cc2b76bcf6e3c3c3619f0",
      "tree": "30fc9944b6cbe9bad929452e994276a1ca38e6b7",
      "parents": [
        "466646cf5e663b3752d69a7f5fb9f6c421c74b1c"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Jul 21 11:26:33 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Jul 21 11:26:33 2026 -0700"
      },
      "message": "configure issues notifications\n"
    },
    {
      "commit": "466646cf5e663b3752d69a7f5fb9f6c421c74b1c",
      "tree": "8a466389f6f6bcfd64367c424d48c2eba6ca80a0",
      "parents": [
        "d583055d325eb62551f052b9833b92c75da72877",
        "b11e07ae6c5790768e3fdf42c8bf288d9310eeb8"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 12:45:52 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 12:45:52 2026 -0700"
      },
      "message": "Merge pull request #22 from apache/docs-and-rules\n\nDocs and rules"
    },
    {
      "commit": "b11e07ae6c5790768e3fdf42c8bf288d9310eeb8",
      "tree": "e77a82e442b773f4aeb25a93c89d2c3936d858b1",
      "parents": [
        "5802065bb105609f603c4a0734d4d31ef5d3ec94"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:50:01 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:50:01 2026 -0700"
      },
      "message": "relax review/approval rules\n\nThis is a non-critical/non-mainline Fineract repository (basically a\nside project). Allow easier admin actions.\n"
    },
    {
      "commit": "5802065bb105609f603c4a0734d4d31ef5d3ec94",
      "tree": "01a1c297986e0d8fc643c920561bda42edd0f6db",
      "parents": [
        "6a12ad0448ca3272a0915ac737bf97777b55c01f"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:48:14 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:48:14 2026 -0700"
      },
      "message": "clean up issue tracker section\n\n- remove errant close parens\n- conform on → in language\n"
    },
    {
      "commit": "d583055d325eb62551f052b9833b92c75da72877",
      "tree": "cac8ab11c0078bcd639a4de85b1c43625dcee0e6",
      "parents": [
        "6a12ad0448ca3272a0915ac737bf97777b55c01f",
        "ab796694e844d39fd011673367cc720dd119f2de"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:43:37 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 11:43:37 2026 -0700"
      },
      "message": "Merge pull request #20 from apache/document-chat-move\n\nrecord chat moved to Matrix details"
    },
    {
      "commit": "ab796694e844d39fd011673367cc720dd119f2de",
      "tree": "cac8ab11c0078bcd639a4de85b1c43625dcee0e6",
      "parents": [
        "6a12ad0448ca3272a0915ac737bf97777b55c01f"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 10:52:37 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:34:55 2026 -0700"
      },
      "message": "record chat moved to Matrix details\n"
    },
    {
      "commit": "6a12ad0448ca3272a0915ac737bf97777b55c01f",
      "tree": "c970b07f27f56dced3ec886ee744a57b6c170353",
      "parents": [
        "2490722f10e0de499d9148ac823ba4cc739ead44",
        "b05354b6c2c9cb4e03514a0d7188dae8db3f9010"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:34:01 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:34:01 2026 -0700"
      },
      "message": "Merge pull request #19 from apache/enable-github-issues\n\nMerge branch \u0027enable-github-issues\u0027\n\n* enable-github-issues:\n  improve .asf.yaml\n  enable github issues\n"
    },
    {
      "commit": "b05354b6c2c9cb4e03514a0d7188dae8db3f9010",
      "tree": "c970b07f27f56dced3ec886ee744a57b6c170353",
      "parents": [
        "7bc9f9030d12bc39b639e9783e814866fa34ea87"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 10:41:35 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:33:20 2026 -0700"
      },
      "message": "improve .asf.yaml\n\n- consolidate two `github` sections\n- add `project` section\n"
    },
    {
      "commit": "7bc9f9030d12bc39b639e9783e814866fa34ea87",
      "tree": "2b0e76fd92d50bf41f7c88e25d8ae72d7248ef07",
      "parents": [
        "2490722f10e0de499d9148ac823ba4cc739ead44"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 10:30:30 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:33:19 2026 -0700"
      },
      "message": "enable github issues\n\nPiggyback on a Good idea from Aman Mittal.\n\nSee https://lists.apache.org/thread/zb3c9gg1nodfk03mkxf0c4515jpcr4vo\n"
    },
    {
      "commit": "2490722f10e0de499d9148ac823ba4cc739ead44",
      "tree": "9cfef04d14258605ae2d6bddc74a25bd5e275306",
      "parents": [
        "8815400034f57e4e8ca971b09fbb80df0d058fc6",
        "5ea1fe6dc652e23c5f3ea37901c09905d66c6a25"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 11:31:53 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 11:31:53 2026 -0700"
      },
      "message": "Merge pull request #21 from apache/upgrade-gradle-to-9.6.1\n\nupgrade gradle to 9.6.1"
    },
    {
      "commit": "5ea1fe6dc652e23c5f3ea37901c09905d66c6a25",
      "tree": "9cfef04d14258605ae2d6bddc74a25bd5e275306",
      "parents": [
        "8815400034f57e4e8ca971b09fbb80df0d058fc6"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 10:50:15 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jul 20 10:50:15 2026 -0700"
      },
      "message": "upgrade gradle to 9.6.1\n"
    },
    {
      "commit": "8815400034f57e4e8ca971b09fbb80df0d058fc6",
      "tree": "fcb255468df70158036c79813a71c44a069c9a7c",
      "parents": [
        "861c8106bde9261538eb5c4f368cb91cc08c5657"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu May 14 12:53:25 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu May 14 12:53:25 2026 -0700"
      },
      "message": "convert branch protections to ruleset\n\nand match settings in apache/fineract/.asf.yaml and apache/fineract-site/.asf.yaml\n\nsee https://lists.apache.org/thread/n1cdo2rvf9m7mt9lh3tos7t6d7bf09d2\n"
    },
    {
      "commit": "861c8106bde9261538eb5c4f368cb91cc08c5657",
      "tree": "3cdda50a8071556ed297ef3e148c3a6c9f58fb91",
      "parents": [
        "20ca050d0a8114cb86b0ebd8d9358a346f1c6f75"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Mar 27 09:30:19 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Mar 27 09:30:19 2026 -0700"
      },
      "message": "add star-struck → 🤩\n\nsee 20ca050d0a8114cb86b0ebd8d9358a346f1c6f75\n"
    },
    {
      "commit": "20ca050d0a8114cb86b0ebd8d9358a346f1c6f75",
      "tree": "844406705a234769f2b22df50cc0ff61c913ab12",
      "parents": [
        "ac4c9be4204f11c5b111fda8703b7d192cba5d6b"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Mar 25 10:19:13 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Mar 25 10:19:13 2026 -0700"
      },
      "message": "add 👌, 🚢, 🤦\n\nSurely there\u0027s a library to map all these for us, including modifiers.\nWe should look for one and switch to it.\n"
    },
    {
      "commit": "ac4c9be4204f11c5b111fda8703b7d192cba5d6b",
      "tree": "59eff284f145249be482c7529cf314f1f0eb7a4b",
      "parents": [
        "577db7d6bce8d63338a1930ecb0a2ea7e87d8816",
        "36ad623a3a4b8d25aabf363aa5753ba485ccf2e1"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Sat Mar 21 12:45:03 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Sat Mar 21 12:45:03 2026 -0700"
      },
      "message": "Merge branch \u0027feature/json-state-persistence\u0027\n\nThank you @nidhiii128!\n\nsee\n\n* https://github.com/apache/fineract-chat-archive/pull/18\n* https://issues.apache.org/jira/browse/FINERACT-2524\n\n* feature/json-state-persistence:\n  FINERACT-2524: Add JSON persistence for Slack history and idempotency tests\n"
    },
    {
      "commit": "36ad623a3a4b8d25aabf363aa5753ba485ccf2e1",
      "tree": "59eff284f145249be482c7529cf314f1f0eb7a4b",
      "parents": [
        "577db7d6bce8d63338a1930ecb0a2ea7e87d8816"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Sat Mar 14 07:43:55 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Sat Mar 14 07:43:55 2026 +0000"
      },
      "message": "FINERACT-2524: Add JSON persistence for Slack history and idempotency tests\n"
    },
    {
      "commit": "577db7d6bce8d63338a1930ecb0a2ea7e87d8816",
      "tree": "50596cf55c1f21d6c86c42cda02fd2963e24ab55",
      "parents": [
        "2e9cfa3b779649cd8d2a2f1ed3a3363fa74c1421"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Mar 12 11:35:57 2026 -0700"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Mar 12 11:35:57 2026 -0700"
      },
      "message": "enforce conventions already used by this repo\n\nmostly copied from https://github.com/apache/fineract-site/commit/dd6d8813868db76712335d1440701049edd1bdc9\n\nI\u0027m guinea-pigging proposed changes from https://cwiki.apache.org/confluence/display/FINERACT/FSIP-7%3A+traditional+merge+strategy\n"
    },
    {
      "commit": "2e9cfa3b779649cd8d2a2f1ed3a3363fa74c1421",
      "tree": "6e6b7acb507919df8c07cf5f0a19bde2a7d008d4",
      "parents": [
        "187fe96992d29da5dd5d392370e6bda09007b7ac"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Tue Mar 10 06:49:57 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Tue Mar 10 06:49:57 2026 +0000"
      },
      "message": "Fix: implement idempotent lookback window using hourly truncation\n"
    },
    {
      "commit": "187fe96992d29da5dd5d392370e6bda09007b7ac",
      "tree": "a2309c475715ed4a5dd14e0f4a907185ee0ff401",
      "parents": [
        "99b9909b6f02daebc829dfd9151aaace66493014"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Sun Mar 08 17:30:13 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Sun Mar 08 17:30:13 2026 +0000"
      },
      "message": "FINERACT-2524: Standardize lookback window to UTC start-of-day\n"
    },
    {
      "commit": "99b9909b6f02daebc829dfd9151aaace66493014",
      "tree": "d23db1396fcd4957322a87e90725a9fe7c1b03df",
      "parents": [
        "2cdaaa42a81366bcc43599c41215e1b39cf21a8d",
        "76137e01fbccd68b902dbabcf909dffffbe4c89b"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Mar 06 09:14:54 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Mar 06 09:14:54 2026 -0800"
      },
      "message": "Merge branch \u0027fix-idempotency-clean\u0027\n\n* fix-idempotency-clean:\n  FINERACT-2524: Ensure idempotency by deduplicating messages in toRows\n"
    },
    {
      "commit": "76137e01fbccd68b902dbabcf909dffffbe4c89b",
      "tree": "d23db1396fcd4957322a87e90725a9fe7c1b03df",
      "parents": [
        "2cdaaa42a81366bcc43599c41215e1b39cf21a8d"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Fri Mar 06 05:09:45 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Fri Mar 06 05:09:45 2026 +0000"
      },
      "message": "FINERACT-2524: Ensure idempotency by deduplicating messages in toRows\n"
    },
    {
      "commit": "2cdaaa42a81366bcc43599c41215e1b39cf21a8d",
      "tree": "7a99a0ddf5d020908b83b758b5e9d283ba73f30f",
      "parents": [
        "705dc9a15be410c93834db29a10828df7bb39a7c",
        "dcf48ddfc92e5940f6ebfab163f3122151cebe81"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Mar 05 17:34:08 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Mar 05 17:34:08 2026 -0800"
      },
      "message": "Merge branch \u0027jira/fineract-2514-hierarchy\u0027\n\n* jira/fineract-2514-hierarchy:\n  Fix: implement nested clickable breadcrumbs and update tests\n  Fix: recursive indexing and breadcrumb depth for nested hierarchy\n  FINERACT-2514: chat archiver: create year/month folders under docs/daily/CHANNEL\n"
    },
    {
      "commit": "dcf48ddfc92e5940f6ebfab163f3122151cebe81",
      "tree": "7a99a0ddf5d020908b83b758b5e9d283ba73f30f",
      "parents": [
        "0aca9643af74f5e66a29ae9119f464670b0a3ec5"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Fri Mar 06 00:31:17 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Fri Mar 06 00:31:17 2026 +0000"
      },
      "message": "Fix: implement nested clickable breadcrumbs and update tests\n"
    },
    {
      "commit": "0aca9643af74f5e66a29ae9119f464670b0a3ec5",
      "tree": "0cbd5612a8c3b72e685ccbf64aeaef90b62f38ff",
      "parents": [
        "a7aa3bd374812140dbdd672605756e196a24c09d"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Thu Mar 05 16:31:26 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Thu Mar 05 16:33:10 2026 +0000"
      },
      "message": "Fix: recursive indexing and breadcrumb depth for nested hierarchy\n"
    },
    {
      "commit": "a7aa3bd374812140dbdd672605756e196a24c09d",
      "tree": "e78449f3c9255d7ab433313f1d55bfb54e295b01",
      "parents": [
        "705dc9a15be410c93834db29a10828df7bb39a7c"
      ],
      "author": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Sun Mar 01 05:34:32 2026 +0000"
      },
      "committer": {
        "name": "nidhiii128",
        "email": "Nidhibhawari28@gmail.com",
        "time": "Thu Mar 05 16:33:10 2026 +0000"
      },
      "message": "FINERACT-2514: chat archiver: create year/month folders under docs/daily/CHANNEL\n"
    },
    {
      "commit": "705dc9a15be410c93834db29a10828df7bb39a7c",
      "tree": "fc4594a65a58b7b27547d5b8047a06bd336f8f98",
      "parents": [
        "2fcdb7c9d58c2d9564ef78957e42874f977f9bab"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Mar 02 12:18:27 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Mar 02 12:18:27 2026 -0800"
      },
      "message": "add CONTRIBUTING.md\n"
    },
    {
      "commit": "2fcdb7c9d58c2d9564ef78957e42874f977f9bab",
      "tree": "edb7728afd5210254ec9cedfda59c8dbbeb23e73",
      "parents": [
        "f0d5ac2eb2b3b130e65a1751833c7297e37b7053"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 23 09:51:25 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 23 09:51:25 2026 -0800"
      },
      "message": "link to #fineract chat archive\n"
    },
    {
      "commit": "f0d5ac2eb2b3b130e65a1751833c7297e37b7053",
      "tree": "b33948ea41846152da5c6fd3f55d3404a2a39063",
      "parents": [
        "cddce07f3e85881ecf8cf79dd05b922b217b7393"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:59:59 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:59:59 2026 -0800"
      },
      "message": "remove some excessive newlines\n\nJust a couple small tweaks this time. Done. I don\u0027t need this to be perfect.\n"
    },
    {
      "commit": "cddce07f3e85881ecf8cf79dd05b922b217b7393",
      "tree": "7758f915574077ac8b20b617b4e2eb94acbc62f5",
      "parents": [
        "68893375570e57b7183ed77ef35180623efffb70"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:52:10 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:52:10 2026 -0800"
      },
      "message": "fix unit test\n\nalso, use UTF-8 glyphs in mock data and UTF-16BE codepoints in assertion\n"
    },
    {
      "commit": "68893375570e57b7183ed77ef35180623efffb70",
      "tree": "b2fbfd9c9a9972acdb2f47e1416384af63bea3fd",
      "parents": [
        "a0651fd657e49fa6acc7fe2a49e5bfbeee6e58e2"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:42:52 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:42:52 2026 -0800"
      },
      "message": "add some linebreaks to HTML output\n\nso when there are changes to the archive they are easier to diff\n"
    },
    {
      "commit": "a0651fd657e49fa6acc7fe2a49e5bfbeee6e58e2",
      "tree": "980758b1a79a09eeeb8671227f25d16785d30185",
      "parents": [
        "c3f9b5dae01cb693a26e6c8821b8183768ad7537"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:35:07 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:35:07 2026 -0800"
      },
      "message": "add some more UTF-8 glyphs to EMOJI_MAP\n"
    },
    {
      "commit": "c3f9b5dae01cb693a26e6c8821b8183768ad7537",
      "tree": "4b3a99e68218be7f6ad0cf58bc96c736727694fe",
      "parents": [
        "e4f604c8701c1f52e886a2ddb50fe6991dbb6709"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Feb 12 10:21:39 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 17 12:19:49 2026 -0800"
      },
      "message": "revert UTF-8 glyph to UTF-16BE codepoint change\n\nre-apply a7411cb057f6e4b50dcd6d4a883e4efc2ae14de2\n\n\u003e use emoji instead of UTF-16BE codepoints\n\u003e\n\u003e a picture is worth 12 characters, in this case\n"
    },
    {
      "commit": "e4f604c8701c1f52e886a2ddb50fe6991dbb6709",
      "tree": "5219a158f17c9bb2fe23a3e0497851483dfb9b74",
      "parents": [
        "a7411cb057f6e4b50dcd6d4a883e4efc2ae14de2",
        "20b64381d1e5f10f3a59ecb8d186883c0810113f"
      ],
      "author": {
        "name": "Víctor Romero",
        "email": "46640258+IOhacker@users.noreply.github.com",
        "time": "Mon Feb 16 12:43:29 2026 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 16 12:43:29 2026 -0600"
      },
      "message": "Merge pull request #13 from airajena/feat/direct-html-archive-rendering\n\nfeat: render archive pages as HTML with static CSS and dark mode"
    },
    {
      "commit": "20b64381d1e5f10f3a59ecb8d186883c0810113f",
      "tree": "5219a158f17c9bb2fe23a3e0497851483dfb9b74",
      "parents": [
        "a7411cb057f6e4b50dcd6d4a883e4efc2ae14de2"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Sat Feb 14 09:10:04 2026 +0530"
      },
      "committer": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Sat Feb 14 09:25:43 2026 +0530"
      },
      "message": "Render archive pages as HTML with static CSS and dark mode\n"
    },
    {
      "commit": "a7411cb057f6e4b50dcd6d4a883e4efc2ae14de2",
      "tree": "f8f05327da89c727a4bc9f1c15913028cc92f1eb",
      "parents": [
        "c017bf46a3b9795c4380a5b5ff786522d2e5980e"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Feb 12 10:21:39 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Feb 12 10:21:39 2026 -0800"
      },
      "message": "use emoji instead of UTF-16BE codepoints\n\na picture is worth 12 characters, in this case\n"
    },
    {
      "commit": "c017bf46a3b9795c4380a5b5ff786522d2e5980e",
      "tree": "acfe4b45318966bc46d56b4eb1be7303246810d4",
      "parents": [
        "b1dff1b8eeb66ddad93e21ddaacd4ec3e6c83c58",
        "5e3d28780b7d722370529b6187576d81c93b5693"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Thu Feb 12 09:03:00 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 12 09:03:00 2026 -0800"
      },
      "message": "Merge pull request #12 from airajena/feat/github-pages-publishing\n\nPrepare archive output for GitHub Pages (CSS rendering + SEO metadata)"
    },
    {
      "commit": "5e3d28780b7d722370529b6187576d81c93b5693",
      "tree": "acfe4b45318966bc46d56b4eb1be7303246810d4",
      "parents": [
        "b1dff1b8eeb66ddad93e21ddaacd4ec3e6c83c58"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Thu Feb 12 16:44:30 2026 +0530"
      },
      "committer": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Thu Feb 12 16:44:30 2026 +0530"
      },
      "message": "feat: prepare archive output for GitHub Pages and SEO\n"
    },
    {
      "commit": "b1dff1b8eeb66ddad93e21ddaacd4ec3e6c83c58",
      "tree": "dc308dd5c0eb498c24cc829c9a7abc01f95d06c4",
      "parents": [
        "41833055adf9ee97e307b9d912fded398531c552"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 09:28:19 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:18:44 2026 -0800"
      },
      "message": "use Java 25\n"
    },
    {
      "commit": "41833055adf9ee97e307b9d912fded398531c552",
      "tree": "e740dfb206bd5ae15e6e21158ac89635ec6317d3",
      "parents": [
        "7243e0a12e6b4e96f0f7d4d2b63e65f49614f6a0"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 09:27:03 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:18:26 2026 -0800"
      },
      "message": "upgrade gradle 8.14.3 → 9.3.1\n"
    },
    {
      "commit": "7243e0a12e6b4e96f0f7d4d2b63e65f49614f6a0",
      "tree": "ca2327fbae818d8ac96f48fa88d7d36528df3ae6",
      "parents": [
        "ad2f731ff0edfcd3d6d38298deeb24246ee1b79a"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 09:50:50 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:17:27 2026 -0800"
      },
      "message": "reword headers\n"
    },
    {
      "commit": "ad2f731ff0edfcd3d6d38298deeb24246ee1b79a",
      "tree": "aa92fce23b5c75a59955619676f25b50a2f5e4ae",
      "parents": [
        "e7a7468d5a20b911b6a700b12083d6f821eb0e38"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 09:38:37 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:17:27 2026 -0800"
      },
      "message": "fix: preserve archive state in workflow\n\nAdam edit: move download below checkout, otherwise it seems the checkout removes docs/ and state/\n\nCollab with: Aira Jena \u003cairajena0@gmail.com\u003e, originally in the Mifos Chat Archive repo.\nSee: https://github.com/mifos/chat-archive/commit/e8cf27126f34babedf4b9324c4fddef19d1042e0\n"
    },
    {
      "commit": "e7a7468d5a20b911b6a700b12083d6f821eb0e38",
      "tree": "38b037a5f9922edbc5448fc05a476e7b1f4fb2f5",
      "parents": [
        "40d1e82986fa3d9c2c4afc5c08eaee73c2f5c912"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 09:38:28 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:17:27 2026 -0800"
      },
      "message": "improve install, test, and run instructions\n"
    },
    {
      "commit": "40d1e82986fa3d9c2c4afc5c08eaee73c2f5c912",
      "tree": "29d23477069fc730f6cefaf894e12556e4fc1b1f",
      "parents": [
        "a983924a5d1911b41e6db487f0f6f121703b4950"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:02:14 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:15:47 2026 -0800"
      },
      "message": "prefix threaded messages, bold usernames\n\n* prefix threaded messages with an arrow character \"→ \"\n* use Markdown bolding around usernames\n"
    },
    {
      "commit": "a983924a5d1911b41e6db487f0f6f121703b4950",
      "tree": "76b07960b0bebbe740134394405a02edf039f7a4",
      "parents": [
        "dfa66679ee5856558cbce942785266c62d968ad3"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 10:36:38 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:15:46 2026 -0800"
      },
      "message": "shorten default timestamp, add full ts in tooltip\n"
    },
    {
      "commit": "dfa66679ee5856558cbce942785266c62d968ad3",
      "tree": "b7fbf6ecd0cc9db766e099a2ca69a4b7ef5a38d8",
      "parents": [
        "9a34862b4bada033a607d7984d17f633c9123c9c",
        "068aae871b276bcc9f30deab28b7dbd629e48ce3"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:08:14 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Wed Feb 11 11:08:14 2026 -0800"
      },
      "message": "Merge PR #11 by airajena (1)\n\nImprove Slack message formatting (links, mentions, emoji, spacing)\n\n* feat: format slack message output\n\nSee also:\n\n* https://issues.apache.org/jira/browse/FINERACT-2478\n"
    },
    {
      "commit": "9a34862b4bada033a607d7984d17f633c9123c9c",
      "tree": "dbabd00280e8beb7f906b0892a0209e2069baf4e",
      "parents": [
        "4993e4d74a3733811869fb352bde88876cf942d9"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 10 12:10:14 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Tue Feb 10 12:15:57 2026 -0800"
      },
      "message": "improve app error handling\n\n* return nonzero exit code on misconfiguration or unrecoverable failure\n* always log at SEVERE right before exiting\n"
    },
    {
      "commit": "068aae871b276bcc9f30deab28b7dbd629e48ce3",
      "tree": "8cf3b774c0b430d6c0b9aac829f29fed6d848fd1",
      "parents": [
        "4993e4d74a3733811869fb352bde88876cf942d9"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Tue Feb 10 10:49:36 2026 +0530"
      },
      "committer": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Tue Feb 10 10:49:36 2026 +0530"
      },
      "message": "feat: format slack message output\n"
    },
    {
      "commit": "4993e4d74a3733811869fb352bde88876cf942d9",
      "tree": "9d928c56009386b4f01cedbcf2eeb52abbb85a86",
      "parents": [
        "1d4c8a972c571c904b5eb615f2396c05afa758ab"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:57:38 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:57:38 2026 -0800"
      },
      "message": "fix caveman typo\n"
    },
    {
      "commit": "1d4c8a972c571c904b5eb615f2396c05afa758ab",
      "tree": "bca45b87bb18f18b06ca566db177ce2706b20adb",
      "parents": [
        "55b4df23737e78f3cc6b948282f933e718f80f86"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:50:55 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:50:55 2026 -0800"
      },
      "message": "use latest \u0026 greatest workflow config\n\ncopied from https://github.com/mifos/chat-archive/blob/f984aea08927731291560308c1d2d99596681212/.github/workflows/update-archive.yml\n"
    },
    {
      "commit": "55b4df23737e78f3cc6b948282f933e718f80f86",
      "tree": "1c84296a5506b330141e1b9428951ab2d92ec85f",
      "parents": [
        "16ad1b3a8318ef0ef4fa818f85b4fb1e543c1fcb"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:34:19 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:44:23 2026 -0800"
      },
      "message": "use env vars instead of properties file for config\n\n* move slack token into ArchiveConfig class\n* log all config on startup\n* remove Optional; guarantee callers have useful config instance\n\nPartially AI-assisted by Kimi K2.5 Free OpenCode Zen, but I had to clean up quite a bit manually.\n"
    },
    {
      "commit": "16ad1b3a8318ef0ef4fa818f85b4fb1e543c1fcb",
      "tree": "54b857e8315457fa86dc8cb8a5eab819605a2993",
      "parents": [
        "ca70ac6c223ae34641544253be617bf256c32df9"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:31:58 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 16:31:58 2026 -0800"
      },
      "message": "remove \"Fineract\" from page title\n\narchive might include non-fineract channels\n"
    },
    {
      "commit": "ca70ac6c223ae34641544253be617bf256c32df9",
      "tree": "eacf01e946d4db6b9e405d84108707cb4f383995",
      "parents": [
        "9f2deb3f5f3930ed28abd624d9faf8c897797fe6"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 13:52:02 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 13:52:02 2026 -0800"
      },
      "message": "test with 2 days of lookback\n"
    },
    {
      "commit": "9f2deb3f5f3930ed28abd624d9faf8c897797fe6",
      "tree": "9c3b483c8527783990feeb56f280629e3a453163",
      "parents": [
        "e411b9d55dca82415d13447a743256ae0d8275fb"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 13:16:46 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 13:18:02 2026 -0800"
      },
      "message": "improve Verify Commit Signatures workflow\n\n* use latest checkout action\n* use slim image for this simple workflow\n* remove redundant Checkout action name\n* remove unnecessary chmod (git takes care of the executable bit)\n"
    },
    {
      "commit": "e411b9d55dca82415d13447a743256ae0d8275fb",
      "tree": "30626463d51574db895541ae0f729bed62b8fe91",
      "parents": [
        "c19209e348caaa5de12f74963769c07f9a896d42"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:59:32 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:59:32 2026 -0800"
      },
      "message": "improve install help\n"
    },
    {
      "commit": "c19209e348caaa5de12f74963769c07f9a896d42",
      "tree": "067a5a5ebe8e22a7bd1485a02496befb323b9475",
      "parents": [
        "887c4882f69c792ecf26b8663bcb9e4d232c10b6"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:57:35 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:57:35 2026 -0800"
      },
      "message": "disable update-archive.yml, make into documentation\n\nadd relevant Install section to readme\n"
    },
    {
      "commit": "887c4882f69c792ecf26b8663bcb9e4d232c10b6",
      "tree": "0d776f60315e6a34a8f05cb0ad0a8a593b573f7a",
      "parents": [
        "2740a85f80e56a3666f12bc61fe721b7f97a172c"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:54:45 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:54:45 2026 -0800"
      },
      "message": "mention included ASF software\n\nI\u0027m thinking of scripts/verify-signed-commits.sh\n"
    },
    {
      "commit": "2740a85f80e56a3666f12bc61fe721b7f97a172c",
      "tree": "10fc676b4a04002f266c3278fc572757c43f15ad",
      "parents": [
        "6ab95696e8fbd315b3c814b71e00ce14e505293d"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:52:04 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:52:04 2026 -0800"
      },
      "message": "shorten name of signed commits check job\n\n\"Fineract\" isn\u0027t helpful nor relevant here. It\u0027s a general-purpose tool.\n"
    },
    {
      "commit": "6ab95696e8fbd315b3c814b71e00ce14e505293d",
      "tree": "3becfa4e8713ebe98333cece69f4c5c74914c075",
      "parents": [
        "c9bd8261624cf5b10bc1c9a87ff26bf432e8b21b"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:33:43 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:33:43 2026 -0800"
      },
      "message": "add ASF config file\n\nsee https://infra.apache.org/asf-yaml.html\n"
    },
    {
      "commit": "c9bd8261624cf5b10bc1c9a87ff26bf432e8b21b",
      "tree": "eb4a25dc5accd711a1bb65bd789938fab9b3a6b3",
      "parents": [
        "b7eeabf9eefb03bf8fce60044a8d73a51c6ffc29"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:23:40 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Feb 09 09:32:46 2026 -0800"
      },
      "message": "add history, copyright, license, and instance list\n\nalso: Remove incorrect BOM from Readme.md. It should be UTF-8, not UTF-16 (see https://en.wikipedia.org/wiki/Byte_order_mark ).\n\nre: LICENSE and NOTICE, see https://infra.apache.org/licensing-howto.html\n"
    },
    {
      "commit": "b7eeabf9eefb03bf8fce60044a8d73a51c6ffc29",
      "tree": "f62e5678203bc9a1250b50e2698dd189c6ef027e",
      "parents": [
        "aab5218f1176d21bfeb41cf84edc8052afcfed03",
        "1fea9e419af090100d614f5ca01e54cbd315002a"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Sat Feb 07 12:53:45 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Sat Feb 07 12:53:45 2026 -0800"
      },
      "message": "Merge branch \u0027airajena-develop-FINERACT-2171\u0027\n\n* airajena-develop-FINERACT-2171:\n  refactor: simplify markdown rendering and update docs\n  make gradle wrapper executable\n  Add user names and thread replies\n  Document scopes and handle rate limits\n  Add CI automation\n  Fetch messages and render archive\n  Resolve Slack channel IDs\n  Add config and Slack auth check\n  Bootstrap chat archive project\n"
    },
    {
      "commit": "1fea9e419af090100d614f5ca01e54cbd315002a",
      "tree": "f62e5678203bc9a1250b50e2698dd189c6ef027e",
      "parents": [
        "a92eaae5ecaf5fad94b43c90596562ff8da83d47"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Sat Feb 07 10:09:59 2026 +0530"
      },
      "committer": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Sun Feb 08 02:08:20 2026 +0530"
      },
      "message": "refactor: simplify markdown rendering and update docs\n"
    },
    {
      "commit": "a92eaae5ecaf5fad94b43c90596562ff8da83d47",
      "tree": "25ff9103126841a9909f4d5fa0b04ff4f247623e",
      "parents": [
        "badb92af87ea3a1329b0b6d0de570afa80d52ddd"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 14:55:36 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:06 2026 -0800"
      },
      "message": "make gradle wrapper executable\n\nseems like that\u0027s standard\n"
    },
    {
      "commit": "badb92af87ea3a1329b0b6d0de570afa80d52ddd",
      "tree": "d115528640a1dc79193b674b6fe8d1435b7bf9c4",
      "parents": [
        "7ab983a1af79619c156e5e8e876f776f6640121b"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 20:50:04 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:06 2026 -0800"
      },
      "message": "Add user names and thread replies\n"
    },
    {
      "commit": "7ab983a1af79619c156e5e8e876f776f6640121b",
      "tree": "3c454ae90e82e75001ac75d0eee760c32e3ba786",
      "parents": [
        "0b7ea00b440fd1f3ff249775db5eb398f6815593"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 20:03:46 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:05 2026 -0800"
      },
      "message": "Document scopes and handle rate limits\n"
    },
    {
      "commit": "0b7ea00b440fd1f3ff249775db5eb398f6815593",
      "tree": "69b1dabcced57df7e7daaeb531448d693acd3de5",
      "parents": [
        "10e95a68e4282191e33a6222ecfc438a7d9d52e9"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 18:31:45 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:05 2026 -0800"
      },
      "message": "Add CI automation\n"
    },
    {
      "commit": "10e95a68e4282191e33a6222ecfc438a7d9d52e9",
      "tree": "e355ff0c49823570841c10f61578f0a24b84f138",
      "parents": [
        "29d8703d76c55d5efe2c0bd5da4216a2755b1df6"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 18:23:08 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:05 2026 -0800"
      },
      "message": "Fetch messages and render archive\n"
    },
    {
      "commit": "29d8703d76c55d5efe2c0bd5da4216a2755b1df6",
      "tree": "4eb1f2663a02839a5b2ac7c8420510a57ca4f86e",
      "parents": [
        "6ef5d0cdae8e5507ee609d5e337179e9453a644d"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 13:00:38 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:04 2026 -0800"
      },
      "message": "Resolve Slack channel IDs\n"
    },
    {
      "commit": "6ef5d0cdae8e5507ee609d5e337179e9453a644d",
      "tree": "f7977d0a1e413e4b714ce941206beeff668b498e",
      "parents": [
        "98d8599e4eb36056c9b2aa550bc986de4e5417c4"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 11:21:00 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:04 2026 -0800"
      },
      "message": "Add config and Slack auth check\n"
    },
    {
      "commit": "98d8599e4eb36056c9b2aa550bc986de4e5417c4",
      "tree": "6840ecc686165a11926d10beb61cf5218bcbe160",
      "parents": [
        "aab5218f1176d21bfeb41cf84edc8052afcfed03"
      ],
      "author": {
        "name": "airajena",
        "email": "airajena0@gmail.com",
        "time": "Fri Feb 06 10:24:11 2026 +0530"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:04:04 2026 -0800"
      },
      "message": "Bootstrap chat archive project\n"
    },
    {
      "commit": "aab5218f1176d21bfeb41cf84edc8052afcfed03",
      "tree": "d90a59f731ce08ea8bbbb744fbf140c6c15a8382",
      "parents": [
        "0c90d79b91b63911c10f93bdf566a90c29050c02",
        "d10424f5cbc72d62766354fbaab6079b649f2b3b"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 16:01:47 2026 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 06 16:01:47 2026 -0800"
      },
      "message": "Merge pull request #10 from meonkeys/add-test-job\n\nAdd GitHub action to run unit tests on push to main or PR targeting main"
    },
    {
      "commit": "d10424f5cbc72d62766354fbaab6079b649f2b3b",
      "tree": "d90a59f731ce08ea8bbbb744fbf140c6c15a8382",
      "parents": [
        "4105fe7f3e9076179e3ac60cfb339d7ac0bdd952"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 15:57:55 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 15:57:55 2026 -0800"
      },
      "message": "simplify and use recommended versions\n"
    },
    {
      "commit": "4105fe7f3e9076179e3ac60cfb339d7ac0bdd952",
      "tree": "cd67ab41018e45f769ca15edc2f3455d3ecf3c1c",
      "parents": [
        "0c90d79b91b63911c10f93bdf566a90c29050c02"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 15:16:40 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 15:41:12 2026 -0800"
      },
      "message": "run tests for pushes and PRs\n"
    },
    {
      "commit": "0c90d79b91b63911c10f93bdf566a90c29050c02",
      "tree": "51e6722075def832e8d524ba1e0b7b028d1d17b9",
      "parents": [
        "2f7f2512cfa187de75b84bbd25c283f7926e62e7"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 14:21:00 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 14:21:00 2026 -0800"
      },
      "message": "fix default upstream\n\nit\u0027s still a guess, just a better guess now\n"
    },
    {
      "commit": "2f7f2512cfa187de75b84bbd25c283f7926e62e7",
      "tree": "6c4421b4c934fd54cc59b8246ca47480c1a1bb85",
      "parents": [
        "d3aaebd8bb33ce78b1322dea71e9831b6bf1e33a"
      ],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 14:16:38 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Fri Feb 06 14:16:38 2026 -0800"
      },
      "message": "verify all commits are signed\n\nsee https://issues.apache.org/jira/browse/FINERACT-2177\n\nThis is patch from https://github.com/apache/fineract/pull/5431 , minus the change to CONTRIBUTING.md (since we don\u0027t have one of those in this repo, and probably don\u0027t need one).\n"
    },
    {
      "commit": "d3aaebd8bb33ce78b1322dea71e9831b6bf1e33a",
      "tree": "eee61fdf4e4974174d4db84c0edb895ba44b7773",
      "parents": [],
      "author": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jan 26 11:07:18 2026 -0800"
      },
      "committer": {
        "name": "Adam Monsen",
        "email": "haircut@gmail.com",
        "time": "Mon Jan 26 11:07:18 2026 -0800"
      },
      "message": "initial commit\n\nsee:\n\n* https://issues.apache.org/jira/browse/FINERACT-2171\n* https://github.com/apache/fineract/pull/5388\n"
    }
  ]
}
