prdigest 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 264ab3685453725051fd4801627cc9eaf917bfa44f6ec9eee58d375168576761
4
- data.tar.gz: 6fad72d4c5aaf157b7c8f29841efadc9a29ec154c327436904f11fad34332c5c
3
+ metadata.gz: 8788f06c317608d4ae85c2784408764af17e36148becd307a9332f853f7bb7eb
4
+ data.tar.gz: e975b567596a673fabf283ae5b81e1c85bc901f3f54c71b5275bd24c29f1c3f8
5
5
  SHA512:
6
- metadata.gz: cc48ee4723c80380f105d21f4a82541cbcb8ba9ffbe570e4411db6bce718207b4a89674424489578d03fb01f9485d56fa3e57fb618210a74e4893cd8d2dfef24
7
- data.tar.gz: bf5501a504c4528ba4391124cc888c7a7ef4034190055aa6df94de8d6a1afa8dc5376720715ae79acd63bac4a33444d948f9cc497d8f06d3f06fb9c648709afa
6
+ metadata.gz: e20edb4683ef19cb47b498258536f1f5ef6b51331a69e41aa1730b5c65d7d72dc6418f260ea58bccffa47aaf564150dad24da53358f04bf85500cc19982f11c0
7
+ data.tar.gz: 4ff9015ad80f6624b7ba726bd3c616dff0890c9eec6ffd0315a3d840dee07c7123295d5c914f99d3cac420254c2167c7a93325dbbe85b843c42d454f3f34657d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1 - 2026-07-25
4
+
5
+ - Accept Octokit `Time` objects as well as ISO-8601 strings for pull-request
6
+ merge timestamps, fixing malformed-response failures against live GitHub data.
7
+
3
8
  ## 0.1.0 - 2026-07-16
4
9
 
5
10
  - Add timezone-correct daily windows, atomic versioned state, and capped catch-up.
data/README.md CHANGED
@@ -23,7 +23,7 @@ To build and install the prepared gem without publishing it:
23
23
 
24
24
  ```sh
25
25
  gem build prdigest.gemspec
26
- gem install prdigest-0.1.0.gem
26
+ gem install prdigest-0.1.1.gem
27
27
  prdigest version
28
28
  ```
29
29
 
@@ -57,7 +57,7 @@ state:
57
57
 
58
58
  Repository order controls digest order. `max_catchup_days` must be `1..30`.
59
59
  `chat_id` must appear in the non-empty allowlist; extra allowlisted IDs are
60
- accepted for schema compatibility but v0.1.0 sends only to `chat_id`. Token
60
+ accepted for schema compatibility but v0.1.x sends only to `chat_id`. Token
61
61
  values belong in environment variables, never YAML.
62
62
 
63
63
  ## Commands and results
@@ -181,13 +181,13 @@ The Alpine image includes `tzdata` and runs as the unprivileged `prdigest` user.
181
181
  Initialize mounted ownership with the image before normal use:
182
182
 
183
183
  ```sh
184
- docker build -t prdigest:0.1.0 .
184
+ docker build -t prdigest:0.1.1 .
185
185
  docker volume create prdigest-state
186
- docker run --rm --user root --entrypoint sh -v prdigest-state:/var/lib/prdigest prdigest:0.1.0 \
186
+ docker run --rm --user root --entrypoint sh -v prdigest-state:/var/lib/prdigest prdigest:0.1.1 \
187
187
  -c 'chown -R prdigest:prdigest /var/lib/prdigest && chmod 0700 /var/lib/prdigest'
188
188
  docker run --rm --env-file /etc/prdigest/.env \
189
189
  -v /etc/prdigest/config.yml:/etc/prdigest/config.yml:ro \
190
- -v prdigest-state:/var/lib/prdigest prdigest:0.1.0
190
+ -v prdigest-state:/var/lib/prdigest prdigest:0.1.1
191
191
  ```
192
192
 
193
193
  ## Verification and troubleshooting
@@ -215,11 +215,11 @@ See [SECURITY.md](SECURITY.md) for token scope, rotation, and private-data flow.
215
215
 
216
216
  ## Non-goals
217
217
 
218
- v0.1.0 has no built-in Hive configuration discovery, LLM content, web UI,
218
+ v0.1.x has no built-in Hive configuration discovery, LLM content, web UI,
219
219
  interactive bot commands,
220
220
  multi-chat routing, organization discovery, non-GitHub forge support, or
221
- long-running scheduler. This repository prepares v0.1.0 without tagging,
222
- publishing the gem, or creating a release.
221
+ long-running scheduler. The build and test process never tags or publishes
222
+ automatically.
223
223
 
224
224
  ## License
225
225
 
data/SECURITY.md CHANGED
@@ -24,5 +24,5 @@ state files, or unredacted journal output.
24
24
 
25
25
  ## Supported release
26
26
 
27
- Security fixes target the latest published release. v0.1.0 is prepared here but
28
- is not published, tagged, or released by the build process.
27
+ Security fixes target the latest published release. The build and test process
28
+ does not tag or publish releases automatically.
data/lib/prdigest/cli.rb CHANGED
@@ -33,7 +33,7 @@ module Prdigest
33
33
  path = Config.resolve_path(explicit: parsed[:config], env: env, system_path: system_path)
34
34
  config = Config.load(path)
35
35
  if parsed[:command] == "serve"
36
- err.puts "prdigest serve: deferred in v0.1.0 — use systemd timer + `prdigest run`"
36
+ err.puts "prdigest serve: deferred in v0.1.x — use systemd timer + `prdigest run`"
37
37
  return 0
38
38
  end
39
39
 
@@ -103,7 +103,7 @@ module Prdigest
103
103
 
104
104
  def map_item(item, repository, date, window)
105
105
  actual_repository = repository_name(item)
106
- merged_at = Time.iso8601(field(field(item, :pull_request), :merged_at).to_s).utc
106
+ merged_at = parse_time(field(field(item, :pull_request), :merged_at))
107
107
  unless actual_repository.casecmp?(repository) && window.cover?(merged_at)
108
108
  fail_fetch!(repository, date, "result outside requested repository or UTC window")
109
109
  end
@@ -118,6 +118,12 @@ module Prdigest
118
118
  )
119
119
  end
120
120
 
121
+ def parse_time(value)
122
+ return value.utc if value.is_a?(Time)
123
+
124
+ Time.iso8601(value.to_s).utc
125
+ end
126
+
121
127
  def repository_name(item)
122
128
  repository = optional_field(item, :repository)
123
129
  full_name = optional_field(repository, :full_name) if repository
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Prdigest
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prdigest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kuznetsov