jumbotron 0.1.3 → 0.1.4

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: 70b7fd9c8a5076c1337d2a6cf9e02016fd6cfa28ec64c9cc0a57c82ff3892698
4
- data.tar.gz: 5051beb14f8770e109f382abd0729952446ecd40a50fbd143ac4e5b5746800b0
3
+ metadata.gz: 57d3fe24f637b7b9bcbc402ebe85a11fb860d2b2593bfe1f53f47a1d55d3b62a
4
+ data.tar.gz: 0d5e96cfe46ff8dad640a4ee9677e9deedaf32df7183868f13adf4a37a236c30
5
5
  SHA512:
6
- metadata.gz: c684624b00cded82fb1e274b793a5e0c7cca6d0720589192def2ea53357ce933d631e59373728bfb3052343706df6684ddfd082482100aef79160a65fb8b9dbf
7
- data.tar.gz: 72f5a0934b87a9008e6fc782b377ac166f762119504f646bcf4d964892475c2df66871a3222bdf81c20a8eaba264f3e5c519bbbfc5bf4acd1396ac95a94d308c
6
+ metadata.gz: aa98921803b8d0223cc523ce9f344857a28d71ace7140df51e026df0db2163252dd5747e9dbd0f1a849e1f0f8d3b415b00527cfccf1dc50e6c1f01d0b198c20d
7
+ data.tar.gz: b70bbde319e59a5b16b6f6b1484037034fdbe68dd3a87e163b96862c93f763dc5cdd0041305ddd164236b255b786858bd73e398bfe5133d4e7abd6d3789f580b
@@ -4,6 +4,12 @@ module Jumbotron
4
4
  class HistoricalChange < ApplicationRecord
5
5
  belongs_to :observation_batch, inverse_of: :historical_changes
6
6
 
7
+ # Force JSON attribute types so writes are JSON.generate'd on every adapter.
8
+ # MariaDB stores t.json as LONGTEXT + json_valid CHECK; without :json, AR
9
+ # persists Ruby #inspect and discovery/evidence writes fail CheckViolation.
10
+ attribute :previous_value, :json
11
+ attribute :new_value, :json
12
+
7
13
  validates :subject_type, :subject_id, :attribute_name, :observed_at, :provider, presence: true
8
14
  end
9
15
  end
@@ -9,6 +9,8 @@ module Jumbotron
9
9
  inverse_of: :observation_batch,
10
10
  dependent: :restrict_with_exception
11
11
 
12
+ attribute :metadata, :json, default: -> { {} }
13
+
12
14
  validates :provider, :adapter_scope, :observed_at, presence: true
13
15
  end
14
16
  end
@@ -0,0 +1,34 @@
1
+ # Upgrade: Jumbotron 0.1.4
2
+
3
+ **From:** `0.1.3`
4
+ **To:** `0.1.4`
5
+
6
+ Patch release for MariaDB-safe observation evidence JSON persistence. No public consumer contract break. Hosts must already run CommandTower `>= 0.12`.
7
+
8
+ ## Host-facing change
9
+
10
+ | Change | Host impact |
11
+ |--------|-------------|
12
+ | `HistoricalChange` JSON coding | `previous_value` and `new_value` declare `attribute :…, :json`. Fixes `ActiveRecord::CheckViolation` on MariaDB 10.11 where `t.json` is LONGTEXT + `json_valid` CHECK (discovery / sync evidence writes). |
13
+ | `ObservationBatch` JSON coding | `metadata` declares `attribute :metadata, :json`. Defense in depth for non-empty metadata. |
14
+
15
+ ## Upgrade checklist
16
+
17
+ 1. Bump gem to `0.1.4` (or `>= 0.1.4`).
18
+ 2. **No new migration** — runtime model coder only; existing `jumbotron_*` tables unchanged.
19
+ 3. **No** recurring schedule rematerialize required for this patch.
20
+ 4. After deploy, run a **one-shot** full-season discovery if the catalog is still empty (boot discovery remains off on Pick'em):
21
+
22
+ ```ruby
23
+ Jumbotron::DiscoveryJob.perform_later(
24
+ adapter_id: "espn_nfl",
25
+ discovery_id: "full_season",
26
+ continuation_attempt: 1
27
+ )
28
+ ```
29
+
30
+ 5. Smoke: `Jumbotron::Game.count` > 0 after discovery completes; live `GameUpdateJob` ticks without `CheckViolation` on evidence writes.
31
+
32
+ ## Dummy host (engine repo)
33
+
34
+ Jumbotron dummy Compose now uses **MariaDB 10.11.14** (production parity). Recreate the Compose `mysql` volume after pulling this release.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jumbotron
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jumbotron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - matt-taylor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-24 00:00:00.000000000 Z
11
+ date: 2026-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: command_tower
@@ -208,6 +208,7 @@ files:
208
208
  - docs/testing.md
209
209
  - docs/upgrades/0.1.2.md
210
210
  - docs/upgrades/0.1.3.md
211
+ - docs/upgrades/0.1.4.md
211
212
  - lib/jumbotron.rb
212
213
  - lib/jumbotron/client.rb
213
214
  - lib/jumbotron/engine.rb