jazari 0.5.1 → 0.5.2

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: ad2cee14e7d98cafacba5aee000eb53cfb535cf0ef0bb44b33e3673d30cdcf0a
4
- data.tar.gz: 1e2673212b4991d1d97fe180f3aa05a41d19346d0db15d78bce20c284314c285
3
+ metadata.gz: faa1d648cc4474b0e9dbf576b32f4f856037c1f15592ceb84b73ce46a7aedc8b
4
+ data.tar.gz: e74d3afaef8633e4c4fc66122fcfe57f1f1a9d862fe49005e828fd4ed22d9672
5
5
  SHA512:
6
- metadata.gz: 30eefc30cdf967a2d21edd102c24ecec837f900951108ff16c7b315e448bf2f67fcaf377e008b7763c2c56ef8f4f11a572e3d6b90633738ea843ee006391a3ca
7
- data.tar.gz: e9fa13eb53e3ef64052292402ebe353416f063e732b92c05e9fb53e78eb1db2faf2b7ce7ae397a34b11e82956dc8ee93778915175e135f3fdc9695cb7306af3d
6
+ metadata.gz: fed7a9910117ed6a53eebac98b15544b4864741b84da262320c21c4599363b8f017d6a5cd39be54798bff35b7542866802b5545a238dfaf086ed684f41901cc5
7
+ data.tar.gz: 0bfa18d167b05a8189c1ed8c53a67303fb8b014eb83fa1ff260fb382a60d028d30aeec1c6372d484f1f1c09cc603c985f9fcfa99af38e95d6fc25943047eec4f
data/CHANGELOG.md CHANGED
@@ -8,6 +8,13 @@ codes, the resolved-value shape, how revisions are computed, and the schema the
8
8
  generator emits — changes to any of those are breaking even when the method
9
9
  signatures do not move.
10
10
 
11
+ ## [0.5.2] - 2026-08-12
12
+
13
+ ### Fixed
14
+
15
+ - Runs opened for a customized subject now snapshot that subject's resolved
16
+ checklist, preserving custom item ids for ticks and evidence.
17
+
11
18
  ## [0.5.1] - 2026-08-12
12
19
 
13
20
  ### Changed
data/lib/jazari/runs.rb CHANGED
@@ -20,6 +20,7 @@ module Jazari
20
20
  # the revision guard exists to prevent.
21
21
  def open(target:, actor_ref: nil, now: Time.now.utc)
22
22
  recipe = RecipeRegistry.fetch(target.recipe_id)
23
+ resolved = Operations.resolve(target: target)
23
24
  subject = subject_for(target)
24
25
  started_at = now.utc
25
26
  actor_ref = resolve_actor_ref(actor_ref)
@@ -39,7 +40,10 @@ module Jazari
39
40
  # operator editing a recipe mid-run makes the in-flight run unable to
40
41
  # tick its own steps, and able to tick steps that did not exist when it
41
42
  # started. source_digest alone is provenance, not protection.
42
- checklist_snapshot: recipe.checklist.map { |i| i.transform_keys(&:to_s) },
43
+ # A subject may carry a deliberate runbook customization. The run must
44
+ # snapshot the truth the caller resolved, not silently fall back to the
45
+ # recipe and then reject the subject's own checklist item at tick time.
46
+ checklist_snapshot: resolved.checklist.map { |i| i.transform_keys(&:to_s) },
43
47
  ticks: [], evidence: []
44
48
  }
45
49
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jazari
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jazari
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nauman Tariq