From 93dd2d9a6a77ae86f65174429d19c8b775567597 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 01/17] feat: add Condition, the JSON Logic authoring seam MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JSON Logic is the right storage format for a routing rule — portable, safe to evaluate, expressive enough for what people actually write. It is the wrong authoring format for a human: nobody should hand-write { ">" => [{ "var" => "amount" }, 10_000] } in a form field or a seed file. Condition translates a field/operator/value triple to and from that AST, and is honest about its limits — anything it cannot represent parses back as nil rather than being silently mangled, so callers can fall back to raw JSON. Values cast against the declared `exposes_for_approval` type, because a form that submits "10000" against a numeric attribute would otherwise compare a string to a number and quietly never match. Shared groundwork for the admin rule builder and the flow DSL. Co-Authored-By: Claude Opus 5 (1M context) --- lib/approval_engine.rb | 1 + lib/approval_engine/condition.rb | 235 +++++++++++++++++++++++++ test/approval_engine/condition_test.rb | 195 ++++++++++++++++++++ 3 files changed, 431 insertions(+) create mode 100644 lib/approval_engine/condition.rb create mode 100644 test/approval_engine/condition_test.rb diff --git a/lib/approval_engine.rb b/lib/approval_engine.rb index 5a9f9a3..3c167cb 100644 --- a/lib/approval_engine.rb +++ b/lib/approval_engine.rb @@ -1,6 +1,7 @@ require "approval_engine/version" require "approval_engine/configuration" require "approval_engine/approval_exposure" +require "approval_engine/condition" require "approval_engine/model_extensions" require "approval_engine/engine" diff --git a/lib/approval_engine/condition.rb b/lib/approval_engine/condition.rb new file mode 100644 index 0000000..7bb6e31 --- /dev/null +++ b/lib/approval_engine/condition.rb @@ -0,0 +1,235 @@ +module ApprovalEngine + # A single field/operator/value comparison, and the translation layer between + # that triple and the JSON Logic AST stored in `TriggerRule#condition`. + # + # JSON Logic is the right *storage* format — it is portable, safe to evaluate, + # and expressive enough for the rules people actually write. It is the wrong + # *authoring* format for a human: nobody should have to hand-write + # `{ ">" => [{ "var" => "amount" }, 10_000] }` in a form field or a seed file. + # + # So this class is the seam. It renders the common shapes down to JSON Logic + # and reads them back up, and it is deliberately honest about its limits: a + # condition it cannot represent round-trips as `nil` from `.parse`, which is + # the signal for the admin UI to fall back to a raw-JSON textarea rather than + # silently mangle a rule someone wrote by hand. + # + # Condition.new(field: "amount", operator: :gt, value: 10_000).to_json_logic + # # => { ">" => [{ "var" => "amount" }, 10_000] } + # + # Condition.parse({ ">" => [{ "var" => "amount" }, 10_000] }) + # # => [#] + # + # Condition.parse({ "some" => [...] }) # too complex for the simple form + # # => nil + class Condition + # Operators the simple form can express, mapped to their JSON Logic operator. + # `:not_in` has no direct operator — it is `in` wrapped in a negation — so it + # maps to nil and is special-cased on the way in and out. + OPERATORS = { + eq: "==", + not_eq: "!=", + gt: ">", + gte: ">=", + lt: "<", + lte: "<=", + in: "in", + not_in: nil + }.freeze + + # Operators whose value is a list rather than a scalar. + LIST_OPERATORS = %i[in not_in].freeze + + # Human labels for the operator dropdown, in the order they should appear. + LABELS = { + eq: "is equal to", + not_eq: "is not equal to", + gt: "is greater than", + gte: "is greater than or equal to", + lt: "is less than", + lte: "is less than or equal to", + in: "is one of", + not_in: "is not one of" + }.freeze + + attr_reader :field, :operator, :value + + # `type` mirrors the `exposes_for_approval` attribute types, so a value that + # arrives from an HTML form as the string "10000" is stored as the number + # 10_000 — otherwise JSON Logic would compare a number against a string and + # quietly never match. It defaults to nil, meaning "already the right type, + # leave it alone": code passing a literal 10_000 must not have it stringified. + def initialize(field:, operator:, value:, type: nil) + @field = field.to_s + @operator = operator.to_sym + @type = type&.to_sym + @value = cast(value) + + raise ArgumentError, "unknown operator #{@operator.inspect}" unless OPERATORS.key?(@operator) + raise ArgumentError, "field can't be blank" if @field.empty? + end + + def list? + LIST_OPERATORS.include?(operator) + end + + def to_json_logic + comparison = { OPERATORS[list_base_operator] => [ { "var" => field }, value ] } + operator == :not_in ? { "!" => [ comparison ] } : comparison + end + + def ==(other) + other.is_a?(Condition) && + other.field == field && other.operator == operator && other.value == value + end + alias eql? == + + def hash + [ field, operator, value ].hash + end + + class << self + # Reads a stored JSON Logic AST back into an array of Conditions, so an + # existing rule can be re-opened in the simple form. Returns nil — not an + # empty array — when the AST is anything this class cannot represent, so + # callers can tell "no conditions" from "too complex to show". + # + # Accepts a single comparison or an `and` of comparisons; an `or`, a + # nested `and`, arithmetic, or any unrecognised operator returns nil. + def parse(json_logic) + return nil unless json_logic.is_a?(Hash) && json_logic.size == 1 + + operator, operand = json_logic.first + return parse_conjunction(operand) if operator == "and" + + single = parse_comparison(json_logic) + single ? [ single ] : nil + end + + # True when `parse` can round-trip this AST — i.e. the simple form can edit + # it without losing anything. + def simple?(json_logic) + !parse(json_logic).nil? + end + + # Renders one or more Conditions to a single stored AST. Multiple + # conditions are ANDed; that is the only combinator the simple form offers, + # because an OR builder is a materially different (and much larger) UI and + # raw JSON Logic remains available for it. + def to_json_logic(conditions) + conditions = Array(conditions) + raise ArgumentError, "no conditions given" if conditions.empty? + return conditions.first.to_json_logic if conditions.one? + + { "and" => conditions.map(&:to_json_logic) } + end + + # Builds conditions from the DSL's `when:` sugar, so a flow definition can + # say what it means: + # + # when: { amount: { gt: 10_000 } } + # when: { amount: { gt: 10_000 }, region: { in: %w[EU UK] } } + # when: { status: "pending" } # bare value means :eq + # when: { ">" => [{ "var" => "amount" }, 1] } # raw JSON Logic, passed through + # + # `types` maps field name to its declared exposure type so values cast the + # same way the payload does. + def from(clause, types: {}) + raise ArgumentError, "condition can't be blank" if clause.blank? + return clause if raw_json_logic?(clause) + + conditions = clause.map do |field, matcher| + type = types[field.to_s] || types[field.to_sym] + + case matcher + when Hash + raise ArgumentError, "#{field}: expected exactly one operator, got #{matcher.keys.inspect}" unless matcher.size == 1 + + operator, value = matcher.first + new(field: field, operator: operator, value: value, type: type) + else + new(field: field, operator: :eq, value: matcher, type: type) + end + end + + to_json_logic(conditions) + end + + private + + # A clause is already JSON Logic when its first key is an operator we would + # never accept as a field name. This keeps `from` usable as a single door + # for both the sugar and hand-written ASTs. + def raw_json_logic?(clause) + return false unless clause.is_a?(Hash) && clause.size == 1 + + key = clause.keys.first.to_s + key == "and" || key == "or" || key == "!" || OPERATORS.value?(key) + end + + def parse_conjunction(operand) + return nil unless operand.is_a?(Array) && operand.any? + + parsed = operand.map { |clause| parse_comparison(clause) } + parsed.all? ? parsed : nil + end + + # One comparison, or a negated `in`. Returns nil for anything else. + def parse_comparison(clause) + return nil unless clause.is_a?(Hash) && clause.size == 1 + + operator, operand = clause.first + return parse_negation(operand) if operator == "!" + return nil unless operand.is_a?(Array) && operand.size == 2 + + symbol = OPERATORS.key(operator) + return nil unless symbol + + variable, value = operand + return nil unless variable.is_a?(Hash) && variable.keys == [ "var" ] + return nil if value.is_a?(Hash) # a comparison against another var is not simple + + new(field: variable["var"], operator: symbol, value: value) + end + + def parse_negation(operand) + inner = operand.is_a?(Array) ? operand.first : operand + parsed = parse_comparison(inner) + return nil unless parsed && parsed.operator == :in + + new(field: parsed.field, operator: :not_in, value: parsed.value) + end + end + + private + + # `:not_in` is stored as a negated `in`, so it borrows `in`'s operator. + def list_base_operator + operator == :not_in ? :in : operator + end + + def cast(raw) + return cast_list(raw) if list? + + cast_scalar(raw) + end + + def cast_list(raw) + # A form submits "EU, UK" for a list; code passes an actual array. + list = raw.is_a?(String) ? raw.split(",").map(&:strip).reject(&:empty?) : Array(raw) + list.map { |item| cast_scalar(item) } + end + + def cast_scalar(raw) + return nil if raw.nil? + + case @type + when nil then raw + when :integer then raw.to_i + when :decimal, :float then raw.to_f + when :boolean then ActiveModel::Type::Boolean.new.cast(raw) + when :string then raw.to_s + else raw + end + end + end +end diff --git a/test/approval_engine/condition_test.rb b/test/approval_engine/condition_test.rb new file mode 100644 index 0000000..c2cc471 --- /dev/null +++ b/test/approval_engine/condition_test.rb @@ -0,0 +1,195 @@ +require "test_helper" +require "shiny_json_logic" + +module ApprovalEngine + class ConditionTest < ApprovalEngine::TestCase + # --- rendering to JSON Logic ------------------------------------------------ + + test "renders each scalar operator to its JSON Logic form" do + { + eq: "==", not_eq: "!=", gt: ">", gte: ">=", lt: "<", lte: "<=" + }.each do |symbol, operator| + condition = Condition.new(field: "amount", operator: symbol, value: 10, type: :integer) + assert_equal({ operator => [ { "var" => "amount" }, 10 ] }, condition.to_json_logic) + end + end + + test "renders in as a JSON Logic membership test" do + condition = Condition.new(field: "region", operator: :in, value: %w[EU UK]) + assert_equal({ "in" => [ { "var" => "region" }, %w[EU UK] ] }, condition.to_json_logic) + end + + test "renders not_in as a negated membership test" do + condition = Condition.new(field: "region", operator: :not_in, value: %w[EU]) + assert_equal({ "!" => [ { "in" => [ { "var" => "region" }, %w[EU] ] } ] }, condition.to_json_logic) + end + + test "ANDs multiple conditions and leaves a lone condition unwrapped" do + amount = Condition.new(field: "amount", operator: :gt, value: 10, type: :integer) + region = Condition.new(field: "region", operator: :eq, value: "EU") + + assert_equal amount.to_json_logic, Condition.to_json_logic([ amount ]) + assert_equal({ "and" => [ amount.to_json_logic, region.to_json_logic ] }, + Condition.to_json_logic([ amount, region ])) + end + + test "rejects an unknown operator and a blank field" do + assert_raises(ArgumentError) { Condition.new(field: "amount", operator: :roughly, value: 1) } + assert_raises(ArgumentError) { Condition.new(field: "", operator: :eq, value: 1) } + assert_raises(ArgumentError) { Condition.to_json_logic([]) } + end + + # --- casting ---------------------------------------------------------------- + # + # Form input arrives as strings. If "10000" were stored verbatim, JSON Logic + # would compare a number against a string and never match — the single most + # likely way for a hand-built rule to silently do nothing. + + test "casts form strings using the declared exposure type" do + assert_equal 10_000, Condition.new(field: "amount", operator: :gt, value: "10000", type: :integer).value + assert_in_delta 99.5, Condition.new(field: "amount", operator: :gt, value: "99.5", type: :decimal).value + assert_equal true, Condition.new(field: "urgent", operator: :eq, value: "1", type: :boolean).value + assert_equal false, Condition.new(field: "urgent", operator: :eq, value: "0", type: :boolean).value + assert_equal "42", Condition.new(field: "code", operator: :eq, value: 42, type: :string).value + end + + test "splits a comma separated string into a list for list operators" do + condition = Condition.new(field: "region", operator: :in, value: "EU, UK , US") + assert_equal %w[EU UK US], condition.value + end + + test "casts each member of a list" do + condition = Condition.new(field: "tier", operator: :in, value: "1,2,3", type: :integer) + assert_equal [ 1, 2, 3 ], condition.value + end + + # --- parsing back ------------------------------------------------------------ + + test "round-trips every operator" do + Condition::OPERATORS.each_key do |operator| + value = Condition::LIST_OPERATORS.include?(operator) ? %w[EU UK] : "EU" + original = Condition.new(field: "region", operator: operator, value: value) + + parsed = Condition.parse(original.to_json_logic) + + assert_equal [ original ], parsed, "#{operator} did not round-trip" + end + end + + test "parses an and of comparisons" do + ast = { "and" => [ + { ">" => [ { "var" => "amount" }, 10 ] }, + { "==" => [ { "var" => "region" }, "EU" ] } + ] } + + parsed = Condition.parse(ast) + + assert_equal 2, parsed.size + assert_equal "amount", parsed.first.field + assert_equal :gt, parsed.first.operator + assert_equal :eq, parsed.last.operator + end + + test "returns nil for conditions the simple form cannot represent" do + [ + { "or" => [ { "==" => [ { "var" => "a" }, 1 ] } ] }, + { "and" => [ { "or" => [] } ] }, + { "<" => [ 1, { "var" => "amount" }, 10 ] }, # between: three operands + { "==" => [ { "var" => "a" }, { "var" => "b" } ] }, # var compared to var + { "some" => [ { "var" => "items" }, {} ] }, + { "==" => [ { "var" => "a" }, 1 ], "extra" => 1 }, + "not a hash", + nil + ].each do |ast| + assert_nil Condition.parse(ast), "expected #{ast.inspect} to be unparseable" + assert_not Condition.simple?(ast) + end + end + + test "simple? is true for what parse round-trips" do + assert Condition.simple?({ ">" => [ { "var" => "amount" }, 10 ] }) + end + + # --- the `when:` sugar -------------------------------------------------------- + + test "builds JSON Logic from the operator hash sugar" do + assert_equal({ ">" => [ { "var" => "amount" }, 10_000 ] }, + Condition.from({ amount: { gt: 10_000 } })) + end + + test "treats a bare value as equality" do + assert_equal({ "==" => [ { "var" => "status" }, "pending" ] }, + Condition.from({ status: "pending" })) + end + + test "ANDs multiple fields in the sugar" do + ast = Condition.from({ amount: { gt: 10_000 }, region: { in: %w[EU UK] } }) + + assert_equal 2, ast["and"].size + assert_equal({ ">" => [ { "var" => "amount" }, 10_000 ] }, ast["and"].first) + end + + test "casts sugar values using the supplied exposure types" do + ast = Condition.from({ amount: { gt: "10000" } }, types: { "amount" => :integer }) + + assert_equal({ ">" => [ { "var" => "amount" }, 10_000 ] }, ast) + end + + test "passes raw JSON Logic straight through" do + raw = { ">" => [ { "var" => "amount" }, 10_000 ] } + assert_same raw, Condition.from(raw) + + combined = { "and" => [ raw ] } + assert_same combined, Condition.from(combined) + end + + test "rejects a blank clause and an ambiguous multi-operator matcher" do + assert_raises(ArgumentError) { Condition.from({}) } + assert_raises(ArgumentError) { Condition.from(nil) } + assert_raises(ArgumentError) { Condition.from({ amount: { gt: 1, lt: 2 } }) } + end + + # --- the contract that actually matters --------------------------------------- + # + # Everything above is shape. This proves the shapes we emit are the shapes the + # evaluator agrees with, against the real JSON Logic implementation. + + test "every rendered operator evaluates correctly through the real evaluator" do + payload = { "amount" => 10_000, "region" => "EU" } + + { + [ :eq, "amount", 10_000 ] => true, + [ :eq, "amount", 9_999 ] => false, + [ :not_eq, "amount", 9_999 ] => true, + [ :gt, "amount", 9_999 ] => true, + [ :gt, "amount", 10_000 ] => false, + [ :gte, "amount", 10_000 ] => true, + [ :lt, "amount", 10_001 ] => true, + [ :lte, "amount", 10_000 ] => true, + [ :in, "region", %w[EU UK] ] => true, + [ :in, "region", %w[US] ] => false, + [ :not_in, "region", %w[US] ] => true, + [ :not_in, "region", %w[EU] ] => false + }.each do |(operator, field, value), expected| + ast = Condition.new(field: field, operator: operator, value: value).to_json_logic + + assert_equal expected, ::ShinyJsonLogic.apply(ast, payload), + "#{field} #{operator} #{value.inspect} should be #{expected}" + end + end + + test "an ANDed condition set evaluates correctly" do + ast = Condition.from({ amount: { gt: 5_000 }, region: { in: %w[EU UK] } }) + + assert ::ShinyJsonLogic.apply(ast, { "amount" => 10_000, "region" => "EU" }) + assert_not ::ShinyJsonLogic.apply(ast, { "amount" => 10_000, "region" => "US" }) + assert_not ::ShinyJsonLogic.apply(ast, { "amount" => 1_000, "region" => "EU" }) + end + + test "a missing payload key is a clean non-match, not an error" do + ast = Condition.from({ amount: { gt: 5_000 } }) + + assert_not ::ShinyJsonLogic.apply(ast, {}) + end + end +end From 524ff1e48b57938ef80e2296f8836395d7005d23 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 02/17] chore: repitch the social preview card, and commit its source MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every link shared to Slack, Reddit, HN or Twitter renders this card, so it is the most-seen asset of a launch. It led with "Multi-tenant, immutable-ledger approval workflows" — an accurate description of the machinery, aimed at someone who already knows they want it. It now leads with the job: "A manager approves, then the CFO. Unless it's over $50k — then Legal too." The chips describe outcomes rather than mechanisms, for the same reason. The card was previously an opaque PNG with no source. The HTML that generates it now lives beside it, so the next repitch is an edit rather than a redraw. assets/ is outside spec.files, so neither ships in the gem. Co-Authored-By: Claude Opus 5 (1M context) --- assets/social-preview.html | 123 +++++++++++++++++++++++++++++++++++++ assets/social-preview.png | Bin 634340 -> 960580 bytes 2 files changed, 123 insertions(+) create mode 100644 assets/social-preview.html diff --git a/assets/social-preview.html b/assets/social-preview.html new file mode 100644 index 0000000..2c22039 --- /dev/null +++ b/assets/social-preview.html @@ -0,0 +1,123 @@ + + + + + + + + + + +
+
+ +
+
Ruby gem · Rails engine
+ +
+
Approval
→ +
Track
→ +
Step
+
+ +

ApprovalEngine

+ +
+ A manager approves, then the CFO.
+ Unless it's over $50k — then Legal too. +
+ +
+
Rules admins change without a deploy
+
Append-only audit trail
+
Sequential, parallel, or “any 2 of 5”
+
No Redis or Sidekiq
+
+ + +
+ + diff --git a/assets/social-preview.png b/assets/social-preview.png index 6f058f6efa21b6753069d6d268bd4da7f0064e3c..3c762487412e98ad3dd504c733eb549428c9abcb 100644 GIT binary patch literal 960580 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

G<&(ze>@HI^ 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̰rFcH8(u&M zdcz+QH$~5ZN&okoe`&uG+~Vsawc4#mCW6@YdgGJOA+U1hi%1F#klhXaPf0a&9v_c_xU&G>g9S@Iy^i0!k6(kv{XR2xt`Q5nO8P@S zDiLCT&F`|1lwBPV5Ay<4?t|B4pfn!;8H8*0%|{c?gOI0r8v<8Noi&tN};FmG_C#4O<53 zcj=cIPpoaMshg}rxcNnbZ|8wQd^@*CqOS@@lK(@`$m6A8@*~6M$?EsSOo8=9a4JjV z2z%NTF%H7!1kSr2C9EEZczDX+(7YsK3Iu<9fZ`8jWd-Y>J=VQkotalC6W?LqPaJeI1`v zUwDPf%f)VRWq9J(FDk)zmx+9L!DMG_76!I%Ck!LE31l5G+N8o!Vw$1ZdchqXh;u2z z4~JQDxar4OvdY1iHX8ZmgsmTawa>=QRB(^t)U|A`Lt4s_p3qB93w?TJ#F({oWZ8pA4bnc#HV7KK{NP&eu_UXrMEJ-$47|x3x4bIRa>v2 zBdMc;&&U80hYAP{_2iRW0X#UKPP5KKHO({d7Qno42AmJ&jX|7*{;yXD!0uLri#KV{ zr`h!#s89S`Kzz3d@Gh>DJOpy=1)tes|J=^VDe<4xi+M)hS5~awWXG=g{t0jeDyM+Y zu2Yaa4cU)1Jv=2E4wO?pCITud!{Z}(@_l=9X5Moe7uwaRCHAdH#Sh?KVaCIj|C&31Wsl7x!O?(1 zCUD28-FWNRcmoQuZ6<35nGd~28v#95yd&VV@TonZ0x7N4`j798_UsWf>vjeRzs)e^ zbhvH_gOxV^91Tt`-7Wb$FGn&9y#vl`!)BXNx)tj8_1T+PU?H^ADEI)<_kXxd^at)B z294e)q8pcC_KOc&1Q%!|tT$Jj@R@iNza=3)Xpuv($vIq!T6_U$$VpOB1*(QHbyZ%7 z+^`fCM~E=}`CYi5R8%>&hxLwu6#;xfIHjZomF3)?tc3ZkLt)%UawaGw3Hs2Ueenzo z7f1cl>$rLBq|YIF;b;_WCP`sE!^Gl}OiMk3Q!=hPD9$T$H7-wm(hT=07m=xUG&hubNLNJSvCA;2tV~A(WG)e z8?Sf7xLRYoXqc*l!(&#r(1R56)X;1)70&fpDM_)SNngr6jKeh8HUYldfTU7YgOOP> zTThyV z8y>VZV#nz?)^lcKv9Muf;O&yFBW78~;q{uH1wbaLFB>{?W-9-pT&=3F37Fv1cW&qA z&}Qwc%WnY_4N&i>G9{0G$_s}?_ZW}+6T=%xa+s&8L^L8CUKt9=NPm+ota6lWW;OY7 z&5sb$C!ggSPLV()>4pe95J68Y1F1{&J%Y773PmF|)wVyOR4Y|pVXKhcM+<)Ug2OU6g7kiCXk~KssN`-hE6bBE%IPH*-5ET!QBagbne^>WkI(YUis|4w!_4LwG z7-2 z7?!zeGj4a%{@@VM_8jF{k!@T$>+=NZ;EVTgx(9yVw~x78@OF$HKKSJSaPH1h1=hh{w_oZtBF55-GhxxCAfX$u=sCYu{2*c1N+oP!&Y!j=kpKK9RDpx zmX=44+UjPriyVEwZU4@V?3eRZANcoQC+@=jH+L^6yBFz`8>*A>BXltr8viAa;VQ=e`4^mv-fL|B<@?;6Pj)fcZo&u@bU zOhh4W^)+@W4PEequ_lFN))_P+>D;Bns2Qa9MzTK&2!We_^v9;O*g?~jOK%ZJQcmQz zFN9+0$=Na(uF(2(#A3f5w2bO6$io^(JP0i5%<15}zZuDS>jIiLG=A3VCA1EJ-mvA6zM2hR>qOY7h$2|fnTo;X0#1i$clSFbaSXjmx2 zrki1-iHkUzU{Hyq-+nMoU=_oKV*ey9iZLXO!5$Y^)|Pm#*vfxY^Jk-O{w4b+yGBvt zt41sTMO8!2-KizAcjpV}o3x@URkVU$ho~aoxMi*`mx=)Z<2M1FhnZu~5r>+y^}Np9@vJS-HO&?_cYwE$VLuV&dZD9>R8X`uNkCDH$UvjsE`NglrQ?F8eZH zK7KG+?1H<8txUL!cg-rj>XJ{f1F{r%Dke&l-$1Xz)-Mz}_Mra)ceEL(!xa3NtE7OS z!F6>vcqUGoZZuo5V((fSj)Y!rQ_QA`^q86Q5@KN0gxcN3$3n2^P`@yY!fmKoT#@vS z1j3m}s(J0K?N1~s>--BD@FsXU7u&Z__;qqX6_oiJ;=R!ZhVXD8U?2xp8|w$c4^LRh zx5GjI%DLo(uCA1jQn=x+`#&kIrr95hov}B4U%9sjn0I#z)jJo|YweylWRK$>%ho0O z0Gh|<(MiwuPGi)KKP~v;pKI*(6A+4`0c?%_FHOQ%pMagM&>{xawTCd&4B;1}43JHHGA zegWq{dFHpn-1N4!;yW6;*1N}jF8p4uj~M!;-FU$Iqzt~vlg>N zJ90=%9s=U~a=m3bqzdV=jc>qUTA0r~!-+=TV14*y2ucq~$(Vgkll;`j<`PO(oRCN# z3qg)W)u@N$Z1H6;CBD@99|xYf6!Pl`}M2TQd zn0U%A6%cOv(v5^2sfmX@aG_v=MJBK2AlCub3}_U}=ERYvF4wwMi=@lw1RH*67tnQ#|Z!9}cV~qC$Jc zi*YG&N4pC*<)Vzrw=#t3KRag-snV_2OBd}KW5^;+rF-a+uh&2X(%RAU&HpQQo(MHk z4U@Wtr65J$3f3T{N(+qN6cR%r`0P}Smnl^shx`-G6rT@`4J(MPK~{0WB(01MCg@o* z47n{tAS%8Uqpdv&HWQmH)N_cI0$T02R-Q}{efbttA(;T%RDU=~vIyfR)7KaX!Q`5> z&@J5PpCVN4xSv+(-r%}c$KvhW!2u+XH6$-JcYY%P!>+>H?ZV(fAN$mQ&2=H`c~1>T zUMQ_z*lU*pwfJ>kyRE+dc6p)Q?PUHJ_vE1PV~O8cg<)@)8z9TE9y%l zy@z8qPJi7AA7T=f_&gPK#=q72gWr|>kJak(xs%`5AKEQ9{xrP0CVe&Ru!hRsi*aw? z=_P*u{XhZ^K=r?+km|fnD~RQNCNX@!{@U@Z!Qyu$C-j(y>bDs*7!>RMx^wPxz`t>w z(zN>H=2o|I6ZZLU<{Pr@dI$K)@C2MQJpS(M;N0o{?5zWW8=_5XPH1Vjgaw69( z_rxd0O9&mpqeJ`lwYbSzoYMtvpf$xBscSrf8YX;ZV`MYc5kcK-XBjJ%7RVN=u$d?y zFX?~1?%t`+toJio@gc_#TgQn;!D!9zanjcW`5`VBUqwB#jqOi}D#f@Lgm}F0Xe(iz zI2ICFf+B>dSCm1nds)1vTgf!C8FE85Ehn3{zX>tie|g7`R}H|F*wmqI6V)-cK=yxF zbEM;3Bj}H@u?IP8O;?Geek%AKcZaLgk2+rXd77+tNN6{S43o`^!!3i8FB*@R)^vz{ zWr`EoXq-2C$tO5<8<%~p)ymc6nh@&Odd+v7{SNER!dhNVMt(r%YQam4>icP$|Zw#ak z%xYLbM3&C(#ug~quaGHRp?am6mIh9COIX7l$mq^(nk?t+G=;}iacl(GjZ{Qb-1J#o z5{Ky^H?u&yAzN2VHV!zY7`7YfBPY%z*x}I?xJ9gvpyFRM4oxM&$xRbgEsR8-F&c_N zM-T*wwdiJ9zE@=j);El&D{R}nVqNTb7becC+MlIA)fK}YAX$nIf2(nVl~%p7co`|g z>5~qUg|u|EOQroD#Rxjku`-Pg5b zYqA}5xMzMd_OA>z>|meKC-B%x6{v)0NDNjGl6p7RNM#0<_+TeUyAboG5Mar;G-(p- zFxDt)&RE2fU4UU7*80&S|6RK~{Pqn9E&4Apv+&ZbUPt=A)UlYHKQ3+e54_Fvgh!x?XhuK4R?EclTHJW{<1 z2CstsUnjv&b;2)oO|L1@FQf9#DDz>@1c&xU%gCI|G+b+s=M3(jBiHY^9XQ$o5*yEj z&Lgt8>%!)r`0xMR_MG$x(~>~4i@+F~gmQ{wcLRp6BrP?QB>rX@n z$;MHNl4i^FaTxO3;%TCZrKGD3|7H5W>s<9wN#w@n^T}Sp_J^a##Mz7wpiywE1XUI# zeU#%u#p0egz=|${$JL;)8vpcWq`=uI0c{zBD^)ZjV#%h~&F@c*GtDJcLm8SZ-Jv`j zhCB0xj<_;xb~;WK%2qx}MHdknm6>k02A)r;N`alA{A+(CjpU*PCLgH&h-W|spEi%m zgWlu%W3p_dL6q}+dIV10)5Q-y4wG;c^Lnz&@gn&(5u*S8KkyBuX*A_ z(AxX*d)u>dUm$$3aD7}mP0H+>NwDV!T`ZFB^IzBpq=n2uw^o_o5>jgkC7~P8DVi}) zfnpwgS)sl(WlE_wudq)&K!zY_;%gUznMek4VqyO6k}P+3pyt3K(!Kom5M zocRah(&Vul22~=|)IIVruxPGOy|Kr(tV+A z{Vvt-C{@$tcc$m{%*+f!tPpH_`bKX#2|#%Dx&x?oU-kX8aQrSGcm7qY_dcUz3%}ki z7=n+#c6dR(qwPp_jyPj=>z{fbTvsYprDaHoe0>6Y%ud z8C}c(73hn8Wnkt_<4ZHcr9TH{mIgP)qi%$-mV))Mi#c`S~hOh%Y+tG1a*b-#H0-RXHp^NH!HE!IUf+(h|lVI5s9oxk#Bx+66P{ zKs_>qT!muVuCzh{OE&Q5>AccVDCysAhv-J|6`9QwTE&3u*<1n2YU81fBtk{ZEw|$B;msEmBOPq|u zX3@<NHZqAS@#T&(!DrLa1?F#)|?SGlo^%TD|ybPIVcSO((0%S>c%O>?-`wpm?j=czJO*a$C`# zLG^YpIBAKdbIdf=H0zpU(#&=kWl|(Y*q`~M9qJjmqMR0LJD`L}M(ed#J+mp7_TX@L%6P;&x*HhLIg|6Rcd0Jk)(j`16T*Aihce2Asm?ZzV5^{1) zl_5fkFfrVlRpiO9CfEniyGjz`1TXQ^8G^{8i!kf~RirF;z&AEU<&)DubfTB8>S5L) zmG&j1#dk!k-B>ac{jr5Ve5CxJv6^i<5MWZ^5b^1x2P|gR#>$|jsmerb7(%qlK2}W7^@8lQICVf88N?!aN(bhtq{ul;AZZd6!u}cg6az#iPY#s*f zR@4peC1|Qzi&%iCq4rz-gVvS!hAVNx9688)3pVN;AU>A$KXr$DPPe4Wn`faPOdi~l zIftJn5Gl)dz^!{HZQD^UhO6jsC8|jbb5=IG4B#skuS^S|3Pm4C?(z=$*w&)U25Bpi zBfhowpl3$^yIv}oN)^6Lle|q|yscm8Ur6oD&R3umb$%JR@w*llZt;C_8){u{0tPYg zUm%LxYUfD#`5?CAlhA#QGtk&7?Nu7>lQQXl?p%`Pwk&z>A$`_hKAO_`me~n|TBi1E z)_DDTzscuOj6|noKk@s9%V{Qcf2Qmc;9jXC*6qCeWv?IG=sWq}rUOms>fkYqwv<26V%E*vBzUsX7!qL>8otX-JhnNs>P?D~8gImpq?Z!Mv*?n0F3?Pq{RBY;U>qx8(92V4YqQpOk zE(>+YG|Nr{$+Vg!`g|}c)M$U8#McI()C{X6q8YN`(ren$lXFpjrN?MMgB2UQyf+Sx z$|wwArb7K)ywD%jkP+zOCIGmpp@C||k%DOjnOYlF_c^VL`d%p3?_T`d3I!SL|2F_XG|1KbKuvp;eP+i>DlB4O8g+o4D<7u_&){P1=(1QcJ*~c2lDe($mkzxy{ zB`U@lmsCQUG=de_C$ke$3fZHJ12{_1USkvd&g*h?yX&gCfRpMe_0JCfAJc|88|8=4h0d+p-d(Y7 zg-ouuIm5TPf7o)^*bYgi^`{tjpCdVftCb$q_x1$?@3S1?he<#-al8D5vVn4tBebi{OtB0FRn)OBJ zhb>gbOUb*!ud%&!Q2LKL&nc6oYz@z;gI{aZ)89)i7)&Un;V4nhgS#6r#)@g+h1p7=w~pw22W-2)52+ zr75y`a8L?dcxj}x;q}K04ZT@&AkO_XwOiw{1niji^M0`ovs5!pd63}n+H5%ijXga6D4Q9t$u3tGhkMl5zbhE# zTc$Jw2Y>S>MY5gHn9fb7ma;q)zjAxgReWi(eyIn2I-vGgp5=^Z{P+pP!BpYyjJ>ti z(fXwC%QoTY$!IDx1J7bUmsYJX+tSOM`c+T2w><-dWk0>1=+->8-=abQ#KauM^`?7uII(|#L2cAB*u^1;~R#3Mzt%n4MKvZFWGc&3?I|(_BkV&@blk;q4wl&{=wesXPTwa~4lX0y;tbRkBr*z6 zGvTM4oc8-=n}wYvfF(7+-FY;AGVLko<+LmYR=T_Mxcp=355@h2 ze2FSw-Ff>QYuCC(Ej(Nab-L)jc`>;$!D~r%>*Wsx=L`jG7K_=j9qq{}GBVaOHVFj;Vg(kF(qJ?ylI13^8 z#52cHwIX@sq9QcK%o6c+RFJOpASZPccp zRy=CgIHpP7dvy8t@qXd@S#i;L zDOcO|!>J!epov5^)50OOQLS9&0V6NqxZhn`oO9 zb#n)NaTDs(zO+7h)3`q7YlaP%hv(9pK(BoY2>yGuYt==jfXR!wBdyo{n|Q4>xJs3h zmkU+KwkNp^pAJVOm0Pu?ywu@}x+$LBCaSKF@<1xcEkGSRf*b=$C?Fn@XYY+vl2sxG zcR#*8C{LYJ09rIcvsHkPm%}qy41G(MRbaC!n#ZFMMxi)wZ>Hafr3SIo!Vx*&jEbeG zKS_@sq%!k@yHau5foQIn&y#bVmR0(?|`8|je9t(#eZDxe6mUKIMrPn2QmNYa%*N(r(`M!jkS(4@j!LR!DqR1Q6(8DP1WQPk z!}LllbC&P3E_@CM)-OZL^5%YqDb5w88a&sR2)OR}7YJR{s42Z&=Uqk;0_?+PS1;a2 z={qPA53t5p{RYLih2Km$gW#2u_p|Lt7K7ew--`c^wpZAyHRnw_O9SV9SAypto=B1l z(@c9F-zLc(K0PzAh6JFfLwZ=_1Qg(`HTO{!Ylh|_BHp;Z9_5iKaXUT=c7SOqV2`hM_}48?#O_Tp#^2Zk2% zOqlF4Zn{gsI49wV9|VbU=~PHaJT_;ARj(&32gp3ZN#YY`wZKx`90XYfE1x{RFIow( z8e~H4J;L67f)HxtSA&AFo-t{>j!w&ckp*Rj7^p#Vk1qXn^|VM*Ec)sO&r{(1i;JH$ zZ?XNCckfc83|(HoEaa@JLP`g|q*!W6U&=mD;4E7DD=dd=m&^m+zquwY=3En&Fu_7l zCY$Lb{#Crtw6BOn*Ub3^i(JC?*S|@}zHVff^eaDug?*M();bVYD0jMQhE2 zWR4N0@!GwGbRhO?hZa{N_|-I2T`}H@v@FU9Jx(nkNRa|0aE!=d@d0h0Sq{V(=2?X!-I{wp=Jzn-f zIa9Pe=C>%f(*S1<_d32!4g_sVC5gU)a<-Cw(D+u}7W--#UQSg(1%tI@y~EVBBTHP~ zY&;xI5tyJ$uLs=*2q*dTAD0%)zg!93q)-0MwC>>6vGx}lQGwkRk zI{zKf(?Gw~o0;1F*dKOn&kZVz9eFYlm-PMmzAT6)`*kYdAvUT*_w7KofBe$G*OL zlMCKm1DSj}oxDJnLKP$i6HILcOpP^qX<3O2;IK$d`|>d>CZqp| ze83C}E^y0;hmh@~#0}C2?oTV3N*53Lt!cc!wHbkQkX#|;R`q;Q4&P}H(SD+N24@tR zkvF6T7-`IUNw;MGJjFmnEl3FZRpVBMJH1!AN0_^d7KHh`Mjc;hB|Ze5#6;bcvy3lP zVE_6O?P-F@0UI6hWER~OjVT)!7&lva3RSAqb2Pg{F=50+(J9dWI(c$NSQpS}T$*FUI>V<_z>unCt`nV0s+X{j^o}Z< zP-aM_g~7==OXL?9%uOIgz^0p!Vv7D|uKvTctuL);g$2Th0#3k$R;!+0zCJ&usA=SbBgHI*Hizf6O*FRmrN3}1}8L7*^w6`c)K&`4zCoWk{4 zZ?|%_G&fF2vMe%O{1cQu&{(EUAHV3d2S25T7io$AsTsI9*hQGV{$)V6l;=Rsd(c$wOM zsdg_(P4TG{{C;7x;`XaG%W(it$>VkBY0B;we${spy92p_cnK`2P+VhipZoUEF{6F^J zy(_29=CA>z%aT^c7mL-?tNM1{<-h47VBLSZTEt&f5#2^l7yiC zcr5%0%Wm|XJ%8gsU4sK=#R7uGc1v)O(%Nfxh5H#_px^2bOV7Lhh0f#clVi9ea~h_l z6ams^6-xP@k!cCr-@7BBFGVsD>s!TUp9dm9wT_B)>?CYA+FYxXsv1@@vUuILi?m`f zoA|^XxLMBMb0Q{BQc7Dg<)l363J(1gOA=srq=Q{PNV?TJ$8;RXD?(71W1ve_vdhv7 z;j~ST`~+nx@ou6KApab%u@iO7=F&xO{4F2$7tUvqa5&{N^_WV`l$P7DH)W8-mX&EE zRpzFN){$$*Hq%VLfhJdQEZLfh&M9$WuXRW~G*?O((H`@qVm69pl0+{r0b(ZA_B8)c z#B2-Pi~KYl&F1oe2K}L{L~8Hy55}+2ij7jhG{y08YN-)8##-3AoKRZh4C?W7>oW5T zZ+^706<`#VlNw2qMv z#$w2f8N2dYcm<`RMQ_W(r6c=nKOki&IpwhP$8+=?O&<>Z);?@~s-tHp>AeY%-TQsY z8i7{^>cy}GZA=bVOtrvuTFdG~RM=tH(xe`q1lEl5kbA~n5zep%8l~51aqlN*dhrfu zyNzd6^rGEF|7GL{SwtUx1itM9e?7al!!JcKzp`?`ZP2E(^;pYHs8a&}a4n8YE7?5MzCJfZh6`)I#}+&Rq)- z%mJTjPp$(N6`jv|B|?K8Z_N+w2XQYdq5pz1OOsynd#Q$h6qS6nn*Q+#r>l9MS>9hg zUpwP^pGA0Hfiv;-aZvC)@Mbb>BiQYfV8i3ndueyJptlfUc&&ce*#K7XEYD#$L?iy> z9b0$R2OfZgbn>Qn`0~I_YP}@a?Dg<}$a<@wy1KAiGq?nICv4my=*C@x6D+v9Yp~$% z?gR-T!6CT2ySux)(~Iw%zx#CeMXI<+QK{6LbG|ahGhQV#YahJTNickg--2IcnfdIN z#Ce}c;lJIw9AVDx!q%SgpO33>k$Nsfw>;P(&;B})n=`rdD-;xTJJR#9$?*LF5+MWT z7Ksk3=i-Ofk@7WN*s_4*A}CG;zN0a7=d%RvVxo9Gry<4)bXrYuD4w!-1fi(J_HVL} zUn;Q#QlmRL)+f0EP)`CLI>se;URa#czywZGeqw=~bEbMQD-V90#a|&AmOr8b)9k9| z(|Og$_S5EU5wh-M6>h$OkRx2CP?*(_iaM25?h^-@MC}}Wo(w*FFx_vo{CZYn)lKJU znHu4E@^JFS?!(+t8w_*-L_8AY^4|n7F{{FAWiloNxD%6wn_&|jWdft3AU22dwI7kH zh;T|ZvqTmRTlSXZ!%-OFcr+i^<5j<|I7h`GCNFM$)kFpnNzoXP#PjqsWScYMIoi;r z`zM#M8BysC(%@}mhLX{NJ?9&>M=R@De){f6CgYJuHn6(~JAL35&NmiAeAZ@)L!Wf) z_xwR*1dW$QI^kXpe5^8&_NEsZP!dQvT%CL%r7+B9&pP|6L@;v7Un=)6H1TXrkDvMa znImWf+P|M+H`)}IVjV0di$QyXQqUoA&nSbmvcn7fKrUd5RBU6%NLsP(SWG>`EJSVl z0gZ5DCOL8C@sB-bYF|HAYu4T!JC?&$Lk7{+v3##n{3$Yp?1DzeR2b7)7#okQg!ESg z*QlR7NrZCF-ZN1D7sLQ@R!@Ghi#$svE^8P%>o9|ly%aBj1hAExIS*a`@Oe|cU)<-b zbPtDh;Ai-~yU+rx-Q2D0(VCcH;*RA{APR9T*qni25t3dY;UY~uvg6M`rmE5%L$h_e#H0n965m<*MRInuEMPEhvOlh&wHf&mvMyW`g)I(DV#QoH4ucQwh^*S z4cpIGqu+E+fcMX7?a61(&3i6fW|q$bNM;3mARn2YAA_t`J!X&r6WX)n>jtTgeFx0n z(+Yziz~%ZD()Q$u(rm!X)HETEt9u=S>iZtB++@8w!s!=-w02Vl5dG4|mRoI}Haroi zbDSqtvY)pjm>Tz~e4$^F{sRH15N`o4U+#;KdhSJ<=0qolYXg)>>`Oi)GZmRYEB_*gXiFwSniH27Q2b2mCQ@hv$~q|;4rd4; zg8O@DEvI*D7d10qc3mwcPQXE9a&>Rsbu45=m+SEXg8_+qC1GpD8=RfhU#Md^J3hsO zD|H0RSdXtsW6W+&oE|pSFk_9%F5&vwlK_R=MiPubUsaNga!tkpqXKE|frlxt?8P}* z`eeRL6do6E4N>O*4`_E(AW+Oxg zQsczJNjuYZEM&rihjP1|3zP_IuqwJ*HY-)q2Cc~Dztr5*RmuzF-qL0C&^J0}9;*-b z>Sxv6rf(OPkeFTD=teXz(emjnNaPG1-RR(WzXEIaVAX=ygbF3ii-vtmL^iX?>Kc>j zzy-(Wz>7qpHtYVS-r0@o)F2Pz$v>QNg7BF(qoh#B+`*^G!q*T*p!`(V$5IPQJIy6#uo#j)s5J-pc%d9*oPQL8PTzML-7HWx zcUGuc#KA%ik1)fi6M5a-cXb|JWVKBjbv+KuXSJ%ZCd=lhbsL~@6HR1y$^pk1Y{HFL z^!&@-ZJ@>c59ETB-*v8`p7Y=cjyaK(_KpJ;QH=7Uu|X+mvy6Vkfti1B=KSlQvZAbtEv`nU=#16?dz-IuIttvybia-1Hx+8W#k9!+!s zmbLF~iP_c9(MOxg+N}3H))GPQUCI>gs#+WMxhNyPJMb7_)sR(J_qi%wtg{1BYMxrn z_+AdovRr02?xz7){NJ4C0_yjwSdse~2ufeQDsx*?rS_Prv|FqwU3>n;^>WnqJQQqG zw=QAFb35PmwA8i)@O=CqytUp1oz}z1$H43+WzW`o`+#e~7vtVP%ainJhS9Fsy04ed zu1(e#YK3sVtsuqA`)O*dF?md}>CvEDVX1YGOmFo%n*Lr*?MdbOa{t-*Stv%41$r?R zo#9+R(1T_;1fGzlM>6h@A~f4X4_TC>M0v9S}&w$BC4yY z{lXNT{g49D$s#1{hP$>uMGzx?^d$WZUSbUbTm>8fl9Dm~U%9zJLzvTF(q$M3&U^7YHB4N z&Ip#bLj~~cRH3V%m>`AFQ5qTIx%#C^!r^N}QzHh=BN*~_%53U&{^C;4#{$7T6g5Qg zKY}2&r_K5LbH?Z!F_41#*lTw2x92~$Iq>0~L@VCnjIynFq^`G)g$9Vb@O-&cPVVXt zG>L;AhQlFG{Ca5)Zbk3PUf}yA4Q0|#tSY8~-*sNWl!q>1D%FE43g~&~_9r1s$WTAV zU$r|UMCB1pl;mkHbPP483JzFdrmrabZ3)8-RhmMC=!=qMelmn^K@3g^r6WpuZyqB# z$FeapjE6(<#3Rwe@R4CDO3Z~RkX7Ir0w}{O@Fsd9#iN3^02-JTF;n4t!ln@(#-J*a z1Z)_rv@(QzB)pIogsEjxlwrMWy?Uy2m=3VT*#CtUglCkw)4rUU2{Y27N~tRJ%Rmeb zeSbPOgca*oSkLrEArfo4h7=3eM_>-ynJWfY*nqb&910=v22l~+?*N>JyHU5+tM7t~ z?}`*)8)4hx2JU~Q_PG!f0Hv=OkAP4;@4IG8=7iaKPNt`_Uu%liYJ3?zfvrQ%%di>g zbvxX9&J5fI4VUl%z@&Kr=B77*W4saJ*0ydNkZlz*zW_YFF#tBdXxXB-3;RA7;@cKR z1-SLAjw`oayXBC2fWi#bXFNd9W0-YL+iB!;Or77x)u`YZAs~!_wVk(i>A_a_+GRU> zeagugp?Hw@Itvy1VVe+@q5Ozl<%)^;gH+q-6hdPTgHDP19=THEJkxHvbfD{MwJzzC}oHx8$SEfp> z7)H`LQZ=U`s*++^Jej<0#pV1P`Bu(-t!I&l3*OH1n>HGM2a&VV{G;w%jNFXBKd({m&^DO@eM7 zuWuuIaCwr@gLBz{vwD&n%aC4@Zkf!AFuMta6y0eOzjehbogPHdker6Cb4J%$+~n0x zmZqKow(ULDj8p2a?cSttOU|etTn6Blxc-0W3O-Eg*9I*G)AjX>i&U!&T|7Yd-*+ee z(5|nA^kKsD6Pc|B!woR#I_`B;qwiIHP9k62mxc)w73+*`uR=d<;XXpjr$%s!9sgp) zMG7Su)2$@}Tt6>?+uI#DTgC~g=4S)s_un0(ozB=9&01W}4!}MnR@uc*km{bOU0NhC z`Lr5p{1GvryWLK#2tYLx`Ne*6+@k|y0RhOr8Ci#3V4tAA+2VDI^kg=b0AS&xo+hQ> zLpF2{U&mYj{@AjK$P)$WRc)j>?8lGik&;Kx9n@Zn3sH+ zAXflC7~fB4X2<|8u84b_`TLbIo~sgBrq%H_uQAC|<~IPL+n4fU^pf*4%6I!T`po05 z=?!RXS1a@1j=WdC9eDUcg)Ad4SNI-y0B`Ji3RlZ+{L$Txpj_z@dijFWIwh{P?|gAa z9m#H+x0{Y#v0W=GSB0;1%4)^gox;L3wVC$SKjM%+yFc7pjrkJPO2yF9gb`WbNCb-66UBA+|K9%Hs9pTK7b_aeQP_A8O*Ah2=lo#hV# zsRZmP#W0kav+)cH-#(=N1y3HoZ}+{=JadrU|DbyBcM(<$3EOtG?YvD>3%bP0;n23N zoY=j+a|a@fZG}dGhVp4!&|@;C?Rf`z-l_s7CturpW(L)>Uo^(2XX4z?XFd+dPdfrU z5L5DibQD?OA(``0t`p zlIM1~mV0sL#^=i+yYQEkwW}>^FRy?#KcIXSxaekP@U8kcIu8`Z8EeYVoE1wwo_^xEFZwt6+c#*W_K)QoFb`NhVk^0B4IuAF<|xNSXJ-4V@u>RXJ& zR0FGjbv?(I7D2b3HNA?HLBgju*@|7TK z>AiHuyRdL>`9sHz;BNWW3PFFWWdC5~NX14;4|J37}C49$vzf8`ZShOcNvL zLTOFMMpLqQ`gK!q#v#+#@#MhmAPR(;bJ#P!2>Nxb2ZrpL_g))6ULZ&rzPEK88Iv`ErxaZ%eG+;gPYtm2Du%3JnHtN zc3!yn@>LpmRW#J#fDU(2_)KU|wYUDRs+)qZeON+2!fUBYehaHCwS#yB^vF&W{5h-( z#S4nJ>p}5|I}ybZ8ZaGZOl1XzqEohTd}O397iHW0Y@BU`<)K!DL4|C@x=uk2Cv^p( zY_PB+02`zxsg-c_XCh5gm5UCBX)Foc-Fxgj?EE7*$R^AQXK$J(4Rc*+c8X=kA=hxG zx3ah}e?kFP+{o_ZfCP8>2Z*&`ljn8T2nEr_T9cKEjJod*qg*ZIH+@36bL`N+KNd@}>LX66%;AI)=!%eC!v z_t1wY#$~g34G4D*-syV;^QV_X%)TpDdUu|8Pb(_&;GOY@tQx}e^`pw3e{e*WX@jm@<_bzR-&_X>-WK)9Y?&ghB4w^d^0yIZZ^yl%C$ z>d`YA;d=5dp*p9{=nm5A`%Lv%>uosU-POcQdd*43^*iUJz3*=fpZAcc!pe28 ztXoMRsu0nz5_s&0x#jik;i8Jkt`3|RX( z7WbGST$O=5{*bkP!QIJU~DUm_rZ`GlnHEuecsO*ccsEP7U*2vEgY5U4GY z0zRZqFs0CgY)K#syP1I6FsPe-(Q|aqQ0!~qF> z89-RG>cPgSf8s+xB3dX(V8*IY+GXXxxTL}s#`pmyq2$m*iVUFz25}Fu*o1^AmZ)w5 z?y*7AcdOwsWOv|S72V@z8SH#N*w@KMHe4Q(5|(pAReM>qbjVoYq*j4#D0nyzURw-; zMrARhR+}Wsmgi5AGFmtV6hr(XAcP3Mu3}kP%3qz#Oxo~YjUbs#h zYNjn9g>!4&%0l(-7u9`@VP2~;84BiK`EJ+kMC^3Uit2qX8VwAlfag=U=w$!-^{ypn zZl99b=K{bpH^?_FBQ0gS%xZceJ%@(yKV!c=hiBX>`~ec%a$I&by*|AFk3Gg3ZOE&n zHyjGlef!f|TijV1TkH4U+0t*oxvXqy1=3*J)*r@v*Gc)-f$8;9o1Kk75B`#&^}y1) z-rJ5|_BFLaW3kWD^Sp;`@X%}A6QM=|;e3tf8$EODsZx>M!%9NgYfA!G%iW;P+Wfz> zM{hVlSX86`Mu^G~=Q~)tGRALq1U%6@FY>F`W_#M6w>Keu~b15na5UKFUq`M)4Xf{*mb9+`ayFD z3gieH=Mc4zhwQ^3$g=m9LKY9N9GaP|qzV+;YuvL_M599tNx0wEp!^J&I4P~z?*FLI zdF`OB^Dq;@0lj5FJu%XPs)^NsabcUZ9Hkj!|M=Zhe_>`+$#cx3*|2(i zhJ!wTNH#4>%$+J0Qx1^i{%4i^=^imdR3iju`!k?x7iDjlCbFCAP`nk5YSp?g505kq?wQ;|}bjx)Jk&-Ul<}`(%e5?Xng2tq)OykkvFMN|k z+lrc!Dpir&`NP5@oR2CKcp+vwvpa=Yqmv6Z*_F5<+AzxT-)2ws%MROhS*LzrbacgC zX=FCD5{->(?5z^CnCcNRkN-F9wtS&n#fg z3&D%f7;6Pi|Chfc*_8P3a7PS{G1B#Be*fS||3K*nEOH%t0R~p)Tw^K%(m_u z`TJk?l*ERYzKf$^bp#6~irE)triA=KN#~SNuKnp$%Ms*Onm-puS9A~G7~a~vsWRc& zfPdqf7;ix&@QFSpdLKJ0IBWWNAu;WVhTZDV@O+gv=;Auq!b{$YzyxNAdkAwNs+mwW z5}SL5hio%(yf5{8{&@KcWZJ%Sjf`c3*c`R=?-^Bw%7mnvh2kOl$^Zc-1T}Zz5oN#s z9&$3t^p{5fuMW#MX(o7;W>wze3dO0Fz$ozcFjg*|^B{M6dJ%Bt#3}H7CP`i3DQ)aA z0mwKm005~rZf}n;xXm|=b}wC$e47np9;4Xm+Lg5+m!tct5Hj)25SiKd?G@^obezL_zV6UY zzlW;=1;%Ur8gQ)eZPttkUK9_ty#?9{9M_Eay1mx=zV+VNJ?uu;`8f6Qmd`%`+6!;% zDP+=m%Q;`|R?MB7lvD1xV`Vp0iA(Vk&b8g?I+0KZHI3zha&{Xb3x_ zNlXPB{W@$vPZYj*Y?~rb72Ff`Gn7(vTJe%qHCK5tk6o3*>3_HE6Ynj%dBmWS%p?_0 z=fm7Lzy(T0E_I=5*1}SRmZ1F+;lVurH=e|vgJHn%CdMizu~}qlyS#j)J*yUs41;~P ze+27jO5%wbIftC0Chr$i#=)!s3SSKL%1JUflRP;q#9&i$bXHKoICmZln~RsDUxGFr zKP%7tOrM98G1VpiS3YH0hQf}DJBCT&x#0HG3kz~si;sq{P3CUnQpJ3KBGS@x9lso^ zC4-JZjr-47>~OSrVi9%w*#pF=!OPUx9Ohi3nv#FVcADRMa;%4kW9+|nqb-ajhldeq z32t7|z~VKma7!R1g>DMOYo;m&!3|M?#RFvowYlMX4~Nkh93eFV)n(W}o|0h!-I9IX zd6jZ_Ij&Xg{g3^H0c((M#yNCSchNydmEWRaf2YbBshuliqodgPT9u{Ow@ zJN7oo@Oj*gTF*h z(*IKZFF%oT5fWb{`ZMR_F``~s6SGFaacmIrF|kIHkynSZYW$nsaWo6GAAnCu%u~|h zm=qm6lwv5WM9;dRU@i<0putuHNyLi3L9nPhi7mMKj@`Y7BrioB@wuL@diUa+kx1aa zyJ8FgSizAOJr^LeKT7d^NU?K>5ItQA_w@#l$3BO&3Lb|qzGpzF>Y1n8@w{JEW6D{( z9~9rNq`+mIB;PZ7%*$3^EAWg9-V7C$mCbA@_vm=P%kmdha$Mg4>=%$Fr2~{F#Dj+@ zV<#6>&-Vz_&lBXY=an%JMgm&8XKimlPu{A->sED;z69jJ0%32b<8Mf*>fs6(Z#zkE zokjQWLxP;w=_2n#m7GmZwHMH&ee}s%+grRWlg9`EW?YBk-@gE;2h}+@)~%Ym+ob7a z0;zn!2*17%xuSfJTkO>D?&|$&Qt-G`xi=Nu-OuN;TO7VSPS1?uf<+x9B?qW!`Fi(r z%-Y*232PTiXZ5>xz6V@PE3NJ2r|Z6(4`N;;Zbf8oM*)nND|JBge{@S+Z}6sU$3>#C z*s{zFx!YKKywFDCCcc;TG+Jf+U)bRY*4^U8g%|2~@tQCAI zvC280u_Ac`{Qa@ZOegp`sn@O-6get$Od2!TES#_C}YtZhseu z($&IP`@y)`^R}Ej@35)$W1y+niTi*(UF@#lACy;~KU?&zL;Y8+(ZvREHH@UG(msxL z^5YLt>*9=Y1AStL@d7PmV7X4cEPPk2Rl$%?5rglNAc3-pSCwgFy^m=k(si&dTRCKb z@0WNW^<&Nk(a{l-46*#$4YfILZ5|uP;czcZ>6mj<;+eG z_(eJK!Eq;#7VCl}=CROPQG;6J7HmEmyvA~<3g zODH8RX0C*eY`?5R6~}ud3Ww#0Ht<%L5HTFkh=-LwWuQyR{Lg-U0gfgg#+VKy&vB`4 z=A3Vjm@M;wepPr)l!UN!=e`+ql(39w(ByTV{A9S%%5PW`@K4Ina#WM{j+Pr-`uCe7 z)XPapJd}$Wo83R|BL8g&5v`%*)gA{^qk2B1Ro;=^#CW#gf_(RnDA_kOx68;2pDK3% zzZVr-0+emSXgg?SlI%_zJEm62)%et@XD4Oth~!S&?x{HEe&F3L+qDn-z%?rPRxMb! zI(Nx-*F5(Tm{H6fLIrTNtpaOy@YY{F?^(7Sm$RI=puLxetJRk>H{XXul~$h)m?7Kl zJ+pTd1ohjM;2PkleLi5z?vNAMkya3Rm%F6um9!jRa8mijbibR~_XPI9Kw!VT~4`{#SI>?C+IpwN0!YUg=doqgjZcvY?7)rt8a<`Jjx1Lbw%KH#-& z?XIo7kGF001kSe;`KZF}Y}ILu|L%S(W-tHlY558F?YY7C^<7hg3B>PQPs#6*F9m>m zANF#5fkcXT-@P6nyb)MOB{|P%dnIJ{JQ$J(KO}bD5gK3Zj-YzAL(Oj4uq|BGz4pCr zSN8@q0KWYl&t$vXd_9M2Z=VZX(#!Rb=F@-WPu+cjKC2#krOx^9vEIOH-i}7vciPwzY>WtMUfZ1t#!jbr^jT#`W&!>TfXA`8XfSG#fp2fESck`S9#TgYyEbES^oGM z<9iiXWb=AH!1$Yo5$DGR0FxvZ7`vN`w}IuDD=J2~j~2-?pV}X3>TE8? zh>?-GJxeCl`^BpMa}5hmh9gV>3IiMv0xo5uEUF8X4$3-Qq`rR?PcANY=UF9$CNkR5j zJ6d9_OsE3s5`qK*jLQ#GKm1y`%ZFhdHb{nZUDkV$q|qY`jH!Ox$Hjq@rW|s|b_;0m zPC0wYv1kKK<6|j2kblXJhn8)?i!=Q)48zy^K*w9T09;ebs?i)T>u4oInw;N5%eT=h zObfT;lODK-S@KJY9k8dV@X3`3F7+!SRoBtb#L+*JS)_{SqkY52{GP`&eQDWRc^qIzKQy19wc*Rx z1CvlUBDdun{-*`h@9P2Y3J1Z>jTrY$%7RX+A7f1~VlEyw=#gJb0jlB)Ed98V_y{}->OQtS< z)$Sw|+_=}BEmWHYkQyIOm5OZ70}@8hJ>Jy|+_9&Rx=nD;9i-Zvy{|s^T_m@G0DTuIm%sz7J1G0`skBN?%C62Wf>(@0<6zH?`owz}w}Z`la-_OpY_Zu7A&%(C&7G z%lTmV>+-y}e#@)va`-D~MJ~JfxTx(WdZn(0Y3`p}$H@`e-%b}E@LA4|V2k#QA8Hop z)#3EX&U46xXY8LR>hZT@*trAjl`HDrN#VZM&m@XhA_g2wL zvCrvbvF&=4-cWg5(<0+GRGXt?Q{TDo3rVlW)sfR8Vx$s9bbxPg;qms^=d-Ke0z)ntN=!BS;` z073h{8TU4(@4*$~8W8fTrK$Bxz4>#7G7sxeUBWP+1`N&|ct4FKWE6t`~(G`-7FYY>B?APy9ScrL> zCNme@2odh+dc>>mW~CK#5Idc1FLeJ*L^2Am-WQdLpt!&TVl*~E>uPCwff!N&3q-br ze~kA)WH}H$v^uLEjB(!V^oi^JFcH*`2U2N+VaV6gy5VjtLnJk}+my_; z3ZrGy^5VBbXP`7JCF_#c)eP*gAtS1QGvYR1;BB!+%&u zF`VG?Oc=ty7;;T-P*feL7I+*KB(RCGjjA$Dct}(INI@&zG-?*hoBIB>A|SK3xEM=e z+eDn?lL5B|vjfmUr%ZhV9O7$)+;_`P3eTOm^7r!yq9s}s zdRs=3?CdTDzlrk!&LP381BENwJ(ZSxy^HWRj}4$yh4H;ekoA@|VGK z|F(ytHi!2H`(41|dk0`*HgQ|_-_>FOq^azEUq|h;AtvzF^q{*ovODl_{}ur#-GH6= zvnc7~IG`w7#C^T__;v{V^1c|K;g_>FPt^Mt!TXn|x11urgMt5i5-;KTZ(BBYTM9p7 zyza??!5iIKS;h$R4eH{WkS`RWH&h+`i=f+mvdiMlAHus*mA%%Jk#pGhp_s32>qd+E z>GzjHUR~#oTeBSR6To8l{VjoOWzR`{^@vUV`MQXi8Gr)lI;@T9Jy=oe-lR^|@m(ET z>A76ooV6P6J(VrqOvrI%*2cGm6Kgw&lN3K4>nO1qPp7KEkv3q++@ z%n)EGmH;L93kBmNYgLN`+SfsS0~oW5a1>Vd!2n%!vetHO_T}(#78mZJfa=hG8<7n% zN`kxz?C>AuXvKJ{|Fmg#$#{bQ!(Up`xphw|J!v3b20P{EN1va|{2POoRO^>gW0|7p zC=|EX;7uxqXZvJV6iDUob zXcL(Wi5-zFRRPFG)+>}E)ie={cif#=OX%hj@QMRu;}3-pS*bi|MH7ShOfN$1S3h*+ zW6f94bw01h;;^R$Cr^-zAQ^oU#w>CWC+tzMZwNBguW1BCn@ZP%D*LzDqNiWc@M*F} zKq8Ud_VWGx43MtiA(-J65o8&H9e@eCZ^$qz-Rs{dg&JvJIjPTGq=S_sL>iYk4G`rt z!ptj(JY)cw%Dno-e|V$)|MVOq$P90}Kx*i^(NmQTI6Q#Y?Nqz9b*vtL`GXzolFQs4 zp)uiEnog7J3Q~5HZ})#(q(IyCvO2AD-^3=s86>(7e#$3u;Idz7g@RgYylZc-J+rwE zcsPN2&S;_xe!e=j*UrPp$cep+qM|(fka=$H9GERzu(eD;i7P6w8gi3s=8#Y6m1H8Q zc3pFtoi8U{4PJ+Kn%vX6&HEGuGf+K&EIpiw9vzy5^0SM5sB2fW226t~VYFAUy3q`4 zlav$niXtLSBw6sKPPbWDJ{97}A?vWtfPMy9I%}33k!i^cAOTL}O<1uHXF-98CIFK^ zDb+_Rot0rtGFK+IqH7gmb76>*O_}$Jn!(X6m<9(Bq5`s1%WsV z5OII;2~rZ3=zFq+IV=NAF%x{uRpPt>4&miQ$87Ty_ujvP_$gI;f?C>DKxvu38)A`Y zDWxz>ojZ<^SRf*6T)qDZ%Nx;DGv7(%PqOIabh3_Ex6FWNZbVFIYAq7=67O7reg$Wd z6)ey4Nvw)yaso#`Z7Xal>cTa6+I@96vD)P(2&_JK^0jVr$gt(RY8(JoIM~xalsAqV zim2H&X<-8wMXh6H!KbM>jA!jL$lFwtuYDLD(g|1i)JNt^*Vra&5%&W74=p3&nBN1j zDRX+EX?O>jn$QGkCB+@{hlyXpCl4k9vuU{m&z`)lm2Nu9-;8;UF-eta4K?<`S^VD; zb|BS&?GatGuo>G*`zTyVe3H?v{T_ug;YP_G0WWF6L^cZYyF3^ZS1eGJY7;Jo zZ_q-V4!J!!K}$NJzXyZk^U|#59>+t(`SJ*=&?}x<+O9dqZU1Nk{l~kU&I9%pbCH1$ zWKnVQTc6GDA1?aCZnKZYyQSz#*snH@%_;I?er_>|2UE?G5W#puzMRWD@8U^{Sg;Ty zUuq@K9<33$2l(7_jlW;rFUZ&b>xYm@PY>s;i6SJ7i=MSw&YN3&6r6ZK4_$zM4cdk%8(-#Q7fNqWlIc20 z6#%A}TO2Wly`t2u#)+;-4d60%0gD55P9NBppJG-Rie7YPq$o%3fC1b^N3rWHNN#S#}JiO?KAr#_Oey2NY9d9xw z+Pv%`CXh!!wFlB)ipqGZI3}_rfdN@flrVa{nlNh|zX%!{EFgUv3u-2n$pAmgm;o!- zG!KV#hUQ9gG>Ip?rRbLp4vr{E5+b1d=tGyQV$zU8Y~9Ug<6-NTvZsWmhw*puIGHdM zQ-mbqn}k+j!4NsX$cr6M{TY)Up;g#bsD{J}iA0Z#%U7U@7m1`6jb}hd>FPl{WKdKR z9)kB74qI719~e_YE;CAv46}|_S*`ljB&D;{6krJmaZ%%$`$wRIqvBaHzLgO{eBTU( zRT+-$MW@~F4T_FH|3W(B}e|=JBp%ACRpiGkl)Vz-q|F2K;{TsF4UK4r? zd_g7>=CaQ@s~;h@YhZe#sk>{RjCx9m&i#8xy0hyJ)f_NX)18va0Jl$gvG@o*_Ceps z6h*){&nL{5QJpRjeS^__2j;a`;9$vWR39xf`mFbib<&L)L~E2&!>l6qToq@Xp9b#-?Wt#Ae+$_<^llt zfOS$gU48-ZcuK7Xj=}FaCxn{klU0IeM;Q-PNL>m~-7 z%r01+NwXuUka)-VSc915uX|rRs*gADW`^ivVA{r$cs@*NERX!KJ;uw$t+2QNjRPHz{=_M4GYX4FClrWE%+Y~0+V+V_#Se^p= z_WS~;CMap>e`W#O0V&DP2(~{b5_WN}NeP}%yHU!wzG_{>k%JRjm%D*9)-+`$f>?_J zgy>rRi=J`sbeykz-F*BypJ4=#t$S$)DdRI%#~tTf9wKebRW(P=CJ0Iu2OFCcAzVew ziJa(WRnRHDsd$o`a3NMc&S{haBc`;upCj_LT+MmJ$C;71Dbo<~&~VhuwmPq+5T19l z|G#hke_zl<1Y8xZMfER?b`E>rh;M9;uELI|^WPqIY@ZnGLW_R}V2!O*-ley^l>ZRu z|8_iN_ei+D1f>F$$q^ZJ#c?z50Epm_-{Fx2EfpZF-Op0o{dq!6w(gCgu_c?i63O(O zGBdLh(0q9jwxO|)&?zzior%`IHDgZkBRno-HUphZ@7N0he4U z{FP?+Z`)X<{3oH*F=CxTCRrI=1KPZZ(U#96{0enu>UuvUk;aG& zNER4D?#ZDJSZ`K^iV@p2+VM9CiNTFE@Mcr7nFxW+&=G{_Xno^n5B91z*@RiciLh$)#&(Gu>Qlh2 zka=)fG67I3)kp`D(o-{5RD6g~_H8m0fQ2&}u#p~0i$@}h*h7#O?5z)QOEh3q(1VCz znPC0LA^(Wi!=|ZHqzthW?o1e`TXMQ}t8CB1`9$uS0@*itJ9ZKv4-pW>T4zX20Gg$2`Oy8~~XU(wcD zH3+%#09=?+$hmlFU1>}qLfS|Wa)L%w`YeV~IW0|C8J((ww2&#(wZbqo0k>0VZG9LbyvTu}zl@|IExEvL~sh-4sd49oxn`mcPnN zEX+p|oC+sGR$fI9E zGkU7QL!;4{5%FJWuj(i0DCe$vRr1jW<4p{epoO{wl(hauIjZ_C8}F2a7{2z2MV<&Z z&`%F^O#?A)&h*h=@DfA^X$CoLE_j6tjB`Xi@x%*K)v?iHMR`pP5K$Qk9E`L=q~dqf zL!%=^IUQ`r+1*8s-Ryf5KhGHC&GlC@{rahyy$vrC*4utxpC&^wr;$Ge$+4xn_EKCU{ z*#%sx+^zCCm|+j^0nW(zS91s7_?~-u@3mjmy}HvAkiSrIlf9nvFpjOP-xN z;46pbg-B^y^zQ^qx~sva*U({%Ap-dS($a`>S#4s6H4BF19EBN1Oky*(0JN{A-Tz%- z|9^gH_vfp%L&Le_%`4Xqism|_YFXuiQ^`+DIVc5I%DC(~M>d5DDl=-oe_vLh@ zHEDco`C|62ZK;lF{#<|Z^x~xM@eDX#0S7Eaw}A7Y?Ui@$`{THQD->CfYG{CzyMmK~ z6KnDYKCDOwnz@lgMSB4H?oXDS=-&b67dXYp;w+depm#{oHadATmaM@d+Ewf~DmqpQ zdSr<}NZWu;+%83TEQzv2V5f5xi=377KXBeSyh->fH1d*|caJS227JQ@=VC(?x_r?R z?Hw9hRa5aib7a{Xl6e2}ga1NPhL^$YVeG=H!34H_Sb2CIsv&(|B%@LAWY_w&)x;~|IzZxHOyfW;mv20!a4%{oXKgcr4ZsSK+DM$R)# z3)7pGVj#!-jE!EzZdWx$8LAS`lL99y@2uvC(*c6S+Y*t{)W6`6gwgx+s+FCvv8>O{ ztMPx)^%g*JwOz9)!QC~uyX&CA-QC^YA-KCUxCD2C26uP2KyV4chXj{9`M&f1_pKxK zRIw?bYO01kYxnBay_%7tbXX=2?5+LA7qk=Wm1537MKgXnAn9XS&wYG6@D>X{5gi9H zT{dV!rD#ZES`E!SY`8pKZHHU^SB$4r>F(YX$RI-n*EJ*VOP@%A=(o&!* zh%OG&pn$5vlqGp-**Qo+Y_MnKthjv27|r)w_grYd5lE`AC!rV`Yw(GUCXvDGHijX> z_C5<(Y4kf5F~z6IQ~x#3KDpj@hP>H6|KG~}Ic(r%V%ss+jLh4J&!j_=)9|2f{E z+vm3fBX8exw5`3&-di4#z$oXAv$~{@_P2+mPv1xlPWqtz&-90P-q!O+?+j~>3ZUfi zF1Nb0emn{PCpT!9G&D1)pCpv?xM^?5v&x-K{lmM%YibX|qkM;onJc8AHw8mg*vv6# zdIptiNUbe$*kuH$8sfA&Vb|x71~irCyBB2oSxQ^=%Q8erpgSb zYcR%tJ*waT<59ibUd1g8t*4&QJYB~@5D%e+)X1E_jJeh za>O3im69TCn)~KpkExY zQj;b$o;}CN54FMSeVdJDJlhKLXYBVsrU`O2%3eZue8_p~Iec#6m{h%$B$Sn&7;-0C z0=jgzjmBki>9+{!!8F>_f5rE=na%P*D|{aZRzH$oQvy$ z*FR8t&`8$yI}EU=E`Hz-v7ksIhsmRnq;veF1zvrt#wY*PChWI|k#GZ``AGIO=>)c) zNjAhYM?UR~l8cCVjj{`zP4*MMw3KZF%b2tq!_sCMr-lchRG%a<){aX;%vOucA~{=U z-p=Ue!RyxBol?)@2fnm8y$2TlYrkb(u9jd5{}Zyyd^fgQbYjU`-dBU-<}`&*LM|hF z$*b34=dwm}aDeQky6Yyf3JOz?2H%((JLJseAc$$0yZ<0`-Za9Wr2jFC{0r=41wy^J zFSJScpQ+x|c=yhTysYPMdwuQlKNjBk6X~~|t?Y07n6~p6eAWBId;1rz^vLh;A)njy zNx{F|db~TkBZca<{Q3C)F7UP{;6G(D)=KRU@v`cCY4G151Sb&T_1u7aG<*khq4VR2LmKO*A5IVH6e2jgo+@CJ{zz7MwLkiefxQgcFjaF}f^L6(~(w zKn>{#94`$M|J#-hr6jduc_ca+eH26XFPg8O0!}JupyIXo-f@>ysU3)u)QIu)|2+7m zG9<1SGQy_&>v|bOOf4LP_QQc7xMX3Dz*9^DNGFik`Sq*zD%D_V8`b1kosbFW5s#_R zBE_WkKjiM()KyU{`kWc8yPZ;PC+0wV3axLtaZe; zNN~H#jXfAZe>IORUjC0|BytOru@OsS0FN-P?DH&OGY7ToOkQ8+Zz$!)BXI2TM9 zkGjfRU{P0z%Lo?>il;4(VD2QoX?oO7)Eze*#}tcoN4Mq@L)bIe85!3p6-wV`3_&kj zf<_%NSVm_~rB$;ZQ%SC9QmV#Bf-{7XLMg?zvX|l?99XY0?2D~ve)i06?@!3Jd| zBuZG#3~$j;*kGG#m`Tvp9)$yoaM)pMaC9{|4J?T9Inq!Ofs{Wn*p#!y*?e09`N8S} z-v=Jf!Oz3kO!QcaK)?Y$c$3vH>3@j5{+WH)r>OJ)ADx?=!#ZI+O*r3vReuWu-;Fgv zPXcofz^mRv-rlPok$dBUC-EJxzOI0?o=cw^()J7HF}V!G?c2mQ;bYpqFtpUn83Wrv zX3EQV!!|zi!k_;F|-exkCLr}fhcGg!$X$_hf+z{_f%xVwUGCl4;I zUT&H$?&Fc4N>phAArAa@RH}lu2I%(R{^0@=3SK*?czMCwUQ1xXL~q_iFXOPCtwj^k zTo)0l`g)vX0Zp9E9@g}}U=pW`?-RQcPHal#tZ6HcR5O5QtMQK51Qvo&Ip--kvkBsf zV7*`x_w_e+F;&wcE>?%oqHYKZuRY>~l9h-h&nw5GOJVlt?@!};!J2Vk2p;|+sx(EK zIqHKnKo4PQUUarV66!M2h;6E=$p&i*CW`*bjg=37rt>E)Ih^bw7nRH`_Ow)j@PxXl zyk0&0M%)X`!rU*E7oYS}oGXgVFd*c>=S#v$zsqe?diVLvosA?YR_ zu%|Fyz6>z*c*LT=!`MHoZkq@Xauv`c^p;PX9IdgU35L0|mnKo@s~n@A1}nLiJ!zT# zWMgx0nmvmrs|$XP|9zwDX8z>}9GN)o;w(^{aKxhSW62`}m&gkfv-G9*$U+S3Lg=&* zjVo>`_=Q}{sGferJ4GpRlUy9DO8N#vzijCBIwK!23SKavAf4M?y!8!RZ(}QTo;mMd zlc2woouAIT@Vy~#3;(N_#}KxI!O7<(p({{^-}Vt@-?j0!Pm+Mhxu5fUKwA$r=@!fL znm;Xn0{qJ@4k>Nl{mJDMWt;v~UxgnS%bN%7-o3x=T>4MFoNlKuuQ|E?mRzedZ0=PD zyZPr)t^=@&RLuDv@c-l9j=wg5;3?0;LPVP%jsKJcjxI#Q;8BTHHlYj6&bla7WkIu+ zAy4`s#zxiPFz$XaN?w9UsgvjeT?A8%d!QP2PIWW}*269c|Cgpk_}C6_@;3zu*4517 z7(UZpvoqD3?GWOp+6aDiNtU(&fTjaSQL7<@av=uUhmX_+xsAd7eH_*#hf2a08V7`L z=8^s=XiyoAZoCJB&5IQiW5CW4fcq5|Cw~{roacJHI5*ID@ch?@n!1WhG78u^}OrRQ(#RfZG>lA9H z9{X^#O~we8IXkkH6{J%rQl{MBJvDCY^fmkBk<+3P-!V|o!gYdc(kR=+;n}CnD;tKf z`SD9~KvgpC9xBK>VWPrZuIc)kB{c*sCCZ}N7308KgqtoL%5nN(? zz**0t0lbHbz5btU%ir6$C*-a1i4Y7$Ht$K+gG^4}y}NMUiFZyf_!-`#J^zyCQ9*ls zFRO;meqbJPC8jnt@ZK@;^K;K72u;MRBJ9QG^V{8tQQv*B;q&py?**_Oc8Sm?@T0IY z+8U;@8E%_{l_l&P8<tDDaGAC4L zWMbDc*+@R&C+y1Ac7W#AViq08o~B65PIiB2z~B=|vmMaSakt0YD6nEW@Z0jRnNwq9WCt}MCpKj1gDEF`aot|}^B^3!;; z<3$mwT24*znkKr1k2aa>PlO7(bkuQ_)lDjKV%LxE#VffOdBC}Bvkp!8cEIrq66(lo z3zja^oM5HTU2-f;He)q}7OGFRFIaiwVFWGUJz1 zAJf^x{RGWkoU-r|-P2wT+C*tHr>pajmf^Gy04Ypg- zi&3nG!sG__Hg%7O1!>KqR32YQR}P`BAdbFu)i#N6ER}DYY&Sr+bomGffC|{ewrqI- z$&4<))c0=Zb$!e$>eALOoQZijZWh0>Z15}e9Z(FM+GHGFS{EgfT$*>Q`5Nr5L$VCB zO(m4<{PsKepwx5b*MMT@!k2-q#4&Tgr{Zn=D1K7eet+BPZm5q+SzUmH;H7R0y$Q=G z0rS!6-_Rhyih&2(y_Yc28X4ND7&Q0TpHz)>IbHgb5yE92q7#;L7^n?;*$*{|fJQ?v zJ~SEAjlZUnykHvjgU~($2?>#5WH$LzEn?87xz1`D~XQj4d_Z_UufVQ3PGsnIo+{c5S8rx=-nToF+H@UpONg-H0v;!7R z!SQ6ch%gmNKPf`dlRx2_+`!Ct44@N(H*gr~U?92^P!URBCReg;_wN#!3S*H=-1q)~~DzvOrVy36yl>B~| zHZ`Urw~sN2>wA@Zs6GOG)9)9f(TB~+wWhuJ3v~b0f0`2%>}|=ZCqGH8>X_MN2^VUo z-vg0C$r%*}pso;%Y4wYpxx^>N&{4|5YD2RT16janeAeS-s=bG;oRojW?7_N;DzpW? zQl3PkC4q1QITEVf0gf0ocAa|ovz;<)O|hj&lIA*0M&Uw%PHZVl^L9K8 zLu^VIVyZ=tdGG@3!Fzf@NuD~rCk0|;hNNYb3{x)=zo*`8rBY;s$~UbCDk-a>3!NC~ z%23v9xGIkD6asj1F~~S?b{%vKgz}xC>}q#efgvC;zr>?3FC>2PR^COH0e_?2Fx(nM&*3_nydSKUC4 z)X)G?_65LN#xKDRsR*ELOo$NV=MyaEny71eDi*|F)&Qqahr@J5l_a-vqihahv&Wc` z#mRhXg_$P2e3|ou9*YKFbT^7c?I@CdGCIoiWQkzk-o^#ie`O{cHDo z*f5>D+$vRz`OYFju9HrhR+LKG8{I2P{5Hh9um}A+gV^h?f00XR2m!3h3m)Y6<;N{u zUHdN`#P5N4yot@v4Ya`7`_)5V$*5l!+(=Ov<5{1$iW4kb_R=$2DH3eCaco0{BQMok zO$bop;)^$x6uhUnDEGKh~t=2T>AXuBRO$w?tu(}ICvi>|5h%0GqUmzh>6f7 z^5-uK;`RkZYlKIoz4337@q!3v(~ftHP9C?|XG~X#azUmXa*ZjQ^qALfz?DUMzdRsGx+fiz_t5#Yb z|H*fZVU&~?1APJ)-0O{Ta)8^aYkMT>;>Khi6{mEXTX#kmAcq+|oy}Hltabo=;L%6l z$ejj^D@hPiwcbI}`qH~Ec>3}|DVt0CZ4H>W+CP=b+k9iX6p*yRb;zx71jh0Na8#rZ zT6*x>cTqco(yW^?SFvAn+@H3*$!C!O<5w;pT_m6z9-4lhfW3|(m&crdyzbx=R>*Ju z?F7&IC-J8cjKiv!H&A7J`BY0h)4e)Qq7;EV{Hb&1;|l5D(9TkX4S%rHY>YCTNWcG;q9atmCV%w7Udk(@LAsJ~jxMiou>r=N&=>JTqx4$|w` zJp&|L_sKrm8A_<`ZVm`Qf5yb%w62z;9;IBb0HU*?TmKCpQM9PRy4(w%vOI$UE*DZU{T z+EInrGBnD7EpoXyz6cv+v#{N~BIR2bkFhs79DP`OAq3olZn*O$Fcj5pzKqKeWR|2 z_%HzzJp?1B>ThRZ7Dh2FiV*6;CPAh`5uF^0$wFp87O@o^3=a)2T1+RmKYY2a)z-Ci znK%{Dkl(&(xU!;*h_ZkttVUv|ft*!Mgu8}MKhYJ`~_o*@NE)sBh zdBJT33ar-69pAL5vOrv`H&R}jL+)brmE8wof+N;@&S@JFp*COt1T~Lk3q!{wJR;4eN zxtyZv4f;h}$zDWYLNOpQcv#}B#Wi9Inr23a>R5G2es`G0GoYk+QdA-y3=K!Oy&&Sq zRTws>xfq}tNSfy%!TCO78ACjsE#%%9Z`}IT^;VZ6G!+g%Nhd~CY}S{NcU~z&X#Q|h zi_|K{(w$Y^)Yy7^@{@qY>xYKbCo=_;fTNuL|NR_6zug!=_sE|T?>w3tzOg;@y?ehB zgN<(w-rzK!pJ*?v@7JUc#;M%FMt1LePm%~*+OjCfeGD0a_(QVrvm+Xr_`%Fqg) zt%;*IB2Y_gon3n6L;t940S`c~{P@FI#2$qChK3B=QOQy?e?l_fl;1wWa9`QJkh)rU ztwh6+k9%Y6;UaDHEls&X6Xuft;BO`Jy!qTLUio%eV!_vT>NA-ENr|AjT_Syt*>h&B zwd~ffW%k>0>44C6M>{FvB`0SL1FvNMFHnC zQ!@+9BhQvI@YejxHV=zZ&UBWy6FckLgtMbj|K>Q;%~gMMg=2s{Y6uH}e*Bn?Q@bE%2! zf;d_uH3XI_?WCp@$A+zp8D@aAVc8ToHee^@Ty$d!)aR- z|J2PL^6xW*@G{sI_wXLVtB1FRN?6Ak+b`yhVqZ6*eNF1WfLZc&I^Ob9E(^G$eD(>u1hWFO>){J~E|>hp;@h zL4lg~Hq9JO?G=Pcwn@?=50Kp6A`Cxduz&o+NHJ37@J|AbxrGr@7f>M&CG&LicN0u=3L}SIvR-MZGy8%Mcr#WpFMD zGTY`U%SjD8bKqRH`l;`+Z_(TG^#u59fNamQ89S-A)ts*KP0Vi}SOMNZgDm_;rC7Ng z72KMhHG>O2DQ6=@8Ld^oaRzfYpjlav_h189mEhQj=tzr*T>-@5YSY%QR_!l_L_cJ+ z#%`R}`e7VeeMHZ?RkbI5o6oC_rx3Ay82J~j1mm_ z<7f~0&uOE*&L<551-)(VJnqpdw}}h8%w>Z8uJ32gfhSP!<9~eZA+@n~MQ%5D;!mb` zDx~-5rg!#t9_})KR(&G7+{B;5VyqJQiu9iE`a8cul%hDQ`F?UHEX7Uh<5eZ{FNr8x zz?e$=s2l?MZM~*wF>eX-O&dFROkEadVstBN(O^oxuvwgF2M6MbVVSZ&vPk{ggMBT! zg_`m>%qxU1GpZ3J&rb4TOA)}9t%2`t%Sy?ns?HI}&!FdJ=4ORgL2I4-2^kLG_KeGQ zQp76#i;Dh(R$-yU#T-v_&uC@ni!C?lWQlLbA$ob#;8iNhV)6c z2r-kajPW@3UK$$~eo~Y^adJjCchXa>xcbOnU2H(W>z7VXG?5(fr`m##VhXpJl)zhR zBJA%CKp?jFgqAZ0HSa zz17^vNqLWqLc_gT)?Z-OmB~Y*y05zX_9MonuiWk5m_S1t=HRL?B8Lp8!_#@)t%GCtl#(F82#nJIqth!9*h(|pVvc)l>1Z zki$|)>2RX+C&5_@lL1Dkhd+XKf`PJL?V>=rAKCSW-Y2aze&cj=h$Z(SWP7BTTG&E>!-}A2R z(DF@`UmX0&s>0JjB^ym#%V_S$-;`>j)wsbL^eTJA(c|fAn3O#+(2Ys1ttBSM$6WW? z_f$4ztdz<WK4@0@sj5rBtr2 z<^e#V>v~0pz>;t3WR^`ll^w7jfRr<>h_@9CkR+7ncsDSkVnp%>mbK$(n7Yy%aAvk! z>FZ|x1Xa5nnC0L6f<*Teqkn+}9tB^TRd`KvvyLz!$dIGbLU3MT)&<@_>uhYvpbaA|5VH!0tcp?3k6@p`hL$i zzx<>{8x3MJEfhQry4LP{{Q5qN_ZkFs2X_l)ND5j+IQ%-Bc1s2CCuNZi$0i$d=x>Hp za2w+}Af0=MspZ6v{Hhzl=N3j)^($-!2}+Y1=w5X%5n>`^vKh11gIJ;G)DjFUfJb{s zP#a2lJd9B}q~Eywv!`my#v@XeI*fIf`X1fejs{vT8$sQb?t#9;bOFTERichcS!=}U z#slL^XL@@Xt(CJQCCH6Xpttf(>E{+9IXj|TpSk;|Ta|oVb#?a)N(_-lP)^9$O&`fkuOIW*8DMk`EJY2Dlvkei5XT@7~vz3D@D7$GAStDWz%80YSWva0$iDBRn!g^%m$;`40? zcQfTI9Qm5PK%_r(Il?#3@p9>Bbl)KLAj8{To~V6p>cD;IKeah{n883=(`);o=gW96 zY*HO*(KmObJ!?M76klq%Uk5U5qxYc-5P81zwi?jNdgx&T{ojsD=!+T>QAD4)@_Z_HcQkq zmaDpKkP)UoMt#}*IU&%#GV!e}KW?gqN%Nb;=5nKTX#{%sac&+&9`TZ(4UDWCtE5R> z4c|;6UVXlNra>$PF~$2uh9kmBIKQjlWNa$uGmPM$u8%P+<%7pst2HSS3j0WGx@&X? z1vA=mzN&`M4lJ%#(i0O(0UN64j2iTCbQw{o%;jAVr3^uY;2MP};D4-I`vvjp)@MV4 zgiP{$6~PB@^j>YX6=d*?ib=0Ef_)$U`9tQ&Fa8-`e@rGLcPGIL9jlt(SW;7osY^%q zY1A+?0h@GNsPhX=xzPDC(pXnSRBIab;IJFArVY!~-9|0=)0+h}XZ+Bl zTcf+it1>M5PQ*jokAJuTgb}$sxt=8bJRmpu)dpB`n&mN5;_yU$AKka;NPB{w58NRV zIK4uyQVPiB6fg+eJofFBXfX_mk9$Z=&ta6@OEagNWYA4AEpC$ZS8_MHW^mL`4TxYU zL+^tYx6K7)Gs7mF%two{E+;1yr|M7a zv}ycnS#N@riT*6?;u9Fu+#AE)&{abMGKfu8QtU3rb-^BRRcNVzWEI3~!`%Q9XUEhk z&%^-vv-YR%Pxa1DRd4I%cp-2)nCRvo|A5T5w>M>8&q6HHmla0h)A7@FV#qULZqvxR z<$$b!){@jn+Rt|$LopyGnlQ8F_JrjD-;fjF^PWb?^!Pzks#H;)->+$U(jGCdZ8`IT zPaTJ3Y~2QSyiuv%acy|D{0SvEml}ifWy=q~K5PT! ztkErovruVqhO6l%y8C8+-ZLyioa5#u_0RV%MMUfoe?CAT1&+qhehKqN747Knj{404 zBEyXI#Dy+F%=(3QB+pQpY}OW%#mkPE_J-^QEvj>iK=856{qWn|ov)G&oa)K&S?a>B zz==X5S0LI=A2I=;gZ40PF_lti-V`sIlDH)GyHTaXNF^|6CY^RUl<^v$`LV)yLyzjTb&f5(w={#?p zvMv@rmd_7U`s2ZUHhDZcEsdf$&vA?yT=u-#RAO^+kI@cvUns0j-&{OQ#r)BB=80Z0 zU@=qSjTQyKBiSX6!_kh#6&Q-KeywBS6quYViSZXb+8f1^NK{eIAbR2flMNww<`nr4 z42CIerKyeTDt(G@Y{$Z_O)8h_DA#3KG2 z4{g#eYBn&C?^81$u}6Yr+VDzeJB+Q2yPct87E6a$4Sr9%p&gT+Li73d9n;ds#ccPr zVuODX8#kNm7{yqXRad1m6M97&SWI@IhjJIH>H>4wSgy(R`42!W5ApIJLvZbn87#?! zYjNOt-0KT77Vf^=^v2!$`Vk70JyP)#a*zjA6=&YeJWR`7gEUAFRZT z)B;$Z+8RQBfL$vsys3Bp3nJ5zp?%Fi#`<32TIB zzRXeD;uo0^0+tc1D>xvps7m3}%YU*%VibyUOnlKH!5x)Ftaa-+ss;DZ<_g(|!<#Qe zRZBtzJ_LV~&=X2k$@AM&Jm6eSV@xy4xJsAvHcD8&JD#=Q@%D+ym2iXjABcx>O2}Lt zIh|qhMiRW^h$*$HCSgQcqr-Xv>_(EFr{x*4R>DY~rtc-XCNhU`xS zAI<=M_GReMC>xgrrDEsdNPWUG1#@`cYm=>e*Y0#@951IJ?iu@VuC-YBC?=Vy>|eyt z2aZIkkPmoKw&GdRzh9q=AVm*hit6d!E~LN1Z;Zpt|yYu!Zs(XWrhnW?MR?$;@iXZS(KQ<53f4`Fe&M!7Y`_a8`K-vdfi9jW^w$fYI#AB@D zk|ei?b#N<5G2=xpBiF&2scD$X%4cZ71P}jdsL?zi&zk?+NdNQIh$DnG=zZ+HpVdE1 zgd#w8(GTnSfc9o=^Bq|D{unyQ_kusbT9frQHp5_t2s+ zd_u6yq)2{+q*?}=Y5_A2Wxh~1?o2yqr+oR5)pR$l-w}f&&^;rB+iGgobq3Qh8U74G zt!bgs8J37ec8GZsElI3$^Xo7D$W%>r|ARyAiVW|3SmSNYiuf#5`)c8))8Q&~c+D8tWRaFV^^At(_yS z%{2tO$AIK7Zv3MLOxnZ z?5w1%asAnN40#05491Q8i8Q?d==B)`S&n=SloCvg(CK2OZIOQ}a10&Ozm|ORjTyDG zG}xYXtvRd>T6hrLc-*vpO?WV93F@so&wD?&ky-i4>?UWb_E~f?$JvIU4HUG4UFAd1 z5-;Cezj$RvG3#Be(>adGSUo?|IcCV7fapy=4=uRgZJ;(E!RdTN(2}1g?xE#ps<|WD zhqA0;v7cd~{{mIuy19jO=pP)Hm6%@d%SfnHQ~_&I zpDMBgcpr2Qx~d4gJR^Ozd36qa^MB73t-0r-d^j(Y$)PU}Ps#2Vb zj?*SamAX@L>!CsdU{_P@e7xYp`uB6-JCDjMjub$-ze$H{HSmdiZCg@{-Kl{+|C zG-IUz6U>$;^ztUB)a_`_POygNB3iYeis)zH%od}D3bzuxZ9-=kAD8k&- zC^wMmQ8R=_iBy_x7N|;|{HrP|?S>T2jLrjPw+!4zZR1#IHT?af;(Ho03$6$53vTp6 zL?A6DNz(P-6u%(kA}PLPZc8#U35 zf%2ap_C`C-W(r4^D_s8Y9rCGj3ddr22ScZi=!c_y=OfkaSjdIjh}px6Y94Z?MDVk? zg=>6HmG{^ELx;Ny16XekRP(jeCZp(1486@tMHCKtI+di&a0c|P9EA9yzSOEl{y{F3 ztiEKQAszUQZ(C%W*RmM?+^zNB3b9jAa}A6Wac%=U_CqaSXSPdR<|EMnyxlr_;LmXU zv6Shdt3N(j$vk4$dzSily3o4mc#`^~!IM{qDtF^tTkz4(OQHQb1hkSKQ7xSi(RbOV z5Aag19L$9vGgFa7WD=Xgru0h~xlpBtn9hfTxEt%GHr7kAaLNi+b$J^Ov1&yitcs`p zseXU2!j%ZMNxJ{Jw|&wOzy+`HWiIfsBnadjcqSln{GR)V1}Mx5PW_lzdVi27eH{w= zle_bH^R%=xH-%=|b8rjzAU{Mj_{}54OcJM42QRN?BQ_Ju2`1EwO`GQh(z3~4EQ|NQ zY$IDy#%xCuleCirRHO` z$TSsKEBT`$6YeBT^>2h%NG0atAJX{Colb6FsH6i)1X?M-b|@k=Q$ZAncZQh(LWX7j z%`g%l5F)V_{N)&Ju~QUt+v2?JzDF=H6-b#$s(R3`YttKahDcrIM_Ua%uD-yGgZTkV z9B-_0k6p_7m>+`-@;b_n|Z%?}Om3e{?>aK~U@zw|$@=E3-7`jI`1=z}p za2dA{8Q^WxI{Fr6ek|o)W$kNtJ|YdRYiZ4IDG4f+>GZf+*;nof?<+y0+=x;uHPVor zlymio3EbR$pvb0%aX@X%3Fd6umyDm;VlsfT957g)ZpF6zcM<)kMR{;${Tb;*!NIJ+LQ3P&@v(Dh;ZlqIq=T@y#hSAxeDlh`+eX1 zB3iqBH3D6b-ZzcrW?(K%ZU^HEIE+?4kKGGT>Z?iu4KoAfSrfk^0z>1z;E_KrBdAGf zk~$dSSH@Q5A?5Rd-^p$}8dxzW@TA+Nj>g9G2&RRvpF#LHmb47bN)C1AXB#NMyi(S( zPYG9FoG;dhFZEy42w9@X?@DNL(33GNnB^`N-tDG%8H zl}pxE8%qS8rafYtiM}WgIFwBaQ$*Lv&T9mho^8z@wV30@Xo$XkIs7EMH$g9-K2VNx zALj4S&=<(9F^_Zpfzw6<_AQgmY5MPG4Z@72i*eycFdMFI@W-M+LDv?HA#dQeoT=bB zp1a(iF!7%@$96 zF~9BAp$eR6IwelAC*n73O?W4dr;TAr)6+8x+kUAy@9<;Q(dDitKWYNlLK2ox6Na|9qf8 zd91M=jwN4(XVz2^xGcKCPGYx6Z<&J8|1DwcSxuO?>b>PeTrET1PRJ2V1*|R1r$obL zXuMcrT`B+k599c|d=Six(<{_r42m-7v2j?d&HYwzUUI&ruS3djIFZCN+g%RD<00ey zz$=n&L_1gB#<2(X+{*9ZIJqRt89I|;j>7n_mb01Bdq$5X@Ow+cXZR;JWoI^s`+0>s zjQV1%tUZ7B^|dq`dbAAQ9=t)CzloAbFmw(~d<x z(thY|5baBx@$;MV>(<)4_xs(|`!&|vyN+|mLxoDB$jz&C(2@7Me&2(D$a9y-3-sXXgMlBkJ!hj-mi#;NhfrCycS`&io1(Ti}ms@nC21=vu4wsmn zcDonrbF52554oOlea;t{skAzRqo2IWg1bQl=nKL)!Y z#oSs>%{;#_o##k5hCa;nP9My6HB@^;vHDlG7Z=v!{LzU}kQq1g#HBtquT zBo_v9PlRvw%m}(M7D6sUs`t!fX1z1v?-c27dlvFd=LXKm-(Zw$pUQrN#+&l|NTV}* z?$Vgp5re%s*%|U^x;t2EPhz=5dPL%h>8u61fbzioynpcpF}IJfG$aoPo446A?Aw^R zMLu87MwyFnzode+9ARN;y3`I1<78TG?FrkP14bd|^RPQ-fuXGJMg}UnV(Ozb(;Doi zN-p%wg|0jvBr`<_863?(lq~ro;l7ckTv;!JeesP%b$~IevvBab%QHmbetbP>TfF!# z>-YrR{5O+VtZNmmkwVzl{h!_Q-=7R2_`gPpJdOqa@ecaM8ua@9zPTfS{NNwE^E$C4 za({I7mQwio9c+ksd}W<|U)Y&DnKSG86_5wrs$kmYJnPA zkf=!Jz}aqJp%nk#g`Mp;U%0~R{URlgM0J3klOx|k6i}G2$}vqQrHU^Ro({WXbeTMy z0$hglvm5M)#eZp2UFM6EaFU1_ZAi2gNqj9Ng#4of9(5BO#=-A9YSgP7e~KaVQ;)9R z+|VVEmFk%}n5Zw7P>XWPy?OZk)4m&L^iQaJUAxBT;HB_umcW?wFTxD#-D0=ob)~|& znce88a%#zns?}kHCz0M{7q;LO-fCuO!t_sz{iuC&2X%@Zo^y@PT%Dj6uMmTs`RX~L zFK?GlfpD(up(X+2oc_pcL-;8ta!+b;2e7F)wA*qHiTFk7`!9!gxO?G8vowkF4aM>Z zUE7a&MVP35=xNeO3?fm>REMJ7KZK0Cedl}w`2Uz=owQ~2{+aa|oH!T|J*>k|q+4UJ z;{p?p^D&6xCy+IXlG1p5?0)|Ij_eDrX~5%?o3`J~_f50q>YRVp>lC6Ry}J)1g~zrI zHACT!SLUv(6eXQVee3VX1mgswv!t(;z7Aoa7iKo92Xr|KD#{KK#^?07785|XiH)W@ zGxlOos8Osflcm2PU>vYoo@^;eGQ9alu+@I2Zs!BSMHLAKaxrXey4GLqfF`^nJ z+525(O+!+E{Y%}>K4iU(BK#-=dzPqc@D*UR!dQ==zz3(rj3{AhB@yz_pWWsL<;%Gj z6^&mapXfj_MyqBz!xp;aLjtWg>YAh;cj8oR#Kp9kGsx6R} z9YvAM06Z>|3v>@MmSdsmPIY1csPX}-QeB~P%r0>*!%fC|T(TCleJEGYFEs*;n`5^; zMAD$Ab?DP!NiuEBW08yqTY}Z9lyc2P#bBp_c{NiAs8RhGUV~llCTl0DwR-!L-t8b? zmlvtek!^Hll0hP}klfpI_pBj~K1z3)LE;M~wnHEsc$6IzQh@HbHrHN}wXcO8YOdmJ zf6b40E__MGG6}=@Kv0iO#Gd5ZJnY30vahlGkqO4lDYZM>BUd~5#+sJJ`fi$8bC@v& z?-D0g|89MMde+eEhZC7oHtho%<2|XLqrc;b+v)A|41#fJf>Y$ZvidL zZyiZZjIgEI$b949evjHPcmUbtw|?Y8sb@rBr-cRp6Mg;QzLVF>Y?iJ=CFmG9N0*ux zZ(DI7+1S4kVam&F?h?5bFm*ZXtI?PJcS2T7{o8t>7LlsShGkL=9VcDWfOS;v`U8I} z(>xD;O>Pr%d)Z)iO}ce*PB;t#m%c#MdAVB;Y?)Bp$7>X!TP}(QZbn8MGo|iqKvM*( zwbx(iRkxWwqMHuaLgJ(wL;~e3kpp*MoR=H8rn4e$(8J8;ok3aAuCZwBje@nIsg`r? ze@8k2Sy(#8tuzh)+qu4@x%LAqh;IAtheSZl#?O91$M)}Ecb+bHp0<;Aj4s;LPqlkr zZ$zF6ciy^!o@(C5jh}yJ_PySW72b+e1qzV%RM#SO4~VN(W~OVb&9Z z8I}hWrS=HA*UEl;MDx^Q1AO8&(fN(~z);zrfsUQa&%EVR8kT|V@QxC}I|Cl)TmK(t zZy6NVwyl3BNN|S$!QI{6-Q6WP1lMjHg1bYYaR|XRNP@dV2mt~Fmk?l%y+g6c}AIsy2IQOm3lLTh)IF0n=&U*{VWx&Z6(lm9xcVn z@Ebg5Rk?N2s(Rqvs9G&l*O2K#FT-hj0Rdnd1DO?{0^#sBD^Ccx$zR+}bHOX8p9^oP zy0ts`pXyJiS|mMOy>^Eq0&^m<2{LMBF*CM-9Bl>Wh&tK0Kvv5JrAX2PC~Ya^qTeT?C1raM+JuV*{hCjC zg}xz!v@V#LuW`?hYs|z3CNrrrM_cT!{N9WVQK_Gzz`(OxvT|1UeLv#9@k_VVE^Y)F z_>~;_^#04$A^a{^BUCVm1SZ8<70%Jb6e;?PbZhNH7cCArwgc8Aj*4ftgX)j{yJsWD z(AL?WeX2es`}bPx6-O_XHXIpg4|%>%Si4{OjgWTOxiozrp=95wU1nk$@BHMh;{%YS zne6oYPj7(b40q`DKlk(t2y0^q*H0=Bk;%cQ>(?wjus`Zl$glk#XnhFgW8}vA%@>Vp zuXTyb?4C=8kjKN2Jz!^_coIBGvpzObU-AadViYB(z7W$3Wxfwil#=qHwJ2&;y$e3Zt!>;UE-m}cXM0pt2%x4FU{buwnCYN%;SxlXBqomR&5bvjT@%K_n8~RlStVjt9N)jGKpQ>|* zBnWHR3nDjM|5)lMX-`pg-ufWV^m(s#RWds`?7+mI**H9YR~SR5QDK%q zh^p}O)BbWPoN<3Ub*KwT^3}_>t)S=2>a}F~d>ONwk?)%x)HN%bI9<$G``7?*YrD0B zW%TA5Ar~2w8BCuaBCUZjD&1BRI_@di##P{qll~Rr2U6Z{r4<>adY)C@_}XPPuM<^g z{S~9*7F)?5b#qK_!iFTP7QU`=c|Cj2ASW9~^LFqzK*`)D+1ccvfKgTdnV(n&wV;~y;`8Ppr{K-dkXxLNEz zOTPb@{CFe~e0o^e6T)<(b1hW^Y@|;7;qFls9`gOg#89TSK)tXuOt_BFh_&ANGRve4 zRbA+(pKxDUalQ`dD(u9m zkijdwUn`oVTPk2dVWY#wA^l!Hg=7t_OdzaQAOw@?$L29`vjyH5Mi%m z0S4)__HF`|4wAgv&lNXhgPF14(DHiZCXrzH%;q#Y%wj+C2tB8;9QNJO_6$mfYQ*1^@CB-X#x%FyQ@nu9@E9k zM1EZo!x`}{0&Vw4jMUa*kKtHdi7*n#%l4Z<_w5MZGd?>~0wq-#<>%%3SQ7i!(+=~M z%QL6`a^l(7fP+Au&?O0P~sa8^a^7pF^m-*ej+9d zpG-4Fazhr|4V0YOBP0t)(CNZrJ2w;=;ctu+#y1+uxHg(hI#ChMoYcepA||5_=W-?h z-1yxMFgfxQd;W+F)3}F9Kr5c+3m@wr589kV&QI=Wo}xo;3xgL=o}3S#b{HgX@IsD~ zpALGSG`cPh9vUTX6`m?X&I)gxdt7}ifW8!^$dsMbOvm8wofCJ4EYSODoVWF1`vz!xZ(+*H@bqADL%{}H1HH5(F zqjpe;GMTHD2r2c~!B>kUrps`wS#5MSG~XrLy`xMAnNNrfw!VFevnVFGN@Ak1C{h-B zeW!PrtDt4u-q7J-{b3j5^(kevkcTtWFBun?jvR_(;D`~jJt*k zFpQItRdp0W&`tG=wHs?84)S9!%}`4AWJ;YQcvarI4f7QdS%GCW_SD>d02iCNaiW3U zJ#yLZULBg1Z@+x(D?OAm6&_MK5x6>kv=>a}TJc17xGPtTS^^U9zR;Kw+`P!S2m769 zv+6&;DE?c1RRD#|M78d+?#_Rf)W{TYRcKLDSn*uolfO9iHHbk!??~0@KFy-ksw7drF%jPwJ}ABme>3O9oCq0B4`f$H%&@`)TM=K%0_%y8Ou5_EF4KIMPq_H-mta}abX@%AG8Z>{0V z67Dee4O}4<;qmv$E8Ibw19K=H5z*gH5vw(p*f+yd_? z?#tJ2k{>$OZ{I%s%6^(Hd_ev7*cJjadAi~V*|!hAiY|mM)?ETUNCS$fk_%}H+9YR* zK6bWD(ozTqZNz8={&UZuxcvmLO6gs?w1_{7F8cpgbORtwHu;>p=>)dh2)Z&Y?bBd_ z{UFh2_9<^if8zI+T+p)?EDz~0Z#w77CTmyrHbYwGHJCF_tp`J@hE;yy5{VeS#dKRQ zX|^BeyMXH`Fj8poo-*m^FF<}0^K`7bC5`z^u+00maSLu{z3y?)kaJ+9nBTH4tXvFKHfwLHG{>IQRp$1^WpQKp;HJFTbN`ODy4STC|NNXE!-2Az0sr3 zw?{bi?_=U-#q=D{4Jq)r%MuL^-md}9sa+{OEhfMY_Nzj$1;l#>~=<+M34i>o@AJ>K4#o`9Sr-J|yFz`@UyG+c3CoFr$~gFkRkq%6fGk*oOG@92wF%ZINEqE)Nd^qQ%_dAD859ZD zQ|{Rz;I*m~@)=uBy;2n|aBeEyW2sCb!ptbH2Zm$V|27=^r>S1sMhRRic>FR_82CF{ zqVKWC;$ck!x)^fO^AO(yyLy~leB=q)tbVF2e5`#MEPSec`dN5a`*aOl_1sm297@~~ z_S{-rtMoir+`g-SsCeo(cuJQbBjeaPxe@4&JJSid`MU@AvUogRzdj!6c^D`R+*Xjd zd7!9&`btpPMseXkL-+=6&+GRa*}5LTddg!|A*lYb75Ahv;z=s^Q_N?&cOl0m3@01< z3@cf_?CkYTy2P;>t(Dg6(#t3nr*{c7)GfhNrG`?^JVO<^>Apuo237p2mTl6!6Eg6s zt;zIxOkODuO6t#~$v_D)C4OCax z-l+}o;3W^W4ICFacM4$790#!x611-3W#_tGX9Q52DO>XbhJ}L>q7dJ|T|)+!y%mt` z&)X(0-LI#eSy+DRHisY4OL?t0?-3lxyFCxWI4dx7UW) zH;6nH$$D;g1)GaW7~yTW3rV3puB(~lOsf{X8jqW;w1#Nkiq8T=(u&CvpPQ{^zv=y} z6{I~E0{DIOxJ>kKVh)b`R=ahd<0e)VX`c>OaDZe>qe!vA@j1Tal46N*v7tPT{`J(^HG)TO^paXjBsjwrxvde z;sEgx`NPlxsYm7#OdItnmnO#)i0wq9?3o6o6 zSwA=2E)4+=jsV4Ba<3^h<~#bW6gp<~benwG|HbqF&Gv76h4cbOkv;~Eo+~KB`t5ak z{nIJKALvg)`j*$?l_C4OG+$4?#gpUqlZQ3$au5QL zTNx1N;IR&Zf`>KvVxp{~+adM>0a~hY#0r9OGF5W|B`EtHH7(I0Dt1ELhMhOZ<}@BM z_?^~iEsb_=F zjLIVSlJp=NQ$%+4fW!h7KiU%f)wgSGjAjqn(eR^EY#N756mhM}8tZ#ac6lbSaBAm2};6B$y>=zX$`09F^}``mNt z*j*4-JAKzpg#H{m=g=PoS7FI`YrxY#jts)z(4W-Qp(1PiNwSWMDTX9n9dhWEwY7k# ztfl*jw$tie(6HXP+4;^7P(yr6J+P_wh!$5Y3^JB104O zj8Xep@gd%}lGP3J_>{h*zC*=2u`=x>A$IAv1o!9$aS1sF(4CdU`9`v`jLGmn4l!w^ zSdI+yewL}kop<^7knj8V_r7Osk4#j_9|uMHXvn8(WS5%0TkTJFPfcmNWE2+ifP&v%pnH_xz8ccxzgIKBLr)#)Isho4(g)2CS5)^?2a7hp|> zBOBlL>Tnlj@HTeyAiwawiTs_e*S2qLq;Go=MdhZ8ndh;ssHhx!hpuu**;eFV*rUbnDwwrR<_K(ofnL}Z+Y}CY516kNq zmZ#ETY(bn=3>-+*B8O;=tdP9yW=vVP4Sv5_4a|xua@RzqHq!FMn>eC!*rM4nY%E<7 z$(19UMKuh{kzpl7VOAckBgGaeG5gS;7+`@~O1fXl2&}*h#uUJ+yZA5azS#H-_Kz0u zuUG%R>a6~&MZ{i4C~VKPUZvQhUF`9FmLV24&kSkLb#ob2*5nIFN|*U4Ux0{}w#-+l zBYNst&@^9cl~SR5vv;urVkGIXI`JrI7(p)($qTR4uVFr~J$@!%h>`A}*XAelYrga_ zD9oFg;cSDH5&mGhoZ1m32otaW4P&%N7$MwzTvnG}tp6K7(||k+suSrqtJS5Xo`Xb) zu?~4)7D7R!Q#a>QeMQvV%v*6hfZQ;nO@P%^GG(JEW`dB7PKxf6I_DB1f#iGy);* z}VmL7;$QIhG+Ynl8P5>zVb>|eK)&+sJ+uAff|EF@rA z**zretH_IfBVL5hfv`2*P~kQmPVs=dt8YK{n|Mxy^+I2%X6q`sLVxL?E^>d8Uj;(~ z9bct=<6fq6bK55UI*yiNk-h^<`7OkN$bWv85AzMb9@l=4{DWbwP==i!1g;0O;GOL< z87jkMb}&A#k(rhQt!^La=!`o#SBkV=$R&?n1TAdbmt#vk$k_xr*D*Zesm&0TIA_iOD~ z_Hyv+C;y`ulJ0G&M*He~+*NK{)9bauIG?l2SQ%KRY*z4)M+#qY0Wk8nKYCLSI6wl4 zfT2O-f6H0_b9ewqTfOHE|G%};I>4JATwPbCGfkzl1WzZ&n!(?VL>pX^5Z9Dn`(<=NMcYcVM;eQsH@ z#%ZDcI*H-7K)mCf%b9jppGXuneRKynSJ5?-)wni~B*$Gu2ay{Q;Wv!M117wpLBIWC zgbAV@55ENt_!qTrW*MOpPAsS;A-R=iDk{A^1Wfl)It~nw*;f#&v`in8?Xj1s|2WRs ze<*vbr2Vn&;~UIMl`1vRZvg)>%Stzl3|?pqaO{TNVW#OvQQK$|K9irNnN7xMc;vsU zFIY$`%LO=EN|)e;oFzZKz4ki+8bq0uj3!{^8KTNl>R+Mf>j?wE;{V}B=M1~R_@7M3 z-`9l;2-oSc3|YhL+xwDZ>qGm`%Lj^o!h08+XjNu^XSDwQl5{|xM6_8>39Z?g;x|&k9bN{8oPE1OkgK3|S!s`1>0VIj5AxZ2 z%&l?cOM%6Cni5l({u(-r|CPHbHJkOe7|0Q!By98Oo)>u(E8B#`81Gb^gX2P7f`n-3 z#7eJrpZ{~RS(g=~seP5e%mi3wXm#iJLqp@9X9)efW&Y|tj{e;B>q@bHSWd7WXQB{{ zXFPR!M6@S{0K(}MVZd8EBWR@*CZq0Ye5$Y9C0B;Oz(+-t-Q;Lip8I$`eaj@*>orI$x;Ct~F}irC-EG#|S1!=C4$s= z+e{y+sB<^=T^8`%qH_pW^3WFqqm1?Kp-6EH8u#?SLJhmkBfg!@k|bl!>v!Ixs;bylm9gBpmf?xU6RJ1a8_Hz@?x3bC+;Oy)?(K*lEKO> z9Kk#p{k+PGQsiLGK1YThKPw$NiV?KcJy9#`J4t*Mc?^s6Bg|cwGIiXpea|26Ib{O2 zU+NkO7(@%4wtXa~$FQ;ub1}^g1v(^oxQ4xvm=*6z7ncOsOM&jM-APWio0|wZKWeT> zf%2E&H8}Xgl=UZ#BGE!B_R-KPeZ1Ky)8$5#myUW+uA)wjh&1Ory_6BrQIx#Ib8c}u zxwsjd1qSwf>T(r!xl~l0DcpOb$pPk+(LI}3TLg@{&z)T}o4Qu)WUh#xjl47$S_69% zzsg)8F0wt$M`1VBn1v1Un?-e{YK2nIqXVPRt$du5m#I8?$On=JwV-AnY@8o?$Fk2> z9f@@H@jcS9Ph;83GNfShZ_E*+uR?V&_IvFr2fluJ;aQZ= zX}gs;chA1324>!zh2QaF45i6Yhs5qM2E^b+;LJ==8hUILSMky@mm<-%(NBtiKWzUokng zmg)WbcUtZG?)?ibEBWBpn#Y!FU->vZZYfOx>(9!h<1Bzjij~dfou0*2MkD$&v=F}r zZy`H9z(G%xVJO?Lv-{r(bL@#WNiavCn&g{u2p!*w=FWd*c|nKh>aM&Iq#(GKPMC1z z?*1m95Ww2ZBfvs>%z)oSsM*nXFEJ}fBUwU(OQ?CBekMNINxX#Ny`O=@BlS_Cv>IY= z`didMtCT4>O@kQ@B<_)wLGPts>zgfuBs&txVBCxrY4d!Az7=DM{lIVJu=jzYwDp!1 zuiTVHlFru%jukp>NGsB70%aXDLsKMq0S={X zZ~=ZgUI(=?aF%MW&Zj>XOpezVe<#?hyK=t|(Jvj?J2_AKG_(>R9jt^bCL2CW5-W5^ zpzO801xZ<{6Od4-f^LOP#mr!#u@yUHRLg6*ohCsv|JZ6^@Wy{Keg5}j;~}rtANsd3 zd*2dn595-LdU1Wh0NXDT@;BvJ9)6|xE@bdW+N6Zvm-MT_eBPC`XGvkE7S3hN1Zjq= ztQj<`);r2VGD%K(h70G)9I;d`jfg;VFSz- z{eBOmS$j0X@P*z_>2GH%l80k@crBJceB=jL_Qv=;bSqxjW480c=CjFubcZoNJR3Tj zEgm}O6t8@>CT}ZL)Q^ePrf&LH;rn^E7dNoi&S)}Wprm&_ncUmLo2e1i7hmdro7*|X zpi2H3e|jFwMQCJl3=?{CN3g%NORp-{28OLdn&fM==Hie~`A+th5o-Pd- zAC+cT`SUvXp=o7=VM&oGink@_s(v+LjC_B8TrDlT;LA7fO$hU%IW%MQV(RNuN3vU zw?|9A?KblxD{ev0Z6S@VuQ{RF#$RBffccn)l&GU-pm#fKqN*-{AU?Nm1TnuC%%1H6 zwZtg^IVy6*hF}2s!l?eKR)pD&w&TCzFciQ1qCz?v+mf9adLt3UlEe=`EkAkSoT(eEj%)%_~qIIYjG zEZm(+&?luhqyuRC&aJ*)eN=q#e((ORXAh)J4jiv-uCR#EBhPC`MAjPR$}Fn=kBJ?b$pvK zyzJb%_zQSM{HKqATlcJVGdjg>!}60~$jgY=yznd2;9UbU;%ngm+5M@OF@< zjFWAdK1s5X`&XJs0!{M(batQNc=$a!z#G<(Gq#kwx{_W?3WrbCb8^ssI!7yLqI*8T zj9b9YOY_E%l#c%3<-wqgY-hs+b>Ps?%wYyM#R_%af3$$Z$aDEZsLU0!w^%H?DN>YT% z3~S@?IWHHIn8j24?a=CZH5up7zUbT!4>cXyZMI{*gO>eeBu#3Hz2{Al&tYv)6X+nz4oVbV zU~Lo&FmbQtnYL}-5g#Z=Wz2}Hh&SZNj@*tJagm6(i{+-Dt4Z{Vv)v(e4iC@GSUh9? zQac~CLT@DuX0G6xQM@pxxe8b6Jx*N!3Kaq^gGt=d~*~4_&mg@ZVHsfj$R?l?H{fq zqc&WnBp|0;P5xp7!~Piblg3DwFK@rv@D!w=*A3$DeS(7g%*S*Tk;IeCYPK27drEKQ zO3o)~zTh6bpvHs2)x4l7K(aLLeSJ~fCWOUgpZ`2}5olRel%1uJAZ{ZjjUb_Q^s#9M zvv2P%_60S5QI(B93L-}#4C892KCtM4RO$_jwj3#L-+7t`2)8WThWWwN3AIwCDc2Mh*U7R~uD}`Pj@Bk` zU`qz^+JZ%rUN}zKGU9%m7R72p`e>_HaPVP_<)I(6J&2DU>!g>I>0Lbl8j?~geO~Lt zPSlPDIT@!uOU=#^sXr>^{1|8Yyobf%52Kgof%|RYp8afmP+t`$9qf{Vl{&jHQm->) zafVtVeZIG!gBl3mLFu*G4b`0E7yC-pW>qJMxkXQlUW%ZY8YXH3Fne~$f7PnBE0mh6 zf8V$Lvx5u7q_DpKulfQtr2oCv2j68%D_Qm-Y)#_OLg-}H_u})=;r3lux)sc(o=d_FKIfboM zq0GecWM%ayL}u~teO~0kUa%vXW{G(l4Xr=Zi4D?wK6NxFbmF=B!^+j`5zQxD(m<7} zzHRUUw=|Z(?0U#QTl8bITs`Ew1wQ-2WtS%XDf<__rx(WDJyaWZ5FDYwtt+|%Ms3)} zu#Zfkb$>0MYX^hvWq0U`daaE2!f8~}XvwtoJyVH#m*ujtNw~@VTkqj1W;0e3ERT{H zQ3YJO^6;`TAPIoM?~iz7YJ~Zde>j~DNaF(}jA5@2x+H%qM}}F$Q6D|r-~gByjjgLD zENxn7G3Q)AWqHngY%X@c#2oL(0~8P>!NSLLd4$VaN7lLrS1Fxh?{9>bUp_%*YxLtb zstt(4$)Iry7^+EP+y9ngcn72yUjFZK318UE1j4mjM4{oUkgEcCIgNWf$33veLuQE8 zw4l^yaj1jt`}v5S5(~@R;^U504p4?7UNNXtbC>`P^ z(>pRc27*&n5VN}Cfy^dw>gsoZY|FYOknf$Q+Ls5fedG5CX3kV`kIKX?=BdYy_(@2L zvP*wP&|Znf&rze$3#24zeHX3|(8cPRatvNkEY)0j zUhn(P4rd%9C=_#!xo0U1#T0AQ64Ww}*4~HlZKB7!a)EyOYUFTh4I_LKy=kb!SAEt;4<^5? zajZxrp!#ccdn`Xkpp<7hVxHSKmF6)0@FUew&V)in!{L*yIt|jqgjSAM_UI3rQtW|G z4Pe(B52%hJI`8w}yZx3}Ley)7uZ3sB*S~4tIY#>^AP_R2?uBgCJ*xYV@vti`d1J^XPqi} zg3#TBdTxhPxB|O*AbVKVe!IAGP)T-Wld=>2ZW+#%5YIWw0(w)5rbQ!-t1s8ek)|T z7$Mog@5u4cGq&s(TDQx$1aoh5WXi7pbVFAE)(x#qpwuY*d!-4)WU#DEg!hcG8e-_Q zGIOu9V=-3;X$nm_g$qF9w?Cr!gslS9F-D8?WyCj0W?KbYI`uQVIj>IX>P|_cqOm5? zSznL3@VGpS!7dJrg?&U%F@ao=4n4a|$&lwPD^*@RMuZAd46XhUsXLv)Z#}4&Y}3{n z*Iz?9z*ga824k#3C*;R^<<4tt98N}=1|7^B0FZu8p;2G3eqWW0Pz6tJ}#<%rh1a_<%O(48<@0LCw1ZdNy46J&+3*trgrN!746 zB&y(@#*ZZ1TWNf9i8TY*TLCVDF{R^uLNM+7P6O-&z$eDB&)8>A`i=aPMs?=bAnTv| zSyp*x&$3%B<871Qz<3fS(&z4tcvW=yQtgyXGa`$k+nLYk3{k{oS#A?VrT@`|-kLg= zq6BTVTkS@UHVE)Ia!7N5vdK*2;Bs`@O-)&sh>iE^qzPS3Kcd@tS=PnKw48qV6)`To z*WQod>JKzE>9!P1!ZZaPqLzATgdN`?5(22@&Cx#zQY|yt#_L2f{Q$dFj{Oyr29U04}&}+m!Prt zC&?St)u=SR0x8$HrMw}CXO#i^Fb+6wf$mQ|EjQKBbDmccowo<4@Dl_KYN$6%Uz#9_ zv)43PSKZ_sO0s9Fr)nSr2Y?sg=A7AgIY2AlhR;dCG0NES@Z7OhSyKE+J`N87Ct4b- zLTd|Ohe!`)6hw4Vj^j`WQ-SO!bt-#FftdslF=P?$t$J4#*tb8k1cn=_JCzAOOA(;{ z$=&tlD@#+)k&&viFLU|NX&~71x<>8w;91%E@BP(Y1n-5nibPqzNRbu_fK(M`dl4^i z=uACCutyzVa1j6ZC{ii{^$b_$JCg%@$odZtjS$zH#?$~I58AW+9Q_wrZdC=+9=3-- z3?JuPlh*%ZAa+WwW+~?LmnyU&mJOgIkF7mRl34cV3jf@z5QOj8<+ zf5I}ok;oV%N9ne3;**NDzCEwf4~PdmA8R;L$;fzHTTzuuBsArmu}Yk0vTHr^+S#-#Eu?AtujspeHe+D^ z?;YjictvNdRbXS=g@BjG=IQlU8`I3cjC!p~;s6D)>O1ubj`NwP6ojey03^?u87fZ{t8Gb&%9kwggS*$V0ua$<;e{zE6Y` zX$Vhe#F}C>4|HQz04a336{`eUDKXUE9UEFn zXR|A#Z_a>nSI@K7%)lRln3h(krB(!PsDCI0NBHfC3`5^;2L)bM#E2ChKh}Z$Zg^8U ztg;H9i=PF296HAmJ&DL19lIb<96wC(J(&l6Gw->1jvKa&w*-pVLmI`(dU7nVU?h6P z5b}HAnhyDNL-CatUWbv7>C0Gl3=h{1Z5Ta{dhV zQ4-AJ3?z`bMt)r9hN<-~MkSFrR8F268XW_27^EPWb^;vg8n0KPD2s%o1N+hy6<>Z*OHBa!#Ka{@IH0Oz2oOo zXfwnq4@=S9WRi)Jh{|eyWhOwt&!JmP)^!78%(s#j)AtH&&5#k6VYkY>qBrpT#>L!C zMaYtbrmA!Ur#H^!TVq)FLEg+Om-svAh?4MHEMa9F&f?91?bL@)m>KSsnR~bfjgt!l zt2#TwL$6l*-AEEVM7FJ{NNK8s52hOPyvbJPKXPbZ*75edwfa7Y2OmV77M=P+8;*3f zLO6y?4yDg$iwPTCyojX#f-Q4`rcH#3Szy>~fs!c$CB>4qLcMGX zP{H!(FX~xAp~rOPxnvpPQxq~HvA)Hq07gr>}xTsdgXpAf2JsjFgup#8;eCvHj^Mtk~--B504 z^1UkL!ySK4*Fj{fOMk4>-m?`>xp4auiG?w~b zR7X|Q#3YcnG5zXWW}iRbsHvJVbP4&U*A2LlSolWXYeT1zxZDnNfzTjM<9eIv@XpQf%6k6^VX`{9MK4{>$y@TDP+XJe^_w@gG(F5-$3Wv!3%!rI zKJCQw|20I{#So-ptZsvU8ME2dF|UgKPGQ3%+zaa{41H7q&m1&QgP82Q(nf`p8RTP~X+^ zmFA~TLQ)J{N;S(2_!Yag@n*qt?1^j&D*>02X(c(K;SYf_fIKPe+8BuUB~QBAdt+I+ zjypma9#DZR+f@odPr_u>#Xl_{)}TeRDoG39diVAfBg--b-1Y!nB`{Cf_ojmU` zKYOc(7YszWa&781qe`k22}bo_Bu=(QdGvE|4nfh9DYg*smY`E&`i}ZPbQu^27y~2b z##ka%uD-O&j&g0``~j&Q_L$|ma%Th&H|s#r{hpVYSuwfICvFLy_@#EtMo6o3hY2lW z(72I-EEgqGT3|4!LUudZHJ`0w%R$xyXPeSaK{XpHslsd+@L9 z#S(EeSnHYW{_EDlP3|{?qfJ1J$O-z_#2`HiHV&qTkEXhUWk)2#`zgl=y4h7fgDs8)QNMwR;>UJ-rqaJ5nmf2_%(*^*A7cx`yr6s5{N(K~-ll6>dh zLN@t{j*Xja+~^(m$vZQVW(mBc%UvbanXsSF|C@ReAQX1-^FJ4tD_gjmfa{x;+nc-_ z_atcoaRST&4rxii6FB8&d9NF+JeI#GN0{>>Himq9?F~Pc{1$DDcLVoak?;lzhghnq zFJ^42ub3Fa04m#z&Ia8z(`eGvSCOI!r9w;mP$+zy z`0$r}TxobzN(xHt^5K<0z!yl&p}=V?$kNnBked}76R>~1Nstfo-==jW_nZFga_1Y+hn*N{sK`6)f!@t^*Tz zvnN|)V*%}_Vl$L3j3GaE%A&tjz$=Jy=T&GShZC$@9g;_m^rCfGt@dh+{Jco`;STHk z@%5gV)vqrHNpyIvC%I>wkD<{ zvQ56rM*`s25hmF+AzyXJGS9Oz%Y$0Z)m6dMu=!_y*g(4&n=H>hoeo;dJwCmNGK}d& z)B)E6J^GY3ue8rJJN>5x#1_22DvV44_pLv6vvu5lcQ#|#D*q1k;rg?^HoNbCkE8$o z8o(EJvGnhE&6PXc%KBLLq{Ikg*7vFy8CC&oYlDPcR?gwpFTa7&ZbXBbV=xK8%pCPI zv*ml)(n&WpnO4ZeGmR3YPj_T4C%x)-1Q-3@GDRd1=n2oG^JT55nYA9I`#R{kg2C?c z{AG3c6mCleh~Q##L>m$?sf`0vnKX-|h;q1!fEH`=loZ4%{+qvMdBlqq+?Oras+ZGc^PH~JsII#4wZ^Z(VDoE#$js=wNI+iu<@%&CuK zKL6Yq9!m6it8n^}AoNp_#ID=ZKCZcKZ0Tius= zl)KAGdp8cu+9bEU?AEsdPWF}bH6QgqCbUG5!;7;uc-g9Vn`H8(xL&}AY1#&}eG8># z>){zE)d$tn7X`WW8EOu%i<}}GW`z11sse^$hrcKe0j&g;K3%^M#qi_wW7=J3*ZpI; zAG_uIbyCeAtStNF+0%*ImGCK8H>yNFAB76-)@=wqzQXJ3supJ@~Atw#d;_~NH z7Gd)%&AETeBUFW9FZc^R76?zqIyt<4F7i*ixt2q-ra3kauEJEdu7mcj_AqhV0vODB zzvUuSt0P0Rv-Gbg$T!*^o52=tC%p;bSLN1BK>g?piFd=KKJsC|xs=H7?`vS?|u2O4xRhJfx(K3 zmw`;8Vd@PT9&j{wXj400=txU%MLsejzz}Bdb3qwMy8Txj$=E63)V%qk{jB@<9jQKEu0O)l6JG z18g#lS~b6D8{3C)EM@Fht!Lv^`cI@Q!M24^Mty9d!528}I7-Jk(n(cVw06b*W!k!6oC#rf-PHFqQcz=@KGv_qW z)j4=l=&F@l@Q&aEQ}sJzy) zLxaO_)T-3d zBZZ>CKU%<^8$qSmuXm5L8(#&z=6&6dfIA&;FMTw@io()Av(7&CNNg`R56;;mCVdp8 zBlh>@ZD{pi5x#e^_f{>s_W|LxEZTYNyEf{-ya@j)2mgLm_-B4sixS9)x6$L{Z>7|W zm^^5IoU~O{gv3>;!IU1tM4A1CzU5a@cEHb5*f`2^Mxqym4O z5=RkFk??k=B`=2YAuyb7t0Hal2wPXl-fXT2Nke`r8LO_m`WKVqn6C>SBMpOb+1MQ= zoEMcmb{y(eEz1sgOwbqoK!d z0hCb8-h6t{^$S%ykIfa=cbnLNwZjPr+5e;KJj0sWy0uNO5ePL%C`srbRVATG4OK)y zx(I}(Akw6xbOMCXn-r-cN(Tj`NC^-ihN2=!5keQF7sd9){l5F0{hsffYyMb^{NTEh zIoDWY+|M)SOuTsV>l~N|Nwr7AS0Iq+yA8RvzZ_dJFwNXD(cFjmR#*P{_P3k{bgOSt zp30TTVC+YLa(ld)yT z`j44mmyE*c?&-wGMWZWoIjr58jE*jrpTh+&0&FshGv(K(tlHN-Uma$ucS*Z$XQ|7Y z9E1)=vJyA~LM31;gjj;JXps1V$PR+4Akr1(Fal`8q6kouGHO_KIWPn{gn`eN6UvmD zQeB^L_0uYAi;g)W)YPs}tgYUik{tg(hYwwS5AR-R=`XRvaxr%43NFq!&&GA_M&DA# zMvId7i^ z!{u0p3xO8VqM+-Pm4~>m4TFv4%R-qz5nC*COo7oIn z{=l0Ap^t}d3`doeqvHWgx{}?oenwR+DcNlY#=+ylk$0bXB(%VikV!g`H|TNbfsf

g~3W?iD1h#vz(o6He z$kvgpvC?3!_CD&*zbFjh4d?Ev&RRe_S~x2hKqgWI=7;QCdg`~$w<93H##m!5uS$7k z!k_wa@_qp*6ibr}p&z(m9C5Wv-87g;`W=PMRGV?BNN z+h`;d$;L=Nf|91-VzRW^_j8Wq$GKKRCGfe%|1o+tUr>E}&iV@&pP9U zZdyYE%Z86$#)|bX!fVEvJ7pP6{783N|Aw!`4cw7&KA(>=yNKmw@tG5i94BcCgSbY4 zqpY2qY@M*?i?^g0m7`|mGlSCCgz-izhSzf3Ea!oZ*+0WX-m7Ko$LlD@^!bNP!t*14Z&alOWoFDQ9gCn8?-)!<)6Z^|k zO~pR9J}azdy=U~Y&~G7jLj@WJNFQKDg8?Xc{E6dG$Zv%)JE4z(tKE+}ST`mj;#G>2 z41&%$ra485ydIfpZO%vg-P6bcEWGLLJjZGt71}G=pOxE`L`e9Mo6TR(bN9?vcC)?3 z+0XS&M=SEG<^8qW#LUsd6_yM}c6&P(>b(47);aY?*V(1Rq;s3-x+tsPc0?@?&6d)OxwR7W zvfEU!ISu#_GYR$NWNH^-xtd4omhE=u6gO^$wkKJSFzHF#5#t6)DfmRjYIE*uD_;^+ zlPk38KXmKiBl!rN#IC;4+45Zy2EndIdSY29-s+Fp-H7$6+Bjx(haj0ORq&JnIn4_4 z^P7_V@+q_uiwQC)@>(q;6YWUM{I5 zi4srQObfxmYzOtRGw~yq=>{D))*xa` z=Clvr9h1svZ&nKcGvo?WQ{=7nk@2PyOj2QshN@EZt|P-KRzM^jqxEWO8fW^`o2D%r z(9+=+zIc!J>_DxuN_z|I_RZ+=&GuY&}d&wR$Kn85r~djg`;_4aIQV< zXT=gQ-74kIKz62Du*?Q27tyTwi7-05C&#sTzx-pi(}r&OQt@o)xU@QNw)fJZ z`>(KKj^8Z3&QaRe<6U7pUNw7*G{Js*AMb}>;yaXSrgxJTHGnEs5&4y|I|QBJo-O7T z3Ku%6#v}I5_X>!Ku5{7N@-Tu0Y9|)=q#FlpoP>-br>YSTBS=+G z({!0A9!1zOl_E`5whfj#g03CNB6g_ZzD#*2t~0IXGo}bM+~*32S7m->{$;=*DP2$+ zc9Xry7u!UV!Urh9_zgzgg1wg{#UQKE&2$r0qeiuULw=|sj^XV^{qs{FWb)&>;8M}) zM2O*TI&c>-<%>rWU9lRS>DvIL+1L}_tpa%R3=RlzQJPe|1RJ`%){{>7KFyEF4;|%l zFnM(x2&IA#U+3lFHM_gEs-{5DVXOnWZv?Y2ZXE}RZ6BXC4}0&kYzK|qWe=_Fln{~L zT2+G*F5dhlA-kG}=Q3emhV~mI1zA6y`vEdzc6Ph3Ls+`=4L_kXv zj)h1rBLqsptlJ^VX6Nrt$?B__TfMsBq8^;7BA;LM&i_D8MQ-inehp)WdJu%}ae8Kj zhj(Io(20hNyG|AZ7V$O&R#2Zdnmi_CWMKIcm;Ne4NQG6=tQRviXBARwyQtvblD%yV zvKmLspl@1^>*+xY(?Tlzuy{Ndkt&Pj4H%clg(Mbwyu7cpy2RPm7hCxSLnE`@hXW#4)wQI|M9Wqm2u>)*?# zF&1H9U0a;7A5IxK)%u_brGB2oQ-&~soyF_sHyAuSGz~?6R z9ofVDQb?;8fLbj#1ej%I3TiYs8~(~#W|(AMX=ivU$M?;gg^9kd%;QB6SaQ8{K(~-| zP6!$?dww;(r-6=tIxP8`T%RY*jZMOXJyIUc?L>tQdCD=7OOB@{@G9u58H?q1~zlN@Kstd-L zYbpL#a7R*sktTgT)jcHs&;?!YqPH`Sa%GErY#%ai1Q-kiA&Ev_koD+#sM!>tOYySd z#9MhmoIEeRF?m~=mHQOq5b0|XIkJ~u6qsy8=1aL-DqbVz9A~j}1F@|xaUStnM_djg z(#pMqhmCj4jptu0kf)y?vTOc0GwK{WCFeq62h1qpE6Km@i5!>?MQQyK>tDh|F(i+Q z5Gxk*WoM|Qz1tmp|JDKz2)QV6;8X-IT}Q8PV}(r=y-&>3#_AG8yb%Gg84G z1Ft=jec1TmuF`Tbf4{sOhicJ2;|R_CMe48}*mm#G?pXif$av|e=ca=3QGCKw;^2oo zE)#4vooO$!hx9Lj#Hrd;>hU)lQuhsVLL{W%-GTdBkBMsiS2wo4_4VI@j)poc08Q@Q z8ewXpa_#wbIUk%2l;%4$bMpmXCgC!|xmyKG4gd_jg~^b+1anY{sz3f^;nQYF@wL$h zbGNP2RWR^-M$fBjd=j2?A3d2bX>i=*UU${ASzDkjs*vNe8tp9~iymr4WpmN#RhflH z$2zT0bme`WsH?U%?4vWuPVYE8p@4h7FS+rranJkqufJKq-=F=tE>@89W9z@Nc4F#MX9 z5&IMr-6$`{JTmM}!uwyI(wnQVzPBy1x51Yimn6{m&-EcN@hLrfC_7=6kbmLS9kgFD zg|OnSzYZ+dnkWcW5Z9gBTve;~39yhU|K&9R1I z3Pj1xj&{l>_f_Y#wcug3e#1!tjxO2~R(ho9gtb}g$E(tOo889snBZ6xG-of5x>o%7 zW;&O4_`ajWO@K2_r4Jup*YHUEHcWQ+yh|l??fQhPOq1A4`kp(r|6Tz9obNEi?6>H%kO zd!_}eyjAgW+hZw;{*hn%HL|d6UD%h6dK9_AD_>1G7(lv6jRr?oAs?MXsxEN3ylP!d z)|cd4KTPX_Z^GRVnCvxwhzS^SbeOH*g|fzNb5XiMI@epWR>uFM%pea1P-N_)EkZcz*Hzr zUiV`)=>rtaP_@%>5kVy%_^rczNUly$n90!5!hDD>w{mL!n8qokS_6GQDBro#;+;bM zjDxedI8U#Lg!tpGVDx#3S5~G(Q{>hKh+V7QM#eJr@7uyG6;cDkX%5bDdkY z=-_AG8S`uCf@$UXEe5wdD2WdCV7N`9N~++%qUizFaf#^^Y59epY|qmc?XO9>Ily7i z*Y|droNdVdN4D|L%;V2Jaght|?;!h-cnTTGDyT|ooG(c zT|L?eCSwvNr9GjkqKWDZ`h@BB&%QvYC}jX zqJ_-bazox=t|O*FIZts6YtjqxOf$l$eeDvZbG0Qdy46N~&*gLTlDGr-(L)~Z!9i2# zBbKIl(1q7_xvf89=~y(`K%(ewmy!xU9&J_W3rCVySHF)Fp!_sBg>L;uAhT-4EHxLGpaEv# znpqwn?dBV>)gxSu;;@cwZyH@?FtmDNmYPgJ&Yo$g-2FfJhsN_B-ZrYC6~Wyq9?InU z5-G=9y7zhjR9?q?l+Pf(eL%1cH*u-idMoQ?LjI5{>qm(Jj&mzVi}nkyakI(H z{ggTR?zUCZeYW9=n5m`9=2FZKBPRHhp}DiAs;jOtXLe9gd4CpapzW?&9|5o@!Q zU-EW|=E8W#2_pHPrmQO^HSgQD$p$*7#aO`HtM#q3=_{+1n6wM|Tunpdyh~%(fQH)o z@>-==kMEwsDP`~_dCAFgZG6s%^t$7Q-8it~DMa2s(2HPh2zm~Fqax&6r*mzX;ntu? z*MWucez~4tO3e!c(pQFWJK%+$wjuC(3Fjx^%ssU91023mE+aZbM_eUv5Et6TY4ht5 z_Sp7?jo{EW;ig6qkp%g!KG(R@&bHC67gW(w92Rg5_`l!68Qiaa+;}nFUfiCR>(>&P z`@t9dcAqfr%kCGQKDo(Jc|={R^jPOP%L5o ziFJXE7+~4L@!ph8PJB+eQ@-rjcD=(H(YoLb6hYSo-zZmf^rFv636Ze#ZHcw6x?1^F z+7EQp2PxL|Y>&u#8Lu<74yRq%La*LhLU%PHuDg2Z_K^8Y?EIuflGwr2@fpHI+@T?i z&z&GSq_#2e0XFmWM#6K9^huk;_z|{kEYHrI?_L9raqtco&2wWGzlQG$L2iBcJH`)( zc=NpVcAucWP|9WB`NLg(l&dvV-2T^f)sz2(3Zg46tScqUp{b=Szp`v_X>#yF zms5(ZflNOm@lEKx&={x|)j--s#*yAPw>K{9#(r&%C1TRfObQ)qND#>JT=Qq7ZfwUy zd329;a)!dB_?Ku+e@Fe;dT54+(@jJ0q1jYf)9N#q5&WYecAg7OdY{L=0e>W=d zh+ogd3e?qS^J7zQMe_&iCo$~1(+-`nv)b~=nupYS06!KqN8gBpxTkTJeHrzabp&i0D;gR<+Ca{+`C^Cm=7g}%i zZMXn>^Z1ZuS%>9FS7twY!p-NMI_)Xq*Dar2J2pdZ7_k=`?&HX8^zi9BCCFBM9%)M+ zihE2;S8KH$nJh4X!c|TN4dU^XkZE~^a=|!6X4!wBjs&I_#s39$Bue_!JUIAm{cHN+ zubiI76+^6{#@O4af`dqSpvEM8B<3wZRct#273Gznp8B*OJCKrHKg~W?5n}3+AqxFC zSXfzbA*Q|kO+qDX6%$98T6Bi>DLygJbFS2AD9-enI{4ZS>*Z}MlM~S^>knMA870vA zGzmO+;T!L$;Ikf$pc1=pypK}_V?1lh)&sbsa90~t$w+t~-u`9nIl_eviO&hI^4yj25yCRuMiI^x?q3=f(4rVoJH2c;cSEoh#a`O*x zm*1?;i8Biqag!GD5vYC&Q}Byxrf^MKfG(?0jg>rj6lSyX4plr1*bqRwi^meqFA&?V z=e{kt4>jE6a3ODLMP?R5Bx0WL_!lIcuQEOMD*`wFfI9EgqWKT|{Ci|}P<;vb8i&@_ma~-Nt>fOmg%%RRfGu%k^dcgS8wiJKA!^FZ9_zj9wF~DR<|T_QZg+0ykG=tt zp8ySVgJjN|y|lMHlHUMGwn*=oB%AHg@<(?VQVlU7S@$nD23g6tR^-M?NU)XIv9)@z ze6W>Szdj)TO#vFWEnv!SZ<~CA<_;*(JEg79m&Z40x-X|Oas8OcV;1pI6veiQJTcQ- zOiO&s9os}MtH`BA%mdc*Y= z@9%(RF9d7``wr(<;`F7}kz0^+3*;EA2Y94&nN-@0wrc6wj9QQ|bmi%SvL?MqIlXcB zB|nPOW=?-h+N?3nPVV{jhO`3tyt~V`9OYN_gniLSV|TxB-z83-(l~x|1BfIIko}Qi*PP|rLyrsAo zjG6jgOL;cJtejxMjnKzDRzv`5C*-)%Hr(AM%$d0w63&(0l(SLPcsr>W`%S10w!BD! z9hJ>JWug9!BCJ9pfah7}qW0_|jKjz43r0Bbk*^G0n)NUvzg*dTz z@vVcmQp|n4Zbl5A?JsAy_g~t596q+^cdmYoob|(|s$#rw*S?kbh&yAzk)?NDkP$<< z2631^9u_&^?rYz@vi(KdUGBLj7zVXuqCxRnUmlVQjEXRpT)>a#x@7OFH=HF0OJRqhklCiDV-me=%ZJt}DY%P6zB)|4Tzp+R~!Nr0! zaWG;zy?XjVBrr+iSbWfRC%*%_cVS#HD68p!TP#cu99^Y!?4o<`t!30r$%eI`{T+rs z4`+yM()D za~)Gj?<|b`fPMt`g(n}L3xNuv>0cO5JL%tfO<6Pb_f-DRtH~>-7V1A}6C>4g`Vq@N zdW-VuEu?d=^dVTO>Z`=o6-YgiR5ie>-N+OcnJRQ>_@dG7%yfdp4&!gP`@oG zg)6$53cY-H)o)&sH!<6Xy9f^3XPK)Gr@AOe(Z!khk+V>d`>tHhGC6p3@ao|YgFj(2 z-;lw>eAB$~!Tp^=HFv=*a`b2w%7&n`9QW-P{m0kg*Eelc{E*?Z;}3!!e<)Wed>X}@wbw_4Hslg2zRk$39_HnVbLVm|XcPhM+( zqv@S5NMX?P8*E;L{L3oCQgRQvo^)mv`OJS$_}<*TpsUvU=lyf;fU);2Y&kugj{IfL z)8B$kH^Lvc0f&a?_r(09&eLZ7*qtan7>Sr^}dbHc1p~OcXIzqmb86^*ND*!d{=3Cct!Ey zfv~G^+SYagaZA_X1-YA@i3N3xi47eJ5QdCnixrDnZQ;piJ}>jN8a*CU)pQOaBH5%d zcEg?|jZ5oolGo$CmMoTmJAJ$irnp!3;c=YR=8^N4!v8-4{P!pBKbTth>Z&#LflPAe z=yE~xZ_1a+dM4r%SCMM;{QzUl!;ktBz;hy;vuS9^lVE4@Xmu?yCW&mWEIV<~9PQzT zx6DT-_aubON`w|uzFfQqwR;XXkSSXe^4(EIT2oZeGRWDgfBoj^PG=#WS3p2};L z1jpC`w2sJ$YWx$IL}6D|P)1Rlzc_9|*`#7li-GKKF(0<40%}Y^hge`W1oCVZi@*3p z)>f-BnOac)f1&ZW##-1eHU4ug#zjj4o4?}0=zFm>+EaEF#F$E1h5{sFT%_n@YjB$E zGbNW7&e>=awW{zp=q~U3Z09Ll(OBzB=LAW0B?dXMD!@Pn?)>L?Jhb(9qjQ_Mi-a=~ z^hK{CS18`tFdWV)rtav23J9gHW!+O~%WSu8;gx3EQLLAvu&3 zx8C=t?R-vQ9P{FX|LV2t99N2J6#Ii$2qd`Ih`AI0w^k@UjLrqPKRW@OYyXQW#7TO5 z%bnmWtGKV43tRCZuS(=bW$Y6LQsw9vokpt0x;7#9J%GjlicRJhxJpL=|)fG1tWd*tn#- zrJ97${FONtiBPT2h!qBDr~(8J*S)8S-oudr1C>;Fo4gB6*&}HeR#TuOZ-IuWIIu!L zYvrrXu>GR}0KHEgG=s+4oinAd#Ekb3Y54H;P_lr>o!cUHCpy_pfZzRNquhMay(9oX z^LGRd9kXA8Td=;KX9XWScP?mi+ne<--tZr0iv~xZ4@^9@A4-EiIMS^GTa=V56?!?P zY&Hu*Le}M5ZVC>0t?Q&Ix-jgEDWM}JpcOcMGUQ;gx*y$`*3-oHP#MLRIEt%j?cW=* zgcHq2c=`t zLf3t=ynUlqFIXMtjlx>xy!Jls$~ddOl5KO3a(}L%Y^tN5WG%$O$Ph=L2o#ln)jyiY zLn-3crF(6VR5vFE(S!>K-Kf&1=6R!DiVn0Ww6IRQ$k z^wy#(^-yEHivKUVsGr675Cs9(oG?^4FUsWBlBKk~<*T`bfOCy>vl@%mjQAsSSW&y2pR=Yj}qpXi5kMfsapT_$z<n@Fy*lG`| z#b46z`86ouW%?4=ky-Lh*GIQj&emzK($o>jDhz4)V6-_wU+#YZ(|P&1IemJ)tQkg6 zNe(lZU1%7V-u1#%+;rSmS8R_YYT@y@4~M8nsY~eoweP-q>miX5ZT(gxL`ap7{*O7P z?cnul(DKCR{FD}uN|fvNEt~N`bLOQ zQF;vSwrOV_q}mbbxkL7n*jQLMt|hBa>c{NV-lX20kl@lj-$I!<+cT=7#gnT_7D0C> zw+2*%W$p{oM>oQz^WPrV$)AdZ&Pyx;%ykMcK~SW?BzN<9Xq9$ zchX7)Ca@Up1C`nCNvgREOJpSW)%Js1C|5-qHLT&q=}!E}#YAf)>AIzmRH`@%yHe@>O< zCESdGh#b6cUk);Ww9*dhT$e;e@bQrGW|KN-E*qTl^1D3$u&rfn$((Y%#5XmUMW^7( z8UX$Bi#zA&u2R7_lv_Gd$;C8QDrsS^6-cppJ zvKq_qrIGS)%j|tJjeG2FM*L-w{5&wSg**7}2VX{6Fc9p|Nj?B|K7!xsa@f4u{zjes zOu5G&n6Vc!YntH493#5HrdoY1MB-m&P;yjZdZg^KVfS_3Qe>Z|mPvfg7LH_go0+U)&n*$hKIS8RBno>dTsEu)9PTzBZr; z9?>u^Q(McIRC42zC!FH!>4QhX?D*6M3^#r^N^K-hV-U|NMH_v;&|Jabh+$J^k=e%S z5g%!|npI&`(P_PC9p2Tn1wN15p;c&nFeKd*QCIBV=sa(@C^DKvlf z;1oo?w1{%SAtTj$t1(7X3RWXwx)Fe6cTkas?NQsHXL}rMkP5n z?Y*|-R`6>(w~bHc4lklOl7o5(ud{}d=81}9qa9oZ<3n;8Nf9a4K_d!c6#P1(ek#gk zSAJyWPQvm_?b0bQ_~VeU*D>VE35eb4Pl(fP##06Od`WnE0MOrHlC9Khy57(0LTyp- zlMrrh88T>k@3PN`QNCtbk+34CAY1g3EAMo{Xaiq8p4PIM_vrH6NJ5E9drVCqSwEAU z{%_9pM>qf1SQI9UYKDKmo*cLs%3$nU3BQulJh|e|!Kf zT;Bq3>FCoCVFD8hNI&D$5lh2KVh4x&CtdphDQXF2mN>EjY_W_VGWPqPV-?_=->hlr zG54X&yA7+mYwQn#NR=e@Y-o*+mri96a}xJW04Mio~>{!2v9tK@ju@LfB&6X zN%aN%r&|4P6}dadUq1YrAV>Q49az1*SF!%si*;O~|B$C- z`?kxduJ6hyFh~(QSUqa3*?n=;Ad96mGui_;C^e*UOfv1!p`VtqJsWo9@f4G&g3)pj2A#T>ocFA2b>99(sF<#T6b z1P`l&W^6o#?+-5~F1;{uW=nClI1#MsU&*!LH+f4ms4P8OK`eNWW`UW5n=?dKSSr3Us{cQZMLW|}T9 zTd19egnF;5x>FK$kh!8E7cQ5T^{l1!RXh%blkkXj$U4fcfkp?7LVw-K$I z?#u;D2aT97vDG}%z2|c4iK7C^J~2OC7z9~#T;4>h(2ttgEP*Lpqh+p0bpmCnnB@Zv z9)t!{5WW@sUp392+NQ8qYP>G!DO2n_np-xSWNjLQYDeYxj+e*(@2x*=}5y} z)hT6HyFENt+@sYfa4-~ezP!dl3_T-h%hVp_YMcZ{IX z8}#^cdFLurK@#^0O)&}$#fs@@gU012t@D@swgSvuAHC(?g5QtV-YZFz?#+&-yTW#- z<+DeKtCR}|(Iy;|FfruGI_UY{1Yf!?i4nE^>SsoB3U-Cp`Ua%DBFI=L1PYJJKkKE* z;0CfVSRm;VCnB!waFt!KlsMduE!3Q(LKSmF8k}fZ8b>Xojcr{r>4+?Q2n>TN)ysG zO5}4t3cbFvcZK*q0r%>24krB^FYtRjl4q^x4pGc>7BX+hA~6##2G^2ncG$|^ii9!m z$Ycm%mhwb_?b_3c?-0z9*<=E2s8K1-9`nfZxQRH=%O+-h{@^^{_o~h;gbwOEB|;^f zI`sQeR;;uB-_0o;JLaoM(Rb;pi5PK~gi3|c_P!FHPtiK4{LG1$iygjhy5O*9E2eE-h}v><=Q7CGjm|x zOX@$e5`kdk@7=Z@<0;<%z|j6zdz6lZNy>HY3525MNf{a&VR+ayz#Tl zd?-Z}tnu^KrIOq2O}o4%0Wg)-_?DXv^Obp7-=vKw6#L zVj>GBdA_H5J0C*+bp(b7`*cjkzLb`P$P@9M@MpIk2v6^jjb{67m;leQT<;!a8tdn) zrOa`RXQIZftuA+27`r8HIwKrL3QY)Z;Gn?|9Ka7L+If-A@=Mx zT#+R0IsI`uhXuw^-Eo~_{asL;7X9^JQbAft&o$*nowWeK0J&2eE_^j(K-)>@sUq?# zlQQDLQeqc^*~Y>%Q}2@*^Qr|RnhE6SV%p#oATH5`{8#T6FAOc}B48u^r{82kx$fwh z?Y=zr7`r@}r&D(>FN2FtRXEXMd0+FE__WaxufUYA(`p=e#9DPFEAReb!+1=-#}cs{ zQ^HAkDD-B}R6j}ooebH=nf}Md=^2+iwPo7bu_XTup8hnZY_3p`sr^eNm%~2&vICdG zo#>8@<-BF$;cuf1l%M@Bm-@kjxn!;+^y-Uh9cSeL8dVSfkhEc$__;gO_21bI9HFT3 zYeMcyfzp_X?n=(Ox1&-LI>~>SsdvBeqmqw~S1=E_=*b;<-^;Dqk^utq>+Ncq@A~-I z4;iN}?JZsvNS9AE#56SFTt(Pz#CrRBHk@);Nm1xAwnv%yi`koV45<(3H zLgc1<0OGw}98+Dkdz%XLMcvhlp7#%OU7meMEok!{d(JA?(E^!k~ z)U7Qn+G6#mnz1ESvR)j+$uK{U66>8OOk=5P~OEQ$mLCd>{}Mt6L4;SoEXcXcB98< zH?2u@Li=S%0joSr=7Occ8as$F&W!O-hsky~rLID?^Tj2yGeBi!oKmE>@`XpLhh}R? zz~l8*c{*Mmc_(Ev9Ax~-)5X*c$b~cmxn|P8n@lP;nss;Ro`gJRW0x@))R*qYFin7$ zAz_l0sdCuJ%wp*!NSK^?Ac_c`iTtA&hn3EKP7+4>u{-it?L2S}{$d7SXwB*?pOl*A zWG%XtZT^j^*s?S5%7uoyH!9Z8Mg_sBtkSQb;d;|g(2$jj8B+UCgI%S->lQb!L2UO! z0Oyo(qEe!iD(a%Q^<~b1P?r&=tK5~HBD${r3*TsZ|9hRWZvrF~&hm9OQOS>ateqRH5N6d`g{ACi)ntD|TQhj$vJF|2q zo1vN1V8W1&>g#@7nZdX-)n^i#Dl`R7I1%mgFk_5`JR3QBJ$0B46*5R7@oHI~buD zoUM0S1lN=rG|S?0Ny=uiX=+qnt=x`We&r`tk53}{&voTe@VOiMX0wu%o4l8Ff}-aF z;Lo&8Lqr0526{WC!|H4&)AMt?^JncMfNwMn4GTY4f;Mm44}9;nVfMSy@RhRRq!uu6 zE$oO3q029s&SwYr?hKR$@7^$6y1toxH%Tx1Vc|ON@Z)~VV0gK)QRj1oU&dU5u*V7u zn66bzqtgr5Hq~ws@D|Xvln>8nPxhk7|(WmRJyp2kLBva^a(>N@5Z{JG-p_9Z>_ zto{D;M+^T*QGK9NK1EwMAD-nN-|JqzD|P_5TTgC7au@tLy*YZiQl-Qdh_P_P@=asWe*g0~ES7BCCbx3?rIcQ;*0KZ&ST>%#x%Y6rO8xt{SH}elXD3yvUp9Xz zeM@#YXkv{x;&}K~?BU5b*@tm?rA_fNA5cZXx4PfjyuB4E)X!?`40+*DCvFzK`{Qme9*(lO43W z$ue|I%ydDuJ`+TmMkh(M5UJgBd+}r6;#q)`F zc&(lfqJ%1u-ZzzW!Z5n0vZpkn6ESn~HEzQI!x)*5X;oi+wNEzv=)Y@oWF`<&Z&yNC z|7b{h8|-OAhB{?I<~j#JD6p0K&ZT(c{Grf)p_X%!$2#;93aYfYp z{yMg}x%HyMFV6g$$Tx?RFQ0yWx$=Eu=)puEJ{mHugX=iiL(uj`VR>3?e zNATBIu@H?1e;$td6ce%DFL{67wnLRv;T+>RuP^&x23zAf4s)6O`d)UG0ciKQKhdV9 z7Xn80<27Zwqet_*+N`D@SC0*{({0JUw2r||=P%e`J(e|y+280DxRX_QiiQE998)Bl znB)`%%Kah*W3gBlJ`5n(9q9XT8J_iFO)Kpc!B3v3H^uTjDB-4B&<2w`<%n&CWn0lC zb(h&Y2!>z-peApUn}5yP3pSOcCU+RPKirku(R#X3th)Op#?Hxk!oB*2XBq|R&W(MY zd*}y_#FLdd{+Z;jENVU!mgc{7A`f$k`J&(y+95uKQ%+7qNg@GpVmMl`T>B zyfzh?+2fj-*)uB?C0kaw_8!+LBiw6W`?@Z!aoziU>HT?sf1mUFo!{}Fb6oCq?{hrX z6MVeHId33Ejn8FO5@xL7kmirtSCdrO6OX{be15*vUrE&lbYSSRJB2oQ|^d09~Q9Q*bT=SkaFUeX=f8o z*-?_cwKS(}Ol;%g2LFq9`cEiDn>y);+Wu27KYC&T;kQfdD#IR0ohTJwE z7bX)9-5`_rg<0!M9`;MC$zCOGJ+R{RMiMX6f>BcN#wm>V6GF8C>{A4Cs)ca<$ap%$ zgj914aIWVBQH4Dczo&6m*~=ZLcOg_0Gp6ohI?#RgH1v~qB=5okt9!Wh8lA@;GneIm zvrs## zE6zP7h|D-Fu^(`Ga8h z)VXRtdGFoFNjEgez1F}uwzXDp=i0ZRx24Gpb37G<=4)#5+7 zB%<)L5@Y2jJWa1QK6VW^H-|4DYacxs;Wr+&<&07{?WFAF?S1mU;i5HqLw`2qt5xc; zs^tmm%JI9_<&OGu06QhDA0-Y4%*UdN?BqtD=Mrwx@0bE41sPBF9V_P0wPw!sr!Q@E zp4f&>_kfj8jXA4alrmKQ2QX5%WwRrHs#F%u3uqa==m`; zPm!gx@+MFyEGqZl!!I)yo!yB!KO+V3Pl8f7zB}~yPF19rOJyfL&h!0}mvZr!8m;)o zr*>r8Dx!Cb$?cIkmXtld!mlP>_ov&1DP*}n6;&^kDj3CN$5JO;+m?*o>$=sFJ0yIw z#D3Ifqc>bUUUNg$FQ%ebL;bee$D4ialWs`S&>*2X)ZqP4cTdcqbR1&;8qK{c*AIA| ztGmi}$8!qf1z;p@6a_tfh)`{RlBMdZvZ+`n(}^m`02w>ER)bc?S5Zr@ecp!!lI&>% z`Y_2#g$=>kn_`uNl>=D+yYz{u{+a4r?GEk`29b?nmQVYx8W>xf=hePD)v)A_0l*FR zq3lXCrH_Fw2QaTvmiuuDzfZHUA@jpFy-!2!k{-td4f>0k5K4vKds^!map@pr$H?!# zD1QKBisG<}j!(1^{&;u72ZAV54Y^}CpwkX#Hc2F55L4Dqv=I6$A-w+(gl4ZEygfy& z1LT=(e^l@&HbjsR?qiMHz``uKZ8FWsbzj(vH>>NhJ{ z`Q9^)4$Y}`S%8c%QXFDa`4i8LLTL^kNIzdopr8j}K~?eRLqBsFFK2ECuiVuVUeJcf zxX|c8Jn!1c+k9oP9kG53tdiTABTnASS=l>|_Ot#w0_LkKS|H@pS^vZ}Su;TY{p;U* zZy{DM_=owj@l@mPq5igAeS_`UkE8b(X(SecGxFKVKx_zm$(pefc;#1^G+UO)<@Yh@ z#s$*&mF%g8$y&r=E)Gs$7*I(feoMmd*$SWK#|JKPv$U)y^5XmRd{>@BFeN-{f0F*8 z<7y9XXoo%1RxF^G5jGyz{Tdfx)d4&)2+O02=ve;uoJwD~69S*u7%6%OD6WVnSx}E0 z^Z~LTsSDYU;(uj7fdge%h0gC70`VU#*=40X5AK<2E8qG$FB)PR=KO3tDlIXIr#4QY zr9|I9HpwORO8d}!w>t3g=gbi{9`zFl%ue{(4qHmgNMcg}wDRD@jl`Q#AF}CdMp&7B zMHqyRnOzk}p73)kK94nA1!lU~BvG2kf-oj#?l<^0mWH;tG}p0kUdQUt6m z%~r*IHvGuGRV-97Pra4h-RliLa2=UQo7xTc*jj3`g#Dx}=>|d|a$qd+awf-R$)7v( z4Vq%Wob&bWDx?C;iFZVikv@yJqx)9WV=2bydD5h6fbt$m&*R!<4fugyeb%Did^zq5 z{Pjw)uT=)sB9+qFsD2oECy50Yg!@BOjd__boc5OK_fqNN4etXhshDAsgr>9Cx9i!Y zp+Ew_1%np+RNyY9oG01fnzyn8IdAyG4Mx`)?rfDPfOCF2mU&fDh{Po9%A-*sQtJna z_eCR|l$q_W6>ofCubBp0YoA-Si5kNbM}0g~BDu)LMz27$v>`6w`wpX=`zSQ1)aBvl zQj2t`I2-IK$Vnp#pBb5$9hI|N$n(`JT&(u%RG6d5$EJjmQg7}nSx!$-6(98z_yZWN%K_8#SZ>)nJ7W_axbpe0;H= zMQDCT=c35E814UrfW%C@Bx}4XD^Q&CWq$9GZAQ^mAj6&zZVUK~!&=vuyZ8Q4`b{@u zW-Q)X2Sg>eN+6!H|8nf2GYoF~E#ZRY7# zX6mm3u1r=klYSM5JKY9}K5I6-If<_sS({>Z68?(?NcNUtZoRt8H8>xwQX$ozEmpG( z)@}i(w(yMn?%9!ap2@KPLb6?u40AMx{HVLl)|il;e6W=$GL*P7s9Hp0?vi27WJRF{ zKxFKk%e$g+raP%We$(-Z{uPvtE>kJaA7@ryq{*#JY4ch6(|5x!2F~qtKr@{Ei|vJ& zd{-UF>sH*bh*Fn_a^=S?--%b@Z;eltZLZ(68_W7@&`5u|Iu)=(lEj(uXg-^|3n;PG zud*+MbVi~mqM8-iCsylsr?p)QD!2ogdEcxHy5T9Spc3Gr z%KYb{3ISLptD>|?_eLq>XaukOo8Z-?QbEiO6MoS>GTr;JQG?l+sH<@z;F9lT_Jvc9 z%ydkStkKmR4Zq1FUJEjYM0~!RUaEQl%~kb@6uw@`0R)|_Zoe+)zzm|DpO{j$nTf>j z7Wll6SfXpO>#?|J{7+l_i1s#k*=5XqZSQ&{^$*s_7Z15D$3w(qwXsqP9MxLzuaIkF z6fgU}-PDcLM=bHg(oIFi9~Q0^97^SH-@3NDDM`Xi7xi5jqphg0YsHIY2y)vxdbooF ze)&kyxe(u*HE{uUQ${emDSf2cAWEmoEila z%L%3q`>`Ibc5kltsB*ccO}nL1makBKShgGIZhho(6y|=d@FxxBIyWU{K^Oql-L>Z3 z?MxMV;`L$ZY5$WKF+{ymJ-D7RW_B?#6n&-}w*;VkF_Wf2 zGqmRbe{t!Y?@`m6^yc5VysbGDB+3!6e*EvRW$oa!0}Y+axk0dfj|wew=4YICU8z!@HI|yPv;ah2ob8|QvSO=6LAE4up%T~w zX&s^`tGi65dpt)a%}}?Io_|;-hsxT<`=Uy1nx2-DQ*P=AA%54AbnU*QjQF9GgdWx0 zrx%*It6SOIN_D`(a1ner>>-SH?eO)&JVQ`^EAC4QHJ(v5AH8@hXv0`MpYXQm*mGKR0dglulvw)w4kzvth3w3{DcKT2A%Y0`DBVYI%=;=qR84wecTf3sI0`kuFQ!rTGAIHNEBbI>;jE%*VHt_d z{QozMnKiDcz7bOnQ|!Cf1u|AvkK2AVqptSX#|y>urc|(Jz51%#dv-tqE(-&{7xY@} zVfA~be5Eovc-u~tip}-+4U0nO1wejf^@T3JlHO9+D$J+r)^A`T{=Wd<{|tlD(qQoc zGW)ETkn?Y2D!cAZYpe5N9#6X84jIa~U@<#AUNcGtLhGB!3ePG~Ut*+;<(j#h)5(Na z@AWdZgf`*!*I_v_5B5z>L}HlelDIuPW0SUCItH&K0G&jrI@I=?Qk$r~LCVM#IHc$8 zQoRMo7oxAGzx{U*MmvteI;GbX5e*x1C{knFYQjdd=Ra3)0>U-3pG2!7tY5^bNh&@M zFaTl@0=x9Uj89oYS(8=T7{~I7xsUCm^?(z*SJTu08_O-5Ozug`^cR*_=qWgVbF++m z{<>bDK=I?_sJLrCz|5z!0!3Kl@;}j+Xu+hzj>Cuhi6?o)lNq@GDeyk~0W@4_=11_B z5&Tq49+zP>^@bZlpejbJI(eDb9|Avza}K~}`JX&DH)eS$P1|gKl*B@u4nQAXwDqs0 zx9bCU*aF`vfz32#?_AV8%~`5F4&WUZ%uf~78O)TD?Yvch4%c*vRf>I{!SL>h>6h=*rAjAqc)lX-x^1sp`z;&b6m`<2LDiVOcIBl6|7N;u-mEbx0XWq|Ag4E5 z4BY_pLz*h}398H?B?as6-2HBpbG33PK_4uNI0WYIb zQBB94uKKh-LmS&lmTiHcN1Ef7Oq|Z$*CZ#k(Ek2S7&HBY)l-qJlB>=dzfK7eeeSqxo$;k1AFQwV@_fUk;B*5R5j7+1;aWLo6X?C?{3(5}?Y`xo1=6 z-uc`po_#LyY8$=7K&k55!fg*QJUe?#A?h|ZAi=-UYH%Iv5*^DeYhAp8SUbRH@ZIRh zFgzVupG^{5Ht=@Z%wF%#%rJoKy^QNeC?}PE3Y~1ot~O1zVWyKX6v|UEXhd28JN58i zql2QO)qsqH>_h<%Rr=T)E|r+~T{)q)fTWxz=;70c#)CUSlze(HPMa4$Sa~>8j1H7X zy4DktF_$Zm8f9F0RC55tR?2mWwU{_r4?C=i4_xt*!{=8S;_)mEZ8!*isaxv-_<3C@ zN0jqN4o6FqKmUs~xzO^s^ikoLK&|i1KHy-$QsaX3!{!xjUC}=vo*FrKyK0;{K@tZhM;EX^Kkq%Pq3wLha3dS|Tck2n81~9iX6Xa4J0f49dNkNC_@-C<* z#5<*n;UW3gl^qwp7o^WN1%0{OpBX;|wA5xlYr!0p(d-@8qq*61Gl zI%DX7Y+;`FuT{Sf6^zg3zpm<{1JmBTyBreHY-0G>GK}wGf$GgmVON}Lnungx+zbWs zj^jBW50whck%etLvrkI3ynHBa8}{aXnRkJrDk>$~FCk5mVJt*-*yZB^Kj^OL3ZuY% zN+rOO-w-jEHYVnE{YUEXrzSp55+d11Rivt})m3+9R-V{#ao$VRl-nAck$>pyec!Jw zhugg}UQcR#s7;Ug8~!{@&8_)M!fd%nwN;A^;7NNC=|Hn_i(^-2juoOMq z*!23T0fw|k)u@xQ$MBkyNO)YjTFlUR+svrxm6(fo9{ngfo^rr~@43VT1cX?9yhwv) z2Jc04j^FFzSbBM@&;W=VnCWl$knTku>+&J;=Cz~s!=?O`8=_Ha_S!0=>5e&^%f}R2 zJoKs4Sk_NT{g9*wOAFte-tlg{qF3X2bqA{$9Qg)-40svdkSg3tq2uE?6}y z!3+-PSnvh!!f-J3c~6t+>A1XN+XZa~f*xuS7vhN=M}Douh}Lr$t=v{49EsP$n*ke; z96G%900Z|wdTxHQT!G)nBNDjI`?(1Hc~wW}T!i(`zH5eFkzLMX`gs)Xw156Cm@-C&) zS$MHL79ay(aGg%`!S=|ZT}65Ld8FTzACfq3&>YQEc9qNG)C?tqoJaeh)0>y{7^AD9 zghBJgw|VDF>GH>k@vWE_&iP;JVLLlC37($);lloldC;X~bL^>k0Gb>cA>{qBVN6B- z5V+rwRzH7%j?d1Fh(o$(y-hQh3|iM}dqkV|YO>v^SXR!lJxG7C$16gwSXMmzv9rh% z9eM0GbW_(|&wjDEMXWaJ=AINBx_HcGz0z{pRSZr|-w?|qTD2rM0=KzclXzB|88q9n zu>D#ArvsS)1*v0xkd%IsgKY%ujU44)#V)lSQrJFpXIHz}SdNkUz$iQaees`4)3MA;wVdS6tNsnsR^9qAZnLewQ$WWfuA%+$I;IIAmF7Odj`DCq{7QzgU3$!eDn3l9n`rwf68- zmJkp;AwQdw`~yiYh2)3)seHDwr3W^E$@JEWp?8sFHW^x9Gw5UI4YRtqblfG$bQf30 z&B#{>P7WB*6rw%o9x@o=DJtDu9g?@HbBi^GMJhnL;zye)p5r+e<~utL}0UPN$66*M;88R;u3^0p=iyeaL+ek$3mwSYl2IGF++G(VMZ`WP;jGIYdj9&fW&$HB}a zCSfnSnKAoZ-(RzL=<%IPbu#p^i8pOxXmZk;c}suqJ(}Yep|>jKXXq=>$d@a?`c*F= z!bjA6d3(-A#gbh4!c%U-*KMdrVz2sG)>Z1M0@kuYuOd+xzfV53nYZt}R^ZZdr1@C{ z^cYG+wnmgrUw8ITW?J>uaQ3aqLN4joL#h^u<;SKdIouEE>UHOUsV2&WrsU#mH}#yw z3)=9mu#XxiaKg4GkNi3NGOhVqH8^^KtqV*eg*<_s&BAtO2iWLJSJ{?m{f>FO6)^|) zvc(52dl%D*SRNJ(^BJgr0aVkoz3VR+IW;S(X$5EEoR2W`i+=Mc7?^v>QpA2*RNlu4 z+AHHaQ}q#=8CtAk8jTJ`Vn)19fT=q(J=NK@njg+4?DHLsYQnNdId91AwbRbK_NG>v zAWp@>>L*?Ha=2qY*%RNX*301q+hBgwTNFS`g8UO>vVFS++&DOM_Je}$|7^jMo02>| zeZzGsj@g_81&{%--j>~fT7W(90|mO)Ezn6yESY>wZ^APL9*xD@vcS6K1)*)BTo21N zFu?r_ghHGCvwZKd*1gpVm!}A+VnSd1O9ceI$J0%?4C*PZ&wZtZe%yd{>u`UuePM<{ zQ_o|gZXC{s72gDiQJN6voXr}*3+=V9sk~C%{EkBM*)kR1@o@ia#RwFTL&e!^HW&GC z?8yLseEX^a_6p0wpOx;Vna*N4TsS#+{mxuVnq&7Hy?*!kt@+Q)`>M+TR!yB(-87Gd z{7*fHta3FUeD&e&F^QZy{SNnLPOP;N7ztGJT~G*YW`^u+PFXY=G_QFW{My&^-Wwuq zq^`KPQozz;*j?J`V2=6)J~-d&l~*Hma_M9<1N03U@w7l?$L8fpaC$7a;4oUyG}Nj= z%ilj!tNiB=ua@%XEeRkgXSazgO!!ib`EdZJuFgpe6p6#oPdN-@~7k!%D=P`;R3;OU0)wH&i@Ab45M>?VBOQo`tj|aw4xPOVOD=Ha9O|FY$N`cj>UAP-`$P8jy|^cg-FT1NBETtDGh{k0h@oQSd6@)WEeSZ}cumLA-!=o#1b5${|KFX9^>4jQ(B0J|!TM2*6 zTXu$9A7`aiM4+T`jrL|Q{*%l+{ryV*ZDA^&d+bm7*<76$R&zRCfV8_7Yep&#Mba2_ zv>=6*no!z=Y$z#J=qu`xM=#VdFW0x}mOjL%>&n;{h{2{xP=Qi9 z`Gw%cdRa{AYwv~L9Se~0(p~Y1zl1HD zTvaRYio78tY9(7={Oi@j52E7O1O00=GC=BHNB<*7vt|X#fHWQ}Z>42czN-#gbymow zo^?CR2&t=Ec2c|tpZL0aU+a}Jzboa#>G=h8@oayb4q3HpdFUonZ4oI5C3OL-W*qv!)*LO z@%;42+UL;VR3_jV^1w957bIjBlAy_{6x+=oA2~a}7{`V0>pf9E`Q4=HGslqI_1($6 zX}0F@S4P!H=K`u_FWq~3NCMJ(dRY?LvN{Gr9wM64oHqyuaJkKk@mD6dvKrHJ7$3Ol z<)hhOPxE{x7HqL#bl59*Zj`&bT}$`oq#U;uc=*wOim-1WnYuy7ljMwPMUikJykcgu z;eZm!yKXpUgePn!sLDGRn~M{bCtl4JHa&SDFFlD{1+ND5HX#Q)Eq1HXe*>1aIwkmM z-2$;f&dAeO(r}*)l^XI@oJq~MKRNp`x zB5d$b~U<_*!6_gFgo+*Z%u#&}(Z~ zl|U=VI>vJI`CVutX7!WAG$3V&tMUrR`YfWmaDc`^0(?ilx~}@nvdGUYq4g^5UfvB9 zc&ZU`RE}#tG()eouHOGWIkE5RcL^J?=zjHT20oV`4jtM#ZhHCw}{?1b&+_b0 zoDz)N2z??427hbGhz$BXxqr#=d z+2bCT3~Wb`#AhRq_Oz*J3*)D94R>pF-cMz<`By(=*boxj^F*|(`{OHv_ zI{UZFdPSVJ*13r^l`)iZM_n1AwoQA{g6zHN)ud9F(&wYETEy{kWu*vV#+V+&P00>+ zT>I4baDu~IiMjf^z!2)J5B{OcMb~;WXWTtr?#jbX3Zu|AIUrm4;WK2K>37Ek$Dn!z zG0?iQPVpW!E&Ovp!^91E|NV)-KqTbk!ZjRdSCxgpGf(^oTn3mz zfG=!KBcvgHbrP9OaZR@bELG%WxA^T>`3GeX=dfYq3CB^(#W3_$!2D|wfN$$??pNmB zhfzb0xmkRG?NkrxieQJ=E6N{KY0Y5~xWz1oES_SBaEI76Sh}poJH59uFlu6Do`2Wm z!kq<`^7pH>fd>rsQr+?6wF#0Nxm>NQ9Oz$v-Z`0c&&hU50ky;Yq}CkyV_%@(hs}In z8`;Xud2;a6*L_lH7a)tko1*cvEp`6vfm=K1<|B`ClR?^`^iu-Y@gJl&Lp+n0=^#0t zU(4_GxW3=ZR5EOSL7Bkk>D9XIy*P_Jhd@3*ok`q#oWLhKWlBJ~MARZr0nF{78+2_# z)Ck8Qznmf3I`+azI+q5Y3Nkr^{^?Jj;RBzrcve7HS2nica;H^bMR@@KHCB&sAj`$H z?$jgQgW_q~FqPP`_}R0(WHa}KWL?5)daGLnm)2tbu>b`7t3}uyC?csmm^ZR#GjIa1 zaYEDcguc}_7eau2e*Qey5ASfJcJF5giD?2ctO0kv+jXhc;JQIO=;pUzr{++W|gi%Y>f9Q=1i`To`P@gBt(gRe{c6#dt zLYQpc`)-#U-&0m9g>_sHzwA_~@_wK#70BcO#7;Z_kQ9|^Yz$vrd(FQhe*3DzmBGpV z1PKjYD^-2zSPIfPvT!ca4_0HoyRULoHXu)nsA%Z_FEy-TL;q+o%<1VI{emjlm=(`d zpNYRL{jCdX7*cil@ji8CHt4@t05iHuxq@l9Q0AwJWl>yuFYEUdxgJfFOE7!fE%&uM z@1D&CBSkr%Ia%CH=H{bfiJ&cW$@|(B^!LXNQH@yZ@Eo?Sk@w9qj?D*h%c4%9D0UV@fgL%d{#=MoP z&g-;1!2DT80SHs;**A<5=1#DRi+CyZ_rmW{N!Rl2B1J=)b)=b(i)b+cbaK9ZtO-_Hp zQjB@E4->L{^;OrT`Om-EEA8@xN)xViqAadQqH$w6?;r(Os35sgvVg|^(I119f2(6= zTp#GV0BpVp!0Wt-YbJ=g=i6R6X#b1ZNCFR8{>3ZkvniHaJJMt%Pb3v?tFNKOXFZ|A zR7S`zScmP(#+A3ABc^4t_k2ZQa(ZXq@NRZFs)-Xzg(Y zQBMx76Hv4NIRboO1P>srWq3exxv-jsD6?Yhh!5tu`H1ZlspDiLkJk3&`Q)~Mxg0U* zNLgZL*&K~>$K)VSawe?t%TutUUI6I%K7ypE2D3k!p=cm@gIxm_DkCp25 zCNTW?d)u#|veSTFoOSUZxX3%%*+r6E{O@9OBALXT1iZF9AV&sqBHUCeZ3+7M)0Z7` zP!Ge-`_Dr>9JAz)Fj~_XiSBw^X&520hJ8B(V4`}>fYq#NaIrja*r8>sg-a6EI8uA@ z%pC1y*v#{$&JX$@1*+K26Q#P*fu}k$cGEYGI#9AGFL~?+)7i0#{Qe;n-+TRsX3$nJ zt_63GV!xJeNDgrSd(tQJJ{2<>VKeWUL0&xGhE&h-`f8xm+@SGeOvM0s}xIBoan>dk;#%DrM=n7FJ5%vP93su2w?^_7{{WP_%g0m<011%b& zr7oA2_Jz7ul)(Br#?;lp&5)Z^Vt4J24At{d=YaE5I%W2uQBSfle9&cu{W`E=cpSkt zSXG#{X3~YP>{fvE1vB848LzA#rgNki)R7+fFh}ETXkjmdJc=)pdU+)hYYa~e#_|z! zr~g8;63IbP?bUQDw;e(3=FzphGPiwg4UP)Ta-FIl9ft*Mlf_Y6-vxq9pz8?#glLiILg z`Y3NL@nx^Fet%l`=_&8gP`D2{I=n7?*{&a46q+IFElK{vMHo*dOm zwC?1Pe>)iv25bCUEpuw&cFGwc?4M8Sosne&AA5tAqeF7PwtkaSmR!ORS{iwB)Pg<_ z+`f#GA9emwGgjv8*ThzF5^m7E6^nykmLvF|(qNmGJy=T)YT^S0;X7}odny2J3sDm1 zxIBjF>fT9Lbuwj;he5dB@ef9?4Rd$$`jpVl_3)hRnsEC|r%wa1tq6tGzxd6)(65)XoT zTQNQ6q_l6)-m@lLKp8BbF62DXxtMWiGEWi)0mTiTsMVf0_i6S#0!l>NYk9|*?4Fwo z*7$sy{zob<bwQoMAN!>V50n$vvYS$m^_%5Ej;R*g;~ASoDG$Nq{?>>>4CbLs|i z@JqP?-NlS$r7s9;X2|FhCaS)&(X5R*J*7lzY*J7IM>-@Its+==MAjPJ`-Hf9nGSX5 zscdC3a(|f8xMirYre^XC@vOc2&ULk4q7)FE{S&pu_S^ncXtz|D*Bw`eAUF~PqcaMy z0+bbmKXXw9kqL~K$%Njxm9-yfJ=xM2 zF9#sO7tW`{&Vg74uCsMR;*M8~HJIZ#;OK;pJVGym_kdEAoN(fP;qHQb zzW*UT&vtG*A2uf*+RGjGr?(!Yn;#8=LL8@K(EV~i2ii{GeY7u&OohrPa1f_}p%aSX zBJxO{5lN&+&fMdDw!MFK`?LGO?k{?Q>@kPM`{!^f342qnOqN1GwgGYM$tV}mQ+L#+jlIdZ42^6<_L4@*;& zd*1oH#CcCe>xGkx=!e9jfyWeYR?9tXW?^4=v-;klZh?eC(~SJ3=BxxCd9Iwr8L(%Q zIHw}dhl+i$_;VytR&*xqP$>qf_ z8cK=S^OU9$XZI^CF`28^b;^zKNa7h3OGjAYlOt?s1tfJ6FTP>lsqViRWA0X0lT&ug z>N62nOacX9S^tGBO4`|?%gs{e=L6|lhZoBcQ00b;efj-`PD4RN0sw8)8Njx``j0K> z#A=uGBlaijXZ9GFE^4X-cp1=io-AKz^Kgy5^G<<OB%W?OVtTS80yEQIvq~F%+eNz@wgy=rOoCQ2t z3`Mzt2qw1a|5nGDQwG+Hx_mq?jc^?z?m83Gh&ejLa zvO%%K)~gBG710yd{14ZhqrV4!col~$L$<87B0zzdm^_-d({UHI$i?^DC1k}x1*0mS zyoaj3i^+wti0ugr$)GkG2<%RLRGPs(Gb*v*MzB^qik2{09hwRKEM+?9Hk@{KdfXvt zM*0euqg0#yr&*`b0QO0{Awe8-DuWv zwsU6Vwhq>9?JQjB>-)YS7`gU!W*fWlXAWic*f|<^Uuo9F*bUpq{wk$R7dhAg&*OLZ z9*%S(a$X6n*^15aDUK|xWb$KOa-_mv_bwQVYhODZbF;TL7@1%bb9#ScB{H+iA;z8? zg3!IR>%^Z^lkGrz%C2JV+NmGhX%K|l+=D!ji*IUnRuL`oF99F7XlhQJGnpsAL#Es{ zCTS_!0e~`Mkv-{}ZT9al*_nWwE#04=RK{ZHz5hlgr!v{f^2yb(tw}vFKrqbk8aUom z(+Gq2`}l`}ciNsWIxsapS!(kD2BOcn+wRKcd*E1(_2+X~P29$3xnByW8*Mqh+%$-| zg!l|2#W_d8Y>5ZUp{vX~xm0qKK<4s}HGovJY{i;I0x{nyn4iGmA48cKb~0JfDY1SY zdUyuKH2g_e_t1>HO*6Gdam|g!j#saWR9AjE@=cIfw4RyB3o|Wboz=is2+L5z^N+z7 zeX}z;7V|1_Z(RP-+58XJA z`!Aea=9}gg>lWf6n03K!*^|&Vc+WJ z+6#fX112Z(eB+zuHvSqk4MfQ81zsuYk*JlxH(Y`{%XR&Z^7&BkZHAV1@@;22wVvohpak>e4 z64&gRN1Q|1iD5-HzLTHZe^WdDNJJC;uvvl0^#iHG(99p%zETM|RF0Dun`uNue&TsZ<;L$s$O$JF`O~?FP1K?Oa49SB0`NWiu{r*Vf@;m3@ z=l#3QArj5IwQ?tzc#Oo7V~2b8GW!KYY-iRK`DHZ`4wv08F8BPZQ{f*z_*b)qot7u> zxS=;Ty>*4D;u8U^PP!+#7Y_Fm&a;y1kjF+w5Dz-JJbPym{}h+$Ei2tyu-AKZx##wq z=GYPgmt1w3o(raGc|#huTO$Vh^It50n7uE5-fh0e?rQtTNKqb3LoC-!pyLHH-ssCm7fYizzeyP5}kp$u*e`aklHV zdRffe4=CJ3ncP!sIPP=`)-wp%UwQ)`uod?EXTwckcmwoEs2?DsI)~x5w@=_cN87u& zCY&rlM!^HuChU16BB4Yal(@o&$Lm2?sQy!B%io_2f^kOh1!uU&4{;(rKFU9TD#vBi zC-sCnPGWq=$-|xC8Dx6$dk}-`xFK?v)_XLxcnLy9{P+r_vUpJQqz-vDXFn*T%-Od5 zckl!CKJtMKWRF1WKl(vvHvoBd-bPDUaBMRtq!XWso?JcO){+mA0g$ZLgKsJXMrSsd zW4Yfoe*(4XLS4OlHBrJS_r4abGHKD$O|{IH$IvMDKO6=Gsk}Qoq#*yrV2SYuF4}#LXPcvW?)si=~khVTY^ z5zY06M@EJZwnuiuy}-rhhg0TIJ+t|Vrg|^uGdrz6bm?tLrYTT*h^ySK`NFrHdQ5bG za_{Twru3AwmDavBy?2Jq4E{-{OKBT(4v@3a!n(Z9G1bKFTaS)yyW zJp162X6}bchS!3SzJo$p&dqe_*iQGtrX6uEx&6IPx38*_{91v37k$|r`xb3QA4(SA z^79Xnpb1QhsA#5ZCj8}END&Q*={sRS2`hcQ(~8P%GJv87*!A3kblKg8{}{Ng^qh?; ziK4(ESimi*%Yo#PR6Jl?gJJ%^m7UwZ4^%WdWpdwF8_ zicoA9errU=z&P;cNXDYla#xDNOqn?HXRn$vpWOVeS6i@Y;2$q!3$FYKk(%tB<@V+0 zc^%iHkpV||^^&@P#L0m!_jAudA&FMM6I;pD#w~N=fEoA>kx<{dHh-t@w~t%(v6z

bA~p#KbY3CQ_vI_W{io;c+%H$Q^2H13%XPF(;5>!MF6aJ}t2izMpnhG4m|BerSR5hU`}JDzIJZa(HS z9`!4zdU@=Sn1AAK6CBaa5&1LQ9$hn4FMr;zRq341=$h*TsT=X#VoA+*-%i11gE3tU zTjjN6_CFf6dAAWyWWi3rWfF zEyetX7IoXmjrOmG_jyfo`9ry2o%`2?Q=Y))j$v)}Zn@t1DK3pn2tDm0JFj)>ZCCQW z(wdRe8PFGb>~aV72#UOT+^%P2ub^e^ExKu=hpoV*0}jOu-nDITny=Rkyu>QJh_%w4 z*PF^|pmlxKJaiAL{K@&7e5PpEmA`j(XnxARi}H8tntv4%?#^p8cVZ^v4G z&eR*UEBkY$ekQXcZ6d0^Uv|LbieNK8jyJKrE~5E;cH-CZno|8?Iw4gHA!FY`JJEK( z0yDD4#t&obp)N`HK1xRRkLp|VD~9zPynH*R@X$H4#N=Pz(rL67z;C#JH2zB>Kn zmjgx>YBClMU)M}O)@ii4aaj=iGGNDBh=Z<9{@$wky6o5ok0qJx%U_;(*evoYkwje@ zeu?pn<-FYanU*L2<6%#*Z0$y)dfu4SP*Kh0Nv@#eah0*8uCa$KQUz>nb7`||e07iB zUSt}<_{AO#J(|#XE?oQmklyDs+ig5buVuH*x#hYAFM@DpNAIt)0 zzUCn}Ci?AZ;+OAby-Q^Oqp-phq+nbAQ$?d;lSZG*Z+q-;lJMm4^CRWpY*(ks5#xSy z_V%-?-_DNg9$kwKC3VBSb!E|a@A{|?2|U^Nd%Dk%HG_B|Zkh)g*Iu(qS5Vj7j#eM> znih2}MhimrGqO$hny|jD!W{402;J7He0ly!VnQ@E$*r4-#Q}sQ6X!w4+Nrp{jWBHB}BRGs%T)J1&ck0o&WCWm%Rq99Ts*-7` zxUN&Lq~KPu@I2EK(p}QsDc$+r zob#Nu-alY|n6>Wx+54)!v%~#F6KI|KM${l|c|pnJRDYP=oD4?4yziM?3#NmTzb61^ zM7UCPrhcjgCM|wFj7`vpGVLcA2=ySSAt?6~`G)3J&fi?OGv!f=2yEs&CqBF;kH|mp zrq*f&)Ot;F4)QcIiE^n@HiX$+=>MZ4jGOwG zwvnn-oyZ=BTphUq(go-DGs?k(X;3pbj6rhMsX3K*-C0wsmSbyHBav1Twi1r z`C=ICAgXFuq4~(6%+_Cwb%eOw1fkH=iU^r~8YM5GW>FT5n=ofEe1TDCh^R`a1@1ng zpvLD-15hT#R*+dSD1KxkN=2#rY9cg04+rC(P6Z6%aMDr^S0xTAJ_zR!!BDnF_cIA* zK7_T4oS$?o`#e|=Of{=23WagMDP24d*JxpLx3uDPAj0{e!@G14cUmdt)9WtBwq~in z+<5bC5rfl~p1DP87&ugeRP-=Ph!U%kFDzgrvIq(tDSCe+WUe~ zpZTfojp3Ynz-r!Is^Y(n7S@&zyk)JIG07CImKDu5Div6~Qi~4NQFjC-C^QEHt1V;( zz~D0fP@0kw0!)C+KG*EAP{st0<4pJa?_&ZNa-0pvpSA?z#fTNOE^HLynOki2tg5yU z$cTK8SmlomU$%M8UN)~6FK8Y9box4@p)gb$kSI~ytor&^EpET-J*22;@;q)^96Zso zX{=`+NS(R4UWw2+675G7b?j5>1Z$<`Xy7%?Gtjwad zYxc6g3qr3Yf`s^O=bSQ8b@Ruy9Rq@;cY(QPQn5kW;do1M(qdK^0|Aq8p2kLlFx*}l z)bA2ySNSaG{92aN&b_}QF*ig8VzKeyI!q-*)BAe~ITeQHeC9Ga3S~i{oq5Ax5S!RE zVt>z?;78m>V(axNp0WRuuzNY@j4857&AmNY%$E<>5qIPri1xh4)lK&qeskZ5`>=N3 zK_%!5U4E`@Q3!Qx@^slp)Dt+l2`GXFB zkd5|p>UmiC4PyG;OrrbvenZ@8;f{r@2MrpF3t5<)U)C2@LC%l8Mk@M=+Hx<=f;-L0oh1Y0=GEh(ElWr^@9yQE}7`u!t=w$I+#{LGk% z{hK6j)ZF_MHnrizQL&vZ+AM|8jwYJNddUh{Cpdmmu+e&8gfT>yZ$FO%qlZ-&stwRR zeOzxZRTUKUcuz1_oHnDRXI&OgfX`Av0Jb9*9KrtlkP{NVyp}c+yUdj&&+AmPEe~{u>BMctdrG&RRI{w_h254zGmH5z zrt6#<`py^f`$a_a;k{uB4%88>lx_C}mPy!6+$(lsUF-ta0`8<+Ex?F$SXLbm&G9z5 z{1t4?V-Z@pf3;;?67qahghrZq;_J%1QF^@s(I^iW{3)#O`VVdPr9kq_@%@5^%g&Tx--^{s|dC)ys>Swb|X zAsX7P`K$JQ!m=_>yy-}jaPHD~le@y6gVNLv(JSOu@9oY4x15_#g1lauJ*kZj+7RS- z;4*bIL;Hxl)nZrN{+#uNQ;6z4rOi_OEuo0Idy5Oz8v)+d>!w-iQNPR z$@(te&o7h@eDVs?azcKul>(6x^_!~|^686yPF{_tIinc$8{?TY{r*ykI+CPdW}%}Jr#6D`?3{%^S0@T^7#1Hw+1j}Xo#GZhLYwmrp;*9RwReIYCa z!M12%#x&T(Js4#bhBStnLlCP!UqEC?YG}mCK`4U6{2CK9KpAA!#=Cb1vPoi_IN+dJ zc7XXh>97fD3h^{0Y4IiN@Ng}7KjajHXB=qVJTFc^DfOuAnyWhhToY6h2Nws=AX7GE zOW=fmSIbbgD@w+FH=aQAs=C~`r+*nXJSCUJxw(Sz5P%3Q+6eP1qaU-U*#U+JLO_izUF zAj31dU_-=C@kt_$SpkWkrh_R`u7V(5vna|@NOoYB_*(}-Hw=7w?1+!M2Ptc{O>WBL zbWxJ;nGM~V!cFbN#SR;hg_1IIt^$8#h@u?rK}cla)M_80Na8Bth_Q}*sbR+A_MdnJ ze-5YZ$&f+bg5N=io8_csY`v7h(#6@(oGltBNAf}=kQ*D;KxjA)OQga_&UTGA5P0lx z=miC|SfvNbArdnR3W$;L$i)^Nl+sTPp#u>}V8I{RVGJ0FJ7n?X$JGsg;XmELZFigC ze$>DE!GprP-e6SfLDM(Wa>%!LCTC2DqUW+t`tYIs5Y}zBCkSvH-Utp%Lqcj@dZ#~d z)qARFm@~bvxBO{hM!$UL{b+&rG9G}gPOg6*pRCryN|zBp#ePcS1kqn#rdJ35^nO_0 z1k2%_=sR}cw;;87J>TtS+O}D2A@vcf;vD|mj1lD9*Rqa6r?`T;0Yt@&cceR~TYTb~ zhr@Y+)9IMSOPlR}?x?_1%~l_J%LYz`m&ieatZdiCG1--`GEWTBdB@WYwQ#m3(BAF| zFs9&R1Rg7?zI9t^U8HkA98c{=OZ4v4t+uTWxyM=Et#_CF6G5Pew!(+Fc1J|a7EmVX zAglZiA@MjZ{QK*zZkxmDaK{i~iwxE$m+3@bnUxZqCkv13d9#G}{&VQNPjfHXztEhl zNL9yT-5#r=^ahVxZ?e9ZjD`Bl59uW>B@K9GC!l=UqTFuC^Zl@IIs0-qHjvV!T5o*1 z6=Brg@$Qq{5@q{YVfxu`_0|mX81wsup1G}xv@aTr$|4ZuNJ*%hZ7a^ z_XJSyLVrm=(ZcI(72WRC3|YQ*XM6*M$HL$v)Avjvuv_^Ll-)s-|1tW5C!>`Zt6lF# z_v`txMI6OT?IMbD(IbY3!J0q%(eEeO3p%3MA~=ub9Ch$S3^ac{L~^kQ4k?h&+Nio= z8m@bfQx6(i@H%2(Hm>W~_-l{tvZ52a;WC;?o{V&9#|)cmfQ@j+98%!Pg6e+AQ78R$ zLe(Yh5wq9-#QWLo9oUFNgD~9jb2?m{0>=J~R(DV{H@dBn@n$F^=x``;4K0o(vdX}e zA;m{CE`$yKQvzzA_s@}GxGp0Bf{}UUA2H+$S+|i}Mg8!{5>pZVZY^U`zJ zT^KyLPlz78>x&;dN@i0_PPGVt4o|wCLBUY26;diyYoLZSoLF0zI@yM zWT7yXei2GUkjg@;y=H#L_G8hxM>YFBQa`AXDh7#i{5SYHC(b`*L}XKai)l;g68qvs5o1j!eky57(4(GFDL}D;%pw`@&-($qxRprorYEC%K|xeG3LRf zN3-1wGy4vOd2kC9YB!S$Z{KfZ1u55Xg~j}HfF<+t^$%Jh8#4S5`F5GPHhT3I*kC;$ zi9gS^>QK6+?eF_=sGoqqQia>j^T4p;g|62*-gza4SkJSSPQ_I=RqDxiuX1Q6d&a94U@tMgg?likZNR3|sC zz6?h-c1HrIWzJc(E53r`YPp270sbVn5rK=ysf07>vx@qav`0htA#Gg6UX7mS<9iKA z#_`~-5bsIbA#CMWgI?20lV_X$(?KEkKl^Owi4$gqf`1c&FD)1GD`35cru;1IipG0r zz8(&)ly^sS`Q0BBXs7ewiH|FZ;w;oPCkPi7&aLD7B!*7ua}hv&Aje+Rel1)%voL^l zQ>`G}nnp@_Crd$1upcx(u&4YFhl;-cx;7hl=YiR?WXA z{d~Lm@l-kzg{(jV5YBf0_W zG6W+^;sTRO-AcsZL7i^wxZu6-|NWt-(G7AE{f3r(sIp}kw^POU$!4>JTvQ_cvxBqp zL{P3CT+TZPRSdfzl_5LyG$kA{qF4M*Qj!hU+JN2CNtiv;jeYf&TFV+3M^QV$O-5j3 zopo|G9Qt7BX86`8<*SSh&Au-FbsB8>;UAGu4jFni93a@X5-nk@R!~I;XHS?DS*a|# zZ^vjyg8`;=%OqJr>TT*{y0jOi-N9(%Dsj;jwX7whMm0jkn+arhg(svVS5YroJWx3k zRi79pY(d8?6_smY3Y&DrVr60*=zqinqp;7~N2mpeGaih%i@*0!sq59!K-QVYo`wg} zt~TQrD8=Q(P2A1VX<(`f3NyyhQWP6ud>6?DsS)PZAVr7QM}Tx;U>J;gLi|Qc06rok zmQ|Z#Y<%i{eYcv1x%GjBPM|psEeK9G2d5xZbJH(+jixInbT9If+pmBzjCjtV3!O?W zZc2fdwj`vV7QF18v}p4Z7McpbwH1(v%8g+ZLdbJjoIED{vTz8y>B($A&-+E>H2K}^ z`8YSCqG4wYSI=u7x4mVE$dO_tkjrh=w>;te+W!}+|ar!wcxiSL6YHcGnyM;|wL`j6(iQo-(bHW()`hfeLN%99L-FE(yCF92*QNp!}jpFt}CgiFf3kG#pk&Gm3zXZ?meoPFaIT{wxp(;DM!++Cuw^(+$Cei0o&;e3s9Z(;}>8FiaaD5lRS+} zZq*}W_uIB^yc^En9~6BKt|FMyA~ULbcE*Y&N!;_-)#aXnv30I`Od#QJ>Bc6|BEK-d zn?{`ir)Hyg-3{$l=#A3rU(vN)rY+*O)i`n@$t;@%Z(5kUK30GJ5_B_M8GiEm|_&NcYZ45PHu<;qh1NUIpWL@((r)OR!-Cg0Uo}?93>x7-84n zVE7aNq^adEWjreX7Y();?)x09IVCUN7O2V)CI@!idHIp#_BdO4_70D+4A4*KJa+b(UWP~VYq|>#g+{WzN zsc$++c)7e&sdTheKtzUlwSU^s5)Kh9>Hhi&`Mk1@IJ95 z^!HUYSNc>1XuujNP+RQkqm~AqZ4GTbFW*@w3SzAQ2T8nrlWEyFLB+e#=Xnp!;8b2@ z-R8Cx-O24Yoe80Hi@@#dKlfJO+T!V4-~EcBJ5`b~NBJCG7>L@P@(z{$T*-ls;-Tg@W zX1#K^BfFy3sa-%l-CjkqsC*+`bfRNAkC``JipdMC{i22D|mznP*Y?~~1Vq~0yBUlJJKIP~e+;*3J~ zJ0Uo2J3u&Y7rq-V;XfwWbAWaZjM2317ZR4nwI-(9wv`Z^0#Vrpx?H0B>VP9N_&M`M zl!(n))i+28M0**vQVvyJ#1SURjHynLb7 zxB?&|uuE_;Oy?HjX%8vx;o%EA!>DETKhkx~y0s6c!$(#XNDv`1WkFw^2 zcY3uQJTQy8zbA8ok0-t{o7mP+7lZ|3bJy&F4|5|(Al^S~pc?h4LmDRRg78wo@qqu> zp&u*gWWL2>SgMJLE7cA|{$6tA0(viwnsNc3R_=trPa-h5*k4rHW25$s1xcQvBlIe2 zJgI?R<|pzyrG`+`-p{v{#kuMdc~|*sv<{rQ!6Gy1F^qO`{e{?h79wAQB0d&_ki;>= zV=TIR&ZW9#6@h~3cx-aI^2$`t~V9)&sz-hM8I3N0v2D-l8XmrNm5hQ+xO#M8<| zl8$G&*$}cnTBRmTKchcT{th^3VTOL}Gn}GPN6fLW>F^*~d0)IRQfQ&WDOoT_lt!QH z9v3-<2%ZkjaYB><*lJtoG9F|T8oe>Mo`!3`({EhUm1iC~{rPiaP;L&5T9ZyDKQfJ9 zsuX^0Zs-;(4}Zqr!e&f?Fghr3%UDk>FfC8gSmxBDn_PxWAXcvz5=GwwPgf}VX1Eyi z0d2w%0&F!+^&jf1TNHA4CXy_#9R;ND8hdov6>(9n(bE}CN5=k_->p6qVBdxpMW*J1 zg^GV|eUm3{eJvLw$pVvZE7lWo>|>8PfB@fPJG%MNB=c%Uf2+1a*5}Wb-7M#gz`kq2 zN&CyQ2$s6=WF=GA?TVgin#m|{I>~>@?-k5lJp_3XT8A2ssjf8I4j^bZMRy|&?tiw} z&5j$V#)iHAel(u>YPOBq#&_C@khaqOD`tC%ZT7E(-6M4? zL1-JVvju2k;q?|Mj4gH$B4$c=J%w{ctDCB=DnS_ZjIU+wM}?kk0NQJl8*N?79rJmP zcm>23nx#PB*+2hsqo;Cc-3C`(B!tj#ce)aH(dt!((BZmdFX<4DbPvwh((&#Ax}VXk zZks?LvG?D&fvp6`>46iJ5n*1c#&dP6|K(tV=ln6wJTdvC5P}4P$uF1IpOms;E>{FS ze;DIuj#Db#7BG;14#V<3ZsL7t)_*IU%W7!w8N=YT*E~TnOFj!nt?rmUxxfx`nS}M0pY%%uFWtVC^f1Ip0Af7 zDOFxloHnoE#I01|CwBZQEUI@hCe(|4jW`?Uh^Ve)WiGit()G~th2(gP4`F(~)i{f`bnzlu>*99f+jd@T z2uXw+qENHJy-k2auwo#m=KHCI0NE~xn*eqJS#O=V*C}Q^=81v%M5Z->Dbq!@eI-wH zQmI)={=fpQZvfd(+9``WI0IIU-8V zl~no}blihGHL07~)3E%4`>y*4Jci$EspxC6D`+vWePK~a7*Nrqqf?C?npi#-MaNkF zbEX*}2N(R#HoOj5*5-_IRENf&i+n%T9`TaFINJpJcG7Wvhh>y2b_Gt(OkQp;IMVQk z^LO37&Jp2BlK-kz**)Jme;Qn<}@w-h*B_5adfn!d@ zn}o5V&4i1#hZDj*kA&Scbz5Y#tOASySAlA1_CXni(Ka6IZPL+!purpSAayBB!s{ z`V2R4Q2vy~OQb_$Ndn7U!bI&4_El08ne}Zr9!Ba18aiPRqF;Zod7#WRIf~bhozV!?+6?f z=Ot_V1kpBBvNC-yDOmNnRqm79i*s4l&(83U_P3qzTxY1}Xw}n0NDme|*(^LsaGd#S zN^Fi`R^tBg*Z0Q|VSScc$+9s3pG|`uh?H^qisecl8kReM#j=lNJZDG89o;k!(hKgE zvGaB_mV#cpobuMsJ?9EvZ)K$C2NY&RHs{k({u9lo*3t~ONBgNldD(Jka)QU`3cFT-4yE3coRMz%t*0uOcz>05r}uo`gf6+CNWZ=46oFn~ zd^elvN_F*rO@Zngg2dx<;Nyq)hm#_azYH@kE*P4Omxx`e#i$XZo8QED2D;ZiQI8e1Y#lbQFoL@d*;8xmZnZAFrJD-%bOCh z#NUvK*B(&o=$YWh?m&F)P}z9CD#$>8v@* zlaz&jXuQJ`|Nc!x28{6V+ux7<9~pW@d&e|Cp_FSWlOl``KF#-=22G&6jrLzOx6mX* ze_Q%tsKLEaK_3Zo?1O4C&6wme(zj)S108xit`AGU0*%cs{`5vj z)^!+;D!o0tJiQjV?!&eH)`W45QxzlcQub_iI{J1jGL{4F_#`v?^nm4sSH3Ajz*G}@Uvm6uM+29KbtZv zRa6W+VyHxZ6aC4NX5pSIZ{Ug+SjBFjnHZuHQ0Av5UGsHh*L{C0Lk*8@ZZ`beJDWR! zoPVK*#6git6qUpHA_CAnLGfP3q>vt_KW}4|JI5u-1r6i-z4pKq@p4ZSR42nEOL3Ge zb-YF5Ag zn5!*#o{GaNbvsFTD>U!mxT92I$09*TE8k8M0Ec87K{UB~~)tkgX9lf$hB zthlc5pWK?U6&~kZC3FIh|B07~%qyXv^s~kD4BS5EuAo;vF3QZf)LMU+q`2y zK>9+nOL<=5E59c4R(S7cA-!{Z>n`_7Teo(5ZQpVIl7r*w+T>iKx}Hg2rjQ2aqRsLL zxmAQF8;G+uDo3u~|_R<`%$wn0&NMU%q5_ z+Z{CR{nfgyCux&ypMRxMj%~~&`I)t(-thm)TdDlnpwtp9$&~P)N;HMYO-d5>Cp@7Z za4E{*|JWgkENPz&PB8(6s~K@BS_OF4VjqFoSW-3zM9G8=nf(SD6c)2|U^3Lj5Oc;Z z*`?b$B#5KIhpO{35t6w%9qE9Z3%be^hslqb$d)~fl(}Z$EE+;R1?4DqE!0YBL=hbr zHvl79umnw#gheAZD1cimxJ2`S2%O&ymcx+F{;m!w!&VNBro+C_45GR`#e;hGR7Hny zR}$tST5LAp$=iGF$;T;CCW)t(gkF7TiF?kd#P6|^g$(wSsDXdx>aBs6Q9)z2u%N4$ zjfGYw#$LcHO~hUtCgtM{l8zRh4L}dProbkH%lnb6M03lg2Fk%*6Cq@VW||l*>L(U5XR_4Fe`L?JtnABcOqD`b$CmXuwT0*qp?))k+_$fP6b8 z`@oNCm`hWh6J!cP+*8#x9pR_W>4jRz-6my^H%PrQTk5d6olCH;D zkGjvSgSJiGfX{=^FRTa>xT5AmNdzJufG?P4G+Lw0%?>-$s+7*Y5e$EGP3y)KQM z6&o#1UmDn!fsFgv6Y1u*@bzBaG-~~-%i>(S)BxZ;Iflp!6*~YrG(||+vp;8o2XocN z!#-KaN%aZ3?Dgg^qRaEU-HL7nsNFeIAN4L_a;eXSp{@Hwgr3?6sc^FTmHPMpg)~&| z2ogtnNX=3H$S3}FED@(~oL&p9Ka|@Ke|qz~B+U+o@L%jhmF95g(3@sT4~C$skrrbr zjo>og^MFobG(MTr4{T@>6@gAwfDJ2kF+XX_G}x7Cps7FSGeEKnPEdp7Z_ZPfFH+;} z?*l9Q3g?NGYWBXarhp?ioW`5YRp)6`p#neOn_C+Cz{2r~#m;h+CX3=U4ebaQ2F)4c zdl}s@bVor5Yxy+z0Z)U~I&QjeFvCmcwE{k|NCc0khqzkxn_o8smhou(;06;)l zS=_FLr^JDNXSiowiWP!JU8O4&W&4?Efyn)Q>#S3@zs8u*wDtwndtuq`=7#WKjITWd(>&L+8+ITV9! zS_J>Qj!J#=4d^zCZTK8|$%8q|PQKjMEwF-bS!moOS8t#_%C7>?gSyWR@`;YeA-eVR z6dd|3V3!aEbmktvlHplB*VZQVOCLaVZNC^1cqlvW_YgD=6gInC1fh-Br93wd5Iun z)fkSNXxbm5{{k8kY2JsT9rv7l6W7WHm)f%i8fdLKg>VeP<~4U^$Q+Rw%kmIx{Xkjr zY5>_L@zVvH8$(3$uTtwru|+sA$WYuZvH+Tyu(u~+B^}%$8 zXYq+^U{pz(t~0!zhpJ&?_cCN1nqJOM`y9F`h(C%6pF?43epw9;&-zmmgP`H3*2(EX>7~#>$QeThJYR| zFcOOQQO02mg#oLXGHH)B4t!IIkuttt0w*bn*MG(&RJ&EGRd0hQklw1h(-vHVmd);r zp;ELCNEpVg2AUxu^%2fZCfJbo8WCpRIE|aAG1Nh95Rau5g&6v z&gQgW@kG1=o^m_;0t^7y73YQiY(PXFo!}u~dc$B{a@-*)RA&t#(l^-edBN$n6J=bOYMx5pSjvih*Lwg^ViY-pH+Q+)zWb?Gan5QLrR6I$ZvF~W+{kp_Np(+eu<5^0_ytlN?OC}` z@~^XL+}4olT|FDSv@V=p#G4!uKgRBLK7d;6VfB?O4>*R2RA+&xyM9GSXo9)WasE zqIoCH`)1yA8E|{K>{IgK?TA7nB){I)hOygT&dBhyn2_#G@-5mpARIR{pRJ!(cuc$ClWzvs)Wb>pxXYHhtoojj#up=t* zG=kfq$7q>`wzty`nh?VRPiY&s@i32Wq!3;&-&bwTI7bmOg2_(Yq_w26KMWnbnHdkm zLbH2MgU+&hc@8~@o8%<3=G9xo+jl)iwf^&*_d$V}JSn4}8s|w=P%@sn#$}{%4=b>? zED5ayGs)~3!B+7_coza|M=rY_*7bZ#*PlpMOwGm4r4V=U*)o}iC#ay?Jo64OTGjth z-fA&nnU{+o<)PyT?bK_{3=EYT5Xci(#%E!;fXn80344IH7jk>_9 zIX}lgeIb%Z+P~N201B9k;qlMY1@u8Q?qfkk#n*S61(SGDDFzz9r$Iq$q2_Fae#b zF~)s@yCvstTgUSs=fK*S&w7M(E1iQ@%O(FLu*idD5U@}psavOqy`Y61aos!(=N*l>$>?*ns%KQr#0WF-t$H4x;~*nr4N4MtUMj(A1+wJ6b_8AU$X8QOdz`C zSMx*8j`rpwvCx|tZ5voPc>A>L!}_9^vj0W-y5Na7sc|bBX8Uz#+%T4+fPa06ATTgP zPSPyVPxy_(4{#aVn+hL-*J+u-O_IQX2v=H&#l$~rVMII7@#@=lp6 zDV%~YQJQ%Q9nk??Q(&?bzWp$9b80rXHxRXwcQr~l_LN~8E2u%ac|1RED5D4fYVMFG zI@|^#hkjg)NQeDp9h8Ref6AJz5(r%ov7|gnWwM}@L=1-K;+nDK6>RGO>)0nt*|C)> zTb94?E9##y{=p5(F_t37jv-2k*iOcy7i{!|FmQy`1x9nbp<^p!KyzwE_xna{A;0ZA z%W1!tY=^;6nP>(@|I()8V!kvKK!uWVZR!6{hbFB@jCBOs zumC?zjv!jwqVth_$ebkS}6_g?bfZ=fDNl7Qlaq^2A`VvPoY=;Zc@?-^6YV>qE7 zI7KwMbnA&vw*Z1r%7zREbO+-y#Y&Eb0G|V~7%KYad#AF_J4(49DCJ6Ok$xcjfmh;_ zH?0p!I|KDpgNUoC7Q=AkqyUJ9IS_x?d595HK&D5V^}7qwgT|tZo&UqIrzFfN%|1ef z6oW<=HkwK+^^f%VXPtnp>l&P8d1lMN5zul3PyI+&y{4kz=DFLlo{bxMcQY3&z5dqV8QCrKSIx>OXHiR)#sf; zLfhgdwX4@855zVRsJ9BB-s08qoe&gwj^_@TePg$}NbhLo#!b`QcU&uK&Li|6H-gUs zf}hSastYQV#0W!oi!O-_x$%Hdk-SYt_e{|OWx}6S_b#KdLwjLeRTKeiF~zX@E=KJ%Nn>Ph z!}qNIIU$i7ITUek_V5?@<|wX_M-O_a+sGs5_ke zhwHdjDOW(PdZrj(Z_m85+pL?JY2XJ=VS%4tnlw+5O~32dcHA);H46Mjpe9}+sy<;5 zf(qY!8#auaJgpn}KP~{U0wbgbu}H#}^srEf4rHi*-0kmLxVjFQ=6xU5ANQm~?UX_e zj%#vR7XL_)WS`!@naP4n%);QNYK$t)Rudd%#So>7InC9%>&zT^+d1xNlE;^kL=o+C zCMWJwjOA3s70Qy-krp}rk?ZpU;^aNeW>%ur>F^TDtHUrKf5h#9!CiV**K_1c2z}g^ z|HDc91FZQ+vR$*{k&=q(-(w)gn$}WN^vj2@B)OZ}%f6pqOU9ilmw!r5OFsSaa=~J* zRR1FF)#C@%D|*}>o29g6Ab$qX&Aw*>M^Po*vY@oq5$+jVN(EWaVybDq%_#&@|+Euy|6 zP~ORK9A&J#x67h*SB5DcFx&x4nhr7Ht`DatWE}XB6Iqh#4|E`WBvG4hJ>MWPuU$Cbk z{N2ZJcHIx2&~~&AkL6O8L7 zzK@%EF+y6HMH;R^GLnUtQ)499w(0JZw5`fkqwB(ayQbklLA+kp`_-3YJ!uW)49nxj zQs(v^zoh#AP5NQA!aYi2W9cEJN`uj+SvL_kLQPGl|RK-y_qZ%sl-gSm&9AAuZ zv>K?@5@!>eI63GB>X~wk@eAs+8c8hS<(v$12wEn^XJMmT#A_bzb<<0faur0x;)5_fqQjThrToEUBTFS@{_~jLavRK#{5M@aW{GOh0ItAtDuwrN^ z&C8cfwM3im=zh(ftVS#=m>!$yliaE#4;Pn3V^^)G>*dgaw^$M-<^d=dqz%0De6>&vCAvc0*%&G;1w1Zk2pFG^P(cz#}j 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

A8>i{YGvcV1LSkMVEZ-}p`;*do2YX9 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 z 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 WYO&F`Itu&+M_a={y+PF;^M3$?&mW5b literal 634340 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 Twd7n0sIhcr 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≤PldlZnmc zn72J-l692!3`pc7hwS%)Z-4{l>G-`Z0oHAjOZad0M(>7qG0zULh9>kpWkBjY+oA#j zYby)ydn3Am7k5Q3i{1a=hyU72*v>>R0M@DRU{YuAi6uyE$JE7&>}_{CNJ`ZRuJ-RM zIbOUyDJsdc5GB_Dln}QX#g!;9V z;O&hxuz*^?N>csH)?cyPssKOc_lM-5e{1{m^}9Z{_3wFDqNMwH zJqP-vCzb-GB%V%8r(|aV z7er$I2byn>(XLO2#xLgmVS*vVX1zft8%4cuZ}snE1x2@YM2}owZi(P(sUtdGS9~|| zH?P+H`Fo!RK`0ZO^}PY-gDH-0?c?YWujbx+TAPPYMp&Y&VGF&`XHVLCo*-xx?)zYF z#W7#hdyK*j+Kza{uCTcV+<8=mR4_R4m|N9wXJe)S0l1T8Zw2WJ>o5rF+kMHczUSNm z+}?fxpy(+=D^*l)2R9I51fePRP@0yjBD)Il0!m}O98QuQ!~hd(h$qK9Swrr^Nb}9x zuQGYiKIzydE*I+f2E~OID35gKDs{9u;>pAwn(Szg5rr|P%A8k0@U5bDEzzLFAQ41Z zSBSv!LQ0eTRw{r01-r{mQW*ei0GZD&cEUEH+HY+NA=OZ!4)w zefMx%XJw1rs4ynLy8k*q~_aE^I1YyY*G9(j!GqP@p zcrUK?>m59$f(3L(U*f?;!-1I?)?LD{tIeN;l z#jDQA-{1c^nIvU0Hlg#zIfP=7Hr+IYAa{_?|0KO~bz#BL_ zU75$SZQJMQ9kP}QhA+$`Na=2hU?ll)gA_*yCkZSy3M{lL4l>@0y5B=vPb;T`<~TA8 z1mrTXBoPtQq(30A3s8A*{u<$>eSCN*0Bv@j-v{5nO?QtT;1dz0JEwbckHzLkO3O+@ zStBB5NHJA+W_Fyv6Io6hH1Fp+{%tlSDc28J)HMyVT&&D(cBt!aJ}{|8obDPsQrSq^ zmx(b;Bn(b$@-}@4aK6d>U!A^Y2S^0-+6KLJ9`!bJ|B_A zvZruC0|N7S|Ju^4CDCi}SVDJcdo2xVJ0fH2d3z5y9VRr;i)!)oM!*t+NhlHi30c( zs`BP;9$$P??TjRO_{V3-QGz6>ZQ~R+BtDe>sQj#GGbAp{Mb#~?lPG~Fi549VbO1D! z(C%(I%VOtTS<}>9DIiBlTwu1Gd;*Bf33QuY0FgOdn>@pcp9h`9qHnpZwW~tq9%V?I zh~aQr+-OR0=+{ptsOq%Sq%!qSAPjWH{;mP7Ph80B14jdRvXsBex{T)Xet#k}m0*Pv zh4z+7OUrhzV<3uxAP|Y$Mc3iyN_2;EpyFCbn`cn~cKm9}I54uvA0||3(5)1=ZOOT| zS>(|kP^d*rJdiA{N|pDJsNuwF^s$q^QmBmen}4eMbglT5Cj19OdGC)?7xkoz+2pLR zzkr1^$`>JMcXM#w$sC&4apm->p=imyObxOP_FhYGC(Vyn$zc)RWcN_Kz zDtLM3sH63RmhJ;_YQYl=g`zXP*Ig?ScfrHeCY@_%ooaP1dCsjtwSw-Xc7@(^GsW6mWNh6+1G1HX>%(Eq;5?Elw41Xm$n zVQYpr`@>18G4^dpxZ?wk)sY>J^KRYv*g6K+iL_3zOFNiscnyXUF_!5a4heQRuJ005 z2mc*Q=Na)Sw7lngu?v%)V_wu|lZV;R+15PXECSrwUp6Pgm7G zqhxi)z?25hA`sD4IJ1czLIP@9?4D7Epx!C-Nwz z{)k@@XH`VyB@8$JY|>Ro$=LTIeoeJ7C~GzF~+8 zn9^jBXYP{pS4EBD_4NU-3zsW+4LWw)(XKl&CJW0_$cZ^Xd4l``Fwr~Y5{Z)9+l4Zd z`?W><%&x?ZuJIocPsoiu$_kAR;c^jylq{Hej>J1Z4;y{R9L}=|@kTxJ2n*mrLLap; zyi#w2O2-^A7ye~vkth3DK}cb&B*)umf;85W9RyXux{)k(Fn#*}g~*(_wh zIQtu4YFiuETske&7s%YD@2f7XCX2!EpinFa5pBBGrS+kYM{dG0czlWoaMRm16VfUl z>~OaSeSS^+_SoVz?7Ghm@=2b7H1x#^3a{YAX(s;01*r3O`IO~*Xlc^71J3m5ktA+A z!+h~3euhCV%VNt;WqDJBWGy?tk}l4G@3X-BdtA+|Qz42Y|H!h2-(drKz|CdKUuBn~8UrkZze@YbZtFJ`woT4p3fHsmp*OI!?QqhuxO?G@kf-n64{+@q_PWS~G zJjOhtR((NG+4bo8ZTo?MH#hX*5l@DKC50?1&-e00pIEv&%{K#XDOK*0o7skz6BOsv z_GD#iH8`dshN1Du1la6zSvy$%#8Wm6Vaid8bERVVK>=E1>YN)?ls>^`<*}`+gw@dy z%zlPZt~@TVDAp}== zU~v*#r&N~9Fj>hX2w9WZDJZy=x#1nyOQ{;O(y_Y9!$?Sx`T}9%rJdUiwBuG)&FVmK zoKUX)HeaU&cSi<&rkraSWH}Ob{pl=CXj} z#Mua+ge(eE-0W!^mmABh)TEj9*XzQz(fA!J@lAjgI~)o&iVJ6hAT~jPlU5)nLf&y4 zf8~S62X$o9CGSZzvBr0aa|(1(r|T(z4w69dbqxX}4$tREd?I|@A!JrUeJ=ANqee=f zBp9)SWGRNA?D)`H--)WjTnKsIeU1C_MQAY6p#C%8c9rsQ7loxfIPGRoUfsnEb!7GM zW^pdH@pH4x^ve=k?@QE-3ZcKqp6j%zBPZP6f!MPG3Gc-c7?K1|)tVbpkZ{*P?PYCc zV|sTO4eXx)63ZYmU)Y!TP`%`FjA*zTN`?A8##1Jj+l-p$0zgej#qKoLYxKks|GNty z0-hX0a$+}ipq?E~vUmE5*GQg22Ri-%W-9bEwE5wWF^M_$xSkX^oX`apNEC3#IDF}( zq50ta`c&m%*pgpfiR9TH@j=&yIr`qm&(*GDMTg z32WQu`0!!5>_Zbr;X+CKBR;6Y^^6N}02gZnCQ@++#XNbPMXPDHd;ja&Ex>hZ7YgF) zn_34dWWY|4ULXr_#s8#3ORXGLX29l>&8lHBkiPTWIIrJ>&sf*j&pp!?^h}1av(M3-A2fcg37V+7QYfm`)+?%TK@Cx@e@%EqcC*v zX2bK)DA~I5K5I>TC-%KeF~H14vz(;``(vCt z*L|!%pVarBS(3fAR@ZlYqfZSuYd@f?D7sr!3nn%>Eg2=%eGs2OYm0}4@h^s@Ekd^x z4?WmglB?!azS6>#rKCh>QTo4x$*SgLeD?}HE;uC5Z-8KWh*QUKgule(qQhY9qEdDf zzmVD9MG4&Gt&M*mzt`4tK8k0^eZxx7$Y4YVl_JiT>L8>TbBVSMWk!zgrs2CF%zzYF zxfjySM22K$7c5BcN4VCtYwHer9yqgMP_i(~G*DKgVaT_Kvr&@cG+DO$wn|%$c!4W| zcQhW=`&XDbd^8EZPcaA{&i%iCZ1n*0pBt}O^ZW&tL)43Jd~1R{X2izJ!%wKIn5`pv z^io1gyFve3uNiS8%Mn3JOp7W}%F~|Ojmi&E} zD@|GXn>)*iTZeCUZlYUBF2)s&nXo4Fhw<@Zf=Y$oFPJ(uLkn)W3z2p{Uv`mT3y(Aj zF7d}D(l$K&kXOb&Y6uBuWQULM5nakd-!M+bh=v(}j;U>!nXo=)iVhHwPHjst$m2i< z_|?n%)-Dt{5M-V0hWQD&`xzC1tFWn&Oj6~2;g2}^Z-M_6X@BHFkBTKO-hj%4We?_c zIHIW#oEWFq@Zy=wlBGlZb-_y*L6+}Pc@aT-dt8X9IXa4w zKu+$foLbD>3t+!!I-hnMM;dR>Ws>d z9aSNBA+q=EQIS{unSEYA;Dxph>V35ZCl*kH^Uy`^%u~ev#G!;-X%>yF4TQmy2)|#b zww#`QA56a8J8d{Hsj3&5q?)eUm0uLjyp1aAdD*{L1|#^xbv=Hq@toFnFS?bTE?wbp zbiF>A>^$o*To*ad-`ohgUvK{SfTL^l)~UqGy6)VvO53~Y++d|ZS|~D_GNohaS|Hdq zS{U#-jHL0e&l-u}jTG5+8{Nh0wt`wP<7Ua-+Iy&~@_K>K31-uYOD9S2P#Typ#SgrL zE_PK(0sD9Pi&nHY+@OGI17w z=GfDS0#?9|dags%YUK$=k~MPvKUYONICTmr^*p1Cf3%GYimDBId7eSMv&_rJf4ll7 zi$zW+U0-AO{7I+2xA3&ZSQ6XGzpa|Cvzic!ZRAm{FwI*25Q3K%84@3voHU$9BcI_z z`Hv$c>(Ku>70mwUM9^DAL+Ss|>`x0Seq_=odsShcw1g{J;QE$_!yT_A9`+jwoKzp{ zj)N7sy@QXI7q)+ujG>dUbynz{P}-x({B1UKEQw74&X=C5jLDOMa$m>u8e2pj{>TC* zl!S_y##ltS!ma7TTV2%?-Ic8)zJ0DzP}zAI7Nb=F%by&^k>78UfqvfxuH4;|i}6tP zf5(^HJjE~BJc?^yEATLZFp6;ax-4R}zmeO2rrgKS&My}__)AEK`UYJXQMWl59hQ27m z6%{sY;4}72)pE3Fg-@|4N08Wf80c%lDH~n*lx=Yi@zyZXWP=tMoypu+dsoGZ;>h2L zR++;&&jcwoc#OWmT>H%N5&eOx{#qrb_~m&YsIYWBy3z4W7z9FFT3gb4-p#i(TEC)-b);M7Z(~Yi~3KqRsBL4elqED)sLs1PlLqJ zi~Quat#Df5T`Zu8!_IQsiV--`#9VP4X1c$A)^FRjksEUQXy_()-9Ves5kPnsq0#Po z;l6-OD_p>cTit(m8OYB!O!I4@ZaG@$&7J}Gx2wYXHX)Ytg;1f4A|ycsx0gr-kIQ9f z2>i&xjR!E+DpMw-+e(e6bb{869yM13YmhkVU-0y?{YOc$x>)Gu-mPv^60j`|rX9NA z?P?44?O;ZX18!?xOj@};9m-8{8kZVSZFJ7Rzw?1Z7C|H)3kGFrMU5HVMM9Taf-Aes zo(tU|f6e7?visutm*n={wr$tF4-ko1cY^vs;Jd!xt@IexZ#`*eHNJ7u$+B=bgF>=f z;-yT06N^otAijpD;IYWC_EZPGDBdPh9S1fznI!A#KR$?T(oboQ)Gf!X>R%S6iKwu& z(9?FT2G`-)b2<8KU8JvzI8e6iFSLTSsuwdB<>q1Sg^Z;8CumyKKN@+xthQjr3;g>d zA@uNYTv6Ig`Vx5Nv;S?Kw?OkHZ^FxJAhG+=hSYaM46z79`1YRVx9%W#+52|C^}N^j zrLbP`m~VXhB<&18*6Rw=GTZ*|N97)9)4JJHa&E!%_@rf+*~`x3Is4__DGMrY8{MCM zp1&`62JicTZ|8A}s#iNbCNSSUFAPSh%(FUC(2B$MbMKM(gT=$+f>Qm|wK`%ma(u~P z>*e0(c|I#yR7?14$6~@Ofg|se4sU1e&myn_6&fY6W@@Utl_{!&_!l|H*blZiOvBb_ zp@!#$Eu#`UJ_ka7?Mp)Pi2SCS>B= z4N5XOWo=bgTSPoe?O!D`*uwboca5oX43+F>>BxStkqgI(#{CLrO>iVdJCJ&7T;&os zfbSHSfhR-Y6e|9vF=(+M5l#+N41z7XlpZOImzmtc!nm?8ahe&(&*-^v{4|FPjQR~) zu*eXt5c-2LD297uR}o^#sF&s=hxmm6Y=x>#-MD8aiH4V#AK4F&MUsKxA-02|2tUGS z6rCR__C`khZPy!ji?C!7BC$`oq2Gqn`n2A#!4ocT0)-7`ORu$zQmq51RckuY@4heo zua(Y0D+$&x!GPe;PVK>@+J>-?1J{6_2hU}}NKEav_Z5>biFrJXuo%9lR9Y@H5!(cz z&lqcJWOe+~JU;Yp$KP+u!XCaF!{!aJKlPV=V>*sDBNvW#bU>n6P!3lFuLVI%MRX`n zsL;+i`*AS-(c~GRkqiVENOwqJh)~=MHW&}S&$>NlO!UvZLp*84RJ4y3-dl)STi#9H z5QMBcmX`Ccoq!iMW3yi5vSOS1?F0l)e>Xqh2%LYpCv2D5*SN2Af6f-XnC!Qky{-Dr zeo}Mh!@_@PBKX0TY}94V&Ns4jp)>T#%kVu*Y~QWOhNv`=;#_6xUfNE&UE95Cc17r- zz(3X-PX1PMqs0QA7RWew$%0e_;roT~^x_V|_EGLbIgdO3c9;`Xrjj=>|C9V$WRz&O zKiSK3bRwCr7g=oEmQx4c&rO3WpPv-zp&Z(UT<n)2mK#<1Of9Iq|(e()Xq`ArzoQzUrFH%?g%Y9L>C zT|QCpxM!%dUMF#@d05hb=DmPX@kai5z<3On@WYG@dh+#C#=%Y=kzn6bn3i8=P@m_u zw_99Dx{U*sQ$jXu3_(ScugxZsd1Z0*{smqUcI(Z_n7~;XE#F2*;E`=83-D@anPn;e zyIJmkx!ug%SX}J}Io_4(-y;0E{kiB+l-Z!A=Qj1FUbEWR71ZMSuW|o)?c59zs*6=VWTeHLEdjLkzn~TeaX=Yb|wUG`Ny8kn|P_hj+t% zzcKHw_FCb74{}l@Y{L+a^@CK7 z48O-!vus`pYGhs|GqAsF5HHj3U^qKp%+zjS;{WZ}|5M`qljZ8SzQNynm0V??CIi$e zeW;`#v?poZ>6w~PBrJ%c`e;}Y;5NE!?46v5$o4^NAZMo^dYonees>|-l%kPgYh_Bg zTDEJ8b9=x)v$40Q06%I@jGhFi>@?arNK@)6w3g-u0myREF z^MaN%>FM6_L)#7WfO_TtzQT&J?Z4hh2l&Ky| ziUTFEW1@VoP`W0m>EK6J%dgaE-Y7k~+9N{hozcDX87RTyZUyOwDM8Sd20o~<7&B#E;0p$>!jG~IOiPo;DRLh@Uo_T zI2n+lFx!jLUGL(hXtdsWC(65J)J$LX|2!Sz$dMo`iv=l+?_v7x(*Y+*j2M+Chp-XQ{iMbneeiPNArf} z2C0v>Ye97oA6-pMRNqq;Hb^BJ#qRi zcJlg@ulx$qnXv1bZt?--$vl|vw_Xil_{bX`VhMiJj+LhJNXPAHqwGhKn}$%4tA)_= zlW@{C7Z$ zx$@j_;`bdOP9qs$DO%0U?p9P~5emBfN~v;V5Mmiw@oZErgNPa^aA~B5kLVdD+~(a& zSMpLwBK%>~Fz&WtK89nV9)ZFjPV>85uEkU&0+uAUD5jP9H2Kw{wcUD{7_sYrbshx& z`-cr-K$HkLGSl{H8_jk+3_F(6K^2DGE;4>^E{fSNk%lKzm_<~OF{XtmHdGR_WK3`v zMaHog_9MO+Bu$Thr;Y#%T-VTanMs3X+H56Q+onZ1fBub6lXSISj~Kr93_>4 zQ?I&nqe{$P2ZR5lWz&PXLhsQinJgtF4rC zB_kUmOvS^7{#&^=X{W6G15vgIvH$x^X(k;M7y|Y%YCy6}p`}bjq%We;C~q`Om1G<6 z#{aPvFhqh&t<64WDI@bKQKXM^NG)pgmfVf8l57+TSEF*L34yvgGGQbU{^^V~rW5SQT$uTvy5eY;7V_Py#I_uYd%yHAewzFYUb3OrkHH2geR160EzJ7MnGZOO`3 z8TM}5h2(6AUTCv+^vdYlg81Cgms{@>jqtW2RQ@<#Usme53`37IN>9r`Z~HkmTES}p z`rcMybK}i0goWfVys4jq2oU@Y7%Q=GvCiKASi>;*#?9{8lLyN5)$3UGnEj!Vaed4& zCbVDwC3!6_8FGi6H6Wiv(sH_F)tD*r93JbSB=QW2%>q8i@Z0%73@@M=xUMLdl>@SS ziUfwY{j#d(3D^A7U9GCfeO0X2jcWErMx|z(j^&K^&EjoUtf%+{ydOMp>XT3FmJj-% zFW`3X8!a7N}wdoEtsbmfsxw2Jn_SmzaA zcRa-gvs=itG|ObyBBpx>-f$Pj+z2(7kyX=C5lk0L!zX{uI18}ah(r50_YcEfAStNj zrPCj{p4ia)2O~35Vh*+nLLry24Tl_^qqH7OF>AbAU1`#pIAa#rc#Vf!N#YueA(2wF zexSLDLNW5{(;)W$AKvjF*kcF8m90uMAy(dz(FY~pv`E{eU(=1lv%o@dPc%oc(+?2Z zAiue=NAJU#6IZRb!fm!4OCTA_uX)Rr>yP3jjcTr#2 zatZE1x@x0tY#8sGwX#Tl<3Shd(0k^l?>$(U*^d$(aQcAE54{)zdqJGC?|a969WqO#eY#k_P0ua6opTV6vJg;M9b;v^7b%J@l@8Ja$Ag zca@X*hu%vb@z2)XG6uWmP<nvOC?SQr*v zaS^rAy#BH$0_}!wHU6t_^BJ0Ndmvk}a>oq?aX+NI$n&h;H7fcBEZ;{ALp#J;w<3m- z_xeVpCsv2`r6+d%R}!(RF6VH=Hpjvk4OYc@kzcQx1$sWQzkRNHK zzqq@A){3#F-Fm+1D0)pL9$(%cbNF8WVDa9}0KUyfn|jF2%QRW`4e;M`ya#}w7YBf~ zO$dJZaG=@_6>8(la=g%JsA;0*UsY!Wlj!r%QX*pKN=W-bE6Pk)+a(+uOGtOP4 z6aInFI+a+-%}-q&4}(G!{kuDJYSS6mx0WJs>W2EF%#ekVGi<|7kINO-6;{cgDF%= zSc=p)euBKj{vpC1ES3xobZj4pe#nYZxdr|M(t`mXdo?|XGEhnm5T($j-(cYpuVK(K z453+H_I?+=Hw^Hp;8Gs^Xsp83GcDI^|Eb9|h4%}+$3;N=7lot zCLR;eMzLf0{KSIGOtoH}lK|?UXPK3U+tvDYAL3ZcA;*|vVLF{2Jx2f;dHp?etJU)K zy^hSz_EfmUT9`TR|6DRNVDHm9Mq~*YVyL(~t#8v}0Nfj;=Z|Yk@a+%3ONB27Vw=8wt~*G_(JZ-z35M{$?hkUFMPcR;ikBBsrRB^vMt)=1#= zF?HY?FB_T;W-TH&+g^@iu0AsKlbz3QV=~_TK+YPX@_A8y^gU?seldn-Ca<|*a^P+g zo&%kc=i}%-Ja0WA`+$ibjYXLJe`^7{6}$G)15Mn$VKFatR8=ohZyVU^S1e0sIt#woz5ZBWN={+~Y@s(i zZF)FsVK6m5WVjw z5w8{?-W2gaUKXWJpl6uN``3>rUfp-mf1q>UTJ}>~>({MS=ei~R8(+A_WEyP$g|0(S z3)-8F9ht%FF7vA~fM8W5w5{d)uy6Np+3qo{nssvpIC3WJjy}QNgSSKPeecP9psSFx zPYrIZ3| zi;BMVwKPc+J13fKSQl|4rk)sH0ZEZ-nJkAAo(xaiNH#x4bqb111-OWsNG7wlNqkD_ zcm|hP@{^J=ypiUg@g`=q=+~kM_aput!2NQLJM#^~sLKNT;hQ?b-v<=w0e1|sA**2; zbAL_>Ml<~yr(p!7q28z$e$Y*6yXI$Yai>Kp5q1vuT$F9vI}Vxyq$9t0{y(pdPs)nF z7~%hO%lvJGtq_UjDq{UYMzL)>VS}f5hU08j>=`+!%ngpE`DO2fYHKTL!%JEp+(5A+ zRSZ+{KFAtKnlP(6)Ns~>OmGqJe~4cmAvq=gi^+6_!H!}ALsgZYDsYhWYfBm(j1R`e zQcaF&#GVKYv84(6ZmMe=LJ>P1xSn)vuBij^O^kfvjl zrZH892eY<>AO`J7is!HuSRy={#ON@?6Cs7G9nLi*%_jdH`+zd|jaE5p=?=iKHvWZOvc>p8-i&70F|wj2}Txd{CJ zwm4g@_8buSNq}(3jaNBf=4|C)}0 z_ea^Y2x6CUkqusR-_O7OrVrIFKWiOtyGH!Y4*}YM!+E`FZ;CG?i)NYkkHgHt`H(L+ z<Sq_f#)O$s(0zj4;c#^}5f+;rb2PkkZr8L8P|hF#+GJ?lXx9p`9?wgmu8oye=wm zU-^4jm|n;L**J=4ZP#f2^+1-S=dz2NtozVh3s4Ts+uy90zS%Vv7?^&u`|GlK9L>wo zjJT8=@30nQ>2@XMHP6HiZKk~S8X5a`*0^h0YW8T;+8e)YcYlyszZcG8RgS)E;(2C{ zH!Uyq_KyyMF*9X>JFx|^ZsTDe@i;Lw#j_C(guIU>-|}3y98ns#Y}@*yMz;y@r1^_6 zeFhf#=U%%pr{SalaW}ty37yk6PLLm9c)QO)V);(7Vi_M6+l6bqG#kUL($52$BeZ^r zR*KjlZIjHlPU@N%v@Iu$zMN6s3Ib%uALF4_<-MX$AtHP-<9SN>m>xU!v~1Vj?Eq*|*)0&3?8_&7W~~Ftz09hD;m7;e!n0}r z<)(f_uPONayW3**WT>A2SPVJvd~`Rx=!rJp2)ycozbR6b-6}Ht!E_wr|EMSj|2if}|NB^L9s@PQ%9Hc&Z13wD2BGww1WjoN zxLA>!uYzkkHStQ+6Z$(-?8W48U#M3blVq5K8%p|629hM-8QYG0G$UswOzvbXuOk06 z+WpDmNGUuWbugc*r!I;!hts?1PYU&~vsuHdmdlSxNo;|ASN2q+(gWtq7HZL=v9L;R z65{yt?3A6-26K|}iM5vOsM3Z?Yy*ZpmStPjxI^=FoS#sQ%rT`X+Qi?6XZzc@g|Jqm zJ#>Wc4;t3B^Wy+ft8kDeLkr!*#QC@OlawgiR{*F%(+|`3D-<|ww z#w3*|v;;C1(%E0!e3wgYGB>8F4*g=-#>r1HglVEyW2iYfxI};)-jh(PiO55ed@*Si z1wy7(O8dPv`@1XEj@uF)^((u%BfZuj(vAJ+lC9oa(cRGwQx0)++$9>4Laa?{Z;VX; zp6wH{lA+XcCHL96zjGTcuw`GC0bJrnWTS(98*oKBmSpi&M7Hxi@38WK=hrhD4Ukd3 zRz}i_USBGJ*Ddx-vWK=lTG+ksDeV(sZ$4&j{%}Lo9&CNeev=b6QHE{^DlNhH`_Ys~?p&au4V3-MJ$~SJG;y4Px5P zr=343kfpIDtqMJB*ez_stGt9XTX)MbiVsk*@{<~W_-x_MtUX`|Db!<47+^3#Z{a=W z?X4v?&N6v@slVC${qcD4m6)w&)s?uJLEu(-aQp@G?zVaT!IWq`FtSu4M)2r>HtQ~l z;$r3D)v$D)Cp73Z@E8qzqsrGd$IH(&ifiIfQk;}Oz>R$I;FkA%V-hi{Ygt5pe;-=x59l2o zlcc9}@5#5ZI;LVnbZB8sbQIub1Y3;;W)rC>xN^6G4A7)PIVD3=9;3QpH~xap%2G%8 z32bOy7z%Qal-WLYv0^Ep$ba9q$ef9!Y?8836J^*h(`sMRV=Q!zFSm9*r1YiQ@O~$r%T> z`&s6yMrHBLt{4b~87pjYX7AXVD!?!`@I?avvRKpf1h6Go{_}9x9o6^YnoR!&!S~Ht zDTOG8z|c)ee1aTL$2_V`qFm8i&?m0b!q{~?@SA=TR z60kX@z$qKhD0Sa-qc`w%&WK(Znj#dY68DI5!Wi#eg~!C#wurIeTM&maca7^ z77Fr+bS|@Jb1Jek?JCaF2@Ct+=R~v^mf_zZP3MfwuK1n@WeAP4*X1D`IfLC>_eyHRhF1r-aq{>{i&D~+-sF8S)m<_OCBwSp zadLerYA@zlcb;~c*F}{Pcp9KQzQYlCg|^4;1n1DV$=p^w(#r+9ztm%EIZOBdz2;sf zS6I5(9kxAtT%d?wwiUQR`+kT%PkFNhbi0sXoAPsINM7$ct3 z)DIPn6C8(}uY5@g->rk?XjmLFp7C7@FTVLo>qrC-a zQ;u#=sxw}Nm3tP!66bx|Yj;x|p000eFFdVvk08(Yaq7P9(goz0eyC@0KpC8Dm-l(a zx@PoFLAl8)+#bi7AWFTzYsH{6RDn&>Q!S@4a{Bw})+yzuo|OVoR=SkAekPq#f3(h& z0kswDsS(NCMez&>wP`{Td&tp20s*ePUt=?5SJL4&WSX1A^b~gqPSJ!218B7u(R&M@ z^HoJ8NnaLY#6mms4CrqmNKYQaO6fO(rZ|@Vihr+Br=lM^4E7+8aQBnGxpcKzQ6#%leU&(`) zqtk(XfV2Eq!ts_xEBNS>-ZeyOfww<1G4h=vqTClym}m#ujPr=-g($j;^N1$S%uhsJ z0t!S9hU#QWcC+sxRqwEp*uVBN{4QR5*K2QWIE1BGK#t+Y;y8LBP81*wM}ygei&s;l zr!}ngmAKmliyOAIOomcN6opGx_QG5fzMM5FghN+4K)B+Qae_c7vX;tZB0kkSVc7ot zQ9Y_iwnh9OKT~N6Y3T$RgNtQ$_$QjfaPlUIr#W}hh6zUL_TKk(NLuhQCj}%J@h9z& zQYk72NO2~VWf$?o{`KS5xCqdp@HvLG8R_1&_?Ls-4STMvh&VZPxEIfPB2!lV17;aRr&@Ow;w8YWC{fxH_Tc z@~4ECqJe+*LcjL}Cw@17u}gWFWXqyBM{9takA)e~hjx!4k~&Hw3jmHd_hSBiG=pM0 zbIZolmTYx*j6mB)FUzLb*|7d~+Ux6uNOlvq>bmazcmf6-aTx?_^Mx#vaw`-wk#icy zT-5#Vk^8Oe=yt8gYwi5UL(rDJIVW4)Di7Db(P72b%^1~+#_Ol$Cg{_hot-YEx75~v zbmedUo}}q$DVO)`<7qwAN*`Ke=W(pxevqFmwC51J|NX4`xB`g3 ztVTg0t~8}k#_c`;{Nh!PN%KF|^UQ{n?a!>b^j~{8g{9cPZ5$X%uMfxYDzDdB6ZRQi zZNh4E9WCEqYcjn4H&WNzeeWfBXq$n(M8;#Ok`{MJ5QhLas+4nZ39_&QHxuu)hFt)WPUh#?V#9bKY zL)XlK-*OLnzT4nOK(vQds0aeL>E;gcT9cgvW_K6fp-dCfJAE)vv0$w#ZuI+Qq|_h9 z7c%yLPBI|V6L(;oA5;7E!lgZ0&lpk$4X};<$)!D$&@iAIB}n^XLB)kIFmlh1NILk2 zewA;662Un_S$8EvP=O8X1VR2p!c!B5%t^ct(&a%xK5QtZw0A11Gw(F}6>JCN9FYqD z7Bq8M^nn_N*!DtYG;;&Q>CEu~j^o&o1IInXH7ap>RH<_ZeiY4?I|kSdpQg_JpZ)8a zmzrzYh>``b3SiuZw^auaB@#ky+%Cl7dB^`j>VETZR1_AvNA zk9-4V!l`0!m?o}_w>CAX=n?lNk%bdWYj%MFhys&^=5EXSK6pHcvwb1I<>KRkypEb%5H*AuOTJW(0mX8 z6L{pg!lPVY<6PJWO8>P(nBBf-HJ`WOTAWmY13iC{u?9B_EeCs_a@dQ9ZH5qM2nPOp7E4gxWqZr|7WCu){7&mFf( z@AwgONlq$ko2^!FK?R{p^Vtr)$KwqxeLPV~3<-+AuG;UeaeW_`OWQr4NfB*19`s$( z2o-(TJ#M}ZpXu%v1|y2Imh$SRrm|k|M2aEf#&nYk+N)Kb?T#bd;i}u_geJa^9s+&V0^FZVg09>ev!A8^F5w+ ztC^vd+N-f9$?b4QBUAV4yvxlOYoC2%kEwM29QWay!QgP*cHs?Y8jhNqcgx{anD*F+ zL)1oesO=MqraoWBvj=1Q#S>bOaQzOI3X#l?^~C+@r7X?b7xmqQ$|T%^lG*g*d#m4t z72)nQCHLoV7PxEKPp~ZZIKUDC46}{ZWq#IJ|K56LrT)>i<%>+%h7?hj?^gchftRdb6KV;L~7lcFt zc5J)>#hr=x7+%vSL>Snq1VnZ})<0-jqfTke39?$wgbg&&8Da1rBM5I_Al=xdUN70c%WnuM!J^YSpfh3 z^9x&28QT=9ncAifNXIDcx6W_MubZDg5PAij5EW2i8Ve^87Q6pQu_#1Lpf}8wR~j;Q z(`L7%T`j>0n&}&ul3x>RGLm#Yq|Fx9eIJS13OHdb13q2Boc~boueIsm4Gs*X=`03e zA-#0k_u9;4KOp37$a0EeeO+eceCOQ7l7t0RW~1l^@Xn$aOn&*r(bmpD%M8rsz9f*M zLpA4psZOUHs~(t$OcSDCGauwF-Q9RE#%&N~kyN7N-?I_g%Wf2$7R1TbuShHE1TPr$=dSoX+5}5fv>p9^xa>qE zUGYL{cxO2Fd~)!CO*ad%<-C_gw|e*Id94-jAwUH=hA#q5jRkBj=*jb$_pQkDw#d^s z^bxbYow1b|DTYi3LwNr$q6Essb56>EJ(iQxs&hoquKL?Xv5pOGcwkKy@iU*N?d`49 z$zNk^pJ#c5*R$w2_oIH@iDeo)+re8WOFer-2R4LQ&Wf)zfSzM`D(E)5>5{owu=OE{ zDcOA!e&6>oT_3tqByvBA`Fsp~Pp5#zM@pi0wPw|p*VNk(2vo{*+0Iv{2Vu7>PUH9c zS*nq-zFUc)+FRkj)y!@gF@o@kVKre(gbxOyQi^s*Rv98@u_rJ4@vFrCMeX38=nmPr zsh0Ru0bkt~jLUI{U0jWGgm3+TEQH|#1_8pH?^*N9VK#Krcho4;Y}}+`wXYo)Pe`V} z*?Nd)2u+W&n5T+2%meEyALZ3Nam<>wmiXVS8DRB5mv&8yDlanta#aoJ^FB`4(~MG; zhNcD17+hXPkw_F4WxGr2MB#49(5OXe&oYyN-c-gf8>7>ftTP_Zw0Ib;@+SP~;+1=g zP9upHT3?NW9p0Hh%l_FWS~|g4T=Ki28Uez`zVj}tDdbXJ*#B!20Vg$Z3C0IZ;45iG zVamm`kNOcSwm~@{#B#2Cl`i^p&$Lq)URM7=IAl_p%7cX`865N{mkM82rBs$i!>WRU z^MUDhM;3*vD5}AIGj4H@a3!=sCvcT%R9l=OrpCnbFob`r#5qofj$`6$(%|3@PM(MT zvBaklQnK)AkB0Qmn!mJ?DS6YlEczOO$=D_4T7u~vKh2i^WAgTwVuVxOG4T;=lqT%h zc{+6Y9J1Ad=GYIUU_ZVY-rj&b7dQITP4#zF)CfcKCYdhsRIWjT&@NSf@oGfCC^S63~$LX{A=YC8u9DQK$sW?Bt=QoLS zd`S34zo&xNgO=srFz^Y4RrEKcLAgghLM!^TT*J{G2pyymj>vyLxJrmL;i@&Z#S@H+ zNuN@r@ZpJQ!DD-Mt5;}Pv4c*TD+La45a8d^;mP|&JABjF4Wrc9hhbG@#qjhGC8EM53D`4D(sz zYlol4h{1e0Z3IAe5w=#t-iR;0U>Of=Ord`tuD3%u0ACt7i4w25Azv`07toZrViS{D z^y?gVhvd04uaksS%T=8-Rj|`gSA%sG+7AYa)r{WqsA5kHkKT8+YI?1{0Fx#_)l%2z z_4ohINN+3D`uKjUkCkDiwsdOBv-GPvH~anw71>fg)vGux)qmO20PIqIKv-VacRd7R zb)Lgaz`z~DV5yI6T#e5$lk1xAW*cLV2Ke}DvY&pi%-1i|q+4IC?6=$ZHIHVb;^XiA z3tv{F(y9c5T4S`lUzVQ159_qHLG_v5xI6(`WzoIOT8_Xda2xrq2vNIym-qN zMVV%bfKKjP46D99j&)i*#!=!5G}&4I#*E-@mnx>ADwcx@)XO&Q-h{o3z?oM(tf0qRaLU4W;nfp?mg7*Ou7?WvffDC9XF`3rbfLZ#(D6gF>E{R;8mo zVU5R=I4?&4vGwBfb^>n?n>l`72_ts8H6+>8usv8NiGVdo4l9Z=5Q__TdNsC*a{J0{r}da4?y(VYZkK}0*mN`tan`vLc zIdh?Zg+zC;UWwv$B>AJHjE0j};}1sZ#R;Ax^xCuQvwv_uUq+&>9 z3}X9ep&d#6mNFAV2Cpk6Ns9}k!rnBtOjp6zHj-p$Fw7NK3CF$IAdNNbid-dyWUZ56 z#VwH~j9-2z*Eo3k@LVm)BMnw4z%YHwGOVxGQl4B_N6h{+D^-$1#dn+xlmcbIb9zAE zpF+a6#G|Iqz_CX_f)q~{OWOU2GqlHE+TEcoB)0(K+X3&Q2$cFZOe-?9p4AmihI)7@ zf5K1BNw>Y;H@PO7RL1Z*(rJ>KQpdT}30grpu@2PEzMSjMeT?et{Ge<^dOQ5bG$kA#K($~evij*_0h ziQq%Q{j7%W^~-IGRT|`=KyP{zRfunF|JQZg4iLfEW}dBCZa!=C1jL{stM^6Ji_X*X zn7rq|__KQFSKaSs0gA)!T5;yIYCmflg!~V%XI#1%DjHf&yT;2wZ_WTt{ps{&Ln3V) zX1n$L>GCLC3Fs>^|16CAJ|uRbE_z*#0>7h`Q>*0CBai0XaBAvkFh+Ms@c9>=xA z(aymHqt2bku6AML`F4Kue;?a~A3f`YAHRUq`#~r*dn7<;(L}b?jh-WJVap`qG4Vv5 zbS53B0lHAfvRn8up7K+Mer$tf_l1WD?1#(iJUS!wFLIMx{`IoB-vcD9Bk1sh!cw&f z_~|qua9QA3=6{z@Ofr8f|>Qx-)!65C0p#KF8}$>=(XrMJdQ>3bC@2J$Hd#-HYoBk7$_^=FCaBq0Zn7dtn80_@csc0M<@8>_W zd@lLe?BUKNJxoz(ozkexQwy}a*#uvYDHY7a<+2i)dw%3#cZ(+RDR2L!RYUkX;O3#N zT0NKEs;*H=&$WzklVMRvVlA-%)0(e3*Eu=~c^CDSqP13XcJyKYe}<)se>SNGyvJ5^9373SNafOV;`pLqg_CT^ z9Wsgh#~D1yAmlE_LF_=#s${;rR&0k8OV4Sj7Pz03qj>=&$47R82efT%j}Vr`r90F( z7?^ni6V+322NV56BK5wHuCAgP&}h36b4J8E1Qnj;;@%#vpl8#7kAH3FAWRJ{|JP#R z(4~~EQ|c*T?I3+qBmF#s^6jUQwma@VY{G;J}N>AUm`m1gK@MXwC5(D12*0S@@rKg(Ux*2p!F8YLoH%bv20 zD*#u-yI_T%0k$pAKJUS9Ot+-IPgL+4%E1(ls!syG=1xZ-M%!tcmFn3>Cc~-REuQx|1iR2t^&J_m0w==-CQKl=0?{?BaHEVbWS-T+-9rTT;UA^Kj7Yu^R(g zLwDeP0Pqr15{ZAy>3)rceMqhX|AGWxbl?)tU(v!~OT3G4=`wR3em6iDg~5GPbpqEL+c)GghrFqERl zpzZe!a9mBI)JeWk{ngrB+8@#U5fl9WiPK2s)VzBy{REf5o9vg!_&q4><~$A`QFcB? z8fY>9VtoN4Y!TH&DSW(#W3J_CL>8yuO7o^M2sF1=ULv5S>f4A=k~Eb54j3<=N6J!( zs8G~Y5^7n*>C>vdCM2d0gp^LE$mT?Dz8QpJf19zR!pY@Rh(w7g8_C-Q>k!YcRPl3q zDl_1sm_6d7S)OUEtZ{8s$YGTACr$z*?F#iDsl=*3ktA(-K}m$tvbtYG7!;P1WLXl> zTP05~UA~{b#8Jl3VM91~6YiXKm1&U2{UQg>$}k1~eJBu+sar6N#BaHyev-@zpK5+3 zrY{%ASB=K26#r)VzARAYMwLN;1O&HY3irC#CC+`YK>Ih5(@i5xPv)i#uNziayx?}e z$9b10AaD9KkkU=VQN@^(DRHY-8tLIru`X%#dp@~H9^jPljV8JcUzwaw!Q)og=o8g zxY}0tES=t>2B6+|@^Nx?jO(vu@faMwQ%7RyyKUYkdu(`BwvA$hm`_fd&zRR_s)4aw zB9HDY3ns~X+05VX0&mv#?^*aQWUg<&j=U;SaxuEwD0VScJ4rjuPNwNQB_oj}E~}p* zPHMx0Bld*D=v8|cbsouy^jihpji?=JhSHNCqW?BE4bBr)$FYBLR1am3bV9BI86x$C zNd-#hglDRTl^?AUSUtT#M?TxeIOt8w3Yf<|zH>ram~{DafV81C(HHXbfbEAfzZR*@ z%&2nSOULUVivKlIvq%XH|Ko4EmtkV5{n_WUXPb~q-f?Jubs*c8bod>NB1zjJnCADh z8G_qXsww*YV9ii^C`6^-2~Umu8`L2`c8j? zrmdIH8vvZlyhYK=AN9TcSM+~hB4XU*^b&e8YUlaDkv$p+mqqyJ?t(74mhtddUx1L^ zLNH<@LA8?1ao)p2EX&cq7v%k9q<wiKpL85x9dwsi1#hS8l?&jlnszhY*_Shg(I};wM&(Ic zJV={#?W4vaiJHRRu-^TVl<>oy1ew07d%C-sk|fBe;jwzf7iILhv~7M zzV@1PIWfTWg&QAyja9xz>vQl09_P*QgwtQCW*q=dr#79I=kZ=c)l-9(OFEQ0Y~hfi z?Yr?7?7C(*B%ZVxyA5|XUwhqX@QC{$y|nG=&n(T|W!=&|K`ca?Y98u(J@=3mJub4L zv)^7L=)6WGGp}@FrPnBs-0W-LaJS9eEaMp0th3fCx0khRJ1op?5RiI~_PyUT6Mk&G zZbx%?i1pEgE>C(2nV-E*3>bG`Lw$uDU*Tt9@<-RJFV&KmELgwlYV|zQa3FKquY?X|G6iA*&!m>z^?i~ zZQ>=B6FtjQqXmCPm5|C2AjMtqpanAER!HoAPc2L{*}7Av)1fE&caqvBq67{pd&sTB zToUGPQW=A?WbA1PN-Ee$G?-N1n+{c`O20-S$l4`H6eKdJ)RXYN&FA?Vo^LX`7EqkO zGjpYrTJ4I{R2}AT&P=rTJuEJQWe+*{O*K-@7esddDNas=kovqHs-Y+h4J5fur9;jS zoEfKrb772F1=m+t8)}m=7CKGv5&}AHA9hg)je{uIY zQdMVZdf015iRZIKZG;S$wmE-=q)5HnCZgV-heMi#dzWkAc8JowY@ZNHW!{LuDy|aZ z8Xt@`9f>BM?Z16#8fzS7?tWz`%dF&aei{%ae)hQnwlz}vWXOJSfHe0`98Sbwgf7ZI zddg9U4xYN-nQjn}uw5Wgw9=7{({5t}DM}th=T1=mEqM>&97iLFOeu z%&GZy4m?LMH#~|KF&4@U)rP$n0IYmT*fE_6iy;V1bZ-X6uh0+t2aS7Dzs^m=R0tTB zKF@{el28%l5WppMeVz3pD7^rH7y@K8Mis{utsyBg+Zy+RpR#9Yq0eT9Koz}o*$;JD zS-o8d+&2*XZlni-Z5F_+uh61}u1n2vR60lwSJ^aTSYM<{6ZniZOaBRpa#|&zGZ=J| z?sli0etV%bQDt^oby9k}TA~MCtS@sLuB_B?J!?fXp0OlPOjaH=GZ_2-_&V#LIJ<1? z2X}XO*T&u5HMqNbkU(&Ex5k6J1rP2PAP_vb2PZ&+d{5qYX70?rQ(rwr(N+9Gb=T>0 z_St)_-%7@~6FA3v;oJ?BdDgC{ZwY4oW^Rlhc1DG_p*P249e`Vx$-`9n>DG?I zb?SmDQ=mn^p??V=+dl7Qm`3sWWmj(fv^vVy0=7Us_pi9`Ek7Erw|aA?XjsGfo<}dmfZs+LWmdpCcG(Hp@m4376_iUq#Ff8?IC7e0MJ2WPP*R zWzWmWX4=OYE(>S(SLfkIE02;|STADRODu%=kA2`Dg~RePVE7ik$z2hHibu_4Pk=uX z9(z-s)7^6ER^z23UTDWo81Gb?F-f7KXrZjaec(}qbqD}{_dLH&|{wkOC&VZ=qk6 zOqPB*$*!d$248Dy$Nrx@0^Bko=;Jz zNja20B-~-s__b-lQ~{_;v^aTP;$Y8Jsu`Uv{xCe%`j4oG1|Zj!G{m;8X`Klzt@{n) zRDw$1%^W5pGxECA0I&xjk41=aFP?do5c9FAujf zoHGI`-{S($7Ye$8o{xiDiiumzA;j=MdjXGRpYQWrKo=jG(l7jPh-L|X0X(G`fJvPCEQGa2B!xvyH~c^wdl@;}QibXUIK0-!g*$RVJ5 zJg@D#Kau|Z*Dr?e&p&x>*3W3#(VaI_d#|lVaDl#mqCn>_xYF3q*3p_iwMICEwe53_ z^EU%i0Zuogao^#4JG_S1yr}kU0$Hq0P9383aypjIB4)=%7S`GPe=gj8hnRvN@tSc7 zydg7r@_()urYd_rqZ9pnGQpHG+Xrl~PpM?jm(#q7BCP8~Q@Nr@UE2|-?|T^BS9^ah z)-(5PN1Unb01CL@$AIgy?nHAY7384h7DKRQ)S^(yXNC{e*OHU#pmk!g&KPjDUQLlI zl)fkyVOq0PIWkW-y&hv59;;VE#JKpibw#Krnq_3l8sy%Z+%dVl_XpLm7KMoRws8gN zfWUS2tYO%XlaB8_`Q)JWDDvjNuIT^vf@hv&%f{#>7RX7xgK}q-8PrxDB^HBEMoGl( z0dsu>Y{sV-9MWSlmZl0M@bvH$ z(P|b_!*<6B6naOTa39BNUs(*q5p*WfWuQ zl=LM8{9{O~;pAW$f#^W$@^oodAaG3!bAUEU+!8}(!j6~@#HrSNOqpGXmBnCDVY`b` z1%Z-XqK+sdWyvO66ED^Y7#IamPA%KG8H>00By42lFV&8k zsGg(r%^6jij+C9o6YC3?BuLA$LoBJv#JS^^=4qq?^{7D-@g+f4W;$pbPolOo9+<)!TQnq6F>!A*Bks8aq=}_E z692KHyWaE(kEQ*|(HG$Xzg0WZxakMnq}&l@zB=N~(F z6V`m$FSi4q`(O?WzPWjIGFRTDIb0{Z5)4QQUF}@)sD3*s$C%962!8lurHp6nCqf)A zA)(_<;CyZ;vg6<8RR5qoT)qE`>P6(5jIF1{5%uqJ@8o$$Cb)CjJa2*TlnpeF)KrIx z7Oph6L*(F)$1v%BP8a4KG5g^J%jW3>572h89sfG5->rLG;#H{}wgZdHX0IRXuDUqbIcH7*l?k0`%ra<~c9s=ebL`}Sp9n=m0I=eNJX)80rU z(RS_C%J-FQ?(!;BR}uzg?N0qg=^O6$HKejm08{bWhSq&AEBf>j7fAQG`Tk=6$MZtL z!!pBe!S~u!4{Xu9tHhT>o!4E!xmEERY&)`K=8F0XxUpTj)$c{RdH{#RA7k`mM*n-k z{^oeW5Es`!oq-HC6Jyy;K!OE$jM_x+8WY#uMvu~Kp_Wh+L(%Jfx`nSJmKeJ)aC(3; z8amjH+eRuzf^od%Lh!ksb4EMv)FbmfRUx zjPORNOVkt{`DJ!)zSbODNb4i$Pw)G`Y(reGb~v2BUpgl6acew&85zW2Sdxo%oNyfr zk<`QdWV($0@BHh34XZ{zLpd*HwGAO3ShE}ytj$Z>{XHpmML9W4IJ1^8H!6*cOcQ^$ zO_l^m{hgHYb^IotQ${tFROi@_#EF`WGxP}b2jP-`rBkI2Nf!K}qa`G3S@(};I~6WS zo1hb@D&Yap6p5;?D;hv@)pH!X=9$102cJ^Py*@p~PzZBT+?8g`#rdyMaa--s9!phe z1VaG22ay}nW?>f*%@<+*X8}t>Z{UUv5K6GAf(h+Q+7&slXzy7^xf44C&CY{ykJLvx zsFC2O+QIIym=4(9oV*mZnxGstTiFB|G}+;4Wl)bTko|x~zo*YhA)3@G5 zJdW(@!ClxDihD%5jwm303z-V1kQ15|KSmH0%SDj-UuoEy7y>5;n-otqNT)zy(5W^9(A!;Hyp9I4{R9{W{xio9Bz^=ikIRv-0YCc`Sv!xu zi#~h~^gR?50gV42wmk||W-g{5fBZZPZoQ8IA{L&g(0)gpD%pzki@2BQ45~G(s7^x zi}_hIZ~Mt(R-F0W%Y!Jrk!+oraRNIul^~$l^#X6`hv7KO%wh$ka1Qm%EeZ@1iyyFR z-3#)rUnRuWy*?^W_VE@3>|dudsb8h&02P%ykjLSkyH&Yv({iUh^KzHHFC^x(D&Rx| zh_3}9V^|&tegX5i-+<-dAX4Pv#rt{pyNAM`uVMG^f|p>p&P+ppb(O1x-rv0npMZmS z|BvijnfE#^)%)H5<_!_~eVTS`v9Ero!edu8zgWeZQ@=S<_p<`v!$w+M_TTs9dY`!j?52?wygSLZ zdAe@1DHt}o9J~m;2eg;ID$Fhy3kiDJnJ&t}7x?N;{1tFL<5ntMIu3-|ER7>( zCm4jbJp&t=iO6Ms;N$*m;Jf<`?^)8WvL5G8^qi-OyhO*=EOd9s=NJbv(Kpsxj`^EX zBY))7Kqwk#2j!G7B}>CWp59!A7FC=$tj=SjFM2GMmLH)i3T}Yun0K~ z9~cU&y6OxbC_7)lA$rK5nR)!^L+AQ8sQ%xZO2hW~8_~$}D-TzoPL6%L-FQhO#y0x4 zFv$ItFaSLI{RcVh5yc zx?*AdF|pCxmZ(F6aTZarSs~OxOvPq=NJPG45du&agskG(GGORrv{Dc&yEH}m2TPhb zQaLmwO^#n?<8(=4xI9qYYzT6s70}~m(v?16!o@j1sgE0IDWX`ozs=;?vC=nh|3HDV z;{J*)f}1iUKXpkUXWflro!Z=h3k+cE%aWL^@yyEgEwrWONuzSrNvL@rHB?FQ3)lG^ z>ZCew(R-6RiZQly2I+HPOAt&6_p-;X;aTMP02fCLKLNEsYGN&~&PME>1e@FpY9?j$ zTYiKH8i_JOq&RixFNk&%`-|WjX&3%S90?TZ@lLP~A_4ERdxfiq3|eTx3plBl}lOFMsaI zbQ9l<-m~=jo5UmEAnSehCzwt5#rL0anR$7(%4{kYK`)vs6=|;!IB&kSEH)~)8Uj+77Fi}ttUU>cZ*eBZ|k1caoV~c zYnVj6ho>iZWyrB8f*WB4b{|U>=ANop>hBg09QQK*Ih=`IDBmA0tmvJ>)R$t z0s4a}%SB((hyNHz^W>1&zSJz`;dH4|Hia_}ZEROg1;=^d%%_bsVJQd67QZo+1B?`A zd(`?LfA;NRRme*^Mz2&jERCkm{(+AVchI4=gtPydMQi;R;WFZJxOrhVdPsJ3u9q4q zTCK$Y$9oH8FKx1X*)V{C5P^y>cBLAj2TuL4FGWs-a}jVq;AFP50OfK{hpz?KCBYH4 zCOk;3zCHW)&EDRDf4C(hDLQ`VomqPTZ0Gn|Y=naLrlqsYcSUZ%fJ@kU0{sn|PXdV0 z$jT0mZ(Uy}98MmZMi~aKu2tDMnYsPB)aE=RZk<=*0KzQqbH}Vyb$8iLWz+!p?c$aU z#{CxOmw0&P(tU{SYD3L8#*1l$Cx~h7w&xSY&}R9 z^y5Ws={a=SOLX^n+l#Qy>>oT{SGb7(A@s)E!@X5k3N))GODuQo=%DW=z+MlTO{{*) zpd34~I7vlc=w(w*Zduis^X}`iBeLm0cGml(k`(Wxy11vQlqL6lTHhQ2zJZikDUSV* zrtb4!g=iNOcGF{>bV6&oi=`y-qAeE+@zc9QEoJP~S<q+5_&t$mFWV(Y#*oy6km zKYIZ>WL$!kl;Ug`I0*G#otiAW^LhS|Yl@m`Y~P}m72o;9E!Y{CwntcBLeHA{L>KH8 z(LYa3*j~@b7>WIkp{3(3A*_>Os=)5VM@?EMr|JXjsxaoraE;U~Kaq!|PsH{e`B^p? z=o1-BvfO!^A~2y6ai;9YWt7l3C?e1tm3+~4X#^QVR3abAx1}O?PNX5Jz&D^}z&fyw z>WX)??jFV8KfqUO0aghMYvaGRjWeXShd#FWs=w3tB}kX0S*pAT$>JwSI&W#seKiTX zUuRdFD8kWF5M7okC=<-1Mpu|vKTS2|PrQbL!P}(csq1|9#zuRzz1z*BK~N}tNXUC! zaIBIU(F_Y5ofN)p&xf+%731s6tm6=!W7xTrQtL`#^g-L4AWHg^wcsMxcdI4@iepbp zy0HqaWTgBF``t@~Exv<$q%V!z*tOFRdT^RG)B9*0|7J*BPVzR@UHfwmJJtwpSsUFX zLwYo$5=vJU5e=7MnR0e?5t#r`22(s{AO4d1x8$b049Qd*xm>oFG06EF^Y1fhVJNF?FmA4dS&T!JPt#ewOl5x?!du3IGj?+@rVLzT!aa8u7aT%o~V4xmc zg&WLvZEXn<<>~BUbkqm7iQxCe2$f^$FsA}_bkFDdEu6Bpp zK$-}auz(G7F6;=^`Vw(1whUo>%*Dzx4!=RX80JfRG+`K%-7qJ4HDu@K$1BlNq2h-af)Uk9=ckZ${OfZz)pr}OPr?nqEzD%+#Ic})$$n!A2U zCjrV4c5}o6bo%D(hOD2vPV$j^2U7E?u^ZA~xXrHDbncg|cky)HuRk7LrT?X-_{WQY zm0+_onI5S9@_h+M9FtC3>}BdtpMPHP>M(?jeX+UHmP#SEq|e*Bl_DsoCE2YIrO3e4 zWRLL0m66uscISQG%gLNlh$#fSw;|q`0fGzV{#uS5LkM$JJN}hySrC1@eOgQb0Mm5^ z1JN*X2&;;wkgVczB?Ol|5q-?kaL3o^_Cbs~; z1jU=uP(<1IEMpawTT&(Nkr*C~VvxatOUDjkIn>4QF_PIfwM`O`6>Cj8)E_~z-0)5e zE-iGXxQt3A!BvLV^v$r$t=F%ZlItgm6FrcOjm}D3+{GHXc@6gEaTgeQLt3vHqf0n`uv@6w9Mkh(B1}q z!&e3c^uO2CpM6KD&%1B>R<_-m%hlsE;wa~i3_}0$xv^VkZFan8vs=F8I(_ojzrPR| zG1E1m0cLZ*uUbH zk;Yl4L%mT?Y&+07R!k8!e7AB!Lm*RIO7exl%cH65SS%E4eSM0Ay=uyUGQhb`{X7~- z_}ud-GS4ekHMpF#B8XqvnOmRAX{2?Q^nG*oroJV&OV0tv+eO+#Av(LD zi@$_p^8(5HVz!yplL$c5F`Im@@ed7M_d8`t1)Zv22{}3t%Ex98H)2T$SVOk}xtlVb z_={;n_%f~hJ~BMZL$YrbSsn?c4(L|^w^mnf_In@{XHmgb%X?SxD9tSaT?EZB;6NoX z3}`>U7sJUvV6{c7Kp|j#_aC+KKSn^@tx&(@->1XWA=Y$Y?|$1;;z>|eI~p&N;^|h< z!p2N;cD7U=BII9G%LUJ`fm7gZk-2FL71hk+unH@Z3B^5WeN>iWqc|cs6bq6Ife?CvS=AVqq|&5mgWz$Go`*GY)Y!J=NmM)GYrSX z97AeM1|}v&c3bk#%O=}4<5d`GWqkOBt%`gxKT4FRduJ`wSrH=ap%Ff(&z zzxp=V)c1)zetV0(e0rAC9l3+x$m2yo_w?D25y{k$qv*OqJ1>%{u2xw{XO-~`B6Cf8 zhXWSd24ekLUmhOGEgY*v#zFxWVXCZbPWoF?F_U@O*xQ?J2=@AOSgXOm#Yg{lwNY(C z@WzUEawiWM8CB(aeW5?Elw_%>bOF3H-AAb2E^4(v+^nsNoevk`zK8@8AVpHA?ZB4l z(qF{*3-5q&E|Oy%vYQglYL1vs4eUHa`-C#ZT(Hz`psGrTQaomvEak(venBWB>D|03 zKpzCxCIa~4uafy{BfIp%U~;_pfuO)tYjCbSFOWA;mO^hGZ*D>JO!Dy*<44&@JWUoH zAVC}_@+4z8-+|zP*}zFL_ICS|7l>`8^B4LNKbD>gs}n9pa=@O|C5mc?^_U2Rl#ZH15VL}B&33mZQS$MCorq|gb-E|^ zEw+%WY$3;=;8qJ~nNlV$EK2^`cEa{VK&jp!k0UwKPEev|sm6=Zuw#umT~^$Y-GO8` z4LEQAkeBE;3;lMgG}|LTlVeINi4#o##rGbnt3rpkUve&F0Jj?6NnCRU&aZVLstw&- z-#B;0P0HuuTi1bgBBNSO>S?9=@_L)0;CQ17#1wb2>=6`Q2ed&b(G-n6eI+1 z?)ZkAY*bVi9_xm7N|0wC7w>1n5|B4+h_nAAwW?KEm>EA}3J>57DFQN4w}GZt%D)Z3 z{;@5^2f*zl1}NJ~F#5xu_yL7f7XJfdIQP{~^;QelE`Ffa6ryVqH~JSLE{(KEVB}ha zWHuwEHI>G)@UaMnBJs#m<;?;d2d@m85|P`lp(!z7_RB6q*)mydB_tDUm)(}1$+=@WezRl&yq?M>ubbAdLJ*YILcn~F96u1fD@to`#m2HY>Lj~n{ ztz&)D!FEI{Xl!~=rMwEHAZhN9rP_99(-Wum?s35=s8aE_lCsfjv>eqXs{&gfG0ldS z0loCj2?^WNbZFVU2qzKgcRn+!JhvGRIRkD$p}eGP4%{jCacF$SuLl9slIS)P<_ zwQ9uptlK6mim=GZvITJ=ppGK-q)^t=8+Mzv%HdvG$PDwRW?0sXix{E5-Qz^hEK{#5 zRNfR}Rd!46iayqvZ z5lk_B(kLBP!;q(Sx~%(XO0oU`P*%v z>jn(~S?TN0%?mZZF!(@03@@NFw>TC(XPo~r9866cG-tE}trJ)Q8oUy|`xJ!eLVQPEHb$Yz2lBu-6asio0)U*bp%Q|DA$ z)(fEw+>C$r0z%}lLDQ}vqTM}LhhAj7?n3Zw@`fV?7Y=W^I(L@-Vvb;^y3h$^)LQ)h zGIfqT8juanz}iqGB=*jfs!NHNWH#i$pWtvA*jW%g(NVa#0a-o@E4~|XJioa^v#;Op zIit?s>tks{0yNqE#L~4V$TKuJF4wp~L}(C+YxA8AxO;QuaPBm#b<&BRXalv~jn;B0 zrILtiO^`9k1jzIT#=9OLDt% zVg33g_{$A4Ye&m#pJ6aw=ds_B

~e+`}{ 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 JpAJ zpgHGp15hE2u+%5C^VjJz3haWVcf^F|u@oxo$)k|irVN$IV{^^-1jja7kgz{7wLz?| z>H5ax&Muxa!(czMAW%J;XG@~Yv-(8{2M84BKrFJ(Kcig&@N}Ta0DcaFs3;r*gr-so zrbCJXhpMiOzm9j-V6S5*Sj6@F^V+9fefKW&6+tT#2+jV9vI?m0-w~Lt_NGe2p{X&1 zXBTH&!QM(&+dnfGC`mVb zi)c5OR3&dm6psqKp+8Q|FTJxS%eUO+rYe2

iX*2hP}A@T|QX0a>q>c6YhS4xma` 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 z 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

Y~+Yw@RwLH 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%0A|z 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 Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 03/17] fix: treat a substring `in` as too complex for the simple form MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JSON Logic overloads `in`: an Array second operand is array membership, a String second operand is a substring test. `Condition.parse` accepted both and cast the value through `cast_list`, which would read a hand-written substring rule into the simple form and save it back as membership — silently changing what the rule matches. That is precisely the rule-mangling Condition exists to prevent, so a non-Array `in` now parses as nil and falls through to the raw JSON editor. Co-Authored-By: Claude Opus 5 (1M context) --- lib/approval_engine/condition.rb | 6 ++++++ test/approval_engine/condition_test.rb | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib/approval_engine/condition.rb b/lib/approval_engine/condition.rb index 7bb6e31..1c86e85 100644 --- a/lib/approval_engine/condition.rb +++ b/lib/approval_engine/condition.rb @@ -188,6 +188,12 @@ def parse_comparison(clause) return nil unless variable.is_a?(Hash) && variable.keys == [ "var" ] return nil if value.is_a?(Hash) # a comparison against another var is not simple + # JSON Logic overloads `in`: an Array operand is membership, a String + # operand is a substring test. The simple form only speaks membership, + # so a hand-written substring rule is reported as too complex rather + # than being read in and saved back out with different semantics. + return nil if symbol == :in && !value.is_a?(Array) + new(field: variable["var"], operator: symbol, value: value) end diff --git a/test/approval_engine/condition_test.rb b/test/approval_engine/condition_test.rb index c2cc471..a61f47a 100644 --- a/test/approval_engine/condition_test.rb +++ b/test/approval_engine/condition_test.rb @@ -110,6 +110,26 @@ class ConditionTest < ApprovalEngine::TestCase assert Condition.simple?({ ">" => [ { "var" => "amount" }, 10 ] }) end + # JSON Logic overloads `in`. With an Array it is membership; with a String it + # is a substring test. Reading a substring rule into the simple form and + # saving it back would silently turn "contains" into "equals one of" — the + # exact rule-mangling this class exists to prevent. + test "a substring in is too complex for the simple form" do + substring = { "in" => [ { "var" => "name" }, "Spartacus" ] } + + assert_nil Condition.parse(substring) + assert_not Condition.simple?(substring) + assert_nil Condition.parse({ "!" => [ substring ] }) + end + + test "substring and membership really do mean different things" do + substring = { "in" => [ { "var" => "name" }, "Spartacus" ] } + membership = { "in" => [ { "var" => "name" }, [ "Spartacus" ] ] } + + assert ::ShinyJsonLogic.apply(substring, { "name" => "Spart" }) + assert_not ::ShinyJsonLogic.apply(membership, { "name" => "Spart" }) + end + # --- the `when:` sugar -------------------------------------------------------- test "builds JSON Logic from the operator hash sugar" do From 8cf06dbd16be437e2ca7064ae6a21f09e86de113 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 04/17] feat: add ApprovalEngine.define_flow, the declarative flow builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Standing up one approval today takes ten concepts: a TrackTemplate, two template_steps, a trigger_rule with hand-written JSON Logic, and only then run_approval!. This collapses that into a single block that belongs in db/seeds.rb: ApprovalEngine.define_flow "High-value invoice", tenant: "acme", model: Invoice do on :create, when: { amount: { gt: 10_000 } } step "Manager", group: "manager" step "CFO", group: "cfo" end ApprovalEngine::FlowDefinition writes ordinary TrackTemplate / TemplateStep / TriggerRule rows, so ApprovalBuilder consumes them unchanged and the admin UI can still edit them. It is not a parallel non-DB code path. Re-running reconciles rather than inserts, so it is safe on every deploy. The flow is keyed on (tenant_id, name) under a per-flow advisory lock, steps are matched by name and updated in place so admin-UI ids survive, and a rule the block stopped declaring is deactivated, never destroyed — approvals hold their routing rule as provenance on a nullify FK, so a destroy would silently erase "which rule started this?" from every approval that rule ever spawned. An approval already in flight is untouched: ApprovalBuilder copies a template step's facts onto the ledger at build time and IterationBuilder clones a rework iteration from those ledger rows, not the template. Tests assert a running approval keeps its own steps, completes through them, and replays them on request_changes! after the flow is redefined underneath it. Everything the DSL can catch it catches at definition time, with a message that names the fix — the opposite of runtime rule evaluation, which deliberately fails closed and silent. That includes the gem's most expensive silent failure: a `when:` naming an attribute the model does not expose would read as a clean non-match and simply never fire, so it now stops the seed instead. Also adds `require "approval_engine/condition"` (a Rails engine autoloads app/, never lib/, so the constant was unreachable) and the opt-in `config.approval_groups` allowlist, which defaults to nil and checks nothing. Co-Authored-By: Claude Opus 5 (1M context) --- .../approval_engine/flow_definition.rb | 468 +++++++++++++ lib/approval_engine.rb | 41 ++ lib/approval_engine/configuration.rb | 9 + .../install/templates/POST_INSTALL | 13 +- test/dummy/db/seeds.rb | 18 +- .../approval_engine/flow_definition_test.rb | 617 ++++++++++++++++++ 6 files changed, 1154 insertions(+), 12 deletions(-) create mode 100644 app/services/approval_engine/flow_definition.rb create mode 100644 test/services/approval_engine/flow_definition_test.rb diff --git a/app/services/approval_engine/flow_definition.rb b/app/services/approval_engine/flow_definition.rb new file mode 100644 index 0000000..002f29e --- /dev/null +++ b/app/services/approval_engine/flow_definition.rb @@ -0,0 +1,468 @@ +require "digest" + +module ApprovalEngine + # The declarative flow builder behind `ApprovalEngine.define_flow`. It + # reconciles a block of `on` / `step` / `parallel` declarations into the same + # TrackTemplate / TemplateStep / TriggerRule rows an admin would author by + # hand, so nothing downstream — ApprovalBuilder, the dashboard, the rule + # builder — can tell a seeded flow from a hand-built one. + # + # Everything it can catch, it catches at definition time. This is setup code a + # developer runs at deploy, so a typo should stop the seed with a sentence + # explaining itself — the exact opposite of runtime rule evaluation, which + # deliberately fails closed and silent so a bad rule can't 500 a host request. + # + # Re-running is safe. The flow is keyed on (tenant_id, name); steps are matched + # by name and updated in place so the ids an admin UI links to survive; and a + # rule the block stopped declaring is *deactivated*, never destroyed. + # + # An approval already in flight is untouched by any of that. ApprovalBuilder + # copies a template step's name/layer/consensus/timeout onto the ledger when it + # stamps the approval, and IterationBuilder clones a rework iteration from + # those ledger rows rather than from the template — so a running approval holds + # no live reference to anything this class rewrites, and finishes with the + # steps it started with. + class FlowDefinition + class DefinitionError < ApprovalEngine::Error; end + + # A rule needs a condition — TriggerRule validates its presence and {} is + # blank — so "route this event unconditionally" is spelled as a tautology. + ALWAYS = { "==" => [ 1, 1 ] }.freeze + + # The options `on` understands. Listed rather than taken as keywords because + # `when` is a Ruby keyword: `def on(event, when: nil)` parses but the value + # is unreachable as a local. + RULE_OPTIONS = %i[when priority active].freeze + + # Repeated verbatim from TemplateStep's validation so the same mistake reads + # the same wherever it surfaces. + CONSENSUS_HINT = "must be :any, :all, :majority, a percentage like \"60%\", or a positive integer".freeze + + # Named for what they are, not `Step`/`Rule`, so nothing in this file can + # accidentally read as the ledger's ApprovalEngine::Step. + DeclaredStep = Struct.new(:name, :group, :layer, :approvals_required, :timeout_after, keyword_init: true) + DeclaredRule = Struct.new(:event_name, :condition, :priority, :active, keyword_init: true) + + def self.run(name:, tenant:, model:, status:, timeout_after:, &block) + definition = new(name: name, tenant: tenant, model: model, status: status, timeout_after: timeout_after) + definition.instance_eval(&block) if block + definition.commit! + end + + # The same coercion `Approvable#approval_tenant_id` does, plus `.to_s` + # because `tenant_id` is a string column the reconciler compares in Ruby. + def self.tenant_id_for(tenant) + tenant.respond_to?(:id) ? tenant.id.to_s : tenant.to_s + end + + def initialize(name:, tenant:, model:, status:, timeout_after:) + @name = name.to_s + guard_name! + + @tenant_id = resolve_tenant!(tenant) + @model = model + @status = status.to_s + @timeout_after = seconds(timeout_after, "timeout_after") + @declared_steps = [] + @declared_rules = [] + @layer = 0 + + guard_status! + guard_model! + end + + # --- block DSL ------------------------------------------------------- + + # One layer of approval. `group` is the name handed to the host's + # `resolve_approval_group(group_name, target)`; the engine expands it into + # one step per actor that returns. + def step(name, group:, approvals_required: nil, timeout_after: nil) + if @open_layer && approvals_required + raise DefinitionError, + "step #{name.to_s.inspect} sets approvals_required inside a parallel block. Every step " \ + "in a layer shares one consensus policy (the engine reads a single spec per layer), so " \ + "declare it on the block: parallel(approvals_required: #{approvals_required.inspect})." + end + + spec = @open_layer_consensus || approvals_required || :any + guard_step_name!(name) + guard_group!(name, group) + guard_consensus!("step #{name.to_s.inspect}", spec) + + @declared_steps << DeclaredStep.new( + name: name.to_s, + group: group.to_s, + layer: @open_layer || next_layer!, + approvals_required: spec.to_s, + timeout_after: seconds(timeout_after, "step #{name.to_s.inspect}: timeout_after") || @timeout_after + ) + end + + # Steps that run at the same time, as one layer of the track. + # + # The consensus policy is declared here and never on the steps inside, + # because `Track#tally_for` reads a single spec for the whole layer and + # counts every actor in it — per-step specs would silently let whichever row + # came first decide for the others. + # + # The default is `:all`, not the engine's `:any`: "Legal and IT review at the + # same time" means both. Note the count is flat across the layer, so `:all` + # over a 3-person Legal group and a 2-person IT group needs all five. "One + # from each group" is a different shape — parallel *tracks*, which is + # `run_approval!(templates: [...])`, not a layer. + def parallel(approvals_required: :all, &block) + raise DefinitionError, "parallel needs a block of steps." unless block + raise DefinitionError, "parallel blocks can't be nested." if @open_layer + + guard_consensus!("parallel", approvals_required) + layer = next_layer! + @open_layer = layer + @open_layer_consensus = approvals_required + + begin + instance_eval(&block) + ensure + @open_layer = @open_layer_consensus = nil + end + + return if @declared_steps.any? { |declared| declared.layer == layer } + + raise DefinitionError, "a parallel block in flow #{@name.inspect} declares no steps — it would leave " \ + "an empty layer nothing can resolve." + end + + # A rule that routes an event to this flow. `event` is either a literal event + # name ("invoice.created") or a lifecycle symbol resolved through the model, + # which is how a rule and the engine stay reading from one source. Options + # are `when:`, `priority:` and `active:`; `when:` omitted means "always". + # May be called more than once — a template can carry several rules. + def on(event, **options) + unknown = options.keys - RULE_OPTIONS + if unknown.any? + raise DefinitionError, "on: unknown option(s) #{unknown.inspect}. It takes when:, priority: and active:." + end + + event_name = resolve_event_name(event) + condition = compile_condition(event_name, options[:when]) + priority = integer_priority(options.fetch(:priority, 0)) + + if @declared_rules.any? { |rule| rule.event_name == event_name && rule.priority == priority } + raise DefinitionError, "flow #{@name.inspect} declares two rules for #{event_name.inspect} at " \ + "priority #{priority}. Give them different priorities so the order they " \ + "are tried in is explicit." + end + + warn_unrouted_lifecycle(event) + @declared_rules << DeclaredRule.new( + event_name: event_name, condition: condition, priority: priority, active: options.fetch(:active, true) + ) + end + + # --- reconciliation -------------------------------------------------- + + def commit! + guard_steps_declared! + guard_unique_step_names! + guard_actor_class! + + ActiveRecord::Base.transaction do + lock! + template = upsert_template! + reconcile_steps!(template) + reconcile_rules!(template) + template + end + end + + private + + # Two deploys can run db/seeds.rb at the same time. Without this, the + # find-or-create in upsert_template! races into two templates with the same + # name. Scoped to this one flow so unrelated flows never contend, and + # released when the transaction ends. + def lock! + key = Digest::SHA256.digest("approval_engine.flow:#{@tenant_id}:#{@name}").unpack1("q>") + # The key is coerced to an Integer immediately before interpolation, which + # is what makes this provably injection-free; the tenant and the name never + # reach the SQL themselves. `execute` rather than `select_value` because + # the function returns void, which has no ActiveRecord type to decode. + ActiveRecord::Base.connection.execute("SELECT pg_advisory_xact_lock(#{key.to_i})") + end + + # There is no unique index on (tenant_id, name) — an existing install may + # already hold duplicates, so adding one could break a production migrate — + # which means the invariant is enforced here, and refuses to guess. + def upsert_template! + matches = TrackTemplate.for_tenant(@tenant_id).where(name: @name).order(:created_at).to_a + + if matches.size > 1 + raise DefinitionError, + "tenant #{@tenant_id.inspect} already has #{matches.size} templates named #{@name.inspect} " \ + "(#{matches.map(&:id).join(", ")}). define_flow can't tell which one it owns — archive or " \ + "rename the extras first." + end + + template = matches.first || TrackTemplate.new(tenant_id: @tenant_id, name: @name) + template.update!(status: @status) + template + end + + # Steps are matched by name and updated in place, so re-running a seed keeps + # the ids an admin UI links to. Nothing outside the template points at a + # template step — ApprovalBuilder copies its facts onto the ledger when an + # approval is built — so rewriting them can never disturb an approval already + # in flight. Renaming a step therefore reads as a remove plus an add. + def reconcile_steps!(template) + # group_by, not index_by: a hand-built template can hold two steps with the + # same name, and index_by would keep the last and strand the other forever. + existing = template.template_steps.group_by(&:name) + + @declared_steps.each do |declared| + same_name = existing.delete(declared.name) || [] + record = same_name.shift || template.template_steps.new(name: declared.name) + same_name.each(&:destroy!) + + record.update!( + layer: declared.layer, + assigned_group: declared.group, + approvals_required: declared.approvals_required, + timeout_after: declared.timeout_after + ) + end + + existing.each_value { |orphans| orphans.each(&:destroy!) } + template.template_steps.reset + end + + # Rules are updated and deactivated, never destroyed. An Approval keeps the + # rule that routed it as provenance, on a foreign key declared + # `on_delete: :nullify` — so destroying a rule would not error, it would + # quietly erase "which rule started this?" from every approval it ever + # spawned. Deactivating stops it routing anything new, which is what dropping + # an `on` from a flow actually means. + # + # Asymmetric with steps on purpose: a template with no steps is always a bug, + # but a flow whose steps live in code and whose routing an admin owns in the + # UI is a legitimate shape, so a block with no `on` leaves rules alone. + def reconcile_rules!(template) + return if @declared_rules.empty? + + existing = template.trigger_rules.group_by { |rule| [ rule.event_name, rule.priority ] } + + @declared_rules.each do |declared| + same_key = existing.delete([ declared.event_name, declared.priority ]) || [] + record = same_key.shift || template.trigger_rules.new + same_key.each { |dupe| dupe.update!(active: false) } + + record.update!( + tenant_id: @tenant_id, + event_name: declared.event_name, + condition: declared.condition, + priority: declared.priority, + active: declared.active + ) + end + + existing.each_value { |retired| retired.each { |rule| rule.update!(active: false) } } + template.trigger_rules.reset + end + + # --- declaration helpers --------------------------------------------- + + def next_layer! + @layer += 1 + end + + def resolve_tenant!(tenant) + tenant = ApprovalEngine.current_tenant if tenant.nil? + + if tenant.nil? || (tenant.respond_to?(:empty?) && tenant.empty?) + raise DefinitionError, "define_flow needs a tenant: — pass one, or set config.current_tenant_method." + end + + self.class.tenant_id_for(tenant) + end + + def resolve_event_name(event) + return event.to_s unless event.is_a?(Symbol) + + unless @model + raise DefinitionError, "on(#{event.inspect}) needs the model: option so the flow can ask it for the " \ + "conventional event name — or pass the event name as a string." + end + + begin + @model.approval_event_name(event) + rescue KeyError + raise DefinitionError, "on(#{event.inspect}) isn't a lifecycle #{@model} understands — it knows " \ + "#{ApprovalEngine::Approvable::LIFECYCLE_EVENTS.keys.inspect}. Pass a string " \ + "for any other event name." + end + end + + # Condition.from raises ArgumentError for its own vocabulary problems; wrap + # them so a caller only ever has to rescue one error class. + def compile_condition(event_name, clause) + return ALWAYS if clause.blank? + + condition = ApprovalEngine::Condition.from(clause, types: condition_types) + guard_exposed_attributes!(event_name, condition) + condition + rescue ArgumentError => e + raise DefinitionError, "flow #{@name.inspect}: the when: for #{event_name.inspect} is invalid — #{e.message}." + end + + # Cast a `when:` value the same way the payload will be coerced, so a rule + # can never compare a number against a string and quietly never match. The + # default is :raw so a field the model doesn't declare passes through with + # whatever Ruby type the caller wrote. + def condition_types + return Hash.new(:raw) unless @model.respond_to?(:approval_exposure) + + @model.approval_exposure.attributes.each_with_object(Hash.new(:raw)) do |(attribute_name, attribute), types| + types[attribute_name] = attribute.type + end + end + + # Every attribute name a condition reads, however deeply nested. Condition's + # own `parse` can't serve here: it returns nil for an `or` or a nested `and`, + # and hand-written raw JSON Logic is exactly where the typo lives. + def condition_vars(node) + case node + when Hash then node.key?("var") ? [ node["var"].to_s ] : node.values.flat_map { |value| condition_vars(value) } + when Array then node.flat_map { |value| condition_vars(value) } + else [] + end + end + + def integer_priority(value) + Integer(value) + rescue ArgumentError, TypeError + raise DefinitionError, "on: priority must be an integer, got #{value.inspect}." + end + + # Durations and plain second counts both land as an Integer of seconds, which + # is what the column holds. A zero or negative deadline would expire the step + # the moment it opened, so it is rejected rather than stored. + def seconds(value, label) + return nil if value.nil? + + converted = value.is_a?(Numeric) || value.is_a?(ActiveSupport::Duration) ? value.to_i : nil + return converted if converted&.positive? + + raise DefinitionError, "#{label} must be a positive number of seconds (or a duration like 2.days), " \ + "got #{value.inspect}." + end + + # --- guards ---------------------------------------------------------- + + def guard_name! + raise DefinitionError, "define_flow needs a name." if @name.empty? + end + + def guard_status! + return if TrackTemplate::STATUSES.include?(@status) + + raise DefinitionError, "define_flow status #{@status.inspect} is not one of " \ + "#{TrackTemplate::STATUSES.join(", ")}." + end + + def guard_model! + return if @model.nil? + return if @model.respond_to?(:approval_exposure) + + raise DefinitionError, "model: #{@model} hasn't called has_approvals, so it has no exposed attributes " \ + "or event names to check against." + end + + def guard_step_name!(name) + return if name.present? + + raise DefinitionError, "step needs a name — it is how a step is identified across re-runs." + end + + def guard_group!(step_name, group) + if group.blank? + raise DefinitionError, "step #{step_name.to_s.inspect} needs a group: — the name your " \ + "resolve_approval_group turns into actors." + end + + allowed = ApprovalEngine.config.approval_groups + return if allowed.nil? + + known = Array(allowed).map(&:to_s) + return if known.include?(group.to_s) + + raise DefinitionError, "step #{step_name.to_s.inspect} uses group #{group.to_s.inspect}, which isn't " \ + "in config.approval_groups (#{known.join(", ")})." + end + + # Validate with Consensus, the same predicate the model and the Postgres + # check constraint use, so the DSL can never invent a second spelling. + def guard_consensus!(subject, spec) + return if Consensus.valid?(spec) + + raise DefinitionError, "#{subject} has approvals_required #{spec.to_s.inspect} — #{CONSENSUS_HINT}." + end + + def guard_steps_declared! + return if @declared_steps.any? + + raise DefinitionError, "flow #{@name.inspect} declares no steps. An approval built from it would " \ + "create a track with nothing to approve and sit pending forever." + end + + def guard_unique_step_names! + duplicate = @declared_steps.map(&:name).tally.find { |_name, count| count > 1 } + return unless duplicate + + raise DefinitionError, "flow #{@name.inspect} declares two steps named #{duplicate.first.inspect}. " \ + "Step names identify a step across re-runs, so they have to be unique within a flow." + end + + # The same check ApprovalBuilder makes at build time, brought forward: a + # missing resolver is a certainty rather than a possibility, so there is no + # reason to make the first approval discover it. + def guard_actor_class! + klass = begin + ApprovalEngine.config.actor_class_constant + rescue NameError => e + raise DefinitionError, "ApprovalEngine.config.actor_class is " \ + "#{ApprovalEngine.config.actor_class.inspect}, which doesn't resolve to a " \ + "loaded class (#{e.message})." + end + + return if klass.respond_to?(:resolve_approval_group) + + raise DefinitionError, "#{klass} must define `self.resolve_approval_group(group_name, target)`." + end + + # A JSON Logic var that names nothing the model exposes reads as a clean + # non-match, so the rule just silently never fires. That is the right runtime + # behaviour and the wrong thing to discover in production. + def guard_exposed_attributes!(event_name, condition) + return unless @model.respond_to?(:approval_exposure) + + exposed = @model.approval_exposure.attributes.keys + unknown = condition_vars(condition).uniq - exposed + return if unknown.empty? + + raise DefinitionError, + "flow #{@name.inspect}: the rule for #{event_name.inspect} reads #{unknown.join(", ")}, which " \ + "#{@model} doesn't expose (it exposes #{exposed.join(", ")}). Add it to exposes_for_approval or " \ + "fix the name — an unexposed var reads as a clean non-match, so the rule would never fire." + end + + # on(:create) asks for auto-routing, so say so when the model isn't armed for + # it. Not fatal: plenty of hosts fire run_approval!(event:) themselves. + def warn_unrouted_lifecycle(event) + return unless event.is_a?(Symbol) + return unless @model.respond_to?(:approval_trigger_events) + return if @model.approval_trigger_events.include?(event) + + Rails.logger&.warn("[ApprovalEngine] flow #{@name.inspect} routes #{@model}.#{event}, but #{@model} " \ + "declares has_approvals(on: #{@model.approval_trigger_events.inspect}) — nothing " \ + "will fire it automatically.") + end + end +end diff --git a/lib/approval_engine.rb b/lib/approval_engine.rb index 3c167cb..6b6c3b1 100644 --- a/lib/approval_engine.rb +++ b/lib/approval_engine.rb @@ -10,4 +10,45 @@ module ApprovalEngine # ApprovalEngine::Error to catch them all. (Step transitions still raise the # Rails-idiomatic ActiveRecord::RecordInvalid.) class Error < StandardError; end + + # Define an approval flow declaratively: the template, its ordered steps, and + # the rules that route to it, in one block. + # + # ApprovalEngine.define_flow("High-value invoice", tenant: "acme", model: Invoice) do + # on :create, when: { amount: { gt: 10_000 } } + # step "Manager", group: "manager" + # step "CFO", group: "cfo" + # end + # + # It writes ordinary TrackTemplate / TemplateStep / TriggerRule rows, so a flow + # defined here stays editable in the admin UI afterwards — with the caveat that + # the next run of this block re-asserts everything it declares. A flow is keyed + # on (tenant, name); code and the UI cannot half-own one. + # + # Re-running reconciles the same rows rather than creating a second flow, so it + # belongs in db/seeds.rb and is safe on every deploy. It is *not* safe in an + # initializer: it opens a transaction and takes an advisory lock, so it needs a + # live connection that `rails db:create` and `assets:precompile` don't have. + # + # This is developer setup code and must never be handed user input — `when:` + # accepts raw JSON Logic and stores it verbatim. The vetted path for + # admin-authored rules is the constrained simple form in ApprovalEngine::Condition. + # + # One flow is one template is one track. Scatter-gather across tracks cannot be + # expressed here because a trigger rule structurally routes to exactly one + # template; that stays `run_approval!(templates: [...])`. + # + # Returns the ApprovalEngine::TrackTemplate. + def self.define_flow(name, tenant: nil, model: nil, status: "active", timeout_after: nil, &block) + FlowDefinition.run( + name: name, tenant: tenant, model: model, status: status, timeout_after: timeout_after, &block + ) + end + + # The template a define_flow call owns, for handing to run_approval!(templates:) + # when several flows should run as parallel tracks of one approval. Returns nil + # when nothing is defined under that name. + def self.flow(name, tenant:) + TrackTemplate.for_tenant(FlowDefinition.tenant_id_for(tenant)).find_by(name: name) + end end diff --git a/lib/approval_engine/configuration.rb b/lib/approval_engine/configuration.rb index 389855d..c0eb4bd 100644 --- a/lib/approval_engine/configuration.rb +++ b/lib/approval_engine/configuration.rb @@ -26,11 +26,20 @@ class Configuration # Flip this to `true` in development/test to surface the error loudly instead. attr_accessor :raise_on_rule_errors + # An optional allowlist of the group names `define_flow` may route to, e.g. + # `%w[manager cfo legal]`. nil — the default — means "no vocabulary + # declared", so nothing is checked and behaviour is unchanged. Set it and a + # `step group:` typo stops the seed instead of resolving zero actors at + # build time. All-or-nothing on purpose: a host whose + # `resolve_approval_group` invents names dynamically should leave it nil. + attr_accessor :approval_groups + def initialize @outbox_queue = :default @current_tenant_method = nil @actor_class = "User" @raise_on_rule_errors = false + @approval_groups = nil end # The host's actor class, resolved lazily so reloading works in development. diff --git a/lib/generators/approval_engine/install/templates/POST_INSTALL b/lib/generators/approval_engine/install/templates/POST_INSTALL index 6a72205..ebeeff6 100644 --- a/lib/generators/approval_engine/install/templates/POST_INSTALL +++ b/lib/generators/approval_engine/install/templates/POST_INSTALL @@ -37,8 +37,17 @@ Next steps: end end - 5. Create an ACTIVE template + a matching rule (see the README quickstart), - then CONFIRM the wiring before relying on it: + 5. Define the flow in db/seeds.rb — one block builds the template, its steps + and the rule that routes to it. Re-running it reconciles the same rows, so + it is safe on every deploy: + + ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + step "Manager", group: "manager" + step "CFO", group: "cfo" + end + + Then CONFIRM the wiring before relying on it: invoice.preview_approval(event: "invoice.created").triggered? # false? -> check event_name match, the template's `active` status, diff --git a/test/dummy/db/seeds.rb b/test/dummy/db/seeds.rb index ee18d87..abd9a52 100644 --- a/test/dummy/db/seeds.rb +++ b/test/dummy/db/seeds.rb @@ -16,16 +16,14 @@ manager = User.create!(name: "Maria (Manager)", role: "manager") cfo = User.create!(name: "Carl (CFO)", role: "cfo") -template = ApprovalEngine::TrackTemplate.create!( - tenant_id: TENANT, name: "High-value invoice", status: "active" -) -template.template_steps.create!(name: "Manager sign-off", layer: 1, assigned_group: "manager") -template.template_steps.create!(name: "CFO sign-off", layer: 2, assigned_group: "cfo") - -template.trigger_rules.create!( - tenant_id: TENANT, event_name: "invoice.created", - condition: { ">" => [ { "var" => "amount" }, 1000 ] } -) +# One block instead of a template, two steps and a hand-written JSON Logic rule. +# It reconciles rather than inserts, so this is safe on every deploy — the reset +# above is only here to make the demo output deterministic. +ApprovalEngine.define_flow "High-value invoice", tenant: TENANT, model: Invoice do + on :create, when: { amount: { gt: 1000 } } + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end invoice = Invoice.create!(tenant_id: TENANT, amount: 6000, department: "IT") approval = invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) diff --git a/test/services/approval_engine/flow_definition_test.rb b/test/services/approval_engine/flow_definition_test.rb new file mode 100644 index 0000000..094f853 --- /dev/null +++ b/test/services/approval_engine/flow_definition_test.rb @@ -0,0 +1,617 @@ +require "test_helper" + +module ApprovalEngine + class FlowDefinitionTest < ApprovalEngine::TestCase + FLOW = "High-value invoice".freeze + + setup do + @invoice = Invoice.create!(tenant_id: TENANT, amount: 20_000, department: "IT") + create_user(role: :manager) + create_user(role: :cfo) + end + + def define_two_step_flow(name: FLOW) + ApprovalEngine.define_flow(name, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 10_000 } } + step "Manager", group: "manager" + step "CFO", group: "cfo" + end + end + + def route!(target = @invoice) + target.run_approval!(event: "invoice.created", tenant_id: TENANT) + end + + def row_counts + [ -> { TrackTemplate.count }, -> { TemplateStep.count }, -> { TriggerRule.count } ] + end + + # --- shape ----------------------------------------------------------- + + test "builds the template, its steps and its rule in one block" do + template = define_two_step_flow + + assert_equal 1, TrackTemplate.count + assert_equal "active", template.status + assert_equal [ [ "Manager", 1 ], [ "CFO", 2 ] ], template.template_steps.pluck(:name, :layer) + assert_equal "invoice.created", template.trigger_rules.sole.event_name + end + + test "sequential steps get incrementing layers" do + create_user(role: :ceo) + + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + step "Manager", group: "manager" + step "CFO", group: "cfo" + step "CEO", group: "ceo" + end + + assert_equal [ 1, 2, 3 ], template.template_steps.pluck(:layer) + end + + test "a parallel block puts its steps on one layer" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + parallel do + step "Legal", group: "legal" + step "IT", group: "it" + end + step "CEO", group: "ceo" + end + + assert_equal [ 1, 1, 2 ], template.template_steps.pluck(:layer) + assert_equal 2, template.template_steps.where(layer: 1).count + end + + test "a parallel block's consensus is stamped on every step in the layer" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + parallel(approvals_required: :all) do + step "Legal", group: "legal" + step "IT", group: "it" + end + end + + # The engine reads one spec per layer, so both rows have to carry it — + # whichever one Track#tally_for happens to read must say the same thing. + assert_equal %w[all all], template.template_steps.where(layer: 1).pluck(:approvals_required) + end + + test "a parallel block defaults to needing every reviewer in the layer" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + parallel do + step "Legal", group: "legal" + step "IT", group: "it" + end + end + + assert_equal %w[all all], template.template_steps.pluck(:approvals_required) + end + + test "steps default to the engine's any consensus" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "manager" } + + assert_equal "any", template.template_steps.sole.approvals_required + end + + test "a consensus count is stored as the string the ledger expects" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + step "Board", group: "manager", approvals_required: 2 + end + + assert_equal "2", template.template_steps.sole.approvals_required + end + + test "timeout_after accepts a duration and a flow-wide default" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, timeout_after: 1.day) do + step "Manager", group: "manager" + step "CFO", group: "cfo", timeout_after: 2.days + end + + assert_equal 86_400, template.template_steps.find_by(name: "Manager").timeout_after + assert_equal 172_800, template.template_steps.find_by(name: "CFO").timeout_after + end + + test "defaults the template to active so the flow actually fires" do + assert_equal "active", define_two_step_flow.status + + draft = ApprovalEngine.define_flow("Draft flow", tenant: TENANT, status: "draft") do + step "Manager", group: "manager" + end + + assert_equal "draft", draft.status + end + + test "on(:create) uses the model's conventional event name" do + template = define_two_step_flow + + assert_equal Invoice.approval_event_name(:create), template.trigger_rules.sole.event_name + end + + test "on without when: routes the event unconditionally" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create + step "Manager", group: "manager" + end + + assert_equal({ "==" => [ 1, 1 ] }, template.trigger_rules.sole.condition) + assert_not_nil route!, "the tautology has to survive TriggerRule's presence validation and evaluate true" + end + + # --- when: sugar all the way through to a real route ----------------- + + test "the when: sugar compiles to JSON Logic the evaluator matches" do + define_two_step_flow + + approval = route! + + assert_equal "pending", approval.status + assert_equal %w[Manager CFO], approval.steps.order(:layer).pluck(:name) + assert_equal 1, approval.steps.pending.count + assert_equal 1, approval.steps.waiting.count + end + + test "a numeric when: value stays numeric" do + define_two_step_flow + + assert_equal({ ">" => [ { "var" => "amount" }, 10_000.0 ] }, TriggerRule.sole.condition) + + small = Invoice.create!(tenant_id: TENANT, amount: 100, department: "IT") + assert_nil route!(small), "a string-cast threshold would compare \"100\" > \"10000.0\" and match" + end + + test "raw JSON Logic passes through untouched" do + raw = { "or" => [ { ">" => [ { "var" => "amount" }, 10_000 ] }, { "==" => [ { "var" => "department" }, "IT" ] } ] } + + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on "invoice.created", when: raw + step "Manager", group: "manager" + end + + assert_equal raw, template.trigger_rules.sole.condition + end + + test "an in: list compiles to the shape the cookbook documents" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on "invoice.created", when: { department: { in: %w[Legal Finance] } } + step "Manager", group: "manager" + end + + assert_equal({ "in" => [ { "var" => "department" }, %w[Legal Finance] ] }, template.trigger_rules.sole.condition) + end + + # --- idempotency ----------------------------------------------------- + + test "re-running the same flow changes nothing" do + template = define_two_step_flow + touched = template.template_steps.pluck(:updated_at) << template.updated_at + + assert_no_difference row_counts do + define_two_step_flow + end + + assert_equal touched, template.reload.template_steps.pluck(:updated_at) << template.updated_at, + "an update! over unchanged attributes must not even touch updated_at" + end + + test "re-running keeps step ids so admin links survive" do + before = define_two_step_flow.template_steps.order(:layer).pluck(:id) + + after = define_two_step_flow.template_steps.order(:layer).pluck(:id) + + assert_equal before, after + end + + test "a changed group is updated in place" do + step_id = define_two_step_flow.template_steps.find_by(name: "Manager").id + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + step "Manager", group: "director" + step "CFO", group: "cfo" + end + + manager = TemplateStep.find(step_id) + assert_equal "director", manager.assigned_group + end + + test "a removed step is deleted" do + define_two_step_flow + + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + step "Manager", group: "manager" + end + + assert_equal [ "Manager" ], template.template_steps.pluck(:name) + assert_equal 1, TemplateStep.count + end + + test "a changed condition is updated, not duplicated" do + define_two_step_flow + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 50_000 } } + step "Manager", group: "manager" + end + + assert_equal 1, TriggerRule.count + assert_equal({ ">" => [ { "var" => "amount" }, 50_000.0 ] }, TriggerRule.sole.condition) + end + + test "a removed on deactivates the rule instead of destroying it, so provenance survives" do + define_two_step_flow + approval = route! + rule = approval.trigger_rule + + # The block still declares routing, so dropping this event really means + # "retire that rule" — a block with no `on` at all means something else + # entirely (the admin owns routing) and is asserted separately below. + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :update, when: { amount: { gt: 10_000 } } + step "Manager", group: "manager" + end + + assert_not rule.reload.active? + assert_equal rule, approval.reload.trigger_rule, "the approval still knows which rule routed it" + assert_nil route!(Invoice.create!(tenant_id: TENANT, amount: 30_000, department: "IT")), + "a deactivated rule routes nothing new" + end + + test "a block with no on leaves existing rules alone" do + define_two_step_flow + rule = TriggerRule.sole + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + step "Manager", group: "manager" + end + + assert rule.reload.active? + assert_equal 1, TriggerRule.count + end + + test "raises when two templates already share the tenant and name" do + first = TrackTemplate.create!(tenant_id: TENANT, name: FLOW, status: "active") + second = TrackTemplate.create!(tenant_id: TENANT, name: FLOW, status: "active") + + error = assert_raises(FlowDefinition::DefinitionError) { define_two_step_flow } + + assert_includes error.message, first.id + assert_includes error.message, second.id + end + + test "an admin's archive is re-asserted back to the declared status" do + template = define_two_step_flow + template.update!(status: "archived") + + assert_equal "active", define_two_step_flow.status + end + + # --- in-flight approvals --------------------------------------------- + + test "rewriting a flow leaves an approval already in flight untouched" do + define_two_step_flow + approval = route! + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 10_000 } } + step "Director", group: "director" + end + + assert_equal %w[Manager CFO], approval.reload.steps.order(:layer).pluck(:name) + + approval.steps.pending.sole.approve!(by: User.find_by(role: "manager")) + + assert_equal "pending", approval.steps.find_by(name: "CFO").reload.status + end + + test "requesting changes after a rewrite replays the ledger, not the new template" do + define_two_step_flow + approval = route! + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 10_000 } } + step "Director", group: "director" + end + approval.steps.pending.sole.request_changes!(by: User.find_by(role: "manager")) + + second = approval.reload.steps.for_iteration(2).order(:layer) + assert_equal %w[Manager CFO], second.pluck(:name), + "IterationBuilder clones from track.steps, so a rework replays the audited steps" + end + + test "a step removed from a flow doesn't strand a running approval" do + define_two_step_flow + approval = route! + + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 10_000 } } + step "CFO", group: "cfo" + end + + approval.steps.pending.sole.approve!(by: User.find_by(role: "manager")) + approval.reload.steps.pending.sole.approve!(by: User.find_by(role: "cfo")) + + assert_equal "approved", approval.reload.status + end + + # --- validation ------------------------------------------------------ + + test "raises when a flow declares no steps" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { on "invoice.created" } + end + + assert_includes error.message, "sit pending forever" + end + + test "raises on a duplicate step name" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + step "Manager", group: "manager" + step "Manager", group: "cfo" + end + end + + assert_includes error.message, "declares two steps named \"Manager\"" + end + + test "raises on an invalid consensus spec" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + step "Board", group: "manager", approvals_required: "two" + end + end + + assert_includes error.message, "step \"Board\" has approvals_required \"two\"" + assert error.message.end_with?("must be :any, :all, :majority, a percentage like \"60%\", or a positive integer.") + end + + test "raises when a step inside a parallel block sets its own approvals_required" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + parallel do + step "Legal", group: "legal", approvals_required: 2 + end + end + end + + assert_includes error.message, "Every step in a layer shares one consensus policy" + end + + test "raises on a nested parallel block" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + parallel do + parallel { step "Legal", group: "legal" } + end + end + end + + assert_equal "parallel blocks can't be nested.", error.message + end + + test "raises on a parallel block with no steps" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { parallel { } } + end + + assert_includes error.message, "declares no steps" + end + + test "raises when a rule reads an attribute the model doesn't expose" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { total: { gt: 1 } } + step "Manager", group: "manager" + end + end + + assert_includes error.message, "reads total" + assert_includes error.message, "it exposes amount, department" + end + + test "finds an unexposed attribute nested inside raw JSON Logic too" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on "invoice.created", when: { "or" => [ { ">" => [ { "var" => "amount" }, 1 ] }, + { "==" => [ { "var" => "totl" }, "IT" ] } ] } + step "Manager", group: "manager" + end + end + + assert_includes error.message, "reads totl" + end + + test "skips the exposure check when no model is given" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + on "invoice.created", when: { total: { gt: 1 } } + step "Manager", group: "manager" + end + + assert_equal({ ">" => [ { "var" => "total" }, 1 ] }, template.trigger_rules.sole.condition) + end + + test "raises on an unknown group when config.approval_groups is set" do + ApprovalEngine.configure { |c| c.approval_groups = %w[manager cfo] } + + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "managr" } + end + + assert_includes error.message, "isn't in config.approval_groups (manager, cfo)" + end + + test "allows any group when config.approval_groups is nil" do + assert_nil ApprovalEngine.config.approval_groups + + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "whatever" } + + assert_equal "whatever", template.template_steps.sole.assigned_group + end + + test "raises when a step has no group" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "" } + end + + assert_includes error.message, "needs a group:" + end + + test "raises when the actor class can't resolve approval groups" do + ApprovalEngine.configure { |c| c.actor_class = "Invoice" } + + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "manager" } + end + + assert_equal "Invoice must define `self.resolve_approval_group(group_name, target)`.", error.message + end + + test "raises when the actor class doesn't resolve to a loaded class" do + ApprovalEngine.configure { |c| c.actor_class = "NoSuchActor" } + + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "manager" } + end + + assert_includes error.message, "which doesn't resolve to a loaded class" + end + + test "raises when no tenant can be resolved" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW) { step "Manager", group: "manager" } + end + + assert_equal "define_flow needs a tenant: — pass one, or set config.current_tenant_method.", error.message + end + + test "falls back to the configured current tenant" do + ApprovalEngine.configure { |c| c.current_tenant_method = -> { TENANT } } + + template = ApprovalEngine.define_flow(FLOW) { step "Manager", group: "manager" } + + assert_equal TENANT, template.tenant_id + end + + test "raises on an unknown on option" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + on "invoice.created", condition: {} + step "Manager", group: "manager" + end + end + + assert_equal "on: unknown option(s) [:condition]. It takes when:, priority: and active:.", error.message + end + + test "raises when on(:create) is used without model:" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + on :create + step "Manager", group: "manager" + end + end + + assert_includes error.message, "needs the model: option" + end + + test "raises when model: hasn't called has_approvals" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: User) { step "Manager", group: "manager" } + end + + assert_includes error.message, "hasn't called has_approvals" + end + + test "raises on a duplicate event and priority pair" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 1 } } + on :create, when: { amount: { gt: 2 } } + step "Manager", group: "manager" + end + end + + assert_includes error.message, "declares two rules for \"invoice.created\" at priority 0" + end + + test "two rules on the same event are fine at different priorities" do + template = ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice) do + on :create, when: { amount: { gt: 100_000 } }, priority: 10 + on :create, when: { amount: { gt: 10_000 } } + step "Manager", group: "manager" + end + + assert_equal [ 10, 0 ], template.trigger_rules.by_priority.pluck(:priority) + end + + test "raises on a non-positive timeout_after" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, timeout_after: 0) { step "Manager", group: "manager" } + end + + assert_includes error.message, "must be a positive number of seconds" + + assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "manager", timeout_after: -1 } + end + end + + test "raises on a malformed when: with one error class" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) do + on "invoice.created", when: { amount: { bigger_than: 1 } } + step "Manager", group: "manager" + end + end + + assert_includes error.message, "the when: for \"invoice.created\" is invalid" + end + + test "nothing is written when a validation fails" do + assert_no_difference row_counts do + assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT) { step "Manager", group: "" } + end + end + end + + test "a failed redefine rolls back everything it had already rewritten" do + template = define_two_step_flow + before = template.template_steps.pluck(:name, :layer, :assigned_group).sort + + # A blank event name is caught by TriggerRule's own presence validation, + # i.e. after the template's status and both of its steps have already been + # rewritten — which is the case that proves the reconcile is one transaction + # rather than three independent writes. + assert_no_difference row_counts do + assert_raises(ActiveRecord::RecordInvalid) do + ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice, status: "archived") do + on "" + step "Director", group: "manager" + end + end + end + + assert_equal "active", template.reload.status + assert_equal before, template.template_steps.pluck(:name, :layer, :assigned_group).sort + end + + # --- return value ---------------------------------------------------- + + test "returns the template so it can be handed to run_approval!(templates:)" do + template = define_two_step_flow + + assert_instance_of TrackTemplate, template + + approval = @invoice.run_approval!(templates: [ template ]) + + assert_equal 1, approval.tracks.count + assert_equal %w[Manager CFO], approval.steps.order(:layer).pluck(:name) + end + + test "ApprovalEngine.flow looks a defined flow up by name" do + template = define_two_step_flow + + assert_equal template, ApprovalEngine.flow(FLOW, tenant: TENANT) + assert_nil ApprovalEngine.flow("Nothing defined", tenant: TENANT) + end + end +end From a4bfc197681e3d308a81b9bc7c93978a66749015 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 05/17] feat(notifications): add an opt-in mailer, reminder sweep, and step.activated event MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An approval system whose approver is never told they have an approval waiting is a half-system. The engine fired model callbacks and stopped: every adopter had to write the notification layer themselves, and TimeoutSweepJob could detect a stalled step without any way to tell a human. Ship six notifications through the existing transactional outbox: step_activated / step_reminder / step_reassigned -> the assignee changes_requested / approval_approved / approval_rejected -> approval_recipients Mail is dispatched from ProcessOutboxJob (so a message is only ever built for state that has already committed, and a down SMTP server can never roll back an approval) and sent with deliver_later (so a mail outage retries the *mail*, never the outbox event — a redelivery would re-run the host's callbacks). Anything the notifier raises is logged and swallowed for the same reason. Fill the one gap the outbox did not cover: nothing was emitted when a step became actionable. Step now emits a first-class `step.activated` event on build and on waiting->pending activation, with a matching `after_step_activated(step)` host callback and an `approval_engine.step.activated` notification channel. Add ReminderSweepJob / Step.sweep_reminders! / Step#remind!, modelled on the timeout sweep and made idempotent by a new nullable `reminded_at` column: a sweep that runs every ten minutes nudges each approver at most once. The column is referenced only from reminder code paths, so an install that upgrades the gem without running the migration loses reminders, never approvals. Backward compatibility: * config.notifications_enabled defaults to false. Four further independent gates (notification_events, a resolvable address, approval_recipients, and reminder_after) stand behind it. A regression test asserts a full approve-and-drain cycle under default config sends nothing. * `step.activated` is a NEW outbox event and roughly doubles outbox row volume for every install, notifications or not. Its relay is cheap (a respond_to? miss, a no-op instrument, and an early return), but hosts pruning processed rows should expect the table to grow about twice as fast. * Upgrading requires `rails approval_engine:install:migrations && rails db:migrate`. Co-Authored-By: Claude Opus 5 (1M context) --- .../approval_engine/process_outbox_job.rb | 13 ++ .../approval_engine/reminder_sweep_job.rb | 21 ++ .../approval_engine/notification_mailer.rb | 87 +++++++++ app/models/approval_engine/step.rb | 55 ++++++ app/services/approval_engine/notifier.rb | 106 ++++++++++ .../_call_to_action.html.erb | 5 + .../_call_to_action.text.erb | 1 + .../notification_mailer/_details.html.erb | 3 + .../notification_mailer/_details.text.erb | 3 + .../approval_approved.html.erb | 2 + .../approval_approved.text.erb | 3 + .../approval_rejected.html.erb | 5 + .../approval_rejected.text.erb | 5 + .../changes_requested.html.erb | 6 + .../changes_requested.text.erb | 7 + .../step_activated.html.erb | 4 + .../step_activated.text.erb | 5 + .../step_reassigned.html.erb | 4 + .../step_reassigned.text.erb | 5 + .../step_reminder.html.erb | 4 + .../step_reminder.text.erb | 5 + .../layouts/approval_engine/mailer.html.erb | 13 ++ .../layouts/approval_engine/mailer.text.erb | 1 + config/locales/approval_engine.en.yml | 19 ++ ...20260618000001_add_reminded_at_to_steps.rb | 17 ++ lib/approval_engine/configuration.rb | 112 +++++++++++ .../install/templates/POST_INSTALL | 25 +++ .../install/templates/approval_engine.rb | 53 +++++ .../step_reassigned.text.erb | 6 + .../20260618000002_add_email_to_users.rb | 7 + test/dummy/db/schema.rb | 5 +- .../approval_engine/install_generator_test.rb | 4 + .../process_outbox_job_test.rb | 47 +++++ .../notification_mailer_test.rb | 152 +++++++++++++++ test/models/approval_engine/reminder_test.rb | 139 +++++++++++++ test/models/approval_engine/step_test.rb | 38 +++- .../services/approval_engine/notifier_test.rb | 184 ++++++++++++++++++ test/test_helper.rb | 4 +- 38 files changed, 1171 insertions(+), 4 deletions(-) create mode 100644 app/jobs/approval_engine/reminder_sweep_job.rb create mode 100644 app/mailers/approval_engine/notification_mailer.rb create mode 100644 app/services/approval_engine/notifier.rb create mode 100644 app/views/approval_engine/notification_mailer/_call_to_action.html.erb create mode 100644 app/views/approval_engine/notification_mailer/_call_to_action.text.erb create mode 100644 app/views/approval_engine/notification_mailer/_details.html.erb create mode 100644 app/views/approval_engine/notification_mailer/_details.text.erb create mode 100644 app/views/approval_engine/notification_mailer/approval_approved.html.erb create mode 100644 app/views/approval_engine/notification_mailer/approval_approved.text.erb create mode 100644 app/views/approval_engine/notification_mailer/approval_rejected.html.erb create mode 100644 app/views/approval_engine/notification_mailer/approval_rejected.text.erb create mode 100644 app/views/approval_engine/notification_mailer/changes_requested.html.erb create mode 100644 app/views/approval_engine/notification_mailer/changes_requested.text.erb create mode 100644 app/views/approval_engine/notification_mailer/step_activated.html.erb create mode 100644 app/views/approval_engine/notification_mailer/step_activated.text.erb create mode 100644 app/views/approval_engine/notification_mailer/step_reassigned.html.erb create mode 100644 app/views/approval_engine/notification_mailer/step_reassigned.text.erb create mode 100644 app/views/approval_engine/notification_mailer/step_reminder.html.erb create mode 100644 app/views/approval_engine/notification_mailer/step_reminder.text.erb create mode 100644 app/views/layouts/approval_engine/mailer.html.erb create mode 100644 app/views/layouts/approval_engine/mailer.text.erb create mode 100644 config/locales/approval_engine.en.yml create mode 100644 db/migrate/20260618000001_add_reminded_at_to_steps.rb create mode 100644 test/dummy/app/views/approval_engine/notification_mailer/step_reassigned.text.erb create mode 100644 test/dummy/db/migrate/20260618000002_add_email_to_users.rb create mode 100644 test/mailers/approval_engine/notification_mailer_test.rb create mode 100644 test/models/approval_engine/reminder_test.rb create mode 100644 test/services/approval_engine/notifier_test.rb diff --git a/app/jobs/approval_engine/process_outbox_job.rb b/app/jobs/approval_engine/process_outbox_job.rb index 0bbf7c0..89ee370 100644 --- a/app/jobs/approval_engine/process_outbox_job.rb +++ b/app/jobs/approval_engine/process_outbox_job.rb @@ -45,6 +45,17 @@ def perform(outbox_event_id) def deliver(event) run_host_callbacks(event) broadcast_notification(event) + send_notifications(event) + end + + # Built-in mail is a courtesy layered on top of the delivery contract, not + # part of it. A missing template or an unreachable actor must never fail the + # event, because a retry would re-run the host callbacks above — turning a + # mailer problem into a double-disbursed invoice. + def send_notifications(event) + Notifier.deliver(event) + rescue StandardError => e + Rails.logger&.warn("[ApprovalEngine] notification skipped for outbox event #{event.id}: #{e.class}: #{e.message}") end # Invoke the matching host callback if the target model chose to define one. @@ -55,6 +66,8 @@ def run_host_callbacks(event) return unless target case event.event_name + when "step.activated" then try_call(target, :after_step_activated, record) + when "step.reminded" then try_call(target, :on_step_reminder, record) when "step.approved" then try_call(target, :after_step_approved, record) when "step.rejected" then try_call(target, :after_step_rejected, record) when "step.changes_requested" then try_call(target, :after_step_changes_requested, record) diff --git a/app/jobs/approval_engine/reminder_sweep_job.rb b/app/jobs/approval_engine/reminder_sweep_job.rb new file mode 100644 index 0000000..43a6c0d --- /dev/null +++ b/app/jobs/approval_engine/reminder_sweep_job.rb @@ -0,0 +1,21 @@ +module ApprovalEngine + # Periodic nudge for approvers who have gone quiet: fires the reminder signal + # for every pending step that has been waiting longer than + # `config.reminder_after`. Schedule it with whatever recurring mechanism you + # already run (solid_queue recurring tasks, sidekiq-cron, the `whenever` gem, + # a Kubernetes CronJob hitting a rake task, ...): + # + # ApprovalEngine::ReminderSweepJob.perform_later # all tenants + # ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) + # + # Idempotent: each step is nudged at most once, so running it hourly only makes + # the nudge arrive sooner — it never mails the same person twice. A no-op until + # `config.reminder_after` is set, so scheduling it early is harmless. + class ReminderSweepJob < ApplicationJob + queue_as { ApprovalEngine.config.outbox_queue } + + def perform(tenant_id: nil) + Step.sweep_reminders!(tenant_id: tenant_id) + end + end +end diff --git a/app/mailers/approval_engine/notification_mailer.rb b/app/mailers/approval_engine/notification_mailer.rb new file mode 100644 index 0000000..690e4a3 --- /dev/null +++ b/app/mailers/approval_engine/notification_mailer.rb @@ -0,0 +1,87 @@ +module ApprovalEngine + # The engine's built-in notifications: the approver-facing half of the system + # that a host otherwise has to write from scratch. + # + # Dispatched by Notifier from inside ProcessOutboxJob, never from a model + # callback — so a message is only ever built for state that has already + # committed, and a down SMTP server can't reach back into an approval. + # + # Every action takes an explicit `to:` (the notifier owns recipient resolution) + # and assigns nothing but plain Strings and Integers, so no view ever calls a + # method on a host record. That is what keeps these templates usable by any + # application, whatever its models happen to be called. + # + # To restyle one message, drop your own copy at + # app/views/approval_engine/notification_mailer/.html.erb — your app's + # view path is searched before the engine's. Override *both* formats of an + # action together: Action Mailer takes an action's templates from the first + # view path that has any of them, so a lone .html.erb in your app silences the + # engine's .text.erb and leaves you with a single-part message. To replace one + # wholesale instead, subclass this and point `config.mailer_class` at it. + class NotificationMailer < ApprovalEngine.config.parent_mailer.constantize + # Only impose our own layout when we aren't inheriting the host's mailer — if + # they pointed `parent_mailer` at their ApplicationMailer, their layout and + # their `default from:` are the whole point of doing so. + layout "approval_engine/mailer" if superclass == ActionMailer::Base + + def step_activated(step, to:) + assign_step(step) + notification_mail(to: to) + end + + def step_reminder(step, to:) + assign_step(step) + # Rounded to whole hours because "it has been sitting for two days" is the + # point of a nudge; the arithmetic is not. + @waiting_hours = (step.waiting_for / 3600.0).round if step.waiting_for + notification_mail(to: to) + end + + def step_reassigned(step, to:) + assign_step(step) + notification_mail(to: to) + end + + def changes_requested(step, to:) + assign_step(step) + @comment = step.audit_logs.where(event: "changes_requested").order(:created_at).last&.comment + notification_mail(to: to) + end + + def approval_approved(approval, to:) + assign_approval(approval) + notification_mail(to: to) + end + + def approval_rejected(approval, to:, reason: nil) + assign_approval(approval) + @reason = reason + notification_mail(to: to) + end + + private + + def assign_step(step) + @step_name = step.name + @track_name = step.track.name + @actor_label = ApprovalEngine.config.actor_label(step.assigned_actor) + assign_approval(step.track.approval) + end + + def assign_approval(approval) + @target_label = ApprovalEngine.config.target_label(approval.target) + @event_name = approval.event_name + @url = ApprovalEngine.config.approval_url(approval) + end + + # One funnel for all six. `from` is only set when the host configured one, so + # inheriting their mailer keeps whatever sender they already standardised on; + # the subject lives in the locale file, where they can rewrite it without + # touching the engine. + def notification_mail(to:) + headers = { to: to, subject: default_i18n_subject(target: @target_label) } + headers[:from] = ApprovalEngine.config.mailer_from if ApprovalEngine.config.mailer_from.present? + mail(headers) + end + end +end diff --git a/app/models/approval_engine/step.rb b/app/models/approval_engine/step.rb index a708272..732daa5 100644 --- a/app/models/approval_engine/step.rb +++ b/app/models/approval_engine/step.rb @@ -36,6 +36,15 @@ class Step < ApplicationRecord before_update :guard_immutable_transition before_save :stamp_timing + # A step becoming actionable is the one ledger event the outbox never + # carried, so nothing downstream could tell an approver they had work + # waiting. Fires on build (created straight into `pending`) and on + # waiting->pending activation — the same two moments `stamp_timing` covers. + # Split across the two callbacks rather than one `after_save`, because + # `status` defaults to "pending" in the database: a step built as pending + # records no *change* to compare against, so create has to be its own case. + after_create :emit_activation, if: :pending? + after_update :emit_activation, if: -> { saved_change_to_status? && pending? } scope :waiting, -> { where(status: "waiting") } scope :pending, -> { where(status: "pending") } @@ -48,6 +57,13 @@ class Step < ApplicationRecord scope :overdue, ->(as_of = Time.current) { pending.where(timed_out_at: nil).where.not(timeout_at: nil).where("timeout_at <= ?", as_of) } + # Pending steps that have sat unanswered longer than `after` seconds and + # haven't been nudged yet — the set the reminder sweep acts on. Each step is + # nudged at most once, so a sweep that runs every minute is as safe as one + # that runs nightly. + scope :remindable, ->(after:, as_of: Time.current) { + pending.where(reminded_at: nil).where.not(activated_at: nil).where("activated_at <= ?", as_of - after) + } # An approver's inbox: pending steps the actor may act on — assigned to them # directly *plus* those they cover via an active delegation. The scope form @@ -137,6 +153,22 @@ def time_out! self end + # A nudge, not a verdict. Nothing about the step's authority changes — the + # only write is the stamp that stops it being nudged again. Like time_out!, + # it fires at most once and is idempotent under concurrent sweeps. + def remind! + track.approval.with_lock do + reload + return self unless pending? && reminded_at.nil? + + update!(reminded_at: Time.current) + record_audit(event: "reminded", by: nil, comment: nil) + emit_outbox("step.reminded") + end + + self + end + # Honest denial when an approver never acted in time: the step becomes # `expired` (a distinct terminal state — never "approved", never a human # "rejected"), with no human actor on the ledger. Resolves the surrounding @@ -192,6 +224,25 @@ def self.sweep_timeouts!(tenant_id: nil) swept end + # Nudge every step that has gone quiet for longer than + # `config.reminder_after`. A no-op while that is nil, so scheduling the sweep + # before configuring the threshold is harmless. Returns the number nudged. + # One step raising is logged and skipped so it can't starve the batch, + # exactly like the timeout sweep. ReminderSweepJob wraps this. + def self.sweep_reminders!(tenant_id: nil, after: ApprovalEngine.config.reminder_after) + return 0 if after.blank? + + scope = tenant_id ? remindable(after: after).for_tenant(tenant_id) : remindable(after: after) + reminded = 0 + scope.find_each do |step| + step.remind! + reminded += 1 + rescue StandardError => e + Rails.logger&.warn("[ApprovalEngine] reminder sweep skipped step #{step.id}: #{e.class}: #{e.message}") + end + reminded + end + private # The shared transition pipeline. We lock the *approval* — the aggregate @@ -234,6 +285,10 @@ def emit_outbox(event_name) OutboxEvent.create!(tenant_id: tenant_id, event_name: event_name, record: self) end + def emit_activation + emit_outbox("step.activated") + end + def guard_immutable_transition return unless will_save_change_to_status? diff --git a/app/services/approval_engine/notifier.rb b/app/services/approval_engine/notifier.rb new file mode 100644 index 0000000..6342849 --- /dev/null +++ b/app/services/approval_engine/notifier.rb @@ -0,0 +1,106 @@ +module ApprovalEngine + # Turns one relayed outbox event into one piece of mail. It is the only place + # that knows which event produces which notification, who receives it, and + # whether it is switched on at all. + # + # Nothing here sends anything until the host sets + # `config.notifications_enabled = true` — an upgrade from a version without + # notifications must never start mailing real people on its own. + class Notifier + # Outbox event name => notification. The three step notifications go to the + # actor the engine already knows (the assignee); the three approval-level + # ones go wherever `config.approval_recipients` says, because the engine + # knows who approves but not who asked. + EVENTS = { + "step.activated" => :step_activated, + "step.reminded" => :step_reminder, + "step.reassigned" => :step_reassigned, + "step.changes_requested" => :changes_requested, + "approval.approved" => :approval_approved, + "approval.rejected" => :approval_rejected + }.freeze + + ACTOR_ADDRESSED = %i[step_activated step_reminder step_reassigned].freeze + + def self.deliver(event) + new(event).deliver + end + + def initialize(event) + @event = event + @notification = EVENTS[event.event_name] + end + + def deliver + return unless notification && ApprovalEngine.config.notification_enabled?(notification) + return unless record + + addresses = recipient_addresses + if addresses.empty? + Rails.logger&.warn("[ApprovalEngine] no recipient address for #{@event.event_name} on #{record.class}##{record.id} — notification skipped") + return + end + + warn_without_sender + addresses.each { |address| enqueue(address) } + end + + private + + attr_reader :notification + + def record + @event.record + end + + # Mail is enqueued, not sent, from here: the SMTP round trip belongs in its + # own job so a dead mail server retries the *mail*, never the outbox event + # (which would re-run the host's callbacks alongside it). + def enqueue(address) + message(address).deliver_later(**delivery_options) + end + + def message(address) + mailer = ApprovalEngine.config.mailer + + if notification == :approval_rejected + mailer.approval_rejected(record, to: address, reason: @event.error_payload) + else + mailer.public_send(notification, record, to: address) + end + end + + # Action Mailer has nothing to hand the SMTP server without a sender, and the + # resulting failure surfaces deep inside the delivery job, far from the + # missing setting that caused it. Name the fix here, where it is obvious. The + # mail is still enqueued: silently dropping what the host asked for is worse + # than a message their queue will report on. + def warn_without_sender + return if ApprovalEngine.config.mailer_from.present? + return if ApprovalEngine.config.mailer.default_params[:from].present? + + Rails.logger&.warn("[ApprovalEngine] notifications are enabled but no From address is configured — set config.mailer_from, or point config.parent_mailer at a mailer with a `default from:`") + end + + def delivery_options + queue = ApprovalEngine.config.mailer_queue + queue ? { queue: queue } : {} + end + + def recipient_addresses + Array(recipients).filter_map { |actor| ApprovalEngine.config.actor_email(actor) }.uniq + end + + def recipients + if ACTOR_ADDRESSED.include?(notification) + [ record.assigned_actor ] + else + ApprovalEngine.config.approval_recipients_for(approval) + end + end + + def approval + record.is_a?(Approval) ? record : record.approval + end + end +end diff --git a/app/views/approval_engine/notification_mailer/_call_to_action.html.erb b/app/views/approval_engine/notification_mailer/_call_to_action.html.erb new file mode 100644 index 0000000..b0e9172 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/_call_to_action.html.erb @@ -0,0 +1,5 @@ +<% if @url.present? %> + +<% else %> +

Open <%= Rails.application.class.module_parent_name %> to review it — no approval link is configured yet (see config.approval_url_builder).

+<% end %> diff --git a/app/views/approval_engine/notification_mailer/_call_to_action.text.erb b/app/views/approval_engine/notification_mailer/_call_to_action.text.erb new file mode 100644 index 0000000..6764a73 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/_call_to_action.text.erb @@ -0,0 +1 @@ +<% if @url.present? %>Review it here: <%= @url %><% else %>Open <%= Rails.application.class.module_parent_name %> to review it — no approval link is configured yet (see config.approval_url_builder).<% end %> diff --git a/app/views/approval_engine/notification_mailer/_details.html.erb b/app/views/approval_engine/notification_mailer/_details.html.erb new file mode 100644 index 0000000..0ecd06c --- /dev/null +++ b/app/views/approval_engine/notification_mailer/_details.html.erb @@ -0,0 +1,3 @@ +<% if @step_name.present? || @track_name.present? %> +

<%= [ @step_name, @track_name ].select(&:present?).join(" — ") %>

+<% end %> diff --git a/app/views/approval_engine/notification_mailer/_details.text.erb b/app/views/approval_engine/notification_mailer/_details.text.erb new file mode 100644 index 0000000..62e5dfe --- /dev/null +++ b/app/views/approval_engine/notification_mailer/_details.text.erb @@ -0,0 +1,3 @@ +<% if @step_name.present? || @track_name.present? %> +<%= [ @step_name, @track_name ].select(&:present?).join(" — ") %> +<% end %> diff --git a/app/views/approval_engine/notification_mailer/approval_approved.html.erb b/app/views/approval_engine/notification_mailer/approval_approved.html.erb new file mode 100644 index 0000000..3053467 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/approval_approved.html.erb @@ -0,0 +1,2 @@ +

<%= @target_label %> has been fully approved. Nothing further is needed.

+<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/approval_approved.text.erb b/app/views/approval_engine/notification_mailer/approval_approved.text.erb new file mode 100644 index 0000000..be86f99 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/approval_approved.text.erb @@ -0,0 +1,3 @@ +<%= @target_label %> has been fully approved. Nothing further is needed. + +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/approval_engine/notification_mailer/approval_rejected.html.erb b/app/views/approval_engine/notification_mailer/approval_rejected.html.erb new file mode 100644 index 0000000..cb6d6f9 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/approval_rejected.html.erb @@ -0,0 +1,5 @@ +

<%= @target_label %> was not approved.

+<% if @reason.present? %> +

Reason: <%= @reason %>

+<% end %> +<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/approval_rejected.text.erb b/app/views/approval_engine/notification_mailer/approval_rejected.text.erb new file mode 100644 index 0000000..fb4ff31 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/approval_rejected.text.erb @@ -0,0 +1,5 @@ +<%= @target_label %> was not approved. +<% if @reason.present? %> +Reason: <%= @reason %> +<% end %> +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/approval_engine/notification_mailer/changes_requested.html.erb b/app/views/approval_engine/notification_mailer/changes_requested.html.erb new file mode 100644 index 0000000..b640b04 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/changes_requested.html.erb @@ -0,0 +1,6 @@ +

Changes were requested on <%= @target_label %><%= " by #{@actor_label}" if @actor_label.present? %>.

+<%= render partial: "details", formats: [ :html ] %> +<% if @comment.present? %> +
<%= @comment %>
+<% end %> +<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/changes_requested.text.erb b/app/views/approval_engine/notification_mailer/changes_requested.text.erb new file mode 100644 index 0000000..a90840e --- /dev/null +++ b/app/views/approval_engine/notification_mailer/changes_requested.text.erb @@ -0,0 +1,7 @@ +Changes were requested on <%= @target_label %><%= " by #{@actor_label}" if @actor_label.present? %>. +<%= render partial: "details", formats: [ :text ] %><% if @comment.present? %> +Their comment: + +<%= @comment %> +<% end %> +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/approval_engine/notification_mailer/step_activated.html.erb b/app/views/approval_engine/notification_mailer/step_activated.html.erb new file mode 100644 index 0000000..702d03d --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_activated.html.erb @@ -0,0 +1,4 @@ +

Hello<%= " #{@actor_label}" if @actor_label.present? %>,

+

<%= @target_label %> is waiting on your approval.

+<%= render partial: "details", formats: [ :html ] %> +<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/step_activated.text.erb b/app/views/approval_engine/notification_mailer/step_activated.text.erb new file mode 100644 index 0000000..7c077f3 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_activated.text.erb @@ -0,0 +1,5 @@ +Hello<%= " #{@actor_label}" if @actor_label.present? %>, + +<%= @target_label %> is waiting on your approval. +<%= render partial: "details", formats: [ :text ] %> +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/approval_engine/notification_mailer/step_reassigned.html.erb b/app/views/approval_engine/notification_mailer/step_reassigned.html.erb new file mode 100644 index 0000000..975e69d --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_reassigned.html.erb @@ -0,0 +1,4 @@ +

Hello<%= " #{@actor_label}" if @actor_label.present? %>,

+

<%= @target_label %> has been handed to you for approval. It is waiting on you now.

+<%= render partial: "details", formats: [ :html ] %> +<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/step_reassigned.text.erb b/app/views/approval_engine/notification_mailer/step_reassigned.text.erb new file mode 100644 index 0000000..b7678b6 --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_reassigned.text.erb @@ -0,0 +1,5 @@ +Hello<%= " #{@actor_label}" if @actor_label.present? %>, + +<%= @target_label %> has been handed to you for approval. It is waiting on you now. +<%= render partial: "details", formats: [ :text ] %> +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/approval_engine/notification_mailer/step_reminder.html.erb b/app/views/approval_engine/notification_mailer/step_reminder.html.erb new file mode 100644 index 0000000..cc6ce1b --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_reminder.html.erb @@ -0,0 +1,4 @@ +

Hello<%= " #{@actor_label}" if @actor_label.present? %>,

+

<%= @target_label %> is still waiting on your approval<%= ", and has been for about #{pluralize(@waiting_hours, "hour")}" if @waiting_hours %>.

+<%= render partial: "details", formats: [ :html ] %> +<%= render partial: "call_to_action", formats: [ :html ] %> diff --git a/app/views/approval_engine/notification_mailer/step_reminder.text.erb b/app/views/approval_engine/notification_mailer/step_reminder.text.erb new file mode 100644 index 0000000..d1ba05d --- /dev/null +++ b/app/views/approval_engine/notification_mailer/step_reminder.text.erb @@ -0,0 +1,5 @@ +Hello<%= " #{@actor_label}" if @actor_label.present? %>, + +<%= @target_label %> is still waiting on your approval<%= ", and has been for about #{pluralize(@waiting_hours, "hour")}" if @waiting_hours %>. +<%= render partial: "details", formats: [ :text ] %> +<%= render partial: "call_to_action", formats: [ :text ] %> diff --git a/app/views/layouts/approval_engine/mailer.html.erb b/app/views/layouts/approval_engine/mailer.html.erb new file mode 100644 index 0000000..734dcbe --- /dev/null +++ b/app/views/layouts/approval_engine/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + <%= message.subject %> + + +
+ <%= yield %> +
+ + diff --git a/app/views/layouts/approval_engine/mailer.text.erb b/app/views/layouts/approval_engine/mailer.text.erb new file mode 100644 index 0000000..37f0bdd --- /dev/null +++ b/app/views/layouts/approval_engine/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/config/locales/approval_engine.en.yml b/config/locales/approval_engine.en.yml new file mode 100644 index 0000000..87eeac5 --- /dev/null +++ b/config/locales/approval_engine.en.yml @@ -0,0 +1,19 @@ +# Subjects for the built-in notifications. The engine's locale path is loaded +# before the application's, so a host reworded subject in their own en.yml wins +# without forking the mailer. `%{target}` is the label from +# `config.target_label_method`, already resolved to a plain String. +en: + approval_engine: + notification_mailer: + step_activated: + subject: "Approval needed: %{target}" + step_reminder: + subject: "Still waiting on you: %{target}" + step_reassigned: + subject: "Approval handed to you: %{target}" + changes_requested: + subject: "Changes requested: %{target}" + approval_approved: + subject: "Approved: %{target}" + approval_rejected: + subject: "Rejected: %{target}" diff --git a/db/migrate/20260618000001_add_reminded_at_to_steps.rb b/db/migrate/20260618000001_add_reminded_at_to_steps.rb new file mode 100644 index 0000000..dde11a3 --- /dev/null +++ b/db/migrate/20260618000001_add_reminded_at_to_steps.rb @@ -0,0 +1,17 @@ +class AddRemindedAtToSteps < ActiveRecord::Migration[7.0] + # When the reminder sweep last nudged this step's assignee — so a nudge fires + # once per step rather than on every sweep. Nullable, with no default and no + # backfill: an existing install picks it up as a metadata-only ALTER, and every + # pre-1.1 code path stays away from the column, so an app that upgrades the gem + # but forgets this migration loses reminders, never approvals. + def change + add_column :approval_engine_steps, :reminded_at, :datetime + + # The reminder sweep's twin of idx_ae_steps_overdue: only un-nudged, still + # pending steps are ever scanned. On a very large table build this by hand + # with CREATE INDEX CONCURRENTLY first — the partial predicate is identical. + add_index :approval_engine_steps, :activated_at, + where: "reminded_at IS NULL AND status = 'pending'", + name: "idx_ae_steps_remindable" + end +end diff --git a/lib/approval_engine/configuration.rb b/lib/approval_engine/configuration.rb index c0eb4bd..d97efa0 100644 --- a/lib/approval_engine/configuration.rb +++ b/lib/approval_engine/configuration.rb @@ -34,12 +34,79 @@ class Configuration # `resolve_approval_group` invents names dynamically should leave it nil. attr_accessor :approval_groups + # Master switch for the built-in notifications. OFF by default and + # deliberately so: upgrading the gem must never start mailing an adopter's + # real users. Nothing below it has any effect until this is true. + attr_accessor :notifications_enabled + + # Which notifications are live, as symbols. Drop one to silence it without + # writing a mailer: config.notification_events -= [ :step_reassigned ] + attr_accessor :notification_events + + # The mailer the notifier sends through. Point it at a subclass of + # ApprovalEngine::NotificationMailer to override individual actions wholesale. + attr_accessor :mailer_class + + # What NotificationMailer inherits from. Point it at your ApplicationMailer to + # pick up your layout, your `default from:`, and your styling. Read *once*, + # when the mailer class is first loaded, so it belongs in an initializer. + attr_accessor :parent_mailer + + # The From address. Leave nil when `parent_mailer` already supplies one; + # otherwise set it, or Action Mailer has no sender to hand the SMTP server. + attr_accessor :mailer_from + + # ActiveJob queue for the mail itself. nil means your app's own mailer queue — + # the engine doesn't force a queue name on you. + attr_accessor :mailer_queue + + # How the engine reads an address off an actor. Whatever this returns blank + # for is skipped, never raised on: an actor without an email is a + # configuration problem, not a reason to fail an approval. + attr_accessor :actor_email_method + + # How an actor, and the record under approval, name themselves in an email. + # nil falls back to something safe and generic, so a host that configures + # nothing still gets readable mail instead of "#". + attr_accessor :actor_label_method + attr_accessor :target_label_method + + # A callable returning the URL where this approval is acted on, e.g. + # `->(approval) { Rails.application.routes.url_helpers.invoice_url(approval.target) }`. + # The engine can't know your routes, so while this is nil the mail carries no + # link — which is exactly why you want to set it. + attr_accessor :approval_url_builder + + # A callable returning the actors an *approval-level* notification goes to + # (approved / rejected / changes requested), e.g. + # `->(approval) { [ approval.target.submitter ] }`. The engine knows who + # approves; only you know who asked. While this is nil, those three are never + # sent. + attr_accessor :approval_recipients + + # Seconds a step may sit unanswered before the reminder sweep nudges its + # assignee. nil = reminders off, which is why scheduling ReminderSweepJob + # before configuring this does nothing. + attr_accessor :reminder_after + def initialize @outbox_queue = :default @current_tenant_method = nil @actor_class = "User" @raise_on_rule_errors = false @approval_groups = nil + @notifications_enabled = false + @notification_events = %i[step_activated step_reminder step_reassigned changes_requested approval_approved approval_rejected] + @mailer_class = "ApprovalEngine::NotificationMailer" + @parent_mailer = "ActionMailer::Base" + @mailer_from = nil + @mailer_queue = nil + @actor_email_method = :email + @actor_label_method = nil + @target_label_method = nil + @approval_url_builder = nil + @approval_recipients = nil + @reminder_after = nil end # The host's actor class, resolved lazily so reloading works in development. @@ -52,6 +119,51 @@ def actor_class_constant def current_tenant current_tenant_method&.call end + + # True when this notification should actually be sent. Both gates matter: the + # master switch keeps an upgrade silent, and the event list lets a host keep + # the layer on while muting one message. + def notification_enabled?(name) + notifications_enabled && notification_events.include?(name) + end + + # The mailer, resolved lazily so reloading works in development. + def mailer + mailer_class.to_s.constantize + end + + # The address to mail an actor at, or nil when there isn't one. `try` means an + # actor that doesn't respond to the method at all is skipped, not raised on. + def actor_email(actor) + actor.try(actor_email_method).presence + end + + # How an actor is addressed in an email. Unlike the dashboard's deliberately + # technical `User#3 (Manager)`, this is read by a human in their inbox. + def actor_label(actor) + return "" if actor.nil? + + (actor_label_method && actor.try(actor_label_method)).presence || + actor.try(:name).presence || + "#{actor.class.name} ##{actor.id}" + end + + # ActiveRecord doesn't define a human `to_s`, so the fallback is a class-and-id + # shape rather than an object inspection leaking into someone's inbox. + def target_label(target) + return "" if target.nil? + + (target_label_method && target.try(target_label_method)).presence || + "#{target.class.name} ##{target.id}" + end + + def approval_url(approval) + approval_url_builder&.call(approval).presence + end + + def approval_recipients_for(approval) + Array(approval_recipients&.call(approval)).compact + end end class << self diff --git a/lib/generators/approval_engine/install/templates/POST_INSTALL b/lib/generators/approval_engine/install/templates/POST_INSTALL index ebeeff6..bc0aae1 100644 --- a/lib/generators/approval_engine/install/templates/POST_INSTALL +++ b/lib/generators/approval_engine/install/templates/POST_INSTALL @@ -61,4 +61,29 @@ Next steps: mount ApprovalEngine::Engine => "/approval_engine" + 8. (Optional) Turn on the built-in notifications. They are OFF by default so + that installing or upgrading the gem never mails your users on its own. + Enabling them needs THREE things, not one: + + config.notifications_enabled = true + config.mailer_from = "approvals@example.com" # or parent_mailer + config.approval_url_builder = ->(a) { invoice_url(a.target) } + + Without a From address nothing can be delivered; without a URL builder the + mail arrives with nowhere to go. Set config.approval_recipients too, or the + approved / rejected / changes-requested emails stay silent — the engine + knows who approves, but only you know who asked. + + 9. (Optional) Schedule the reminder sweep so a quiet approver gets nudged. + Set the threshold, then run the job on whatever recurring mechanism you + already have (solid_queue recurring tasks, sidekiq-cron, whenever, cron): + + config.reminder_after = 2.days.to_i + + ApprovalEngine::ReminderSweepJob.perform_later # all tenants + ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) + + Each step is nudged at most once, so running it often is safe. While + reminder_after is nil the sweep is a no-op. + =============================================================================== diff --git a/lib/generators/approval_engine/install/templates/approval_engine.rb b/lib/generators/approval_engine/install/templates/approval_engine.rb index a0b73d1..ede5ef5 100644 --- a/lib/generators/approval_engine/install/templates/approval_engine.rb +++ b/lib/generators/approval_engine/install/templates/approval_engine.rb @@ -18,4 +18,57 @@ # Fail closed by default: a malformed dynamic rule quarantines the approval # instead of crashing the approval. Set to true in development/test to raise. config.raise_on_rule_errors = false + + # --------------------------------------------------------------------------- + # Notifications (opt-in, OFF by default) + # --------------------------------------------------------------------------- + # The engine ships six emails: an approver is told they have work waiting, is + # nudged if they go quiet, and is told when an approval is handed to them; the + # requesting side is told when changes are requested, and when the approval is + # approved or rejected. + # + # This stays false on purpose. Your Step rows are assigned to real people, and + # an upgrade that starts mailing them — a backlog's worth on the first outbox + # drain — is not something you can take back. Turn it on deliberately. + config.notifications_enabled = false + + # Enabling notifications ALSO needs a sender: either set config.mailer_from, + # or point config.parent_mailer at a mailer that already has `default from:`. + # Without one, Action Mailer has nothing to hand the SMTP server. + # + # config.mailer_from = "approvals@example.com" + # config.parent_mailer = "ApplicationMailer" # adopts your layout + sender + # + # Which of the six are live. Drop one to silence it: + # config.notification_events -= [ :step_reassigned ] + # + # Where an approval is acted on. The engine can't know your routes, so until + # you set this the mail carries no link: + # config.approval_url_builder = ->(approval) do + # Rails.application.routes.url_helpers.invoice_url(approval.target) + # end + # + # Who hears about an *approval-level* outcome (approved / rejected / changes + # requested). The engine knows who approves; only you know who asked. While + # this is nil, those three notifications are never sent: + # config.approval_recipients = ->(approval) { [ approval.target.submitter ] } + # + # How an actor's address and display name are read, and how the record under + # approval names itself. The label defaults fall back to "Invoice #12": + # config.actor_email_method = :email + # config.actor_label_method = :full_name + # config.target_label_method = :reference + # + # The mailer itself. Subclass ApprovalEngine::NotificationMailer to take one + # message over completely, or leave it and override the views in + # app/views/approval_engine/notification_mailer/ (override both formats of an + # action together, or the message loses a part): + # config.mailer_class = "MyApprovalMailer" + # config.mailer_queue = :mailers + + # How long a step may sit unanswered before ReminderSweepJob nudges its + # assignee, in seconds. nil = reminders off, so scheduling the job before + # setting this does nothing. Each step is nudged at most once. + # config.reminder_after = 2.days.to_i + config.reminder_after = nil end diff --git a/test/dummy/app/views/approval_engine/notification_mailer/step_reassigned.text.erb b/test/dummy/app/views/approval_engine/notification_mailer/step_reassigned.text.erb new file mode 100644 index 0000000..7ddaf5d --- /dev/null +++ b/test/dummy/app/views/approval_engine/notification_mailer/step_reassigned.text.erb @@ -0,0 +1,6 @@ +HOST OVERRIDE SENTINEL — this file lives in the dummy *application*, not the +engine, and exists to prove that a host app's copy of a notification template +wins over the one the engine ships. If NotificationMailerTest stops seeing this +sentinel, the "just drop a file in your app" customisation story is broken. + +<%= @target_label %> has been handed to you for approval. diff --git a/test/dummy/db/migrate/20260618000002_add_email_to_users.rb b/test/dummy/db/migrate/20260618000002_add_email_to_users.rb new file mode 100644 index 0000000..8442887 --- /dev/null +++ b/test/dummy/db/migrate/20260618000002_add_email_to_users.rb @@ -0,0 +1,7 @@ +class AddEmailToUsers < ActiveRecord::Migration[8.1] + # The dummy actor needs a real address for the notification tests to resolve + # one — `config.actor_email_method` defaults to :email. + def change + add_column :users, :email, :string + end +end diff --git a/test/dummy/db/schema.rb b/test/dummy/db/schema.rb index f792cda..ef6bfdc 100644 --- a/test/dummy/db/schema.rb +++ b/test/dummy/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.1].define(version: 2026_06_17_000002) do +ActiveRecord::Schema[8.1].define(version: 2026_06_18_000002) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -94,12 +94,14 @@ t.integer "iteration", default: 1, null: false t.integer "layer", default: 1, null: false t.string "name" + t.datetime "reminded_at" t.string "status", default: "pending", null: false t.string "tenant_id", null: false t.datetime "timed_out_at" t.integer "timeout_after" t.datetime "timeout_at" t.datetime "updated_at", null: false + t.index ["activated_at"], name: "idx_ae_steps_remindable", where: "((reminded_at IS NULL) AND ((status)::text = 'pending'::text))" t.index ["approval_engine_track_id", "iteration", "layer", "status"], name: "idx_ae_steps_layer_consensus" t.index ["approval_engine_track_id"], name: "index_approval_engine_steps_on_approval_engine_track_id" t.index ["assigned_actor_type", "assigned_actor_id"], name: "index_approval_engine_steps_on_assigned_actor" @@ -171,6 +173,7 @@ create_table "users", force: :cascade do |t| t.datetime "created_at", null: false + t.string "email" t.string "name" t.string "role" t.datetime "updated_at", null: false diff --git a/test/generators/approval_engine/install_generator_test.rb b/test/generators/approval_engine/install_generator_test.rb index 5dca81f..ac212aa 100644 --- a/test/generators/approval_engine/install_generator_test.rb +++ b/test/generators/approval_engine/install_generator_test.rb @@ -15,6 +15,10 @@ class InstallGeneratorTest < Rails::Generators::TestCase assert_match(/ApprovalEngine\.configure do \|config\|/, content) assert_match(/config\.actor_class = "User"/, content) assert_match(/config\.raise_on_rule_errors = false/, content) + # The opt-in is written out rather than implied: an adopter reading the + # generated file must see that notifications are off, not infer it. + assert_match(/config\.notifications_enabled = false/, content) + assert_match(/config\.reminder_after = nil/, content) end end end diff --git a/test/jobs/approval_engine/process_outbox_job_test.rb b/test/jobs/approval_engine/process_outbox_job_test.rb index 3dca5f4..40880d4 100644 --- a/test/jobs/approval_engine/process_outbox_job_test.rb +++ b/test/jobs/approval_engine/process_outbox_job_test.rb @@ -116,6 +116,45 @@ def emit(event_name, record: @approval, reason: nil) end end + test "step.activated invokes the host's after_step_activated callback" do + step = pending_step + seen = [] + Invoice.define_method(:after_step_activated) { |s| seen << s } + + ProcessOutboxJob.perform_now(OutboxEvent.find_by!(event_name: "step.activated", record: step).id) + + assert_equal [ step ], seen + ensure + Invoice.remove_method(:after_step_activated) if Invoice.method_defined?(:after_step_activated) + end + + test "step.reminded invokes the host's on_step_reminder callback" do + step = pending_step + seen = [] + Invoice.define_method(:on_step_reminder) { |s| seen << s } + + ProcessOutboxJob.perform_now(emit("step.reminded", record: step).id) + + assert_equal [ step ], seen + ensure + Invoice.remove_method(:on_step_reminder) if Invoice.method_defined?(:on_step_reminder) + end + + test "instruments approval_engine.step.activated for subscribers" do + step = pending_step + event = OutboxEvent.find_by!(event_name: "step.activated", record: step) + received = [] + callback = ->(*args) { received << ActiveSupport::Notifications::Event.new(*args) } + + ActiveSupport::Notifications.subscribed(callback, "approval_engine.step.activated") do + ProcessOutboxJob.perform_now(event.id) + end + + assert_equal 1, received.size + assert_equal step, received.first.payload[:record] + assert_equal @invoice, received.first.payload[:target] + end + test "drain! re-enqueues stale unprocessed events, skipping fresh and processed ones" do stale = emit("approval.approved") stale.update_column(:created_at, 2.minutes.ago) @@ -158,6 +197,14 @@ def emit(event_name, record: @approval, reason: nil) private + # A real, actionable step under @approval — the shape the step-level events + # carry. Creating it also writes its own step.activated event. + def pending_step + track = @approval.tracks.create!(tenant_id: TENANT, name: "Main") + track.steps.create!(tenant_id: TENANT, layer: 1, status: "pending", + assigned_actor: User.create!(name: "M", role: "manager")) + end + # Temporarily make the host callback blow up, then restore it — exercises the # real job's failure path without any mocking library. def with_failing_callback diff --git a/test/mailers/approval_engine/notification_mailer_test.rb b/test/mailers/approval_engine/notification_mailer_test.rb new file mode 100644 index 0000000..40a7894 --- /dev/null +++ b/test/mailers/approval_engine/notification_mailer_test.rb @@ -0,0 +1,152 @@ +require "test_helper" + +module ApprovalEngine + # The notifications themselves. The invariant every one of these defends: a + # template may only read the plain Strings the mailer precomputed, so the same + # six emails work in an app whose record has no `name`, no `title`, and a + # default Object#to_s. + class NotificationMailerTest < ApprovalEngine::TestCase + setup do + @invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) + @manager = create_user(role: :manager, email: "manager@example.test") + @approval = Approval.create!(tenant_id: TENANT, target: @invoice, status: "pending", event_name: "invoice.created") + @track = @approval.tracks.create!(tenant_id: TENANT, name: "Finance") + @step = @track.steps.create!(tenant_id: TENANT, name: "Manager sign-off", layer: 1, + status: "pending", assigned_actor: @manager) + end + + def activated + NotificationMailer.step_activated(@step, to: "manager@example.test") + end + + def body_of(mail, format) + mail.parts.find { |part| part.content_type.start_with?("text/#{format}") }.body.to_s + end + + test "step_activated names the target and the approver without touching the host model" do + mail = activated + + assert_equal "Approval needed: Invoice ##{@invoice.id}", mail.subject + assert_equal [ "manager@example.test" ], mail.to + assert_match(/Manager/, body_of(mail, :plain), "the approver is greeted by name") + end + + test "it renders both a text and an html part" do + mail = activated + + assert mail.multipart? + assert_equal 2, mail.parts.size + assert_match(/Invoice ##{@invoice.id}/, body_of(mail, :plain)) + assert_match(/Invoice ##{@invoice.id}/, body_of(mail, :html)) + end + + test "the label falls back to class and id when the host configures nothing" do + mail = activated + + assert_match(/Invoice #/, mail.subject) + mail.parts.each do |part| + assert_no_match(/#(approval) { "https://example.test/approvals/#{approval.id}" } + mail = activated + + assert_match(%r{https://example\.test/approvals/#{@approval.id}}, body_of(mail, :plain)) + assert_match(%r{https://example\.test/approvals/#{@approval.id}}, body_of(mail, :html)) + end + + test "mailer_from is applied only when configured" do + assert_nil activated.from, "an unconfigured engine never invents a sender" + + ApprovalEngine.config.mailer_from = "approvals@example.test" + + assert_equal [ "approvals@example.test" ], activated.from + end + + test "step_reminder says how long it has been waiting" do + @step.update_column(:activated_at, 26.hours.ago) + + mail = NotificationMailer.step_reminder(@step.reload, to: "manager@example.test") + + assert_equal "Still waiting on you: Invoice ##{@invoice.id}", mail.subject + assert_match(/26 hours/, body_of(mail, :plain)) + end + + test "changes_requested carries the approver's comment" do + @step.request_changes!(by: @manager, comment: "Missing PO number") + + mail = NotificationMailer.changes_requested(@step.reload, to: "submitter@example.test") + + assert_equal "Changes requested: Invoice ##{@invoice.id}", mail.subject + assert_match(/Missing PO number/, body_of(mail, :plain)) + assert_match(/Missing PO number/, body_of(mail, :html)) + end + + test "approval_rejected carries the reason when the ledger recorded one" do + mail = NotificationMailer.approval_rejected(@approval, to: "submitter@example.test", reason: "over budget") + + assert_equal "Rejected: Invoice ##{@invoice.id}", mail.subject + assert_match(/over budget/, body_of(mail, :plain)) + end + + test "subjects come from the locale file so a host can rewrite them" do + subjects = [ + NotificationMailer.step_activated(@step, to: "a@example.test"), + NotificationMailer.step_reminder(@step, to: "a@example.test"), + NotificationMailer.step_reassigned(@step, to: "a@example.test"), + NotificationMailer.changes_requested(@step, to: "a@example.test"), + NotificationMailer.approval_approved(@approval, to: "a@example.test"), + NotificationMailer.approval_rejected(@approval, to: "a@example.test") + ].map(&:subject) + + assert_equal 6, subjects.uniq.size, "each notification says something different" + subjects.each do |subject| + assert_no_match(/translation missing/i, subject) + assert_match(/Invoice ##{@invoice.id}/, subject) + end + end + + # "Drop a file in your app" is the whole answer to "how do I customise one + # email", so prove it rather than assuming it. The fixture lives at + # test/dummy/app/views/approval_engine/notification_mailer/ — the dummy is a + # host application, and its view path is searched before the engine's. + test "a host's own copy of a template wins over the engine's" do + mail = NotificationMailer.step_reassigned(@step, to: "manager@example.test") + + assert_match(/HOST OVERRIDE SENTINEL/, mail.body.to_s) + end + + # The documented pairing rule, pinned so it can't quietly stop being true: + # Action Mailer takes an action's templates from the first view path that has + # any of them, so the host's lone .text.erb above silences the engine's + # .html.erb too. Override both formats together, or accept a single part. + test "overriding one format of an action shadows the other" do + mail = NotificationMailer.step_reassigned(@step, to: "manager@example.test") + + assert_not mail.multipart? + assert_equal "text/plain", mail.mime_type + end + end +end diff --git a/test/models/approval_engine/reminder_test.rb b/test/models/approval_engine/reminder_test.rb new file mode 100644 index 0000000..3206237 --- /dev/null +++ b/test/models/approval_engine/reminder_test.rb @@ -0,0 +1,139 @@ +require "test_helper" + +module ApprovalEngine + # Reminders. The guiding rule: a nudge is not a verdict, and a nudge fires + # once. A sweep that runs every ten minutes must never mail someone every ten + # minutes — that is the whole reason `reminded_at` exists. + class ReminderTest < ApprovalEngine::TestCase + setup do + @invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) + @manager = create_user(role: :manager) + @approval = Approval.create!(tenant_id: TENANT, target: @invoice, status: "pending") + @track = @approval.tracks.create!(tenant_id: TENANT, name: "Main") + end + + def pending_step(waiting_for: nil) + step = @track.steps.create!(tenant_id: TENANT, layer: 1, status: "pending", assigned_actor: @manager) + step.update_column(:activated_at, waiting_for.ago) if waiting_for + step + end + + test "remindable selects only pending, un-nudged steps past the threshold" do + pending_step(waiting_for: 10.minutes) + stale = pending_step(waiting_for: 3.days) + already = pending_step(waiting_for: 3.days) + already.update_column(:reminded_at, 1.hour.ago) + + assert_equal [ stale ], Step.remindable(after: 2.days).to_a + end + + test "remind! nudges once and never decides the step" do + step = pending_step(waiting_for: 3.days) + + assert_difference -> { OutboxEvent.where(event_name: "step.reminded").count }, 1 do + step.remind! + end + + assert step.reload.pending?, "a nudge does NOT decide the step" + assert_not_nil step.reminded_at + assert_nil step.decided_at, "a nudge is not a decision" + + assert_no_difference -> { OutboxEvent.count } do + step.remind! # already nudged — idempotent + end + assert_empty Step.remindable(after: 2.days).to_a + end + + test "a reminder is a system event with no human actor on the ledger" do + step = pending_step(waiting_for: 3.days) + + step.remind! + + log = step.audit_logs.find_by(event: "reminded") + assert_not_nil log, "the nudge is durable compliance evidence, not just a column" + assert_nil log.actual_actor, "nobody acted, and the ledger says so" + assert_not log.by_proxy? + end + + test "the sweep is a no-op until reminder_after is configured" do + pending_step(waiting_for: 30.days) + + assert_no_difference -> { OutboxEvent.count } do + assert_equal 0, Step.sweep_reminders! + end + end + + test "sweep_reminders! nudges every stale step and returns the count" do + first = pending_step(waiting_for: 3.days) + second = pending_step(waiting_for: 3.days) + pending_step(waiting_for: 1.hour) # still inside the window + ApprovalEngine.config.reminder_after = 2.days.to_i + + assert_equal 2, Step.sweep_reminders! + + assert_not_nil first.reload.reminded_at + assert_not_nil second.reload.reminded_at + end + + test "sweep_reminders! scopes to one tenant" do + mine = pending_step(waiting_for: 3.days) + theirs = other_tenant_step(waiting_for: 3.days) + ApprovalEngine.config.reminder_after = 2.days.to_i + + assert_equal 1, Step.sweep_reminders!(tenant_id: TENANT) + + assert_not_nil mine.reload.reminded_at + assert_nil theirs.reload.reminded_at, "another tenant's approvers are not ours to nudge" + end + + test "ReminderSweepJob sweeps stale steps" do + step = pending_step(waiting_for: 3.days) + ApprovalEngine.config.reminder_after = 2.days.to_i + + ReminderSweepJob.perform_now + + assert_not_nil step.reload.reminded_at + end + + test "the sweep fires through the host's on_step_reminder callback" do + step = pending_step(waiting_for: 3.days) + ApprovalEngine.config.reminder_after = 2.days.to_i + seen = [] + Invoice.define_method(:on_step_reminder) { |s| seen << s } + + assert_equal 1, Step.sweep_reminders! + ProcessOutboxJob.perform_now(OutboxEvent.find_by!(event_name: "step.reminded").id) + + assert_equal [ step ], seen + ensure + Invoice.remove_method(:on_step_reminder) if Invoice.method_defined?(:on_step_reminder) + end + + test "a fresh iteration re-arms the reminder" do + step = pending_step(waiting_for: 3.days) + step.remind! + + step.request_changes!(by: @manager, comment: "Missing PO number") + + redone = @track.steps.for_iteration(2).sole + assert redone.pending? + assert_nil redone.reminded_at, "rework restarts the clock without special-casing" + redone.update_column(:activated_at, 3.days.ago) + assert_equal [ redone ], Step.remindable(after: 2.days).to_a + end + + private + + # A whole second approval under another tenant — the sweep must not reach + # across the boundary even though the steps look identical. + def other_tenant_step(waiting_for:) + invoice = Invoice.create!(tenant_id: "tenant-2", amount: 100) + approval = Approval.create!(tenant_id: "tenant-2", target: invoice, status: "pending") + track = approval.tracks.create!(tenant_id: "tenant-2", name: "Main") + step = track.steps.create!(tenant_id: "tenant-2", layer: 1, status: "pending", + assigned_actor: create_user(role: :cfo)) + step.update_column(:activated_at, waiting_for.ago) + step + end + end +end diff --git a/test/models/approval_engine/step_test.rb b/test/models/approval_engine/step_test.rb index 76eedce..4cdab19 100644 --- a/test/models/approval_engine/step_test.rb +++ b/test/models/approval_engine/step_test.rb @@ -13,7 +13,10 @@ class StepTest < ApprovalEngine::TestCase end test "approval writes an audit row and an outbox event" do - assert_difference -> { AuditLog.count } => 1, -> { OutboxEvent.count } => 1 do + # Counted by name, not in total: approving layer 1 also activates layer 2, + # and that activation is an outbox event of its own (step.activated). + assert_difference -> { AuditLog.count } => 1, + -> { OutboxEvent.where(event_name: "step.approved").count } => 1 do @step.approve!(by: @manager, comment: "Looks good") end @@ -94,6 +97,39 @@ class StepTest < ApprovalEngine::TestCase assert_nil @step.reload.decided_at, "a cancellation is not a decision" end + # step.activated is the event that finally lets something downstream tell an + # approver they have work. It has to fire exactly once per step: a missed one + # is silence, a duplicate one is a second email for the same task. + test "a step becoming actionable emits exactly one activation event" do + activations = -> { OutboxEvent.where(event_name: "step.activated").count } + + assert_equal 1, activations.call, "one for the pending step, none for the waiting one" + + assert_difference activations, 1 do + @step.approve!(by: @manager) # opens layer 2 + end + end + + test "reassigning does not re-announce the step as newly activated" do + backup = create_user(role: :backup) + + assert_no_difference -> { OutboxEvent.where(event_name: "step.activated").count } do + @step.reassign!(to: backup) + end + end + + test "a decision never emits an activation event for the step that was decided" do + assert_no_difference -> { OutboxEvent.where(event_name: "step.activated", record: @step).count } do + @step.approve!(by: @manager) + end + end + + test "a fresh iteration announces its first layer" do + assert_difference -> { OutboxEvent.where(event_name: "step.activated").count }, 1 do + @step.request_changes!(by: @manager) + end + end + test "a waiting step has no activation time until its layer opens" do late = @track.steps.create!(tenant_id: TENANT, layer: 3, status: "waiting", assigned_actor: create_user(role: :late)) assert_nil late.activated_at diff --git a/test/services/approval_engine/notifier_test.rb b/test/services/approval_engine/notifier_test.rb new file mode 100644 index 0000000..8585510 --- /dev/null +++ b/test/services/approval_engine/notifier_test.rb @@ -0,0 +1,184 @@ +require "test_helper" + +module ApprovalEngine + # A mailer a host might plug in via `config.mailer_class` to take one + # notification over completely, leaving the other five alone. + class HostNotificationMailer < ApprovalEngine::NotificationMailer + def step_activated(step, to:) + mail(to: to, from: "ops@example.test", subject: "Custom: #{step.name}") do |format| + format.text { render plain: "our own words" } + end + end + end + + # Dispatch: which outbox event becomes which email, who receives it, and — the + # question this whole layer is shaped around — when nothing is sent at all. + class NotifierTest < ApprovalEngine::TestCase + include ActiveJob::TestHelper + + setup do + ActionMailer::Base.deliveries.clear + @invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) + @manager = create_user(role: :manager, email: "manager@example.test") + @requester = create_user(role: :requester, email: "requester@example.test") + @approval = Approval.create!(tenant_id: TENANT, target: @invoice, status: "pending") + @track = @approval.tracks.create!(tenant_id: TENANT, name: "Finance") + @step = @track.steps.create!(tenant_id: TENANT, name: "Sign-off", layer: 1, + status: "pending", assigned_actor: @manager) + end + + def enable! + ApprovalEngine.config.notifications_enabled = true + ApprovalEngine.config.mailer_from = "approvals@example.test" + end + + def emit(event_name, record: @approval, reason: nil) + OutboxEvent.create!(tenant_id: TENANT, event_name: event_name, record: record, error_payload: reason) + end + + # The step.activated event the engine wrote when the step above was built. + def activation + OutboxEvent.find_by!(event_name: "step.activated", record: @step) + end + + def relay(event) + perform_enqueued_jobs { ProcessOutboxJob.perform_now(event.id) } + end + + # Multipart mail keeps its text in the parts, not in the container body. + def body_of(mail) + mail.multipart? ? mail.parts.map { |part| part.body.to_s }.join("\n") : mail.body.to_s + end + + # The regression guard for the risk this whole design is shaped around: a + # v1.0.0 install that upgrades the gem and runs its outbox must stay silent. + test "notifications are off by default, so upgrading never starts sending mail" do + perform_enqueued_jobs do + @step.approve!(by: @manager) + OutboxEvent.unprocessed.order(:created_at).each { |e| ProcessOutboxJob.perform_now(e.id) } + end + + assert_equal "approved", @approval.reload.status, "the approval itself still ran" + assert_empty ActionMailer::Base.deliveries, "nobody was mailed without opting in" + end + + test "an activated step notifies its assignee" do + enable! + + relay(activation) + + assert_equal 1, ActionMailer::Base.deliveries.size + mail = ActionMailer::Base.deliveries.first + assert_equal [ "manager@example.test" ], mail.to + assert_equal "Approval needed: Invoice ##{@invoice.id}", mail.subject + end + + test "removing an event from notification_events silences it" do + enable! + ApprovalEngine.config.notification_events -= [ :step_activated ] + + assert_no_enqueued_jobs only: ActionMailer::Base.delivery_job do + ProcessOutboxJob.perform_now(activation.id) + end + end + + test "an actor with no address is skipped, not raised on" do + enable! + @manager.update!(email: nil) + event = activation + + assert_no_enqueued_jobs only: ActionMailer::Base.delivery_job do + ProcessOutboxJob.perform_now(event.id) + end + assert event.reload.processed, "a missing address is a config problem, not a failed event" + end + + test "actor_email_method reads whatever the host calls its address" do + enable! + ApprovalEngine.config.actor_email_method = :work_email + User.define_method(:work_email) { "manager@work.example.test" } + + relay(activation) + + assert_equal [ "manager@work.example.test" ], ActionMailer::Base.deliveries.first.to + ensure + User.remove_method(:work_email) if User.method_defined?(:work_email) + end + + test "approval-level notifications stay silent until approval_recipients is configured" do + enable! + + relay(emit("approval.approved")) + assert_empty ActionMailer::Base.deliveries, "the engine knows who approves, not who asked" + + ApprovalEngine.config.approval_recipients = ->(_approval) { [ @requester ] } + relay(emit("approval.approved")) + + assert_equal [ "requester@example.test" ], ActionMailer::Base.deliveries.first.to + end + + test "approval.rejected carries the outbox reason into the mail" do + enable! + ApprovalEngine.config.approval_recipients = ->(_approval) { [ @requester ] } + + relay(emit("approval.rejected", reason: "over budget")) + + assert_match(/over budget/, body_of(ActionMailer::Base.deliveries.first)) + end + + test "step_reassigned goes to the new assignee, not the old one" do + enable! + backup = create_user(role: :backup, email: "backup@example.test") + @step.reassign!(to: backup) + + relay(OutboxEvent.find_by!(event_name: "step.reassigned", record: @step)) + + assert_equal [ "backup@example.test" ], ActionMailer::Base.deliveries.first.to + end + + test "mailer_class lets a host replace a notification wholesale" do + enable! + ApprovalEngine.config.mailer_class = "ApprovalEngine::HostNotificationMailer" + + relay(activation) + + assert_equal "Custom: Sign-off", ActionMailer::Base.deliveries.first.subject + end + + test "mailer_queue is honoured, and left to the host's default when unset" do + enable! + # What this mail would land on if the host enqueued it themselves — the + # engine must not quietly move it off that queue. + clear_enqueued_jobs + NotificationMailer.step_activated(@step, to: "probe@example.test").deliver_later + host_default = enqueued_jobs.last[:queue] + + clear_enqueued_jobs + ProcessOutboxJob.perform_now(activation.id) + assert_equal host_default, enqueued_jobs.last[:queue], "the engine picks no queue of its own" + + clear_enqueued_jobs + ApprovalEngine.config.mailer_queue = :approvals_mail + ProcessOutboxJob.perform_now(emit("step.reassigned", record: @step).id) + + assert_equal "approvals_mail", enqueued_jobs.last[:queue] + end + + # The guard for the reason mail is enqueued rather than sent inside the + # relay: a broken notification must not fail the event, because the retry + # would re-run the host's callbacks — turning a mailer problem into a + # double-disbursed invoice. + test "a broken notification is logged and never fails the outbox event" do + enable! + ApprovalEngine.config.mailer_class = "ApprovalEngine::NoSuchMailer" + event = activation + clear_enqueued_jobs + + ProcessOutboxJob.perform_now(event.id) + + assert event.reload.processed, "the ledger event was delivered; only the courtesy mail failed" + assert_no_enqueued_jobs only: ProcessOutboxJob # a mailer problem must not retry the event + assert_no_enqueued_jobs only: ActionMailer::Base.delivery_job + end + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 741034c..60a4d19 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -14,8 +14,8 @@ module ApprovalEngine module ApprovalFixtures TENANT = "tenant-1".freeze - def create_user(role:, name: role.to_s.titleize) - User.create!(name: name, role: role.to_s) + def create_user(role:, name: role.to_s.titleize, email: "#{role}@example.com") + User.create!(name: name, role: role.to_s, email: email) end # steps: array of hashes — { name:, layer:, group:, approvals_required: } From bd7ec383c0c4e640e418206e16a75b971ed4d1c0 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 06/17] feat(admin): opt-in browser admin for templates, steps and trigger rules The README's headline claim is "routing rules that admins change at runtime, without a deploy", but the engine shipped no CRUD for TrackTemplate, TemplateStep or TriggerRule anywhere. This backs the claim with code. Gated by a new `config.admin_enabled`, which DEFAULTS TO FALSE. 1.0 hosts mounted a read-only dashboard behind whatever auth they judged adequate for information disclosure; turning write endpoints on during a routine `bundle update` would turn that same route into "anyone who can reach this can approve a payment". The flag is read twice: at route-draw time, so the write routes do not exist at all for a host that never opts in, and again per request in Admin::BaseController, so a boot-time decision that later flips false cannot be relied on. The rule editor is a zero-JavaScript field/operator/value builder driven by ApprovalEngine::Condition, with a CSS-only radio toggle to a raw JSON Logic textarea. It degrades honestly: when Condition.parse returns nil the stored AST is more than the simple form can represent, so the raw editor opens and the simple inputs are disabled rather than silently rewriting a rule someone hand-wrote. The field dropdown is populated from `exposes_for_approval` (via a new name-based approvable registry) and flags a field nobody exposes, which is the most common way a hand-typed rule silently never fires. Two data-integrity guards: deleting a template whose rules have already routed approvals is refused in favour of archiving, because the FK nullifies provenance on the ledger; and a raw condition whose root is not a JSON object is rejected, because JSON Logic evaluates a non-object as a truthy literal and such a rule would route every event of its name. The read-only dashboard is unchanged for a host that never opts in: the nav and flash regions are wrapped in `admin_ui?` and the CSS additions are purely additive. Also forces the dummy app to draw its routes at the end of boot. With eager_load = false Rails defers the draw to the first test that touches a route helper, by which time ApprovalEngine::TestCase may have reset the configuration -- which made the admin routes come and go with the Minitest seed. Co-Authored-By: Claude Opus 5 (1M context) --- .gitignore | 3 + .../approval_engine/admin/base_controller.rb | 85 +++++++ .../admin/template_steps_controller.rb | 63 +++++ .../admin/track_templates_controller.rb | 83 +++++++ .../admin/trigger_rules_controller.rb | 165 +++++++++++++ .../approval_engine/approvals_controller.rb | 3 +- .../approval_engine/admin/base_helper.rb | 50 ++++ .../approval_engine/application_helper.rb | 11 +- .../admin/shared/_errors.html.erb | 10 + .../admin/template_steps/_form.html.erb | 44 ++++ .../admin/template_steps/edit.html.erb | 4 + .../admin/template_steps/new.html.erb | 4 + .../admin/track_templates/_form.html.erb | 25 ++ .../admin/track_templates/edit.html.erb | 3 + .../admin/track_templates/index.html.erb | 41 ++++ .../admin/track_templates/new.html.erb | 3 + .../admin/track_templates/show.html.erb | 81 ++++++ .../trigger_rules/_condition_row.html.erb | 25 ++ .../admin/trigger_rules/_form.html.erb | 70 ++++++ .../admin/trigger_rules/edit.html.erb | 19 ++ .../admin/trigger_rules/index.html.erb | 29 +++ .../admin/trigger_rules/new.html.erb | 4 + .../approval_engine/dashboard.html.erb | 42 ++++ config/routes.rb | 15 ++ lib/approval_engine.rb | 21 ++ lib/approval_engine/configuration.rb | 9 + lib/approval_engine/model_extensions.rb | 4 + .../install/templates/POST_INSTALL | 17 ++ .../install/templates/approval_engine.rb | 17 ++ test/approval_engine_test.rb | 23 ++ .../admin/template_steps_controller_test.rb | 98 ++++++++ .../admin/track_templates_controller_test.rb | 127 ++++++++++ .../admin/trigger_rules_controller_test.rb | 231 ++++++++++++++++++ test/dummy/config/environment.rb | 10 + .../config/initializers/approval_engine.rb | 4 + .../approval_engine/install_generator_test.rb | 2 + test/integration/admin_routes_test.rb | 67 +++++ 37 files changed, 1510 insertions(+), 2 deletions(-) create mode 100644 app/controllers/approval_engine/admin/base_controller.rb create mode 100644 app/controllers/approval_engine/admin/template_steps_controller.rb create mode 100644 app/controllers/approval_engine/admin/track_templates_controller.rb create mode 100644 app/controllers/approval_engine/admin/trigger_rules_controller.rb create mode 100644 app/helpers/approval_engine/admin/base_helper.rb create mode 100644 app/views/approval_engine/admin/shared/_errors.html.erb create mode 100644 app/views/approval_engine/admin/template_steps/_form.html.erb create mode 100644 app/views/approval_engine/admin/template_steps/edit.html.erb create mode 100644 app/views/approval_engine/admin/template_steps/new.html.erb create mode 100644 app/views/approval_engine/admin/track_templates/_form.html.erb create mode 100644 app/views/approval_engine/admin/track_templates/edit.html.erb create mode 100644 app/views/approval_engine/admin/track_templates/index.html.erb create mode 100644 app/views/approval_engine/admin/track_templates/new.html.erb create mode 100644 app/views/approval_engine/admin/track_templates/show.html.erb create mode 100644 app/views/approval_engine/admin/trigger_rules/_condition_row.html.erb create mode 100644 app/views/approval_engine/admin/trigger_rules/_form.html.erb create mode 100644 app/views/approval_engine/admin/trigger_rules/edit.html.erb create mode 100644 app/views/approval_engine/admin/trigger_rules/index.html.erb create mode 100644 app/views/approval_engine/admin/trigger_rules/new.html.erb create mode 100644 test/controllers/approval_engine/admin/template_steps_controller_test.rb create mode 100644 test/controllers/approval_engine/admin/track_templates_controller_test.rb create mode 100644 test/controllers/approval_engine/admin/trigger_rules_controller_test.rb create mode 100644 test/dummy/config/initializers/approval_engine.rb create mode 100644 test/integration/admin_routes_test.rb diff --git a/.gitignore b/.gitignore index ddb15bc..f055d7b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ # OS / editor cruft. .DS_Store + +# Agent worktrees created by tooling — never part of the repo. +/.claude/ diff --git a/app/controllers/approval_engine/admin/base_controller.rb b/app/controllers/approval_engine/admin/base_controller.rb new file mode 100644 index 0000000..21d577f --- /dev/null +++ b/app/controllers/approval_engine/admin/base_controller.rb @@ -0,0 +1,85 @@ +module ApprovalEngine + module Admin + # Base for the opt-in admin: the write half of the mounted dashboard, and + # the only place in the engine that edits blueprints. It inherits the + # dashboard's layout and CSRF posture and adds the one thing the routes + # can't guarantee — that the flag is *still* on for this request. + class BaseController < ApplicationController + helper ApprovalEngine::ApplicationHelper + helper ApprovalEngine::Admin::BaseHelper + + before_action :ensure_admin_enabled + + helper_method :exposed_attribute_groups, :known_event_names, :default_tenant_id + + private + + # Routes are drawn once at boot. A host that flips the flag off, or that + # points its own route at these controllers, must not get a write surface, + # so the check is repeated here rather than trusted from boot time. + def ensure_admin_enabled + head :not_found unless ApprovalEngine.config.admin_enabled + end + + # The whitelisted surface a rule may read, grouped by model, so the field + # dropdown offers the names `exposes_for_approval` actually declared. An + # unexposed var is a clean non-match, i.e. a rule that silently never + # fires — the single most common way a hand-typed rule goes wrong. + def exposed_attribute_groups + @exposed_attribute_groups ||= approvable_models.to_h { |model| [ model.name, exposed_options_for(model) ] } + .reject { |_name, options| options.empty? } + end + + # A model armed with `has_approvals` but no `exposes_for_approval` block + # has nothing a rule may read, so it is left out entirely rather than + # offered as an empty group. + def exposed_options_for(model) + model.approval_exposure.attributes.values.map do |attribute| + [ "#{attribute.name} (#{attribute.type})", attribute.name.to_s ] + end + end + + # Event names the engine itself emits, plus the ones rules already use, so + # a domain event someone triggers by hand is offered too. It's a datalist, + # not a select: any string is still allowed. + def known_event_names + @known_event_names ||= begin + conventional = approvable_models.flat_map do |model| + ApprovalEngine::Approvable::LIFECYCLE_EVENTS.each_key.map { |lifecycle| model.approval_event_name(lifecycle) } + end + (conventional | TriggerRule.distinct.pluck(:event_name)).compact.sort + end + end + + # Declared types, so a value typed into a text field is stored as the type + # the payload will carry. `amount > "10000"` compares a number to a string + # and quietly never matches; this is what stops that. Scoped to the model + # the event belongs to ("invoice.created" -> Invoice), falling back to + # every exposed attribute for a hand-named domain event. + def attribute_types(event_name) + element = event_name.to_s.split(".").first + models = approvable_models.select { |model| model.model_name.element == element } + models = approvable_models if models.empty? + models.reverse.reduce({}) { |types, model| types.merge(model.approval_exposure.attributes.transform_values(&:type)) } + end + + # The registry only knows classes Rails has actually loaded, and in + # development it loads them on demand — a cold-booted admin would offer an + # empty field list. Eager loading once is the price of an honest one. + def approvable_models + @approvable_models ||= begin + Rails.application.eager_load! unless Rails.application.config.eager_load + ApprovalEngine.approvable_models + end + end + + # Prefill only. The dashboard is a cross-tenant ops surface and stays one: + # `current_tenant_method` is nil by default and an ops mount has no tenant + # in scope, so scoping reads to it would usually show an empty page. + def default_tenant_id + tenant = ApprovalEngine.current_tenant + tenant.respond_to?(:id) ? tenant.id : tenant + end + end + end +end diff --git a/app/controllers/approval_engine/admin/template_steps_controller.rb b/app/controllers/approval_engine/admin/template_steps_controller.rb new file mode 100644 index 0000000..a807ab5 --- /dev/null +++ b/app/controllers/approval_engine/admin/template_steps_controller.rb @@ -0,0 +1,63 @@ +module ApprovalEngine + module Admin + # Runtime CRUD for the layers of a template. Steps have no page of their + # own: the template's show page is their index, so every action lands back + # there and the admin always sees a layer in the context of its siblings. + class TemplateStepsController < BaseController + before_action :set_track_template + before_action :set_template_step, only: %i[edit update destroy] + + def new + # Layers are 1-based and ordered; the next one is almost always what an + # admin means by "add a step", so offer it rather than making them count. + @template_step = @track_template.template_steps.build( + layer: (@track_template.template_steps.maximum(:layer) || 0) + 1, + approvals_required: "any" + ) + end + + def create + @template_step = @track_template.template_steps.build(template_step_params) + if @template_step.save + redirect_to admin_track_template_path(@track_template), notice: "Step added." + else + render :new, status: :unprocessable_entity + end + end + + def edit + end + + def update + if @template_step.update(template_step_params) + redirect_to admin_track_template_path(@track_template), notice: "Step updated." + else + render :edit, status: :unprocessable_entity + end + end + + def destroy + @template_step.destroy + redirect_to admin_track_template_path(@track_template), notice: "Step deleted." + end + + private + + def set_track_template + @track_template = TrackTemplate.find(params[:track_template_id]) + end + + # Scoped through the parent so an id from another template is a 404 rather + # than a cross-template edit. + def set_template_step + @template_step = @track_template.template_steps.find(params[:id]) + end + + # `approval_engine_track_template_id` is deliberately absent: the parent + # comes from the nested route, never from the form. + def template_step_params + params.require(:template_step).permit(:name, :layer, :assigned_group, :approvals_required, :timeout_after) + end + end + end +end diff --git a/app/controllers/approval_engine/admin/track_templates_controller.rb b/app/controllers/approval_engine/admin/track_templates_controller.rb new file mode 100644 index 0000000..f527dee --- /dev/null +++ b/app/controllers/approval_engine/admin/track_templates_controller.rb @@ -0,0 +1,83 @@ +module ApprovalEngine + module Admin + # Runtime CRUD for the blueprint an approval is stamped from. This owns + # *what* happens; TriggerRulesController owns *when*. + class TrackTemplatesController < BaseController + PAGE_LIMIT = 100 + + before_action :set_track_template, only: %i[show edit update destroy] + + def index + @tenant_id = params[:tenant_id].presence + scope = TrackTemplate.order(:tenant_id, :name) + scope = scope.for_tenant(@tenant_id) if @tenant_id + @track_templates = scope.limit(PAGE_LIMIT).to_a + @total = scope.count + @tenant_ids = TrackTemplate.distinct.order(:tenant_id).pluck(:tenant_id) + # One grouped query for all the row counts, instead of N `.template_steps.size`. + ids = @track_templates.map(&:id) + @step_counts = TemplateStep.where(approval_engine_track_template_id: ids) + .group(:approval_engine_track_template_id).count + @rule_counts = TriggerRule.where(approval_engine_track_template_id: ids) + .group(:approval_engine_track_template_id).count + end + + def show + @template_steps = @track_template.template_steps + @trigger_rules = @track_template.trigger_rules.by_priority + end + + def new + @track_template = TrackTemplate.new(tenant_id: default_tenant_id, status: "draft") + end + + def create + @track_template = TrackTemplate.new(track_template_params) + if @track_template.save + redirect_to admin_track_template_path(@track_template), notice: "Template created." + else + render :new, status: :unprocessable_entity + end + end + + def edit + end + + def update + if @track_template.update(track_template_params) + redirect_to admin_track_template_path(@track_template), notice: "Template updated." + else + render :edit, status: :unprocessable_entity + end + end + + def destroy + # Deleting a template cascades to its rules, and deleting a rule nullifies + # the provenance column on every approval it ever routed — the ledger + # would quietly forget which rule started it. Archiving stops the + # template firing and keeps that history, so history wins over the delete. + if routed_approvals? + redirect_to admin_track_template_path(@track_template), + alert: "This template has already routed approvals. Archive it instead of deleting it." + else + @track_template.destroy + redirect_to admin_track_templates_path, notice: "Template deleted." + end + end + + private + + def set_track_template + @track_template = TrackTemplate.find(params[:id]) + end + + def routed_approvals? + Approval.where(approval_engine_trigger_rule_id: @track_template.trigger_rules.select(:id)).exists? + end + + def track_template_params + params.require(:track_template).permit(:tenant_id, :name, :status) + end + end + end +end diff --git a/app/controllers/approval_engine/admin/trigger_rules_controller.rb b/app/controllers/approval_engine/admin/trigger_rules_controller.rb new file mode 100644 index 0000000..dfc795f --- /dev/null +++ b/app/controllers/approval_engine/admin/trigger_rules_controller.rb @@ -0,0 +1,165 @@ +module ApprovalEngine + module Admin + # Runtime CRUD for the routing rules — the claim the README makes, made + # true: which template an event picks, under what condition, is data an + # admin edits, not code someone deploys. + class TriggerRulesController < BaseController + PAGE_LIMIT = 100 + # How many empty condition rows the form offers. "Add another condition" + # without JavaScript is just a few spare rows; blank ones are dropped. + BLANK_CONDITION_ROWS = 3 + # A condition is an AST an admin types; a jsonb column will accept a novel + # of one. Cap it so a pasted mistake can't slow every event down. + MAX_CONDITION_BYTES = 8_192 + + before_action :set_track_template, except: :index + before_action :set_trigger_rule, only: %i[edit update destroy] + + def index + # event_name asc, priority desc — the order the evaluator resolves them + # in, so the list reads the way the engine decides. + @tenant_id = params[:tenant_id].presence + scope = TriggerRule.includes(:track_template).order(:event_name).by_priority + scope = scope.for_tenant(@tenant_id) if @tenant_id + @trigger_rules = scope.limit(PAGE_LIMIT).to_a + @total = scope.count + end + + def new + @trigger_rule = @track_template.trigger_rules.build(tenant_id: @track_template.tenant_id, priority: 0, active: true) + prepare_condition_editor + end + + def create + @trigger_rule = @track_template.trigger_rules.build(rule_attributes) + @trigger_rule.condition = submitted_condition + if @condition_error.nil? && @trigger_rule.save + redirect_to admin_track_template_path(@track_template), notice: "Rule created." + else + @trigger_rule.errors.add(:condition, @condition_error) if @condition_error + prepare_condition_editor + render :new, status: :unprocessable_entity + end + end + + def edit + prepare_condition_editor + end + + def update + @trigger_rule.assign_attributes(rule_attributes) + @trigger_rule.condition = submitted_condition + if @condition_error.nil? && @trigger_rule.save + redirect_to admin_track_template_path(@track_template), notice: "Rule updated." + else + @trigger_rule.errors.add(:condition, @condition_error) if @condition_error + prepare_condition_editor + render :edit, status: :unprocessable_entity + end + end + + def destroy + @trigger_rule.destroy + redirect_to admin_track_template_path(@track_template), notice: "Rule deleted." + end + + private + + def set_track_template + @track_template = TrackTemplate.find(params[:track_template_id]) + end + + def set_trigger_rule + @trigger_rule = @track_template.trigger_rules.find(params[:id]) + end + + # Tolerant of a missing `trigger_rule` key because `new` and `edit` render + # the same condition editor as `create` and `update`, and read the mode + # back out of it. + def trigger_rule_params + @trigger_rule_params ||= params.fetch(:trigger_rule, ActionController::Parameters.new) + .permit(:tenant_id, :event_name, :priority, :active, + :condition_mode, :condition_json, + conditions: [ :field, :operator, :value ]) + end + + # The condition is assembled, never mass-assigned: the form submits either + # triples or raw JSON, and neither is the column's value. + def rule_attributes + trigger_rule_params.except(:condition_mode, :condition_json, :conditions) + end + + def advanced_mode? + trigger_rule_params[:condition_mode] == "advanced" + end + + # Whatever the form submitted, rendered down to the AST the column stores. + # Returns nil with `@condition_error` set when the input can't be read, so + # the action re-renders the form instead of blowing up on the admin. + def submitted_condition + advanced_mode? ? parsed_raw_condition : built_condition + end + + def parsed_raw_condition + json = trigger_rule_params[:condition_json].to_s + raise ArgumentError, "is too large (max #{MAX_CONDITION_BYTES} bytes)" if json.bytesize > MAX_CONDITION_BYTES + + parsed = JSON.parse(json) + # A jsonb column will happily store an array or a bare number, and JSON + # Logic evaluates a non-object as a literal — a rule like that matches + # *every* event of its name. Reject it here rather than ship a rule that + # silently routes everything. + raise ArgumentError, %(must be a JSON Logic object, e.g. {">": [{"var": "amount"}, 10000]}) unless parsed.is_a?(Hash) + + parsed + rescue JSON::ParserError => e + @condition_error = "isn't valid JSON: #{e.message}" + nil + rescue ArgumentError => e + @condition_error = e.message + nil + end + + def built_condition + types = attribute_types(trigger_rule_params[:event_name]) + conditions = submitted_condition_rows.map do |row| + ApprovalEngine::Condition.new( + field: row[:field], operator: row[:operator], value: row[:value], type: types[row[:field].to_s] + ) + end + ApprovalEngine::Condition.to_json_logic(conditions) + rescue ArgumentError => e + # Condition raises for a blank field, an unknown operator, or no rows. + @condition_error = e.message + nil + end + + # Blank rows are how the form offers "add another condition" with no + # JavaScript, so they're dropped rather than validated. + def submitted_condition_rows + Array(trigger_rule_params[:conditions]).reject { |row| row[:field].blank? } + end + + # What the editor renders. A stored AST the simple form can't represent + # comes back from `Condition.parse` as nil — that is the signal to open in + # the raw editor rather than silently mangle a rule someone hand-wrote. + def prepare_condition_editor + stored = @trigger_rule.condition + parsed = ApprovalEngine::Condition.parse(stored) + @condition_simple = stored.blank? || !parsed.nil? + @condition_mode = trigger_rule_params[:condition_mode].presence || (@condition_simple ? "simple" : "advanced") + @condition_json = trigger_rule_params[:condition_json].presence || + (stored.present? ? JSON.pretty_generate(stored) : "") + @condition_rows = submitted_condition_rows.presence || stored_condition_rows(parsed) + @blank_rows = BLANK_CONDITION_ROWS + end + + def stored_condition_rows(parsed) + Array(parsed).map do |condition| + { "field" => condition.field, "operator" => condition.operator.to_s, + "value" => helpers.condition_value_for_form(condition) } + end + end + end + end +end diff --git a/app/controllers/approval_engine/approvals_controller.rb b/app/controllers/approval_engine/approvals_controller.rb index b80dfea..9bb91e1 100644 --- a/app/controllers/approval_engine/approvals_controller.rb +++ b/app/controllers/approval_engine/approvals_controller.rb @@ -1,7 +1,8 @@ module ApprovalEngine # The dashboard's approval list and detail views. Read-only by design — its # job is to surface stuck, quarantined and in-flight work without anyone - # writing SQL, not to act on it. + # writing SQL, not to act on it. Writes live in the opt-in Admin namespace, + # and edit blueprints (templates and rules) rather than approvals in flight. class ApprovalsController < ApplicationController PAGE_LIMIT = 100 diff --git a/app/helpers/approval_engine/admin/base_helper.rb b/app/helpers/approval_engine/admin/base_helper.rb new file mode 100644 index 0000000..b845da7 --- /dev/null +++ b/app/helpers/approval_engine/admin/base_helper.rb @@ -0,0 +1,50 @@ +module ApprovalEngine + module Admin + # View-side vocabulary for the rule and step editors. It lives here rather + # than on the models because every method is about how a value *reads in a + # form*, which is a concern of this admin and of nothing else in the engine. + module BaseHelper + # A list round-trips through the form as a comma-separated string, which + # is exactly what Condition reads back for `in` / `not in`. + def condition_value_for_form(condition) + condition.list? ? Array(condition.value).join(", ") : condition.value.to_s + end + + # A one-line, human reading of a rule's condition for the index table. A + # condition the simple form can't represent has no short honest summary, + # so it says so rather than printing a misleading half of the AST. + def condition_summary(rule) + parsed = ApprovalEngine::Condition.parse(rule.condition) + return "Custom JSON Logic" if parsed.nil? + + parsed.map do |condition| + "#{condition.field} #{ApprovalEngine::Condition::LABELS[condition.operator]} #{condition_value_for_form(condition)}" + end.join(" and ") + end + + # The field dropdown's groups, plus — when the rule already names an + # attribute nobody exposes — a group saying so. An unexposed var reads as + # a clean non-match, i.e. a rule that silently never fires, so the form + # surfaces it instead of dropping the admin's field on save. + def field_groups_including(field) + groups = exposed_attribute_groups + return groups if field.blank? || groups.any? { |_model, options| options.any? { |_label, value| value == field.to_s } } + + [ [ "Not exposed — this rule can never match", [ [ field.to_s, field.to_s ] ] ] ] + groups.to_a + end + + # Spelled out because "any" and "all" are the two people guess wrong: they + # are about how many of the layer's approvers must act, not how many + # layers run. + def consensus_hint + "any = one approver is enough · all = every approver · majority · a percentage like 60% · a count like 2" + end + + def timeout_label(seconds) + return "—" if seconds.blank? + + ActiveSupport::Duration.build(seconds.to_i).inspect + end + end + end +end diff --git a/app/helpers/approval_engine/application_helper.rb b/app/helpers/approval_engine/application_helper.rb index 94ca05d..9a86224 100644 --- a/app/helpers/approval_engine/application_helper.rb +++ b/app/helpers/approval_engine/application_helper.rb @@ -4,9 +4,18 @@ module ApplicationHelper "pending" => "is-pending", "waiting" => "is-waiting", "approved" => "is-approved", "rejected" => "is-rejected", "changes_requested" => "is-changes-requested", "cancelled" => "is-cancelled", - "quarantined" => "is-quarantined" + "quarantined" => "is-quarantined", + # Template lifecycle, which the admin renders through the same badge. + "draft" => "is-waiting", "active" => "is-approved", "archived" => "is-cancelled" }.freeze + # The admin nav exists only when the host opted in *and* the routes were + # drawn for it — a flag flipped after boot leaves the helpers undefined, + # and a host that never opts in gets exactly the 1.0 read-only page. + def admin_ui? + ApprovalEngine.config.admin_enabled && respond_to?(:admin_track_templates_path) + end + def status_badge(status) tag.span(status.to_s.tr("_", " "), class: "ae-badge #{STATUS_TONES.fetch(status.to_s, "is-pending")}") end diff --git a/app/views/approval_engine/admin/shared/_errors.html.erb b/app/views/approval_engine/admin/shared/_errors.html.erb new file mode 100644 index 0000000..d94c9f7 --- /dev/null +++ b/app/views/approval_engine/admin/shared/_errors.html.erb @@ -0,0 +1,10 @@ +<% if record.errors.any? %> +
+ <%= pluralize(record.errors.count, "problem") %> stopped this from being saved: +
    + <% record.errors.full_messages.each do |message| %> +
  • <%= message %>
  • + <% end %> +
+
+<% end %> diff --git a/app/views/approval_engine/admin/template_steps/_form.html.erb b/app/views/approval_engine/admin/template_steps/_form.html.erb new file mode 100644 index 0000000..642312a --- /dev/null +++ b/app/views/approval_engine/admin/template_steps/_form.html.erb @@ -0,0 +1,44 @@ +<%= form_with model: [ :admin, @track_template, @template_step ], local: true, class: "ae-form" do |form| %> + <%= render "approval_engine/admin/shared/errors", record: @template_step %> + +
+
+ <%= form.label :name %> + <%= form.text_field :name %> +
+ +
+ <%= form.label :layer %> + <%= form.number_field :layer, min: 1 %> +

Layers run in order; every step sharing a layer runs at once.

+
+
+ +
+ <%= form.label :assigned_group %> + <%= form.text_field :assigned_group %> +

Passed to your actor class's resolve_approval_group, which decides who that name means.

+
+ +
+ <%= form.label :approvals_required %> + <%= form.text_field :approvals_required, list: "ae-consensus-options" %> + + <% %w[any all majority 60% 2].each do |option| %> + + <% end %> + +

<%= consensus_hint %>

+
+ +
+ <%= form.label :timeout_after, "Timeout after (seconds)" %> + <%= form.number_field :timeout_after, min: 0 %> +

Leave blank for no deadline. 172800 is two days.

+
+ +
+ <%= form.submit "Save step", class: "ae-btn" %> + <%= link_to "Cancel", admin_track_template_path(@track_template), class: "ae-btn is-secondary" %> +
+<% end %> diff --git a/app/views/approval_engine/admin/template_steps/edit.html.erb b/app/views/approval_engine/admin/template_steps/edit.html.erb new file mode 100644 index 0000000..2cf1984 --- /dev/null +++ b/app/views/approval_engine/admin/template_steps/edit.html.erb @@ -0,0 +1,4 @@ +<% content_for :title, "Edit step" %> +<%= link_to "← #{@track_template.name}", admin_track_template_path(@track_template), class: "ae-back" %> +

Edit <%= @template_step.name %>

+<%= render "form" %> diff --git a/app/views/approval_engine/admin/template_steps/new.html.erb b/app/views/approval_engine/admin/template_steps/new.html.erb new file mode 100644 index 0000000..1e9b10c --- /dev/null +++ b/app/views/approval_engine/admin/template_steps/new.html.erb @@ -0,0 +1,4 @@ +<% content_for :title, "New step" %> +<%= link_to "← #{@track_template.name}", admin_track_template_path(@track_template), class: "ae-back" %> +

New step

+<%= render "form" %> diff --git a/app/views/approval_engine/admin/track_templates/_form.html.erb b/app/views/approval_engine/admin/track_templates/_form.html.erb new file mode 100644 index 0000000..e9a262b --- /dev/null +++ b/app/views/approval_engine/admin/track_templates/_form.html.erb @@ -0,0 +1,25 @@ +<%= form_with model: [ :admin, @track_template ], local: true, class: "ae-form" do |form| %> + <%= render "approval_engine/admin/shared/errors", record: @track_template %> + +
+ <%= form.label :tenant_id %> + <%= form.text_field :tenant_id %> +

Rules are matched per tenant. A template and its rules should normally share one.

+
+ +
+ <%= form.label :name %> + <%= form.text_field :name %> +
+ +
+ <%= form.label :status %> + <%= form.select :status, ApprovalEngine::TrackTemplate::STATUSES %> +

Only active templates are ever selected by a rule — draft templates never fire, and archiving retires one without deleting the history it routed.

+
+ +
+ <%= form.submit "Save template", class: "ae-btn" %> + <%= link_to "Cancel", @track_template.persisted? ? admin_track_template_path(@track_template) : admin_track_templates_path, class: "ae-btn is-secondary" %> +
+<% end %> diff --git a/app/views/approval_engine/admin/track_templates/edit.html.erb b/app/views/approval_engine/admin/track_templates/edit.html.erb new file mode 100644 index 0000000..cd56b0e --- /dev/null +++ b/app/views/approval_engine/admin/track_templates/edit.html.erb @@ -0,0 +1,3 @@ +<% content_for :title, "Edit template" %> +

Edit <%= @track_template.name %>

+<%= render "form" %> diff --git a/app/views/approval_engine/admin/track_templates/index.html.erb b/app/views/approval_engine/admin/track_templates/index.html.erb new file mode 100644 index 0000000..8798f27 --- /dev/null +++ b/app/views/approval_engine/admin/track_templates/index.html.erb @@ -0,0 +1,41 @@ +<% content_for :title, "Templates" %> +

Templates

+ +
+ <%= link_to admin_track_templates_path, class: ("is-active" unless @tenant_id) do %> + All tenants <%= @total %> + <% end %> + <% @tenant_ids.each do |tenant_id| %> + <%= link_to admin_track_templates_path(tenant_id: tenant_id), class: ("is-active" if @tenant_id == tenant_id) do %> + <%= tenant_id %> + <% end %> + <% end %> +
+ +

<%= link_to "New template", new_admin_track_template_path, class: "ae-btn" %>

+ +<% if @track_templates.empty? %> +
No templates<%= " for tenant #{@tenant_id}" if @tenant_id %>.
+<% else %> + + + + + + <% @track_templates.each do |template| %> + + + + + + + + + + <% end %> + +
TenantNameStatusStepsRulesUpdated
<%= template.tenant_id %><%= template.name %><%= status_badge(template.status) %><%= @step_counts.fetch(template.id, 0) %><%= @rule_counts.fetch(template.id, 0) %><%= template.updated_at.to_fs(:short) %><%= link_to "Edit", admin_track_template_path(template) %>
+ <% if @total > @track_templates.size %> +

Showing the most recent <%= @track_templates.size %> of <%= @total %>.

+ <% end %> +<% end %> diff --git a/app/views/approval_engine/admin/track_templates/new.html.erb b/app/views/approval_engine/admin/track_templates/new.html.erb new file mode 100644 index 0000000..99ae8d6 --- /dev/null +++ b/app/views/approval_engine/admin/track_templates/new.html.erb @@ -0,0 +1,3 @@ +<% content_for :title, "New template" %> +

New template

+<%= render "form" %> diff --git a/app/views/approval_engine/admin/track_templates/show.html.erb b/app/views/approval_engine/admin/track_templates/show.html.erb new file mode 100644 index 0000000..c3a4efe --- /dev/null +++ b/app/views/approval_engine/admin/track_templates/show.html.erb @@ -0,0 +1,81 @@ +<% content_for :title, @track_template.name %> +<%= link_to "← All templates", admin_track_templates_path, class: "ae-back" %> + +

<%= @track_template.name %> <%= status_badge(@track_template.status) %>

+ +
+

+ Tenant <%= @track_template.tenant_id %> · + updated <%= @track_template.updated_at.to_fs(:short) %> +

+ <% if @track_template.status != "active" %> +

Only active templates are ever selected by a rule — a draft or archived template never fires.

+ <% end %> +
+ <%= link_to "Edit template", edit_admin_track_template_path(@track_template), class: "ae-btn is-secondary" %> + <%= button_to "Delete template", admin_track_template_path(@track_template), method: :delete, class: "ae-btn is-danger" %> +
+
+ +

Steps

+<% if @template_steps.empty? %> +
No steps yet. A template with no steps approves nothing.
+<% else %> + + + + + + <% @template_steps.each do |step| %> + + + + + + + + + <% end %> + +
LayerNameGroupApprovals requiredTimeout
<%= step.layer %><%= step.name %><%= step.assigned_group %><%= step.approvals_required %><%= timeout_label(step.timeout_after) %> +
+ <%= link_to "Edit", edit_admin_track_template_template_step_path(@track_template, step) %> + <%= button_to "Delete", admin_track_template_template_step_path(@track_template, step), method: :delete, class: "ae-btn is-danger" %> +
+
+<% end %> +

<%= link_to "Add step", new_admin_track_template_template_step_path(@track_template), class: "ae-btn" %>

+ +

Rules

+<% if @trigger_rules.empty? %> +
No rules yet. Nothing routes to this template until one exists.
+<% else %> + + + + + + <% @trigger_rules.each do |rule| %> + + + + + + + + + <% end %> + +
EventConditionPriorityTenantActive
<%= rule.event_name %><%= condition_summary(rule) %><%= rule.priority %> + <%= rule.tenant_id %> + <% if rule.tenant_id != @track_template.tenant_id %> +

Differs from the template's tenant — this rule stamps a cross-tenant approval.

+ <% end %> +
<%= rule.active? ? "Yes" : "No" %> +
+ <%= link_to "Edit", edit_admin_track_template_trigger_rule_path(@track_template, rule) %> + <%= button_to "Delete", admin_track_template_trigger_rule_path(@track_template, rule), method: :delete, class: "ae-btn is-danger" %> +
+
+<% end %> +

<%= link_to "Add rule", new_admin_track_template_trigger_rule_path(@track_template), class: "ae-btn" %>

diff --git a/app/views/approval_engine/admin/trigger_rules/_condition_row.html.erb b/app/views/approval_engine/admin/trigger_rules/_condition_row.html.erb new file mode 100644 index 0000000..12d7615 --- /dev/null +++ b/app/views/approval_engine/admin/trigger_rules/_condition_row.html.erb @@ -0,0 +1,25 @@ +
+
+ <%= label_tag nil, "Field" %> + <% if exposed_attribute_groups.any? %> + <%= select_tag "trigger_rule[conditions][][field]", + grouped_options_for_select(field_groups_including(row["field"]), row["field"]), + include_blank: "—", disabled: !@condition_simple %> + <% else %> + <%# Nothing has called exposes_for_approval yet, so there is nothing honest + to offer — fall back to free text rather than an empty dropdown. %> + <%= text_field_tag "trigger_rule[conditions][][field]", row["field"], disabled: !@condition_simple %> +

No model declares exposes_for_approval yet.

+ <% end %> +
+
+ <%= label_tag nil, "Operator" %> + <%= select_tag "trigger_rule[conditions][][operator]", + options_for_select(ApprovalEngine::Condition::LABELS.map { |op, label| [ label, op.to_s ] }, row["operator"]), + disabled: !@condition_simple %> +
+
+ <%= label_tag nil, "Value" %> + <%= text_field_tag "trigger_rule[conditions][][value]", row["value"], disabled: !@condition_simple %> +
+
diff --git a/app/views/approval_engine/admin/trigger_rules/_form.html.erb b/app/views/approval_engine/admin/trigger_rules/_form.html.erb new file mode 100644 index 0000000..af729bb --- /dev/null +++ b/app/views/approval_engine/admin/trigger_rules/_form.html.erb @@ -0,0 +1,70 @@ +<%= form_with model: [ :admin, @track_template, @trigger_rule ], local: true, class: "ae-form" do |form| %> + <%= render "approval_engine/admin/shared/errors", record: @trigger_rule %> + +
+
+ <%= form.label :tenant_id %> + <%= form.text_field :tenant_id %> + <% if @trigger_rule.tenant_id.present? && @trigger_rule.tenant_id != @track_template.tenant_id %> +

This differs from the template's tenant (<%= @track_template.tenant_id %>). The rule matches on + its own tenant but stamps this template's approval, so the two should normally agree.

+ <% end %> +
+ +
+ <%= form.label :event_name %> + <%= form.text_field :event_name, list: "ae-event-options" %> + + <% known_event_names.each do |event_name| %> + + <% end %> + +

Any string your app triggers. The listed ones are what the engine fires by convention.

+
+
+ +
+
+ <%= form.label :priority %> + <%= form.number_field :priority %> +

Highest priority wins when several rules match one event.

+
+ +
+ <%= form.label :active, "Active" %> + <%= form.check_box :active %> +

An inactive rule is kept but never matched.

+
+
+ +
+ Condition + + <%= radio_button_tag "trigger_rule[condition_mode]", "simple", @condition_mode == "simple", + id: "ae-cond-simple", class: "ae-cond-toggle", disabled: !@condition_simple %> + <%= label_tag "ae-cond-simple", "Simple" %> + <%= radio_button_tag "trigger_rule[condition_mode]", "advanced", @condition_mode == "advanced", + id: "ae-cond-advanced", class: "ae-cond-toggle" %> + <%= label_tag "ae-cond-advanced", "Raw JSON Logic" %> + +
+ <% @condition_rows.each do |row| %><%= render "condition_row", row: row %><% end %> + <% @blank_rows.times do %><%= render "condition_row", row: {} %><% end %> +

Several conditions must all match. For "or", use raw JSON Logic.

+
+ +
+ <% unless @condition_simple %> +

This rule is more than the simple editor can show — an "or", a nested + group, or an operator it doesn't offer. Edit it as JSON Logic, or switch to Simple to + replace it entirely.

+ <% end %> + <%= text_area_tag "trigger_rule[condition_json]", @condition_json, rows: 8, class: "ae-mono" %> +
+
+ +
+ <%= form.submit "Save rule", class: "ae-btn" %> + <%= link_to "Cancel", admin_track_template_path(@track_template), class: "ae-btn is-secondary" %> +
+<% end %> diff --git a/app/views/approval_engine/admin/trigger_rules/edit.html.erb b/app/views/approval_engine/admin/trigger_rules/edit.html.erb new file mode 100644 index 0000000..de7fd25 --- /dev/null +++ b/app/views/approval_engine/admin/trigger_rules/edit.html.erb @@ -0,0 +1,19 @@ +<% content_for :title, "Edit rule" %> +<%= link_to "← #{@track_template.name}", admin_track_template_path(@track_template), class: "ae-back" %> +

Edit rule

+ +<% + # Editing a live rule changes future routing only — in-flight approvals carry + # stamped copies of the steps. But the approvals it already routed still point + # at this row, so an audit view of an old one will show the *new* condition. + routed_count = ApprovalEngine::Approval.where(approval_engine_trigger_rule_id: @trigger_rule.id).count +%> +<% if routed_count.positive? %> +
+

This rule has routed <%= pluralize(routed_count, "approval") %>. Editing it changes what happens + next, not what already happened — but those approvals point at this rule, so their provenance will read as + whatever you save here.

+
+<% end %> + +<%= render "form" %> diff --git a/app/views/approval_engine/admin/trigger_rules/index.html.erb b/app/views/approval_engine/admin/trigger_rules/index.html.erb new file mode 100644 index 0000000..9b88922 --- /dev/null +++ b/app/views/approval_engine/admin/trigger_rules/index.html.erb @@ -0,0 +1,29 @@ +<% content_for :title, "Rules" %> +

Rules

+

Listed the way the evaluator resolves them: by event, then highest priority first.

+ +<% if @trigger_rules.empty? %> +
No rules<%= " for tenant #{@tenant_id}" if @tenant_id %>.
+<% else %> + + + + + + <% @trigger_rules.each do |rule| %> + + + + + + + + + + <% end %> + +
EventPriorityConditionTemplateTenantActive
<%= rule.event_name %><%= rule.priority %><%= condition_summary(rule) %><%= link_to rule.track_template.name, admin_track_template_path(rule.track_template) %><%= rule.tenant_id %><%= rule.active? ? "Yes" : "No" %><%= link_to "Edit", edit_admin_track_template_trigger_rule_path(rule.track_template, rule) %>
+ <% if @total > @trigger_rules.size %> +

Showing the most recent <%= @trigger_rules.size %> of <%= @total %>.

+ <% end %> +<% end %> diff --git a/app/views/approval_engine/admin/trigger_rules/new.html.erb b/app/views/approval_engine/admin/trigger_rules/new.html.erb new file mode 100644 index 0000000..3dd13ec --- /dev/null +++ b/app/views/approval_engine/admin/trigger_rules/new.html.erb @@ -0,0 +1,4 @@ +<% content_for :title, "New rule" %> +<%= link_to "← #{@track_template.name}", admin_track_template_path(@track_template), class: "ae-back" %> +

New rule

+<%= render "form" %> diff --git a/app/views/layouts/approval_engine/dashboard.html.erb b/app/views/layouts/approval_engine/dashboard.html.erb index 22b6652..58f432e 100644 --- a/app/views/layouts/approval_engine/dashboard.html.erb +++ b/app/views/layouts/approval_engine/dashboard.html.erb @@ -35,14 +35,56 @@ .ae-mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; } .ae-card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px 20px; margin-bottom:16px; } .ae-back { display:inline-block; margin-bottom:12px; } + /* Everything below is the opt-in admin. It is additive: a host that never + sets admin_enabled renders none of these classes. */ + .ae-nav { margin-left:auto; display:flex; gap:16px; } + .ae-nav a { font-weight:500; color:#cbd5e1; } + .ae-flash { background:#dcfce7; border:1px solid #bbf7d0; color:#166534; border-radius:8px; padding:10px 16px; margin-bottom:16px; } + .ae-flash.is-alert { background:#fee2e2; border-color:#fecaca; color:#991b1b; } + .ae-errors { background:#fee2e2; border:1px solid #fecaca; color:#991b1b; border-radius:10px; padding:12px 16px; margin-bottom:16px; } + .ae-errors ul { margin:6px 0 0; padding-left:18px; } + .ae-form { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px 20px; } + .ae-field { margin-bottom:14px; } + .ae-field label, .ae-form legend { display:block; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; } + .ae-form input[type=text], .ae-form input[type=number], .ae-form select, .ae-form textarea { + width:100%; padding:8px 10px; border:1px solid var(--line); border-radius:6px; font:inherit; color:var(--ink); background:#fff; } + .ae-form textarea { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; } + .ae-form fieldset { border:1px solid var(--line); border-radius:10px; padding:12px 16px; margin:0 0 16px; } + .ae-row { display:flex; gap:12px; flex-wrap:wrap; } + .ae-row .ae-field { flex:1 1 180px; } + .ae-hint { color:var(--muted); font-size:12px; margin:4px 0 0; } + .ae-actions { display:flex; gap:8px; align-items:center; margin-top:16px; } + .ae-btn { display:inline-block; background:var(--accent); color:#fff; border:0; border-radius:6px; padding:8px 16px; font:inherit; font-weight:600; text-decoration:none; cursor:pointer; } + .ae-btn.is-secondary { background:#fff; color:var(--ink); border:1px solid var(--line); } + .ae-btn.is-danger { background:#fff; color:#991b1b; border:1px solid #fecaca; } + .ae-cond-toggle { width:auto; } + .ae-cond label[for] { display:inline; text-transform:none; font-size:13px; color:var(--ink); margin-right:16px; } + /* The whole no-JavaScript trick: the radios are siblings of both panels, so + :checked ~ picks the one to show. Strip the CSS and both panels appear — + the server still obeys the submitted radio, so nothing is lost. */ + .ae-cond-panel { display:none; } + #ae-cond-simple:checked ~ .ae-cond-panel.is-simple { display:block; } + #ae-cond-advanced:checked ~ .ae-cond-panel.is-advanced { display:block; }
<%= link_to "ApprovalEngine", root_path %> ops dashboard + <% if admin_ui? %> + + <% end %>
+ <% if admin_ui? %> + <% flash.each do |type, message| %> +
"><%= message %>
+ <% end %> + <% end %> <%= yield %>
diff --git a/config/routes.rb b/config/routes.rb index a708e5c..24b348a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -5,4 +5,19 @@ # end root to: "approvals#index" resources :approvals, only: %i[index show] + + # The runtime rule editor — the engine's only write surface, so it is drawn + # only when the host asks for it. Routes are drawn once at boot, well after + # config/initializers run, so reading the flag here is safe; a flag flipped + # later needs a restart (the controllers re-check it per request anyway). + if ApprovalEngine.config.admin_enabled + namespace :admin do + root to: "track_templates#index" + resources :track_templates do + resources :template_steps, only: %i[new create edit update destroy] + resources :trigger_rules, only: %i[new create edit update destroy] + end + resources :trigger_rules, only: %i[index] + end + end end diff --git a/lib/approval_engine.rb b/lib/approval_engine.rb index 6b6c3b1..b2327ba 100644 --- a/lib/approval_engine.rb +++ b/lib/approval_engine.rb @@ -1,3 +1,5 @@ +require "set" + require "approval_engine/version" require "approval_engine/configuration" require "approval_engine/approval_exposure" @@ -51,4 +53,23 @@ def self.define_flow(name, tenant: nil, model: nil, status: "active", timeout_af def self.flow(name, tenant:) TrackTemplate.for_tenant(FlowDefinition.tenant_id_for(tenant)).find_by(name: name) end + + class << self + # Every model that has called `has_approvals`, by name. Names, not + # constants, so the engine never pins a class the development reloader + # will throw away — the same reason `config.actor_class` is a String. + def register_approvable(model_name) + approvable_model_names << model_name.to_s + end + + def approvable_model_names + @approvable_model_names ||= Set.new + end + + # The registered models, resolved fresh each call. A name that no longer + # resolves (a model deleted since boot) is dropped rather than raising. + def approvable_models + approvable_model_names.filter_map { |model_name| model_name.safe_constantize } + end + end end diff --git a/lib/approval_engine/configuration.rb b/lib/approval_engine/configuration.rb index d97efa0..9adddb0 100644 --- a/lib/approval_engine/configuration.rb +++ b/lib/approval_engine/configuration.rb @@ -89,6 +89,13 @@ class Configuration # before configuring this does nothing. attr_accessor :reminder_after + # Mounts the built-in template/rule admin — the write half of the dashboard. + # Default false on purpose: 1.0 shipped a read-only dashboard that hosts + # mounted behind whatever auth they had, and a gem upgrade must never turn + # that into a write surface on its own. Turning it on is not authentication: + # wrap the mount in your own authenticated constraint either way. + attr_accessor :admin_enabled + def initialize @outbox_queue = :default @current_tenant_method = nil @@ -107,6 +114,8 @@ def initialize @approval_url_builder = nil @approval_recipients = nil @reminder_after = nil + + @admin_enabled = false end # The host's actor class, resolved lazily so reloading works in development. diff --git a/lib/approval_engine/model_extensions.rb b/lib/approval_engine/model_extensions.rb index 0115305..e58ee17 100644 --- a/lib/approval_engine/model_extensions.rb +++ b/lib/approval_engine/model_extensions.rb @@ -15,6 +15,10 @@ module ModelExtensions def has_approvals(on: [ :create ]) include ApprovalEngine::Approvable self.approval_trigger_events = Array(on).freeze + + # Remember the model so the admin can offer its exposed attributes as + # rule fields. Anonymous classes have no name to remember. + ApprovalEngine.register_approvable(name) if name end end end diff --git a/lib/generators/approval_engine/install/templates/POST_INSTALL b/lib/generators/approval_engine/install/templates/POST_INSTALL index bc0aae1..0b26a1d 100644 --- a/lib/generators/approval_engine/install/templates/POST_INSTALL +++ b/lib/generators/approval_engine/install/templates/POST_INSTALL @@ -86,4 +86,21 @@ Next steps: Each step is nudged at most once, so running it often is safe. While reminder_after is nil the sweep is a no-op. + The dashboard is READ-ONLY until you opt in. To let admins edit templates + and routing rules from the browser, without a deploy, set in the + initializer (then RESTART — the routes are drawn at boot): + + config.admin_enabled = true + + That flag decides whether the write routes exist. It is NOT authentication + and the engine ships none: anyone who can reach the mount can change what + routes where. Wrap the mount in your own authenticated constraint: + + authenticate :admin_user, ->(u) { u.super_admin? } do + mount ApprovalEngine::Engine => "/approval_engine" + end + + The admin needs a full-stack host (sessions for CSRF, and flash); it is + not available under config.api_only. + =============================================================================== diff --git a/lib/generators/approval_engine/install/templates/approval_engine.rb b/lib/generators/approval_engine/install/templates/approval_engine.rb index ede5ef5..4f2ecc5 100644 --- a/lib/generators/approval_engine/install/templates/approval_engine.rb +++ b/lib/generators/approval_engine/install/templates/approval_engine.rb @@ -71,4 +71,21 @@ # setting this does nothing. Each step is nudged at most once. # config.reminder_after = 2.days.to_i config.reminder_after = nil + + # Mounts the built-in admin for templates, steps and routing rules — the + # write half of the dashboard, so admins can change routing without a deploy. + # Off by default: the dashboard is read-only until you opt in, and a gem + # upgrade must never turn a mounted dashboard into a write surface. + # + # THIS IS NOT AUTHENTICATION. It decides whether the write routes exist at + # all, not who may reach them. Anyone who can reach the mount can change what + # routes where, so wrap the mount in your own authenticated constraint: + # + # authenticate :admin_user, ->(u) { u.super_admin? } do + # mount ApprovalEngine::Engine => "/approval_engine" + # end + # + # Routes are drawn once at boot, so set this here (an initializer) and restart + # the server after changing it. + config.admin_enabled = false end diff --git a/test/approval_engine_test.rb b/test/approval_engine_test.rb index 69aa6dd..9e5829e 100644 --- a/test/approval_engine_test.rb +++ b/test/approval_engine_test.rb @@ -4,4 +4,27 @@ class ApprovalEngineTest < ActiveSupport::TestCase test "it has a version number" do assert ApprovalEngine::VERSION end + + test "has_approvals registers the model for the admin" do + assert_includes ApprovalEngine.approvable_models, Invoice + end + + test "a name that no longer resolves is dropped" do + ApprovalEngine.register_approvable("GoneModel") + + assert_not_includes ApprovalEngine.approvable_models.map(&:name), "GoneModel" + ensure + ApprovalEngine.approvable_model_names.delete("GoneModel") + end +end + +module ApprovalEngine + class AdminConfigurationTest < ApprovalEngine::TestCase + # The single most important default in this release: 1.0 hosts mounted a + # read-only dashboard, and `bundle update` must never hand them a write + # surface. If this ever flips, that is a privilege-escalation regression. + test "the admin is off by default" do + assert_equal false, ApprovalEngine::Configuration.new.admin_enabled + end + end end diff --git a/test/controllers/approval_engine/admin/template_steps_controller_test.rb b/test/controllers/approval_engine/admin/template_steps_controller_test.rb new file mode 100644 index 0000000..a05ca56 --- /dev/null +++ b/test/controllers/approval_engine/admin/template_steps_controller_test.rb @@ -0,0 +1,98 @@ +require "test_helper" + +module ApprovalEngine + module Admin + class TemplateStepsControllerTest < ActionDispatch::IntegrationTest + include Engine.routes.url_helpers + include ApprovalEngine::ApprovalFixtures + + setup do + ApprovalEngine.config.admin_enabled = true + @template = create_template( + steps: [ { name: "Manager", group: "manager", layer: 1 } ], + name: "High-value invoice" + ) + @step = @template.template_steps.first + end + + teardown { ApprovalEngine.config.admin_enabled = true } + + test "new prefills the next layer" do + get new_admin_track_template_template_step_path(@template) + + assert_response :success + assert_select "input[name=?][value=?]", "template_step[layer]", "2" + end + + test "create appends a layer" do + assert_difference -> { @template.template_steps.count }, 1 do + post admin_track_template_template_steps_path(@template), + params: { template_step: { name: "CFO", layer: 2, assigned_group: "cfo", approvals_required: "majority" } } + end + + assert_redirected_to admin_track_template_path(@template) + assert_equal "majority", @template.template_steps.last.approvals_required + end + + test "create surfaces the consensus validation" do + assert_no_difference -> { TemplateStep.count } do + post admin_track_template_template_steps_path(@template), + params: { template_step: { name: "CFO", layer: 2, assigned_group: "cfo", approvals_required: "2 people" } } + end + + assert_response :unprocessable_entity + assert_select ".ae-errors", /must be :any, :all, :majority/ + end + + test "create accepts a timeout in seconds" do + post admin_track_template_template_steps_path(@template), + params: { template_step: { name: "CFO", layer: 2, assigned_group: "cfo", + approvals_required: "any", timeout_after: 172_800 } } + + assert_redirected_to admin_track_template_path(@template) + assert_equal 172_800, @template.template_steps.last.timeout_after + end + + test "update edits a step" do + patch admin_track_template_template_step_path(@template, @step), + params: { template_step: { name: "Line manager", layer: 1, assigned_group: "manager", approvals_required: "all" } } + + assert_redirected_to admin_track_template_path(@template) + assert_equal "Line manager", @step.reload.name + assert_equal "all", @step.approvals_required + end + + test "destroy removes a step" do + assert_difference -> { TemplateStep.count }, -1 do + delete admin_track_template_template_step_path(@template, @step) + end + + assert_redirected_to admin_track_template_path(@template) + end + + test "a step from another template is not reachable through this one" do + other = create_template(steps: [ { name: "Legal", group: "legal" } ], name: "Other") + + stranger = other.template_steps.first + + assert_no_difference -> { TemplateStep.count } do + delete admin_track_template_template_step_path(@template, stranger) + end + + assert_response :not_found + end + + test "actions 404 while the admin is disabled" do + ApprovalEngine.config.admin_enabled = false + + get new_admin_track_template_template_step_path(@template) + assert_response :not_found + + post admin_track_template_template_steps_path(@template), + params: { template_step: { name: "Sneaky", layer: 9, assigned_group: "x", approvals_required: "any" } } + assert_response :not_found + assert_nil TemplateStep.find_by(name: "Sneaky") + end + end + end +end diff --git a/test/controllers/approval_engine/admin/track_templates_controller_test.rb b/test/controllers/approval_engine/admin/track_templates_controller_test.rb new file mode 100644 index 0000000..d41b652 --- /dev/null +++ b/test/controllers/approval_engine/admin/track_templates_controller_test.rb @@ -0,0 +1,127 @@ +require "test_helper" + +module ApprovalEngine + module Admin + class TrackTemplatesControllerTest < ActionDispatch::IntegrationTest + include Engine.routes.url_helpers + include ApprovalEngine::ApprovalFixtures + + setup do + # The dummy app opts in at boot, but ApprovalEngine::TestCase resets the + # configuration around every one of its tests and Minitest randomises + # order, so the flag is re-asserted rather than assumed. + ApprovalEngine.config.admin_enabled = true + @template = create_template( + event: "invoice.created", + steps: [ { name: "Manager", group: "manager" } ], + name: "High-value invoice" + ) + end + + teardown { ApprovalEngine.config.admin_enabled = true } + + test "index lists templates with grouped step and rule counts" do + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + + get admin_track_templates_path + + assert_response :success + assert_select "h1", "Templates" + assert_select "td", "High-value invoice" + assert_select "tbody tr" do + assert_select "td", "1" # one step and one rule + end + end + + test "index filters by tenant" do + create_template(steps: [ { name: "Legal", group: "legal" } ], tenant: "other", name: "Other tenant flow") + + get admin_track_templates_path(tenant_id: "other") + + assert_response :success + assert_select "td", "Other tenant flow" + assert_select "td", { text: "High-value invoice", count: 0 } + end + + test "create makes a template" do + assert_difference -> { TrackTemplate.count }, 1 do + post admin_track_templates_path, + params: { track_template: { tenant_id: TENANT, name: "Legal review", status: "draft" } } + end + + assert_redirected_to admin_track_template_path(TrackTemplate.find_by(name: "Legal review")) + end + + test "create re-renders with errors when the name is blank" do + assert_no_difference -> { TrackTemplate.count } do + post admin_track_templates_path, + params: { track_template: { tenant_id: TENANT, name: "", status: "draft" } } + end + + assert_response :unprocessable_entity + assert_select ".ae-errors" + end + + test "activating a template needs no deploy" do + draft = create_template(steps: [ { name: "CFO", group: "cfo" } ], status: "draft", name: "Draft flow") + + patch admin_track_template_path(draft), params: { track_template: { status: "active" } } + + assert_redirected_to admin_track_template_path(draft) + assert_equal "active", draft.reload.status + end + + test "show renders the steps and rules of a template" do + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 10_000 ] }) + + get admin_track_template_path(@template) + + assert_response :success + assert_select "h1", /High-value invoice/ + assert_select "td", "Manager" + assert_select "td", "amount is greater than 10000" + end + + test "destroy removes a template that has never routed anything" do + assert_difference -> { TrackTemplate.count }, -1 do + delete admin_track_template_path(@template) + end + + assert_redirected_to admin_track_templates_path + end + + test "destroy refuses a template whose rules have routed approvals" do + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + create_user(role: :manager) + invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) + invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) + + assert_no_difference -> { TrackTemplate.count } do + delete admin_track_template_path(@template) + end + + assert_redirected_to admin_track_template_path(@template) + assert TrackTemplate.exists?(@template.id) + assert_match(/Archive it/, flash[:alert]) + end + + test "every action 404s while the admin is disabled" do + ApprovalEngine.config.admin_enabled = false + + get admin_track_templates_path + assert_response :not_found + + get admin_track_template_path(@template) + assert_response :not_found + + post admin_track_templates_path, params: { track_template: { tenant_id: TENANT, name: "Sneaky" } } + assert_response :not_found + assert_nil TrackTemplate.find_by(name: "Sneaky") + + delete admin_track_template_path(@template) + assert_response :not_found + assert TrackTemplate.exists?(@template.id) + end + end + end +end diff --git a/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb new file mode 100644 index 0000000..b7c5dcc --- /dev/null +++ b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb @@ -0,0 +1,231 @@ +require "test_helper" + +module ApprovalEngine + module Admin + class TriggerRulesControllerTest < ActionDispatch::IntegrationTest + include Engine.routes.url_helpers + include ApprovalEngine::ApprovalFixtures + + setup do + ApprovalEngine.config.admin_enabled = true + @template = create_template( + event: "invoice.created", + steps: [ { name: "Manager", group: "manager" } ], + name: "High-value invoice" + ) + end + + teardown { ApprovalEngine.config.admin_enabled = true } + + # The dummy Invoice exposes `amount` as :decimal and `department` as + # :string, which is why the casting assertions below expect 10_000.0. + def post_rule(condition_params) + post admin_track_template_trigger_rules_path(@template), + params: { trigger_rule: { + tenant_id: TENANT, event_name: "invoice.created", priority: 0, active: "1" + }.merge(condition_params) } + end + + test "new offers the exposed attributes as fields" do + get new_admin_track_template_trigger_rule_path(@template) + + assert_response :success + assert_select "optgroup[label=?]", "Invoice" + assert_select "option[value=?]", "amount" + assert_select "option[value=?]", "department" + end + + test "new offers the conventional event names" do + get new_admin_track_template_trigger_rule_path(@template) + + assert_response :success + assert_select "datalist option[value=?]", "invoice.created" + assert_select "datalist option[value=?]", "invoice.updated" + end + + test "create builds JSON Logic from the simple form" do + assert_difference -> { TriggerRule.count }, 1 do + post_rule(condition_mode: "simple", conditions: [ { field: "amount", operator: "gt", value: "10000" } ]) + end + + assert_redirected_to admin_track_template_path(@template) + assert_equal({ ">" => [ { "var" => "amount" }, 10_000.0 ] }, TriggerRule.last.condition) + end + + test "create ANDs several rows" do + post_rule(condition_mode: "simple", conditions: [ + { field: "amount", operator: "gt", value: "10000" }, + { field: "department", operator: "not_eq", value: "IT" } + ]) + + condition = TriggerRule.last.condition + assert_equal 2, condition["and"].size + assert_equal({ ">" => [ { "var" => "amount" }, 10_000.0 ] }, condition["and"].first) + assert_equal({ "!=" => [ { "var" => "department" }, "IT" ] }, condition["and"].last) + end + + test "create drops blank rows" do + post_rule(condition_mode: "simple", conditions: [ + { field: "amount", operator: "gt", value: "10000" }, + { field: "", operator: "eq", value: "" }, + { field: "", operator: "eq", value: "" } + ]) + + # A bare comparison, not an `and` of one. + assert_equal({ ">" => [ { "var" => "amount" }, 10_000.0 ] }, TriggerRule.last.condition) + end + + test "create rejects a simple form with no conditions" do + assert_no_difference -> { TriggerRule.count } do + post_rule(condition_mode: "simple", conditions: [ { field: "", operator: "eq", value: "" } ]) + end + + assert_response :unprocessable_entity + assert_select ".ae-errors" + end + + test "create stores raw JSON Logic" do + raw = { "or" => [ { ">" => [ { "var" => "amount" }, 50_000 ] }, + { "==" => [ { "var" => "department" }, "Legal" ] } ] } + + assert_difference -> { TriggerRule.count }, 1 do + post_rule(condition_mode: "advanced", condition_json: raw.to_json) + end + + assert_equal raw, TriggerRule.last.condition + end + + test "create rejects raw JSON that is not an object" do + # Regression-critical: JSON Logic evaluates a non-object as a literal, so + # such a rule would match every event of its name. + assert_no_difference -> { TriggerRule.count } do + post_rule(condition_mode: "advanced", condition_json: "[1,2]") + end + + assert_response :unprocessable_entity + assert_select ".ae-errors", /must be a JSON Logic object/ + end + + test "create rejects malformed JSON" do + assert_no_difference -> { TriggerRule.count } do + post_rule(condition_mode: "advanced", condition_json: "{") + end + + assert_response :unprocessable_entity + assert_select ".ae-errors", /isn't valid JSON/ + end + + test "create rejects a raw condition larger than the cap" do + assert_no_difference -> { TriggerRule.count } do + post_rule(condition_mode: "advanced", + condition_json: { "==" => [ { "var" => "department" }, "x" * 9_000 ] }.to_json) + end + + assert_response :unprocessable_entity + assert_select ".ae-errors", /too large/ + end + + test "edit round-trips a simple condition into the triple" do + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 10_000 ] }) + + get edit_admin_track_template_trigger_rule_path(@template, rule) + + assert_response :success + assert_select "option[selected][value=?]", "amount" + assert_select "option[selected][value=?]", "gt" + assert_select "input[name=?][value=?]", "trigger_rule[conditions][][value]", "10000" + assert_select "#ae-cond-simple[checked]" + end + + test "edit falls back to the raw editor for a condition the simple form can't represent" do + rule = create_rule(template: @template, condition: { + "or" => [ { ">" => [ { "var" => "amount" }, 50_000 ] }, + { "==" => [ { "var" => "department" }, "Legal" ] } ] + }) + + get edit_admin_track_template_trigger_rule_path(@template, rule) + + assert_response :success + assert_select "#ae-cond-advanced[checked]" + assert_select "textarea[name=?]", "trigger_rule[condition_json]" + # The simple inputs are disabled, so an accidental save can't silently + # replace a hand-written rule with an empty one. + assert_select "input[name=?][disabled]", "trigger_rule[conditions][][value]" + assert_select ".ae-hint", /more than the simple editor can show/ + end + + test "edit warns when a rule reads an attribute nobody exposes" do + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "vendor_score" }, 3 ] }) + + get edit_admin_track_template_trigger_rule_path(@template, rule) + + assert_response :success + assert_select "optgroup[label=?]", "Not exposed — this rule can never match" do + assert_select "option[selected][value=?]", "vendor_score" + end + end + + test "update rewrites the condition" do + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + + patch admin_track_template_trigger_rule_path(@template, rule), + params: { trigger_rule: { tenant_id: TENANT, event_name: "invoice.created", priority: 5, active: "1", + condition_mode: "simple", + conditions: [ { field: "amount", operator: "gte", value: "25000" } ] } } + + assert_redirected_to admin_track_template_path(@template) + rule.reload + assert_equal({ ">=" => [ { "var" => "amount" }, 25_000.0 ] }, rule.condition) + assert_equal 5, rule.priority + end + + test "destroy removes the rule" do + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + + assert_difference -> { TriggerRule.count }, -1 do + delete admin_track_template_trigger_rule_path(@template, rule) + end + + assert_redirected_to admin_track_template_path(@template) + end + + test "index orders rules the way the evaluator resolves them" do + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }, priority: 0) + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 99 ] }, priority: 10) + + get admin_trigger_rules_path + + assert_response :success + priorities = css_select("tbody tr td:nth-child(2)").map { |cell| cell.text.strip } + assert_equal %w[10 0], priorities + end + + test "index renders a human summary of each condition" do + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 10_000 ] }) + + get admin_trigger_rules_path + + assert_response :success + assert_select "td", "amount is greater than 10000" + end + + test "actions 404 while the admin is disabled" do + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + ApprovalEngine.config.admin_enabled = false + + get admin_trigger_rules_path + assert_response :not_found + + get new_admin_track_template_trigger_rule_path(@template) + assert_response :not_found + + post_rule(condition_mode: "simple", conditions: [ { field: "amount", operator: "gt", value: "1" } ]) + assert_response :not_found + + delete admin_track_template_trigger_rule_path(@template, rule) + assert_response :not_found + assert TriggerRule.exists?(rule.id) + end + end + end +end diff --git a/test/dummy/config/environment.rb b/test/dummy/config/environment.rb index cac5315..fac8456 100644 --- a/test/dummy/config/environment.rb +++ b/test/dummy/config/environment.rb @@ -3,3 +3,13 @@ # Initialize the Rails application. Rails.application.initialize! + +# The engine's routes read `config.admin_enabled` at the moment they are drawn. +# With `eager_load = false` (this environment's default) Rails does not draw +# them at boot at all — it defers to whichever test first touches a route +# helper, by which time ApprovalEngine::TestCase may have called +# `reset_configuration!` and put the flag back to its default of false. That +# made the admin routes come and go with the Minitest seed. Drawing them here, +# while the dummy's initializer opt-in is still in effect, reproduces what an +# eager-loading production host gets at boot. +Rails.application.reload_routes_unless_loaded diff --git a/test/dummy/config/initializers/approval_engine.rb b/test/dummy/config/initializers/approval_engine.rb new file mode 100644 index 0000000..9cc5941 --- /dev/null +++ b/test/dummy/config/initializers/approval_engine.rb @@ -0,0 +1,4 @@ +# The dummy app opts into the admin so the engine's own tests can exercise it. +# Routes are drawn once at boot, so this can't be flipped per test — the +# request-time guard is what the "disabled" tests toggle. +ApprovalEngine.configure { |config| config.admin_enabled = true } diff --git a/test/generators/approval_engine/install_generator_test.rb b/test/generators/approval_engine/install_generator_test.rb index ac212aa..33299fd 100644 --- a/test/generators/approval_engine/install_generator_test.rb +++ b/test/generators/approval_engine/install_generator_test.rb @@ -19,6 +19,8 @@ class InstallGeneratorTest < Rails::Generators::TestCase # generated file must see that notifications are off, not infer it. assert_match(/config\.notifications_enabled = false/, content) assert_match(/config\.reminder_after = nil/, content) + + assert_match(/config\.admin_enabled = false/, content) end end end diff --git a/test/integration/admin_routes_test.rb b/test/integration/admin_routes_test.rb new file mode 100644 index 0000000..4f74e33 --- /dev/null +++ b/test/integration/admin_routes_test.rb @@ -0,0 +1,67 @@ +require "test_helper" + +module ApprovalEngine + # The only test that touches global routing state. It proves the false branch + # of config/routes.rb — that the write endpoints do not exist at all for a + # host which never opts in — which nothing else in the suite can reach, + # because the dummy app opts in at boot. + class AdminRoutesTest < ActionDispatch::IntegrationTest + include Engine.routes.url_helpers + + # Redraws the engine's routes with the admin back on, and — the part that + # matters — leaves the reloader in a *loaded* state. + # + # `Rails.application.reload_routes!` sets `routes_reloader.loaded = false` + # whenever it had to execute the routes itself, which defers the next draw + # to whichever later test first touches a route helper. That draw re-reads + # `admin_enabled`, and ApprovalEngine::TestCase resets the configuration + # around every one of its tests — so the deferred draw would read the flag + # as false and silently strip the admin routes for the rest of the run. + # Consuming the deferred execution here, while the flag is true, is what + # makes this test safe to run in any order. + def restore_admin_routes! + ApprovalEngine.config.admin_enabled = true + Rails.application.reload_routes! + Rails.application.reload_routes_unless_loaded + admin_track_templates_path + end + + test "admin routes are not drawn when the admin is disabled" do + ApprovalEngine.config.admin_enabled = false + Rails.application.reload_routes! + + # Not "the controller refused" — the route does not exist. A request under + # the mount falls through the engine's router and 404s there, and the path + # helper is undefined because it was never generated. + get "/approval_engine/admin/track_templates" + assert_response :not_found + assert_not Engine.routes.url_helpers.respond_to?(:admin_track_templates_path) + ensure + restore_admin_routes! + end + + test "the read-only dashboard is unchanged for a host that never opts in" do + ApprovalEngine.config.admin_enabled = false + Rails.application.reload_routes! + + get "/approval_engine/approvals" + + assert_response :success + # No nav and no flash region — exactly the 1.0 page. + assert_select "nav.ae-nav", false + assert_select ".ae-flash", false + assert_select "header.ae-top .ae-tag", "ops dashboard" + ensure + restore_admin_routes! + end + + test "the admin routes are drawn again once the host opts in" do + restore_admin_routes! + + get "/approval_engine/admin/track_templates" + + assert_response :success + assert_select "h1", "Templates" + end + end +end From c1c1912481b96be0e186b7c69d76966ed8e59346 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 07/17] chore(demo): seed a lived-in dataset, and capture it for the README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The demo seeded one freshly created approval, which renders an empty audit trail — the least interesting thing this engine does. The point of an append-only ledger is what it remembers, so the seed now includes finished work: an approval that ran to completion, one rejected at the last step with the reason recorded, one sent back for rework, and a scatter-gather holding at Legal and IT simultaneously. Six approvals across three states also gives the dashboard's status filters something to filter, and gives `bin/demo` a first screen worth looking at. Screenshots captured from that seed, for the README. Co-Authored-By: Claude Opus 5 (1M context) --- assets/screenshot-approval.png | Bin 0 -> 97077 bytes assets/screenshot-dashboard.png | Bin 0 -> 90331 bytes assets/screenshot-rule-builder.png | Bin 0 -> 103914 bytes test/dummy/db/seeds.rb | 80 ++++++++++++++++++++++++----- 4 files changed, 68 insertions(+), 12 deletions(-) create mode 100644 assets/screenshot-approval.png create mode 100644 assets/screenshot-dashboard.png create mode 100644 assets/screenshot-rule-builder.png diff --git a/assets/screenshot-approval.png b/assets/screenshot-approval.png new file mode 100644 index 0000000000000000000000000000000000000000..78ff60a9bc020751758d3635bbc45c89c6502382 GIT binary patch literal 97077 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

uedt9W?SiBbq(>UVZ!H5xjGb;sn_#brQ;_t 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 literal 0 HcmV?d00001 diff --git a/assets/screenshot-dashboard.png b/assets/screenshot-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..e454cac3b43bd31b1a4b81d02580f32aadb47055 GIT binary patch literal 90331 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 literal 0 HcmV?d00001 diff --git a/assets/screenshot-rule-builder.png b/assets/screenshot-rule-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..a6c1f4ae08b1e8f56c453a096f3c6a9507004dd7 GIT binary patch literal 103914 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 Rails.application.load_seed +# +# It deliberately seeds finished work as well as pending work. A single freshly +# created approval shows an empty audit trail, which is the least interesting +# thing this engine does; the point of the ledger is what it remembers. TENANT = "demo".freeze puts "Resetting demo data…" @@ -13,31 +17,83 @@ ApprovalEngine.configure { |c| c.actor_class = "User" } -manager = User.create!(name: "Maria (Manager)", role: "manager") -cfo = User.create!(name: "Carl (CFO)", role: "cfo") +manager = User.create!(name: "Maria Okonkwo", role: "manager", email: "maria@example.com") +cfo = User.create!(name: "Carl Jensen", role: "cfo", email: "carl@example.com") +legal = User.create!(name: "Lena Petrova", role: "legal", email: "lena@example.com") +it_lead = User.create!(name: "Ivan Torres", role: "it", email: "ivan@example.com") # One block instead of a template, two steps and a hand-written JSON Logic rule. # It reconciles rather than inserts, so this is safe on every deploy — the reset # above is only here to make the demo output deterministic. ApprovalEngine.define_flow "High-value invoice", tenant: TENANT, model: Invoice do - on :create, when: { amount: { gt: 1000 } } + on :create, when: { amount: { gt: 1_000 } } step "Manager sign-off", group: "manager" step "CFO sign-off", group: "cfo" end -invoice = Invoice.create!(tenant_id: TENANT, amount: 6000, department: "IT") -approval = invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) +# The same idea one size up: Legal and IT review at the same time, and both must +# sign off before it reaches the CFO. This is the shape that is genuinely tedious +# to hand-roll, so the demo should show it. +ApprovalEngine.define_flow "Major capital spend", tenant: TENANT, model: Invoice do + on :create, when: { amount: { gt: 100_000 } }, priority: 10 + step "Manager sign-off", group: "manager" + parallel(approvals_required: :all) do + step "Legal review", group: "legal" + step "IT review", group: "it" + end + step "CFO sign-off", group: "cfo" +end + +def raise_invoice(amount, department) + invoice = Invoice.create!(tenant_id: TENANT, amount: amount, department: department) + [ invoice, invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) ] +end + +def pending_step(approval, name) + approval.steps.reload.pending.find { |step| step.name == name } +end + +# 1. Untouched — sitting in Maria's inbox right now. +raise_invoice(6_000, "IT") + +# 2. Half-done — Maria signed, so it is Carl's turn and the trail has history. +_, waiting_on_cfo = raise_invoice(12_000, "Marketing") +pending_step(waiting_on_cfo, "Manager sign-off").approve!(by: manager, comment: "Budgeted for Q3.") + +# 3. Finished — the full trail, end to end, and the invoice marked paid by the +# host's own after_approved callback. +_, approved = raise_invoice(8_500, "Sales") +pending_step(approved, "Manager sign-off").approve!(by: manager) +pending_step(approved, "CFO sign-off").approve!(by: cfo, comment: "Approved against the annual plan.") + +# 4. Rejected at the last step, which is the case people most want to audit. +_, rejected = raise_invoice(25_000, "Operations") +pending_step(rejected, "Manager sign-off").approve!(by: manager) +pending_step(rejected, "CFO sign-off").reject!(by: cfo, comment: "No PO on file — resubmit with one.") + +# 5. Sent back for rework. Requesting changes appends a second iteration rather +# than editing the first, so the ledger still shows what happened the first +# time round. +_, reworked = raise_invoice(40_000, "Engineering") +pending_step(reworked, "Manager sign-off").request_changes!(by: manager, comment: "Split this across two POs.") + +# 6. Mid-scatter — Legal and IT are both holding it, neither has moved. +_, capital = raise_invoice(150_000, "Facilities") +pending_step(capital, "Manager sign-off").approve!(by: manager, comment: "Board approved the capex line.") + +counts = ApprovalEngine::Approval.group(:status).count puts <<~SUMMARY - Seeded a live approval: - Invoice ##{invoice.id} ($#{invoice.amount}) → Approval ##{approval.id} (#{approval.status}) - Pending now: #{approval.steps.pending.map(&:name).join(", ")} + Seeded #{ApprovalEngine::Approval.count} approvals across #{counts.size} states: + #{counts.map { |status, n| "#{n} #{status}" }.join(", ")} + + Waiting on someone right now: + #{ApprovalEngine::Step.pending.map { |s| "#{s.name} → #{s.assigned_actor&.name}" }.uniq.join("\n ")} Try it in the console: - step = ApprovalEngine::Step.pending.first - step.approve!(by: User.find_by(role: "manager")) # advances to the CFO - ApprovalEngine::Step.pending.first.approve!(by: User.find_by(role: "cfo")) + step = ApprovalEngine::Step.actionable_by(User.find_by(role: "legal")).first + step.approve!(by: User.find_by(role: "legal")) # Legal signs; IT still holds it Or watch it in the dashboard: cd test/dummy && bin/rails server → http://localhost:3000/approval_engine From c8ee76eb014e531f1cbf7837438b5910f335f36c Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 08/17] docs: repitch the README, cut 1.1.0, and draft the launch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README opened with "Multi-tenant, immutable-ledger human approval flows for Rails" — an accurate spec sheet aimed at someone who already knows they want it. It now opens with the job, and with the story of how an `approved` boolean turns into an audit question nobody can answer. The "Look elsewhere when" list used to route its largest audience away with "you just need a boolean flag." That was honest but self-defeating: the people who need one approver today are the people who need five next year. It now shows the column becoming a projection of the ledger, so adopting the gem does not mean rewriting the queries they already have. Adds test/docs_test.rb, which fails CI when the README documents a config key, an ApprovalEngine method, or a generator that does not exist, and when an image is referenced by a relative path (assets/ is not packaged, so a relative path renders only on github.com). A README whose first code block raises NoMethodError is a worse launch than no launch. Also: 1.1.0 CHANGELOG with an explicit "nothing turns itself on" upgrade note, gemspec metadata pinned so a later homepage change cannot silently repoint rubygems' source link, the cookbook and architecture docs brought up to date, and docs/launch/ — the posts and the pre-flight checklist for the announcement 1.0 never got. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 111 ++++++++ README.md | 390 ++++++++++++++++++++++++--- RELEASING.md | 11 +- approval_engine.gemspec | 37 ++- docs/ARCHITECTURE.md | 142 +++++++++- docs/COOKBOOK.md | 373 +++++++++++++++++++++++++- docs/launch/README.md | 40 +++ docs/launch/checklist.md | 197 ++++++++++++++ docs/launch/posts.md | 469 +++++++++++++++++++++++++++++++++ lib/approval_engine/version.rb | 2 +- test/docs_test.rb | 123 +++++++++ test/gemspec_test.rb | 71 +++++ 12 files changed, 1898 insertions(+), 68 deletions(-) create mode 100644 docs/launch/README.md create mode 100644 docs/launch/checklist.md create mode 100644 docs/launch/posts.md create mode 100644 test/docs_test.rb create mode 100644 test/gemspec_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index b0b4177..7ee854a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,116 @@ All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.0] - 2026-08-29 + +Three things 1.0 left you to build: authoring a flow, editing routing rules in a +browser, and telling anyone there was something waiting. Nothing in 1.0 changed +behaviour, and every new surface is off until you switch it on. + +### Added + +- `ApprovalEngine.define_flow(name, tenant:, model:)` — a declarative DSL for a + whole flow (the template, its ordered steps, and the rules that route to it) + in one block, instead of three `create!` calls whose relationship you have to + already know: + + ApprovalEngine.define_flow "High-value invoice", tenant: "acme", model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo", timeout_after: 2.days + end + + Each `step` is its own layer in declaration order; a `parallel(approvals_required:)` + block puts several in one layer, under one consensus policy. `on` takes a + lifecycle symbol resolved through `model:` or any event name you fire + yourself, plus `when:`, `priority:` and `active:`. Idempotent on + `(tenant_id, name)`: it reconciles the same rows rather than creating a second + flow, so a seed file can re-run on every deploy — steps are matched by name and + updated in place so the ids the admin UI links to survive, and a rule the block + stopped declaring is deactivated rather than destroyed. It needs a live + connection, so it belongs in `db/seeds.rb` or a rake task, not an initializer. + **In-flight approvals are untouched** — they were stamped from the blueprint at + build time and never re-read it. `TrackTemplate` / `TemplateStep` / + `TriggerRule` remain public API and are unchanged; `define_flow` writes exactly + the rows you would have. `ApprovalEngine.flow(name, tenant:)` reads the + template back, for `run_approval!(templates: [...])`. +- `ApprovalEngine::Condition` — the translation layer between a + field/operator/value triple and the JSON Logic AST stored in + `TriggerRule#condition`, shared by the DSL's `when:` sugar and the admin rule + builder. It covers `eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `in` and + `not_in`, ANDs multiple conditions together, and casts values to the types + `exposes_for_approval` declared so a rule can't compare a number against a + string and quietly never match. `Condition.parse` returns `nil` — not an empty + result — for an AST it cannot represent, so **a rule someone hand-wrote is + never silently flattened into something it isn't.** +- A built-in admin UI for templates, their steps, and their trigger rules, + mounted under `/admin` inside the engine — the code behind the README's + standing claim that admins change routing without a deploy. Gated behind + `config.admin_enabled` (**default `false`**, so an existing 1.0 mount stays + read-only across the upgrade), re-checked per request rather than trusted from + boot, and drawn once at boot so it needs a restart. The rule editor is a + zero-JavaScript field/operator/value form whose field list comes from + `exposes_for_approval`, with an automatic fallback to a raw JSON Logic textarea + for any condition the simple form cannot represent. **Turning it on is not + authentication**: it decides whether the write routes exist, not who may reach + them, so the mount still needs your own constraint. The approvals dashboard + itself stays read-only. +- Built-in notifications — six messages (`step_activated`, `step_reminder`, + `step_reassigned`, `changes_requested`, `approval_approved`, + `approval_rejected`) rendered in HTML and text by + `ApprovalEngine::NotificationMailer`, dispatched by `ApprovalEngine::Notifier` + from inside `ProcessOutboxJob` so mail rides the existing transactional outbox: + a flaky SMTP host retries with backoff and never touches the approval. Off + unless `config.notifications_enabled = true`: **upgrading does not start + emailing your users.** Enabling it also needs a From address (`mailer_from`, or + a `parent_mailer` that declares one) and `approval_url_builder`, without which + the mail arrives with nowhere to go; the three approval-level messages stay + silent until `approval_recipients` says who asked. Recipients otherwise resolve + off the actor via `actor_email_method` (`:email` by default), and an actor with + no address is skipped rather than raised on. Views are overridden by dropping + copies into `app/views/approval_engine/notification_mailer/`. Delivery is + at-least-once, as with every outbox event. The `approval_engine.*` + `ActiveSupport::Notifications` remain the escape hatch for hosts that would + rather send their own. +- `ApprovalEngine::ReminderSweepJob` — nudges approvers who have gone quiet for + longer than `config.reminder_after` (nil by default, so scheduling the job + before setting it does nothing). Idempotent via a new `reminded_at` column on + steps, so each step is nudged at most once and running the sweep hourly only + makes the nudge arrive sooner. +- `config.approval_groups` — an optional allowlist of the group names + `define_flow` may route to. `nil`, the default, means no vocabulary is declared + and nothing is checked; set it and a `group:` typo stops the seed instead of + resolving zero actors at build time. + +### Changed + +- `spec.summary` and `spec.description` now lead with what the gem does rather + than how it is built, so the RubyGems snippet reads as a problem instead of a + spec sheet. `documentation_uri` points at the cookbook, `source_code_uri` is + pinned to the repository rather than derived from `homepage`, and + `docs/ARCHITECTURE.md` / `docs/COOKBOOK.md` now ship inside the gem. +- Rewrote the README around the problem it solves: the job in the first line, + screenshots of a real approval above the fold, a single-block 60-second + quickstart built on `define_flow`, an honest "what to do when a boolean flag + stops fitting" instead of a bullet sending most readers away, and an + `Alternatives` section naming the neighbours. `test/docs_test.rb` now fails the + build if the README documents a config key, an `ApprovalEngine` method, a + generator, or an image that does not exist. + +### Upgrading from 1.0 + +Nothing to do. No config change, no behaviour change, nothing to migrate before +the gem will run. Both new surfaces default to off, and leaving them off makes +1.1.0 behave exactly as 1.0.0 did. **Nothing turns itself on because you bumped +a version.** + +There is one new migration, and only the reminder sweep reads the column it +adds, so it is needed when you want reminders and not before: + + bin/rails approval_engine:install:migrations + bin/rails db:migrate + ## [1.0.0] - 2026-06-17 First public release. The API below is stable. @@ -135,4 +245,5 @@ First public release. The API below is stable. - A misconfigured `actor_class` now raises an actionable `BuilderError` naming the setting, instead of a raw `NameError`. +[1.1.0]: https://github.com/Harry-kp/approval_engine/releases/tag/v1.1.0 [1.0.0]: https://github.com/Harry-kp/approval_engine/releases/tag/v1.0.0 diff --git a/README.md b/README.md index afc025a..47d2e8f 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,94 @@ ![Rails](https://img.shields.io/badge/rails-%3E%3D%207.0.8-D30001) ![License: MIT](https://img.shields.io/badge/license-MIT-blue) -Multi-tenant, immutable-ledger human approval flows for Rails. +**A manager approves, then the CFO. Unless it's over $50k — then Legal too.** -Use it when a manager approves an invoice, then a CFO. Or Legal and IT -in parallel. Or "any two of five reviewers." ApprovalEngine supplies the -generic machinery: an append-only ledger, race-safe transitions, runtime -routing rules, and async side-effects. You decide what gets approved, who -approves, and what happens next. +Every app eventually grows an approval step. It starts as an `approved` boolean +and an `approved_by_id`. Then Finance wants a second signature over $10k. Then +Legal and IT have to review the same contract at the same time. Then someone +goes on leave and their queue backs up. Then an auditor asks who approved +invoice #4471 and on whose behalf — and the honest answer is that it is spread +across three callbacks and a `status` column you have already overwritten twice. + +ApprovalEngine is the generic machinery for that, extracted: an append-only +ledger of who decided what, routing rules your admins change without a deploy, +and side-effects that can't roll back an approval. You decide what gets +approved, who approves, and what happens next. + +![The mounted dashboard: six approvals across pending, approved and rejected, with a time-in-step column](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-dashboard.png) + +![One approval in detail: layer 1 approved, Legal and IT both pending at layer 2 under all-must-approve consensus, the CFO waiting at layer 3, and the audit trail below](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-approval.png) + +- **A ledger, not a flag.** `Approval → Track → Step`, append-only. A rejection + or a request for changes appends a new iteration; nothing is overwritten, so + the history survives the question. +- **Rules, not `if`s.** Routing lives in the database as JSON Logic, scoped per + tenant. "Over $10k" becomes "over $25k, unless EMEA" without a deploy. +- **An outbox, not callbacks.** Side-effects run through a transactional outbox + on ActiveJob, so a down payment API can never roll back an approval. + +## 60-second quickstart + +Needs PostgreSQL (the routing engine uses `jsonb`), Rails 7.0.8+, Ruby 3.1+. + +```sh +bundle add approval_engine +bin/rails generate approval_engine:install +bin/rails db:migrate +``` + +Then four small edits, and a $20,000 invoice routes itself to a manager and +then a CFO: + +```ruby +# config/initializers/approval_engine.rb — the generator wrote this; fill in two lines +ApprovalEngine.configure do |config| + config.actor_class = "User" # who approves + config.current_tenant_method = -> { Current.account } # anything with #id +end + +# app/models/user.rb — who is in a group, resolved at runtime against your own models +class User < ApplicationRecord + def self.resolve_approval_group(group_name, target) + where(role: group_name) # `target` is the record being approved + end +end + +# app/models/invoice.rb — arm the model, and declare what a rule may read +class Invoice < ApplicationRecord + has_approvals + + exposes_for_approval do + attribute :amount, type: :decimal + end + + def after_approved + PaymentService.disburse_funds!(self) + end +end + +# db/seeds.rb — the flow itself. Idempotent, so re-running it on every deploy is safe. +account = Account.find_by!(subdomain: "acme") + +ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end + +# Anywhere in your app — a controller, a job, a console. +Current.account = account +invoice = Invoice.create!(amount: 20_000) # over $10k, so it routes itself + +step = ApprovalEngine::Step.actionable_by(current_user).first +step.approve!(by: current_user) # the CFO's step opens; once they approve too, + # `after_approved` fires through the outbox +``` + +Nothing triggered? `invoice.preview_approval(event: "invoice.created")` tells +you what would have happened, before you go any further — see +[Gotchas](#gotchas). ## Is this for you? @@ -26,12 +107,35 @@ Use it when you have: Look elsewhere when: -- You just need a boolean `approved` flag. A column and a method are simpler. +- One person says yes, once, and nobody will ever ask who. A boolean column and + a method is smaller, and smaller is right until it stops fitting — see below + for what to do when it does. - You need a state machine for non-approval domains. Try [AASM](https://github.com/aasm/aasm) or [state_machines](https://github.com/state-machines/state_machines). - You're not on PostgreSQL. The routing engine needs `jsonb` and `gin`. +### When a boolean flag stops fitting + +You will know: a second approver appears, or somebody asks *who* approved it, or +the threshold has to differ per customer. You don't have to give the column up. +It stops being the source of truth and becomes a projection of the ledger, so +every query, view, and scope you already wrote keeps working: + +```ruby +class Invoice < ApplicationRecord + has_approvals + + # The flag you already had. Now it is derived, not decided here. + def after_approved + update_column(:approved, true) + end +end +``` + +Day one, nothing else in your app changes. Day thirty, you add the second layer +and the audit trail is already there. + ## Installation Add this line to your application's **Gemfile**: @@ -50,7 +154,65 @@ rails db:migrate The generator copies migrations and an initializer, and prints next steps. -## Quickstart +## Defining a flow + +A flow is three records: a template, its ordered steps, and the rule that says +which event fires it. You can still write those by hand — the admin UI does +exactly that — but for the flows that live in your codebase, `define_flow` says +the same thing in the shape of the policy it encodes: + +```ruby +ApprovalEngine.define_flow "Vendor contract", tenant: account.id, model: Contract do + on "contract.submitted", when: { value: { gte: 50_000 } } + + step "Manager sign-off", group: "manager" + + parallel(approvals_required: :all) do + step "Legal review", group: "legal" + step "IT review", group: "it" + end + + step "CFO sign-off", group: "cfo", timeout_after: 2.days +end +``` + +Each `step` is its own layer, in the order written. Steps inside a `parallel` +block share a layer and open together, under one consensus policy declared on +the block. Everything a template step takes, `step` takes: `approvals_required` +(`:any`, `:all`, `:majority`, a percentage like `"60%"`, or a count) and +`timeout_after`. + +`on` takes a lifecycle symbol (`:create`, resolved through `model:` into the +conventional event name) or any event name you fire yourself, plus `when:`, +`priority:` and `active:`. The `when:` sugar — `{ amount: { gt: 10_000 } }` — +compiles to the JSON Logic actually stored, using `eq`, `not_eq`, `gt`, `gte`, +`lt`, `lte`, `in` and `not_in`; several keys AND together, and anything more +involved can be passed as raw JSON Logic instead. + +`define_flow` is idempotent, keyed on the tenant and the flow name. Run it from +`db/seeds.rb`, a rake task, or a deploy hook and re-run it as often as you like: +it reconciles the blueprint in place instead of stacking a fourth copy of the +same template. It needs a live database connection, so it does not belong in an +initializer. + +Editing a flow does not disturb work already in flight. An approval is stamped +from the blueprint when it is built and never reads it again — the steps a +manager is looking at right now are the steps that existed when the invoice was +created. New runs pick up the new shape. + +Two smaller seams. `ApprovalEngine.flow(name, tenant:)` hands back the +`TrackTemplate` a definition owns, which is what +`run_approval!(templates: [...])` wants when several flows should run as +parallel tracks of one approval. And `config.approval_groups` is an optional +allowlist of the group names a flow may route to — `nil` by default, meaning +unchecked, so a typo in `group:` stops the seed only once you have declared a +vocabulary. + +Prefer the records? `TrackTemplate` / `TemplateStep` / `TriggerRule` are still +public API and still work exactly as they did in 1.0 — `define_flow` writes the +same rows you would have written. + +## Wiring it into your app Teach your actor class to resolve approval groups. The engine creates one step per returned record. `target` is the record being approved (e.g. the @@ -81,21 +243,8 @@ class Invoice < ApplicationRecord end ``` -Define a template, its ordered steps, and the rule that triggers it. - -```ruby -template = ApprovalEngine::TrackTemplate.create!( - tenant_id: "acme", name: "High-value invoice", status: "active" -) -template.template_steps.create!(name: "Manager", layer: 1, assigned_group: "manager") -template.template_steps.create!(name: "CFO", layer: 2, assigned_group: "cfo") -template.trigger_rules.create!( - tenant_id: "acme", event_name: "invoice.created", - condition: { ">" => [{ "var" => "amount" }, 10_000] } -) -``` - -Trigger a run. +Trigger a run. `has_approvals` auto-routes on create once +`current_tenant_method` is set; anywhere else, fire the event yourself. ```ruby invoice = Invoice.create!(amount: 20_000) @@ -126,10 +275,134 @@ trigger, `preview_approval(...).triggered?` tells you why. Check: - `config.current_tenant_method` is set. Until then, auto-routing on create is a no-op, so pass `tenant_id:` explicitly. -## See it live +`define_flow` is the exception, and deliberately so. It is setup code you run at +deploy, so it raises on a typo instead of failing closed — an unexposed +attribute, an unknown lifecycle, a duplicate step name, and a group outside +`config.approval_groups` all stop the seed with a sentence explaining themselves. + +## Configuration -Run the demo against a clone of this repo, not your own app. It needs -PostgreSQL running. +```ruby +# config/initializers/approval_engine.rb +ApprovalEngine.configure do |config| + config.actor_class = "User" # who approves + config.current_tenant_method = -> { Current.account } # anything with #id + config.outbox_queue = :default # ActiveJob queue for side-effects + config.raise_on_rule_errors = false # fail closed in production + config.approval_groups = nil # nil = any group name is allowed +end +``` + +`current_tenant_method` defaults to `nil`. While it is nil, auto-routing +on create silently no-ops, since the engine cannot scope the rules. +Single-tenant apps can return a constant, e.g. +`-> { Struct.new(:id).new("default") }`. + +No Redis or Sidekiq required. Side-effects run through ActiveJob, so +SolidQueue, Sidekiq, or the async adapter all work. + +The two surfaces added in 1.1 — notifications and the admin UI — have their own +keys, and both are off until you set them. See below. + +## Notifications + +An approval only works if the approver finds out. In 1.0 that was yours to +build: the engine published the events and you wrote the mailer. It still can — +but for the common case, the engine will now send the mail. It is **off by +default**, and upgrading from 1.0 does not turn it on: your `Step` rows are +assigned to real people, and a gem upgrade must not start mailing them. + +```ruby +ApprovalEngine.configure do |config| + config.notifications_enabled = true + config.mailer_from = "approvals@acme.com" + config.approval_url_builder = ->(approval) do + Rails.application.routes.url_helpers.invoice_url(approval.target) + end +end +``` + +Those three are the minimum. Without a From address — either `mailer_from`, or a +`parent_mailer` that already declares `default from:` — Action Mailer has +nothing to hand the SMTP server. Without `approval_url_builder` the mail arrives +with nowhere to go. + +Six messages ship, listed in `config.notification_events`: an approver is told +they have work waiting (`step_activated`), nudged if they go quiet +(`step_reminder`), and told when a step is handed to them (`step_reassigned`); +the requesting side is told when changes are requested (`changes_requested`) and +when the approval is approved or rejected (`approval_approved`, +`approval_rejected`). Drop one to silence it: + +```ruby +config.notification_events -= [ :step_reassigned ] +``` + +The last three go wherever `config.approval_recipients` says — the engine knows +who approves, but only you know who asked, so while that is nil those three stay +silent. The rest resolve off the actor via `config.actor_email_method` +(`:email` by default); an actor with no address is skipped, never raised on. +`config.actor_label_method` and `config.target_label_method` decide how a person +and a record name themselves in an inbox, and fall back to something readable +rather than an object inspection. + +The mails go out through the same transactional outbox as every other +side-effect, so a flaky SMTP host retries with backoff and never touches the +approval. Delivery is at-least-once, which for email means an approver may +occasionally get the same nudge twice — the tradeoff for never getting zero. + +Reminders are a separate, opt-in sweep. Set how long a step may sit unanswered +and schedule the job with whatever recurring mechanism you already run: + +```ruby +config.reminder_after = 2.days.to_i # nil (the default) = reminders off +``` + +```ruby +ApprovalEngine::ReminderSweepJob.perform_later # all tenants +ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) +``` + +Each step is nudged at most once, so running the sweep hourly only makes the +nudge arrive sooner. It never mails the same person about the same step twice. +The stamp that makes that true lives in a column added in 1.1, so an app +upgrading from 1.0 needs `bin/rails approval_engine:install:migrations` and +`bin/rails db:migrate` before scheduling the sweep — nothing else in the engine +reads it. + +Make the mail yours by overriding the views: drop your own copies into +`app/views/approval_engine/notification_mailer/` and your app's view path is +searched before the engine's. Override *both* formats of an action together — +Action Mailer takes an action's templates from the first view path that has any +of them, so a lone `.html.erb` silences the engine's `.text.erb` and leaves you +with a single-part message. To take a message over wholesale, subclass +`ApprovalEngine::NotificationMailer` and point `config.mailer_class` at it, or +point `config.parent_mailer` at your `ApplicationMailer` to inherit your layout +and sender. If you would rather send everything yourself, leave +`notifications_enabled` off and subscribe to the `approval_engine.*` +[notifications](docs/COOKBOOK.md#notify-another-system-without-coupling-to-my-model) +as before. Escalation and what "late" means are still yours: the engine tells +you what happened, not what it should mean. + +## Dashboard + +Mount the engine and you get an ops dashboard: every approval, filterable by +status, drilling into tracks, steps, the full audit trail, and a time-in-step +column so a stuck approval is visible instead of reported. + +```ruby +# config/routes.rb +authenticate :admin_user, ->(u) { u.super_admin? } do + mount ApprovalEngine::Engine => "/approval_engine" +end +``` + +It is read-only and stays that way — its job is to surface stuck, quarantined +and in-flight work without anyone writing SQL, not to act on it. It has no auth +of its own; wrapping the mount is your call and your app's +([recipe](docs/COOKBOOK.md#ui--monitoring)). + +Want to see it without installing anything? Clone this repo and run: ```sh bin/demo @@ -137,7 +410,7 @@ bin/demo # http://localhost:3000/approval_engine ``` -Or explore the API in a console preloaded with sample data. +Or explore the API in a console preloaded with the same data. ```sh bin/console @@ -145,30 +418,39 @@ bin/console >> ApprovalEngine::Step.pending.first.approve!(by: User.find_by(role: "manager")) ``` -The mounted dashboard lists every approval, filters by status, and drills -into tracks, steps, and the full audit trail. It is read-only, with -bundled styling. It has no auth of its own — when you mount it in a real app, -wrap it in a `constraints`/authenticated route ([recipe](docs/COOKBOOK.md#ui--monitoring)). +## Admin UI -## Configuration +The README has claimed since 1.0 that admins change routing rules at runtime, +without a deploy. Since 1.1 there is a UI for it: templates, their steps, and +their trigger rules, editable in the browser under `/admin` inside the mount. +It is **off by default** — 1.0 shipped a read-only dashboard that hosts mounted +behind whatever auth they had, and a gem upgrade must never turn that into a +write surface. ```ruby -# config/initializers/approval_engine.rb ApprovalEngine.configure do |config| - config.actor_class = "User" # who approves - config.current_tenant_method = -> { Current.account } # anything with #id - config.outbox_queue = :default # ActiveJob queue for side-effects - config.raise_on_rule_errors = false # fail closed in production + config.admin_enabled = true end ``` -`current_tenant_method` defaults to `nil`. While it is nil, auto-routing -on create silently no-ops, since the engine cannot scope the rules. -Single-tenant apps can return a constant, e.g. -`-> { Struct.new(:id).new("default") }`. +Routes are drawn once at boot, so this belongs in an initializer and needs a +restart. **Turning it on is not authentication.** It decides whether the write +routes exist at all, not who may reach them — anyone who can reach the mount can +change what routes where, so keep the mount behind your own constraint either +way. -No Redis or Sidekiq required. Side-effects run through ActiveJob, so -SolidQueue, Sidekiq, or the async adapter all work. +![The admin rule editor: a field dropdown showing amount (decimal), an operator dropdown showing is greater than, a value field, and a Simple / Raw JSON Logic toggle](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-rule-builder.png) + +Rules get a form instead of a JSON blob: pick a field, an operator, and a value, +and the engine stores the JSON Logic. The field dropdown is populated from +`exposes_for_approval`, so it offers the names a rule may actually read — an +unexposed variable is a clean non-match, which is the single most common way a +hand-typed rule silently never fires. There is no JavaScript involved. + +A rule too complex for the simple form — an `or`, a nested group, a substring +`in` — opens in a raw JSON Logic textarea instead of being quietly flattened +into something it isn't. That fallback is the point: the form is a convenience +over the storage format, never a lossy replacement for it. ## Core concepts @@ -225,6 +507,28 @@ way. Set `config.raise_on_rule_errors = true` to surface errors loudly. For the full design — the model hierarchy, the consensus/rework model, and why the outbox exists — see **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**. +## Alternatives + +"Which gem" is a real question, so: honest neighbours. + +- **A boolean column.** Genuinely the right answer for one approver and one + yes/no. See [above](#when-a-boolean-flag-stops-fitting) for what to do when it + stops being. +- **[AASM](https://github.com/aasm/aasm) / [state_machines](https://github.com/state-machines/state_machines).** + Better than this gem at modelling *your* domain's states. They don't know what + an approver is, so multi-party consensus, delegation, and the audit trail stay + yours to write. +- **[ringlesoft/laravel-process-approval](https://github.com/ringlesoft/laravel-process-approval).** + The same idea in Laravel, and worth reading if you are comparing across + ecosystems. +- **A workflow or BPM service.** If your approvals are one node in a much larger + orchestrated process, buy that instead of building it on ActiveRecord. + +This gem is young, and worth saying so plainly: 1.0 shipped in June 2026 and was +never announced, so real-world usage is close to none. The API is stable and +every documented recipe is exercised by the test suite, but it has not met your +edge cases yet. + ## Development ApprovalEngine needs Ruby 3.1+ and PostgreSQL. diff --git a/RELEASING.md b/RELEASING.md index d1e6949..376483d 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -20,8 +20,15 @@ Configure this repo as a **trusted publisher** for the gem (no API key needed): ## Cutting a release 1. Update `lib/approval_engine/version.rb`. -2. Move the `CHANGELOG.md` `[Unreleased]` notes under a new - `## [x.y.z] - YYYY-MM-DD` heading. +2. Add a `## [x.y.z] - YYYY-MM-DD` section to `CHANGELOG.md`, directly above the + previous release, plus a matching `[x.y.z]: .../releases/tag/vX.Y.Z` link + reference at the bottom of the file (`test/docs_test.rb` fails the build if a + version heading has no link reference). This file keeps no `[Unreleased]` + section: notes are written under their version when the release is cut. + + The date must be the day you push the tag. `release.yml` fires on `v*` and + publishes within seconds, so a stale date is public before you notice and can + only be corrected by another commit. 3. Commit, then tag and push: ```sh diff --git a/approval_engine.gemspec b/approval_engine.gemspec index 570c764..f12a079 100644 --- a/approval_engine.gemspec +++ b/approval_engine.gemspec @@ -6,25 +6,48 @@ Gem::Specification.new do |spec| spec.authors = [ "Harry-kp" ] spec.email = [ "chaudharyharshit9@gmail.com" ] spec.homepage = "https://github.com/Harry-kp/approval_engine" - spec.summary = "Multi-tenant, immutable-ledger approval flows for Rails." + # `summary` is the snippet on rubygems.org search and in `gem search -d`, so it + # leads with the job rather than with implementation properties nobody types + # into a search box. `description` is indexed too, and is where the long-tail + # phrasing belongs. + spec.summary = "Multi-step approval workflows for Rails: an append-only ledger, runtime routing rules, and a full audit trail." spec.description = <<~DESC.strip - A mountable Rails engine for human-in-the-loop approval flows: an - append-only ledger, dynamic JSON-Logic routing, consensus (any/all/majority), - delegation, and a transactional outbox — without forcing Redis or Sidekiq. + ApprovalEngine is a mountable Rails engine for human-in-the-loop approval + processes — a manager then the CFO, Legal and IT in parallel, "any two of + five reviewers". It gives you an append-only approval ledger, tenant-scoped + routing rules stored as JSON Logic so admins can change them without a + deploy, a declarative define_flow DSL for the flows that live in your + codebase, consensus per layer (any/all/majority/percentage/count), + time-bound delegation with intended-vs-actual actor auditing, per-step + timeouts that never auto-approve, optional built-in notifications, and a + transactional outbox so a failing external API can never roll back an + approval. PostgreSQL and ActiveJob; no Redis or Sidekiq required. DESC spec.license = "MIT" spec.required_ruby_version = ">= 3.1.0" - spec.metadata["source_code_uri"] = spec.homepage + # `source_code_uri` is pinned to the repository rather than derived from + # `homepage`: moving the homepage some day must not silently repoint the + # "Source code" link on rubygems.org at a marketing page. There is no + # `homepage_uri` here on purpose — it would duplicate `spec.homepage`, which + # rubygems.org already renders, and `gem build` warns about the duplicate. + spec.metadata["source_code_uri"] = "https://github.com/Harry-kp/approval_engine" + spec.metadata["documentation_uri"] = "https://github.com/Harry-kp/approval_engine/blob/main/docs/COOKBOOK.md" spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md" spec.metadata["bug_tracker_uri"] = "#{spec.homepage}/issues" spec.metadata["rubygems_mfa_required"] = "true" # Ship only runtime files (no Rakefile/test harness/dev tooling) and only - # files, never directory entries — keep the published gem minimal. + # files, never directory entries — keep the published gem minimal. The two + # docs ride along because `bundle open approval_engine` should answer a + # question rather than send you back to a browser; they are named one by one + # so a future docs/ subdirectory can never be packaged by accident. spec.files = Dir.chdir(__dir__) do - Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "README.md", "CHANGELOG.md"].select { |f| File.file?(f) } + Dir[ + "{app,config,db,lib}/**/*", "MIT-LICENSE", "README.md", "CHANGELOG.md", + "docs/ARCHITECTURE.md", "docs/COOKBOOK.md" + ].select { |f| File.file?(f) } end spec.add_dependency "rails", ">= 7.0.8", "< 9.0" diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 4dd7d9d..cf4d4dc 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,6 +1,6 @@ # Architecture & Engineering Document: `approval_engine` -**Enterprise-Grade Approval Orchestration for Ruby on Rails** +**Why the engine is shaped the way it is.** > **This is the design rationale, not a usage guide.** For how to install and > use the gem, see the [README](../README.md) and [Cookbook](COOKBOOK.md), which @@ -10,7 +10,7 @@ ## 1. Introduction & Philosophy -`approval_engine` is a Ruby on Rails engine designed specifically for B2B SaaS platforms. It solves the hardest problem in enterprise software—concurrent, multi-tenant state machines and dynamic approval routing—without sacrificing the developer happiness of "The Rails Way". +`approval_engine` is a Rails engine for multi-step human approvals. The problems it takes seriously are the ones that make people rewrite this by hand every few years: concurrent transitions that must never double-approve, routing rules that change without a deploy, and a record of who decided what that survives the decision being revised. **The Philosophy:** Be an absolute dictator about database integrity (immutable ledgers, pessimistic locking), but rely entirely on Rails conventions (Rich Models, ActiveJob, Duck Typing, Hotwire Generators) for the developer experience. @@ -25,6 +25,10 @@ * **Delegation of Authority (DoA):** Allow time-bound "Proxy" approvals (e.g., User A acts on behalf of User B while on leave). * **Anti-Corruption Macro:** Provide a class-level DSL (`exposes_for_approval`) to explicitly whitelist model attributes and relationships safe for the JSON Rules Engine. * **Asynchronous Side-Effects:** Guarantee that external API failures or slow mailers do not roll back the approval database transaction via the Transactional Outbox pattern. +* **Declarative Flow Definition:** Let a flow — its template, its ordered steps, and the rules that route to it — be written as one idempotent block (`ApprovalEngine.define_flow`) that reconciles the same rows on every deploy instead of stacking duplicates. +* **A Shared Authoring Vocabulary:** Provide one field/operator/value abstraction (`ApprovalEngine::Condition`) that renders to JSON Logic and reads back from it, so a rule written in a seed file and a rule written in a browser form are the same rule. +* **Runtime Rule Editing:** Provide an opt-in admin surface where a tenant's templates, steps, and routing rules are edited in the browser, with no JavaScript and no deploy — the claim the README makes, made true. +* **Approver Notification:** Ship the approver-facing half — mail on activation, reassignment, rework and outcome, plus an idempotent reminder sweep for approvers who have gone quiet — as an opt-in layer, never as an upgrade side-effect. --- @@ -34,6 +38,7 @@ * **Race-Condition Immunity:** Utilize database-level pessimistic locking (`lock!`) during state transitions to prevent double-approvals. * **Cryptographic-Style Auditability:** Maintain an append-only `AuditLogs` table tracking `intended_actor` vs. `actual_actor` for strict compliance. * **Safe Failures (Fail Closed):** A *missing* payload key is a clean non-match (JSON Logic treats it as false), so the approval simply doesn't start. Only a *malformed* rule (e.g. an unknown operator) quarantines the approval into a "System Failure" state, rather than crashing the web worker. +* **Silent Upgrades:** A new surface that can write, mail, or otherwise act on someone else's users ships switched off. `bundle update approval_engine` must never change observable behaviour on its own — see ADR 9 and ADR 10. * **Developer Ergonomics (Omakase):** No heavy Service Objects. Use Rich ActiveRecord models, bang methods, and conventional callbacks. --- @@ -64,10 +69,79 @@ * *Rationale:* Maximizes developer happiness by allowing standard Rails error handling (`rescue ActiveRecord::RecordInvalid`), scopes, and validations. +* **ADR 5: `Condition` as the Authoring Seam** +* *Context:* JSON Logic is the right format to *store* a rule in and the wrong format to *write* one in. Nobody should have to hand-type `{ ">" => [{ "var" => "amount" }, 10_000] }` into a form field or a seed file. +* *Decision:* One class — `ApprovalEngine::Condition` — renders a field/operator/value triple down to JSON Logic and reads it back up. Both authoring paths go through it: the `when:` sugar in `define_flow` and the admin rule builder. It reports `nil` from `.parse` for any AST it cannot represent. +* *Rationale:* One vocabulary (`eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `in`, `not_in`, ANDed) means a rule written in `db/seeds.rb` and the same rule written in the browser are the same rule, with no second dialect to keep in sync. The honest `nil` is what lets the UI fall back to a raw textarea rather than silently rewriting a hand-written `or`, or a substring `in`, into something with different semantics. Values are cast against the declared `exposes_for_approval` type on the way in, because `amount > "10000"` compares a number against a string and quietly never matches — a failure mode with no error message anywhere. + + +* **ADR 6: `define_flow` Reconciles, It Never Inserts** +* *Context:* A flow that lives in the codebase has to survive being re-run on every deploy, from `db/seeds.rb`, by two deploys at once. +* *Decision:* A flow is keyed on `(tenant_id, name)` and reconciled under a per-flow Postgres advisory lock. Steps are matched **by name** and updated in place; a step no longer declared is destroyed. Rules are matched by `(event_name, priority)` and updated in place; a rule no longer declared is **deactivated, never destroyed**. A block that declares no `on` at all leaves existing rules alone. +* *Rationale:* The block is a *desired state*, not a migration, so re-running it with nothing changed must write nothing. Matching steps by name (rather than position) keeps the ids an admin UI links to. Rules are deactivated because an `Approval` records the `TriggerRule` that routed it as provenance on a `nullify` foreign key — destroying a rule would not error, it would quietly erase "which rule started this?" from every approval it ever spawned, and deactivating is what dropping an `on` actually means. The asymmetry with steps is deliberate: a template with no steps is always a bug, but a flow whose steps live in code and whose routing an admin owns in the UI is a legitimate shape. + + +* **ADR 7: The Ledger Copies the Blueprint, It Does Not Reference It** +* *Context:* If a `Step` held a foreign key to the `TemplateStep` it came from, editing a template would retroactively change what an approver is looking at, and deleting one would strand a running approval. +* *Decision:* `ApprovalBuilder` copies `name`, `layer`, `approvals_required` and `timeout_after` onto each `Step` row at build time, and resolves `assigned_group` into a concrete `assigned_actor` per step. `IterationBuilder` clones a rework iteration from the previous iteration's *ledger* rows, never from the template. No ledger row holds a foreign key to a blueprint row. +* *Rationale:* An approval is a historical fact and has to read the same in a year as it did on the day. This is also what makes ADR 6 possible: because nothing outside a template points at its steps, reconciliation can rewrite blueprints freely — no template versioning, no soft deletes, no "which version was this built from?" column, and no lock taken against running work. See [§5](#5-the-blueprintledger-boundary) for the full consequences, including the honest cost. + + +* **ADR 8: Notifications Ride the Outbox** +* *Context:* An approval nobody hears about is not a workflow, so 1.1 adds a mailer. Mail is the least reliable side-effect in the system and must not be able to disturb the most important one. +* *Decision:* `ApprovalEngine::Notifier` is dispatched from inside `ProcessOutboxJob` — never from a model callback — and it **enqueues** mail (`deliver_later`) rather than delivering it. A notification that raises is logged and swallowed. +* *Rationale:* Building the message inside the relay means mail is only ever built from state that has already committed. Enqueuing rather than delivering means a dead SMTP server retries the *mail* and never the outbox event — a retried event would re-run the host's callbacks alongside it, turning a mailer problem into a double-disbursed invoice. Swallowing follows from the same premise: built-in mail is a courtesy layered on top of the delivery contract, not part of it, so a missing template or an unreachable actor must never fail the event. The cost, stated where adopters read it rather than in a footnote: delivery is at-least-once, so an approver may occasionally receive the same nudge twice. + + +* **ADR 9: Notifications Are Off By Default** +* *Context:* 1.1 adds a mailer to a gem that shipped without one. Every install that upgrades already has `Step` rows assigned to real employees and customers, and their addresses are already reachable through `config.actor_class`. +* *Decision:* `config.notifications_enabled` defaults to `false` and nothing beneath it has any effect. Enabling it takes three deliberate settings — the switch, a From address (`mailer_from`, or a `parent_mailer` that already declares `default from:`), and `approval_url_builder`. The three approval-level messages additionally need `approval_recipients`. +* *Rationale:* The blast radius of getting this wrong is not a broken page; it is unsolicited mail to someone else's users, sent by a dependency they bumped a minor version of. A feature that can only be discovered by reading the changelog is a fair price for that. The other two settings are gates for the same reason at a smaller scale: without a sender there is nothing to hand the SMTP server, and without a URL the mail arrives with nowhere to go. `approval_recipients` has no safe default at all — the engine knows who *approves*, and only the host knows who *asked*. `notification_events` is the second switch: a host can keep the layer on and mute one message without writing a mailer or forking a view. + + +* **ADR 10: The Admin Is Off By Default** +* *Context:* 1.0 shipped a read-only ops dashboard, and hosts mounted it behind whatever authentication they already had — a `constraints` block, a Devise `authenticate`, an IP allowlist, a VPN. 1.1 adds template, step and rule CRUD to that same mount. +* *Decision:* `config.admin_enabled` defaults to `false`. The write routes are not drawn while it is false, and every admin controller re-checks the flag on each request rather than trusting boot time. +* *Rationale:* Whatever a host judged acceptable for a read surface, they did not judge it for a write surface, and the two are different threat models: reading exposes what happened, writing changes what routes where, for every future approval, silently. A gem upgrade must never make that call on someone's behalf. The per-request re-check exists because routes are drawn once at boot and a host may point their own routes at these controllers. **Turning the flag on is not authentication** — the engine ships none — so the mount stays wrapped in the host's own constraint either way. The admin also needs a full-stack host (sessions for CSRF, and flash), so it is unavailable under `config.api_only`. + + + + +--- + +## 5. The Blueprint/Ledger Boundary + +Every table in the engine sits on one side of a line, and the line is the reason +a flow can be rewritten at any time without anyone auditing a paused deploy. + +| Side | Tables | Nature | +| --- | --- | --- | +| **Blueprint** | `TrackTemplate`, `TemplateStep`, `TriggerRule` | Mutable configuration. Says what *should* happen. Owned by a `define_flow` block, or by an admin in the UI. | +| **Ledger** | `Approval`, `Track`, `Step`, `AuditLog`, `OutboxEvent` | Append-only history. Says what *did* happen. Owned by nobody; written only by transitions. | + +The blueprint is read exactly once per approval, at build time, and never again. +What crosses the line then: + +* `TemplateStep#name`, `#layer`, `#approvals_required` and `#timeout_after` are **copied** onto each `Step` row. +* `TemplateStep#assigned_group` is **resolved** — handed to the host's `resolve_approval_group(group_name, target)` and expanded into one `Step` per actor it returns, with a concrete `assigned_actor`. +* `TrackTemplate#name` is copied onto the `Track`, and `#tenant_id` onto every ledger row the build creates. +* The `TriggerRule` that matched is recorded on the `Approval` as provenance, on a `nullify` foreign key — the one deliberate pointer back across the line, and it is allowed to become `NULL` without taking anything with it. + +What does not cross: no ledger row holds a foreign key to a `TemplateStep`. A +rework iteration is cloned by `IterationBuilder` from the previous iteration's +`Step` rows, so even the second attempt reads the ledger rather than the +blueprint. + +Four consequences follow, and they are the reason to write this down: + +1. **Redefining a flow cannot disturb an approval in flight.** Re-run `define_flow` mid-morning with a step removed and a threshold moved, and every approval already running finishes with the steps it started with. That is what makes ADR 6's reconciliation safe to put in `db/seeds.rb` on every deploy. +2. **Rework replays the ledger, not the template.** Requesting changes on an approval built yesterday appends an iteration containing the step you deleted from the flow this morning. That is correct: the approver is finishing the process they were shown. +3. **Reconciliation stays cheap.** Because nothing outside the template points at its steps, there is no template versioning scheme, no soft-delete tombstone, and no "which blueprint version was this built from?" column to keep honest. +4. **The cost, honestly:** a fix to a blueprint does not reach running approvals. If a template step named the wrong group, every approval already built carries the wrong assignee, and the remedy is `step.reassign!` on the ledger — not an edit to the template. The engine prefers this to the alternative, which is an audit trail that changes shape after the fact. --- -## 5. Use Cases & Solutions +## 6. Use Cases & Solutions ### The "I Want To" User Stories @@ -136,13 +210,29 @@ 17. **Admin Monitoring:** "As a Support Tech, I want to see a dashboard of stuck approvals without writing custom queries." -* *Solution:* Mountable Rails Engine provides a pre-built Rack admin dashboard. +* *Solution:* The mountable engine provides a read-only ops dashboard — every approval, filterable by status, drilling into tracks, steps, the audit trail, and a time-in-step column. It has no authentication of its own; the host wraps the mount. + + +18. **The Flow as One Block:** "As a Rails Dev, I don't want four `create!` calls and a hand-written AST to say 'manager, then CFO, over $10k'." +* *Solution:* `ApprovalEngine.define_flow` writes the template, its ordered steps and its rules in one block, and reconciles them on every re-run (ADR 6). It writes ordinary rows, so nothing downstream can tell a defined flow from a hand-built one. + + +19. **Runtime Rule Editing:** "As a SaaS Admin, I want to move the threshold from $10k to $25k myself, today." +* *Solution:* The opt-in admin (`config.admin_enabled`, ADR 10) offers a field/operator/value builder over `Condition` (ADR 5), with the field list drawn from `exposes_for_approval` and a raw JSON Logic fallback for anything the simple form cannot represent. + + +20. **Telling the Approver:** "As a Submitter, I want the manager to actually find out there is something waiting on them." +* *Solution:* Six built-in messages dispatched by `Notifier` from inside the outbox relay (ADR 8), off until the host enables them (ADR 9). Views are overridden by dropping files into the host's own `app/views/approval_engine/notification_mailer/`. + + +21. **The Quiet Approver:** "As an Ops lead, I want a nudge to go out after two days — once, not every hour." +* *Solution:* `ReminderSweepJob` / `Step.sweep_reminders!` over the `remindable` scope, stamping `reminded_at` so a step is nudged at most once. A nudge is not a verdict: **ApprovalEngine never auto-approves.** --- -## 6. The End Picture: Installation & Usage +## 7. The End Picture: Installation & Usage **1. Installation** @@ -157,8 +247,16 @@ rails db:migrate ```ruby ApprovalEngine.configure do |config| - config.outbox_queue = :high_priority + config.outbox_queue = :high_priority config.current_tenant_method = -> { Current.account } + + # Both 1.1 surfaces are off until asked for — see ADR 9 and ADR 10. + config.notifications_enabled = true + config.mailer_from = "approvals@acme.com" + config.approval_url_builder = ->(approval) { invoice_url(approval.target) } + config.reminder_after = 2.days.to_i + + config.admin_enabled = true # routes are drawn at boot; restart to apply end ``` @@ -187,7 +285,28 @@ end ``` -**4. Controller Execution (Rich Models)** +**4. Flow Definition (`db/seeds.rb`)** + +```ruby +ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + + parallel(approvals_required: :all) do + step "Legal review", group: "legal" + step "IT review", group: "it" + end + + step "CFO sign-off", group: "cfo", timeout_after: 2.days +end + +``` + +Idempotent, so it belongs on the deploy path (ADR 6). It needs a live +connection, so it does not belong in an initializer. + +**5. Controller Execution (Rich Models)** ```ruby class ApprovalsController < ApplicationController @@ -210,7 +329,7 @@ end ``` -**5. System Admin UI** +**6. Mounting the Dashboard (and, optionally, the Admin)** ```ruby # config/routes.rb @@ -220,4 +339,9 @@ Rails.application.routes.draw do end end -``` \ No newline at end of file +``` + +The mount is read-only until `config.admin_enabled` is set, at which point the +template and rule editor appears at `/admin` beneath it. The constraint above is +the host's, not the engine's, and it is required either way: the flag decides +whether the write routes exist, never who may reach them (ADR 10). \ No newline at end of file diff --git a/docs/COOKBOOK.md b/docs/COOKBOOK.md index 95da5f9..896aa49 100644 --- a/docs/COOKBOOK.md +++ b/docs/COOKBOOK.md @@ -13,7 +13,9 @@ Assumes you've armed a model and configured an actor class — see the - [Consensus](#consensus) - [Parallel review](#parallel-review) - [Delegation](#delegation) +- [Withdrawing & escalating](#withdrawing--escalating) - [Side-effects & chaining](#side-effects--chaining) +- [Notifications](#notifications) - [Integrating with your model's status](#integrating-with-your-models-status) - [Multi-tenancy](#multi-tenancy) - [Safety](#safety) @@ -24,6 +26,123 @@ Assumes you've armed a model and configured an actor class — see the ## Routing & templates +### "One flow shouldn't take four `create!` calls" (defining a flow in code) + +`ApprovalEngine.define_flow` writes the template, its ordered steps, and the +rules that route to it in one block: + +```ruby +# db/seeds.rb +ApprovalEngine.define_flow "High-value invoice", tenant: "acme", model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end +``` + +Each `step` is the next layer down, so that reads "Manager, then CFO". `on` +takes a lifecycle symbol — resolved through `model:` into `"invoice.created"`, +so the rule and the engine read from one source — or any event-name string you +fire yourself, and it accepts `priority:` and `active:` as well as `when:`. +`when:` is sugar over JSON Logic: `{ amount: { gt: 10_000 } }`, +`{ department: "IT" }` for equality, `{ region: { in: %w[EU UK] } }` for a set. +Several keys AND together, and raw JSON Logic passes straight through for +anything the sugar can't say (an `or`, arithmetic). + +Same-layer review is a `parallel` block. Consensus is declared on the block +rather than the steps inside it, because a layer carries one policy for every +step in it — and it defaults to `:all`, since "Legal and IT review at the same +time" means both: + +```ruby +ApprovalEngine.define_flow "Major capital spend", tenant: "acme", model: Invoice do + on :create, when: { amount: { gt: 100_000 } }, priority: 10 + + step "Manager sign-off", group: "manager" + parallel(approvals_required: :all) do + step "Legal review", group: "legal" + step "IT review", group: "it" + end + step "CFO sign-off", group: "cfo", timeout_after: 2.days +end +``` + +A plain `step` also takes `approvals_required:` and `timeout_after:`; a +flow-wide `define_flow(..., timeout_after:)` sets the default for every step +that doesn't name its own. + +It writes ordinary `TrackTemplate` / `TemplateStep` / `TriggerRule` rows — +nothing downstream can tell a defined flow from a hand-built one, and the +[longhand below](#i-want-invoices-over-10k-to-need-extra-approval-conditional-routing) +is the same thing spelled out. `define_flow` returns the template, and +`ApprovalEngine.flow(name, tenant:)` looks one up later, which is how a defined +flow reaches `run_approval!(templates: [...])`: + +```ruby +contract.run_approval!(templates: [ ApprovalEngine.flow("Legal", tenant: "acme"), + ApprovalEngine.flow("IT", tenant: "acme") ]) +``` + +This is setup code, so it fails loudly and early — the opposite of runtime rule +evaluation, which deliberately fails closed and silent. A rule that reads an +attribute the model doesn't expose, a consensus spec that isn't one, two steps +with the same name, a group that isn't in `config.approval_groups`, a +non-positive `timeout_after`: each stops the seed with a sentence explaining +itself, instead of resolving into a flow that silently never fires. + +> **Put it in `db/seeds.rb`, not an initializer.** It opens a transaction and +> takes an advisory lock, so it needs a live database connection — +> `rails db:create` and `assets:precompile` don't have one. + +> **Never hand it user input.** `when:` accepts raw JSON Logic and stores it +> verbatim. The vetted path for rules an admin authors is +> [the rule editor](#an-admin-should-change-the-10k-threshold-without-a-deploy-the-rule-editor), +> which is constrained on purpose. + +One flow is one template is one track. Scatter-gather *across* tracks can't be +expressed in a block — a trigger rule structurally routes to exactly one +template — so that stays `run_approval!(templates: [...])`, as above. + +Covered by [`test/services/approval_engine/flow_definition_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/services/approval_engine/flow_definition_test.rb). + +### "My seeds run on every deploy — won't that duplicate the flow?" (reconciling a definition) + +No. A flow is keyed on `(tenant, name)`, and `define_flow` reconciles what it +finds rather than inserting: the block is the desired state, and re-running it +with nothing changed changes nothing. What reconciles, exactly: + +| Declaration | On a re-run | +| --- | --- | +| The template | Found by `(tenant, name)`; its `status` is re-asserted, so a flow an admin archived comes back `active` | +| A step | Matched **by name** and updated in place, so the ids an admin UI links to survive | +| A renamed step | Reads as a remove plus an add — the name is the identity | +| A step you stopped declaring | Destroyed | +| A rule | Matched by `(event_name, priority)` and updated in place | +| A rule you stopped declaring | **Deactivated, never destroyed** — an approval keeps its `trigger_rule` as provenance, so deleting it would erase "which rule started this?" from every approval it ever spawned | +| A block with no `on` at all | Leaves existing rules alone, so routing can stay the admin's | + +Two deploys seeding at once take an advisory lock scoped to that one flow, so +they can't race into two templates with the same name. If a tenant somehow +already holds two templates with the name, `define_flow` refuses rather than +guessing which one it owns. + +**An approval already in flight is untouched by any of it.** The ledger holds +copies, not references: `ApprovalBuilder` stamps each template step's name, +layer, consensus and timeout *onto* the `Step` rows when it builds an approval, +and a rework iteration is cloned from those ledger rows rather than from the +template. A running approval therefore holds no live reference to anything a +redefinition rewrites, and finishes with the steps it started with — including +a step you deleted from the flow this morning. + +The flip side: code and the UI can't half-own one flow, because the next run of +the block re-asserts everything it declares. Pick an owner per flow. A block +with no `on` is the useful middle — steps in code, routing in the admin. + +Covered by [`test/services/approval_engine/flow_definition_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/services/approval_engine/flow_definition_test.rb) +("re-running the same flow changes nothing", "rewriting a flow leaves an +approval already in flight untouched"). + ### "I want invoices over $10k to need extra approval" (conditional routing) ```ruby @@ -484,9 +603,10 @@ end ``` Other hooks: `after_rejected(reason)`, `after_cancelled(reason)`, -`after_step_approved(step)`, `after_step_rejected(step)`, -`after_step_changes_requested(step)`, `after_step_expired(step)`, -`after_step_reassigned(step)`, `on_step_timeout(step)`, `on_quarantined(reason)`. +`after_step_activated(step)`, `after_step_approved(step)`, +`after_step_rejected(step)`, `after_step_changes_requested(step)`, +`after_step_expired(step)`, `after_step_reassigned(step)`, `on_step_timeout(step)`, +`on_step_reminder(step)`, `on_quarantined(reason)`. Callbacks fire through the outbox: **at-least-once and unordered**. Make them idempotent, and don't assume one fires before another (e.g. `after_step_approved` @@ -513,11 +633,13 @@ The full channel list: | `approval_engine.approval.rejected` | an approval is rejected | | `approval_engine.approval.cancelled` | an approval is withdrawn via `cancel!` | | `approval_engine.approval.quarantined` | a malformed rule quarantined the approval | +| `approval_engine.step.activated` | a step became actionable | | `approval_engine.step.approved` | a step is approved | | `approval_engine.step.rejected` | a step is rejected | | `approval_engine.step.changes_requested` | a step is sent back for rework | | `approval_engine.step.expired` | a step is expired (timed-out denial) | | `approval_engine.step.timed_out` | a step's SLA elapsed (signal only) | +| `approval_engine.step.reminded` | the reminder sweep nudged a quiet step | | `approval_engine.step.reassigned` | a step was handed to another actor | ### "If Stripe is down, the approve click shouldn't 500" (async safety) @@ -537,6 +659,182 @@ never bubbling into the approval. --- +## Notifications + +The engine ships six emails and sends none of them until you say so. Everything +in this section is inert while `config.notifications_enabled` is false, which is +the default: upgrading the gem must never start mailing an adopter's real users. + +### "Tell the approver something is waiting on them" (turning notifications on) + +Three settings, and all three matter: + +```ruby +# config/initializers/approval_engine.rb +ApprovalEngine.configure do |config| + config.notifications_enabled = true # 1. the master switch + config.mailer_from = "approvals@acme.com" # 2. a sender + config.approval_url_builder = lambda do |approval| # 3. somewhere to go + Rails.application.routes.url_helpers.invoice_url(approval.target) + end +end +``` + +1. **`notifications_enabled`** — nothing below it has any effect while this is + false. +2. **A From address** — either `mailer_from`, or point `config.parent_mailer` at + your `ApplicationMailer` and inherit its `default from:` (and its layout, + which is usually the real reason to). Without one, Action Mailer has nothing + to hand the SMTP server, and the failure surfaces deep inside the delivery + job, far from the setting that caused it. +3. **`approval_url_builder`** — the engine cannot know your routes. Without it + the mail still sends and arrives with nowhere to go. + +Who receives what: + +| Notification | Fires when | Goes to | +| --- | --- | --- | +| `step_activated` | a step becomes actionable | the assigned actor | +| `step_reminder` | the sweep nudges a quiet step | the assigned actor | +| `step_reassigned` | a step is handed to someone else | the new assignee | +| `changes_requested` | a step is sent back for rework | `config.approval_recipients` | +| `approval_approved` | an approval gathers to approved | `config.approval_recipients` | +| `approval_rejected` | an approval is rejected | `config.approval_recipients` | + +The engine knows who approves; only you know who asked. So the bottom three stay +silent — configured, enabled, and silent — until you say where they go: + +```ruby +config.approval_recipients = ->(approval) { [ approval.target.submitter ] } +``` + +Addresses are read off an actor with `config.actor_email_method` (`:email` by +default). An actor who has no address, or doesn't respond to the method at all, +is skipped rather than raised on — and if that leaves no recipient, the +notification is logged and dropped. A missing email is a configuration problem, +not a reason to fail an approval. + +Mail rides the outbox you already have. `ApprovalEngine::Notifier` builds the +message inside `ProcessOutboxJob` — so only ever from state that has already +committed — and `deliver_later`s it, so a dead SMTP server retries the *mail* +and never the outbox event (which would re-run your `after_approved` alongside +it). A notification that raises is logged and dropped; it can never fail an +approval. The cost is the outbox's own contract: delivery is at-least-once, so +an approver may occasionally get the same message twice. + +Covered by [`test/services/approval_engine/notifier_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/services/approval_engine/notifier_test.rb) +and [`test/mailers/approval_engine/notification_mailer_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/mailers/approval_engine/notification_mailer_test.rb). + +### "Nudge an approver who has gone quiet" (reminders) + +Set how long a step may sit unanswered, then run the sweep on whatever recurring +mechanism you already have (solid_queue recurring tasks, sidekiq-cron, the +`whenever` gem, a cron job hitting a rake task): + +```ruby +config.reminder_after = 2.days.to_i # nil, the default, means reminders off +``` + +```ruby +ApprovalEngine::ReminderSweepJob.perform_later # all tenants +ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) +ApprovalEngine::Step.sweep_reminders! # or synchronously +``` + +A nudge is not a verdict. Nothing about the step's authority changes and the +only write is the `reminded_at` stamp that stops it being nudged again, so each +step is reminded **at most once**: sweeping hourly makes the nudge arrive +sooner, never twice. Requesting changes builds a fresh iteration of steps, which +re-arms it. The sweep is a no-op while `reminder_after` is nil, so scheduling it +before you configure the threshold is harmless, and one step raising is logged +and skipped rather than starving the batch. + +`reminded_at` arrives in the 1.1 migration, so an app that upgrades the gem and +forgets to migrate loses reminders (and nothing else — every other path stays +away from the column): + +```sh +rails approval_engine:install:migrations +rails db:migrate +``` + +Reminders do not require the mailer. The sweep emits `step.reminded` through the +outbox like any other event, so with notifications off you can nudge over Slack, +push, or anything else from the host callback: + +```ruby +class Invoice < ApplicationRecord + has_approvals + + def on_step_reminder(step) + Slack.dm(step.assigned_actor, "Still waiting on you: #{self}") + end +end +``` + +What counts as "late", and what to do about it beyond a nudge, stays yours — +[timeouts](#approvers-should-have-a-deadline-timeouts) are the harder-edged +tool, and they never decide either. + +Covered by [`test/models/approval_engine/reminder_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/models/approval_engine/reminder_test.rb). + +### "The mail should sound like us" (overriding the templates) + +Drop your own copy at +`app/views/approval_engine/notification_mailer/.html.erb`; your app's +view path is searched before the engine's. There is no generator for this, and +there doesn't need to be — the file path is the whole API. + +> **Override both formats of an action together.** Action Mailer takes an +> action's templates from the first view path that has *any* of them, so a lone +> `.html.erb` in your app silences the engine's `.text.erb` and leaves you with +> a single-part message. + +The views assign nothing but plain Strings and Integers — no view ever calls a +method on one of your records, which is what makes them usable by any app +whatever its models are called. What you have to work with: `@target_label`, +`@event_name`, `@url` everywhere; `@step_name`, `@track_name`, `@actor_label` on +the four step messages; plus `@waiting_hours` (`step_reminder`), `@comment` +(`changes_requested`) and `@reason` (`approval_rejected`). + +Subjects come from the locale file, so rewording one is a key in your own +`en.yml` rather than a fork: + +```yaml +en: + approval_engine: + notification_mailer: + step_activated: + subject: "%{target} needs your sign-off" +``` + +To take one message over entirely, subclass and point the config at it. The +other five keep the engine's implementation: + +```ruby +class ApprovalMailer < ApprovalEngine::NotificationMailer + def step_activated(step, to:) + mail(to: to, subject: "Sign off on #{step.name}") + end +end + +config.mailer_class = "ApprovalMailer" +``` + +### "Send everything except reassignments" (silencing one notification) + +```ruby +config.notification_events -= [ :step_reassigned ] +``` + +Two gates are checked before anything is built: the master switch, which keeps +an upgrade silent, and this list, which mutes one message while the layer stays +on. Removing an event here is not the same as removing the underlying signal — +the outbox event, the `approval_engine.*` instrumentation, and your host +callbacks all still fire. + +--- + ## Integrating with your model's status ### "My model already has a status column — how does approval fit in?" @@ -669,9 +967,10 @@ end These aren't overrides — you simply *define* them and the engine calls them (see [Side-effects & chaining](#side-effects--chaining)): `after_approved`, `after_rejected(reason)`, `after_cancelled(reason)`, -`on_quarantined(reason)`, `after_step_approved(step)`, -`after_step_rejected(step)`, `after_step_changes_requested(step)`, -`after_step_expired(step)`, `after_step_reassigned(step)`, `on_step_timeout(step)`. +`on_quarantined(reason)`, `after_step_activated(step)`, +`after_step_approved(step)`, `after_step_rejected(step)`, +`after_step_changes_requested(step)`, `after_step_expired(step)`, +`after_step_reassigned(step)`, `on_step_timeout(step)`, `on_step_reminder(step)`. --- @@ -723,6 +1022,68 @@ end The dashboard's detail page also shows a **time-in-step** column per step. +### "An admin should change the $10k threshold without a deploy" (the rule editor) + +The mounted dashboard is read-only. The write surface is a separate, opt-in +admin at `/admin` inside the mount, and it is off by default: + +```ruby +# config/initializers/approval_engine.rb +ApprovalEngine.configure { |c| c.admin_enabled = true } +``` + +Routes are drawn once at boot, so that belongs in an initializer and needs a +restart. While the flag is false the admin paths simply aren't there (404), and +the controllers re-check it on every request rather than trusting boot time. + +What it gives an admin: templates, their steps, and their trigger rules, with +full CRUD, plus a cross-template rule index ordered the way the evaluator +resolves rules — `event_name` ascending, `priority` descending. Activating a +draft template, retiring a rule, or moving a threshold are all writes, no deploy. + +The rule editor is a field/operator/value builder with no JavaScript in it. The +field dropdown offers exactly what your models declared in +`exposes_for_approval` — an unexposed variable reads as a clean non-match, which +is the most common way a hand-typed rule silently never fires. The operators are +`ApprovalEngine::Condition`'s (`eq`, `not_eq`, `gt`, `gte`, `lt`, `lte`, `in`, +`not_in`), several rows AND together, and the value is cast to the attribute's +declared type before storage, so `amount > "10000"` can't become a rule that +compares a number against a string and quietly never matches. + +A condition the simple form can't represent — an `or`, a nested group, a +substring `in` — opens in a raw JSON Logic textarea instead of being flattened +into something it isn't. Raw input still has to parse, has to be a JSON object +(a bare array or number would evaluate as a literal and match *every* event of +its name), and is capped at 8 KB. + +> **`admin_enabled` is not authentication.** It decides whether the write routes +> exist, not who may reach them, and the engine ships no auth of its own — so +> the mount stays wrapped in your own constraint either way: +> +> ```ruby +> authenticate :admin_user, ->(u) { u.super_admin? } do +> mount ApprovalEngine::Engine => "/approval_engine" +> end +> ``` +> +> It is off by default for one reason: 1.0 shipped a read-only dashboard that +> hosts mounted behind whatever auth they already had, and a gem upgrade must +> never turn a read surface into a write one on its own. It also needs a +> full-stack host — sessions for CSRF, and flash — so it is not available under +> `config.api_only`. + +A template whose rules have already routed approvals refuses to be deleted, and +says so: deleting it would cascade to its rules and nullify the provenance +column on every approval they ever routed. Archive it instead — history wins +over the delete. + +If the flow also lives in a `define_flow` block, remember that the next seed run +re-asserts everything that block declares, including the threshold an admin just +changed. [Pick one owner per flow](#my-seeds-run-on-every-deploy--wont-that-duplicate-the-flow-reconciling-a-definition). + +Covered by [`test/integration/admin_routes_test.rb`](https://github.com/Harry-kp/approval_engine/blob/main/test/integration/admin_routes_test.rb) +and [`test/controllers/approval_engine/admin/`](https://github.com/Harry-kp/approval_engine/tree/main/test/controllers/approval_engine/admin). + ### "How long is each decision taking, and where is it stuck?" (cycle time) Each step records `activated_at` (when it became actionable) and `decided_at` diff --git a/docs/launch/README.md b/docs/launch/README.md new file mode 100644 index 0000000..46a4bc5 --- /dev/null +++ b/docs/launch/README.md @@ -0,0 +1,40 @@ +# Launch + +The 1.1.0 launch runbook. This directory is working copy, not product. + +`approval_engine` 1.0.0 shipped on 2026-06-17 and was never announced anywhere: +five unique visitors in the following fortnight, one star, no forks, and +rubygems.org as the only referrer it has ever had. It was not rejected — it was +never seen. That is what these files exist to fix, alongside the two gaps 1.1 +closes in the gem itself: routing rules an admin can actually change in a +browser, and a notification layer that tells an approver something is waiting. + +## What's here + +| File | What it is | +| --- | --- | +| [posts.md](posts.md) | Every announcement, written out and ready to paste: r/rails, r/ruby, a Show HN and its author comment, a dev.to article, and blurbs for Ruby Weekly, Short Ruby and rubyflow. Plus the voice rules they all follow. | +| [checklist.md](checklist.md) | The pre-flight, in order, with the verification for each step — then the submission tracker, with a place to record the date and resulting link for every destination. | + +## Not shipped in the gem + +The gemspec enumerates the files it packages (`app`, `config`, `db`, `lib`, the +licence, the README, the changelog). Nothing under `docs/launch/` is among them, +and nothing here should ever be added — a published gem containing its own +marketing copy is a smell, and the pre-flight checks for its absence. + +## The one rule + +**Nothing goes out until the gem is installable from a clean machine and every +link in every post resolves.** + +A launch post is a promise that the thing behind the link works. A broken +`bundle add`, a 404 on the cookbook, or a screenshot that renders on github.com +and not on rubygems.org spends the attention this release gets — and there is +only one first look. `checklist.md` is that gate; work it top to bottom before +anything is posted. + +Two things in `posts.md` are load-bearing and easy to erode on an edit: it is +honest that this is a young gem with no production users to point at, and it +never references a hosted demo, a demo GIF, or a generator that does not exist. +Keep both true. diff --git a/docs/launch/checklist.md b/docs/launch/checklist.md new file mode 100644 index 0000000..c68ddfa --- /dev/null +++ b/docs/launch/checklist.md @@ -0,0 +1,197 @@ +# Launch checklist + +Two halves: the pre-flight, which is a gate, and the submission tracker, which +is a log. Work the pre-flight in order — each item assumes the one above it +passed — and do not post anything until every box is ticked. + +The gate is one sentence: **the gem is installable from a clean machine and +every link in every post resolves.** + +--- + +## Part 1 — pre-flight + +### 1. The tree is releasable + +| Check | How | Pass condition | +| --- | --- | --- | +| Tests | `bin/rails app:test` | 0 failures, 0 errors | +| Eager loading | `RAILS_ENV=test bin/rails app:test` with `config.eager_load = true` in the dummy app | 0 failures — the admin's field list eager-loads, so this catches a load-order break | +| Lint | `bundle exec rubocop` | no offenses | +| Version | `lib/approval_engine/version.rb` | `1.1.0` | +| Changelog | `CHANGELOG.md` | a `## [1.1.0] - YYYY-MM-DD` heading with the real date, and a `[1.1.0]:` link reference at the bottom | +| Docs match code | Read `docs/COOKBOOK.md` and `README.md` against the config keys in `lib/approval_engine/configuration.rb` | no key documented that does not exist, and no default misstated | + +Record the test counts here when they pass, so a later regression is visible: +runs `____`, assertions `____`, failures `0`. + +### 2. The gem builds, and ships what it should + +```sh +bundle exec rake build # => pkg/approval_engine-1.1.0.gem +gem specification pkg/approval_engine-1.1.0.gem files | sort +``` + +- [ ] `app/`, `config/`, `db/`, `lib/`, `MIT-LICENSE`, `README.md`, `CHANGELOG.md` are present. +- [ ] The 1.1 migration `db/migrate/20260618000001_add_reminded_at_to_steps.rb` is present. Without it an upgrading host loses reminders. +- [ ] The mailer views under `app/views/approval_engine/notification_mailer/` are present — all sixteen files, both formats of all six actions and the two partials. +- [ ] `config/locales/approval_engine.en.yml` is present, or every subject renders as a translation-missing string. +- [ ] `assets/` is **absent**. It is not in `spec.files` and must stay out; every README image is referenced by absolute `raw.githubusercontent.com` URL for exactly this reason. +- [ ] `docs/launch/` is **absent**. This directory is working copy, not product. +- [ ] `test/` and `Rakefile` are absent. + +### 3. It installs on a machine that has never seen it + +Do this from the built `.gem`, not from a path or git reference — a path +reference hides a missing file in `spec.files`, which is the single most common +way a release is broken on arrival. + +```sh +gem install pkg/approval_engine-1.1.0.gem +cd $(mktemp -d) && rails new host --database=postgresql --skip-test && cd host +bundle add approval_engine +bin/rails generate approval_engine:install +bin/rails db:create db:migrate +``` + +- [ ] The generator prints the post-install notes and writes `config/initializers/approval_engine.rb`. +- [ ] `db:migrate` runs clean, including `add_reminded_at_to_steps`. +- [ ] `bin/rails runner 'p ApprovalEngine::VERSION'` prints `1.1.0`. +- [ ] Mount the engine, boot, and load `/approval_engine` — the dashboard renders with no approvals. +- [ ] Set `config.admin_enabled = true`, restart, and load `/approval_engine/admin` — the template list renders. Then set it back to `false`, restart, and confirm the same path 404s. +- [ ] Delete the throwaway app and `gem uninstall approval_engine` before doing anything else, so nothing local masks the published gem later. + +### 4. `bin/demo` works from a fresh clone + +Not from your working copy. Clone the pushed branch into a new directory, so an +uncommitted file cannot make it pass. + +```sh +cd $(mktemp -d) && git clone https://github.com/Harry-kp/approval_engine && cd approval_engine +bin/setup +bin/demo +``` + +- [ ] It seeds without error and prints the dashboard URL. +- [ ] `http://localhost:3000/approval_engine` lists the seeded approvals. +- [ ] The scatter-gather approval renders: layer 1 approved, Legal and IT pending together, CFO waiting, audit trail below. +- [ ] `bin/console` then `Rails.application.load_seed` works too — the console path is quoted in the README. + +Every post that says "clone it and run `bin/demo`" is making this promise. There +is no hosted demo, so this is the only way a reader sees it run. + +### 5. The README renders in both places + +GitHub and rubygems.org render the same file differently and from different +roots, which is why this is two checks and not one. + +- [ ] **github.com** — open the repo page. Every image loads, the anchors in the table of contents jump correctly, and no code fence has swallowed the block after it. +- [ ] **rubygems.org** — after publishing, open https://rubygems.org/gems/approval_engine and confirm the images still load. They will only load if they are absolute `https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/...` URLs, because `assets/` is not in the gem. +- [ ] Every relative link in the README (`docs/COOKBOOK.md`, `docs/ARCHITECTURE.md`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`) resolves on github.com. +- [ ] The three screenshots exist on `main` at the URLs the README uses: `screenshot-dashboard.png`, `screenshot-approval.png`, `screenshot-rule-builder.png`. +- [ ] `social-preview.png` is uploaded under Settings → General → Social preview, and the description on the card is the 1.1 positioning, not the 1.0 one. + +### 6. Every URL in every post resolves + +Extract them and check them, rather than reading them: + +```sh +grep -oE 'https?://[^ )>,"]+' docs/launch/posts.md | sort -u | \ + while read -r url; do printf '%s %s\n' "$(curl -o /dev/null -s -w '%{http_code}' -L "$url")" "$url"; done +``` + +- [ ] Every line reads `200`. Anything else is a broken promise in a post that cannot be edited on Hacker News. +- [ ] The repo URL, the cookbook URL and the architecture URL point at `main` and resolve. +- [ ] No post mentions a hosted demo, a demo GIF, an `approval_engine:admin` generator, or an `approval_engine:mailer_views` generator. **None of those exist.** Grep for them: + +```sh +grep -nE 'fly\.dev|herokuapp|demo\.|\.gif|approval_engine:admin|mailer_views' docs/launch/posts.md +``` + +- [ ] That grep returns nothing. + +### 7. The release is cut + +Follow [RELEASING.md](../../RELEASING.md); it is tag-driven, so the tag is the +publish. + +- [ ] `git tag v1.1.0 && git push origin main --tags` +- [ ] The Release workflow finishes green. +- [ ] https://rubygems.org/gems/approval_engine shows 1.1.0. +- [ ] `gem install approval_engine` on a clean machine gets 1.1.0 from RubyGems, not from your local cache. +- [ ] The GitHub release for `v1.1.0` has the CHANGELOG entry as its body, not auto-generated notes. Release pages are indexed separately and are a common landing point from search. + +### 8. The repo itself is findable + +Not in the repo, so it is easy to forget. All of it is under About / Settings. + +- [ ] **Description** set to the 1.1 positioning sentence. +- [ ] **Website** set to https://rubygems.org/gems/approval_engine. There is no demo to point at; leaving it blank wastes the slot. +- [ ] **Topics** added (GitHub caps at 20 — leave room): `rails`, `ruby`, `rails-engine`, `ruby-gem`, `approval-workflow`, `approval-process`, `approvals`, `workflow-engine`, `workflow`, `business-process`, `human-in-the-loop`, `audit-trail`, `multi-tenant`, `json-logic`, `postgresql`, `activejob`, `saas`, `b2b-saas`. Topic pages are browsable and indexed, and the repo currently has none. +- [ ] Social preview uploaded (see step 5). + +--- + +## Part 2 — submission tracker + +Fill in the date and the resulting link as you go. The link column is the point: +it is how you find the thread again to answer the first question, which matters +more than the post. + +Post over several days, not in one hour. Hacker News and Reddit both read a +burst of identical links as promotion, and you cannot answer four threads at +once anyway. + +### Announcements + +| # | Destination | Where | Date sent | Resulting link | +| --- | --- | --- | --- | --- | +| 1 | Hacker News — Show HN | https://news.ycombinator.com/showhn.html | | | +| 2 | r/rails | https://reddit.com/r/rails | | | +| 3 | r/ruby | https://reddit.com/r/ruby | | | +| 4 | dev.to article | https://dev.to/new | | | +| 5 | rubyflow | https://rubyflow.com | | | +| 6 | Ruby Weekly | https://rubyweekly.com (suggest a link) | | | +| 7 | Short Ruby | https://newsletter.shortruby.com | | | + +Post the Show HN first-comment immediately after submitting; a Show HN with no +author comment reads as a drive-by. + +### Catalogues and discoverability + +These are slower, outlast the threads, and are what a search finds in six +months. + +| # | Destination | Where | Date sent | Resulting link | +| --- | --- | --- | --- | --- | +| 8 | Ruby Toolbox catalog PR | https://github.com/rubytoolbox/catalog | | | +| 9 | awesome-ruby PR | https://github.com/markets/awesome-ruby | | | +| 10 | awesome-rails PR | https://github.com/gramantin/awesome-rails | | | +| 11 | ruby.libhunt.com | picked up automatically once awesome-ruby merges — no action, just confirm | | | +| 12 | Stack Overflow answers | existing "rails approval workflow gem" questions, only where genuinely on-topic | | | +| 13 | GitHub release page | https://github.com/Harry-kp/approval_engine/releases/tag/v1.1.0 | | | + +Read each list's contribution rules before opening the PR. A drive-by one-line +PR from an unknown repo gets closed, and you only get one attempt at a first +impression with a maintainer. + +### Where authorship must be disclosed + +Say you wrote it. Every time. It costs a clause and it is the difference between +a post people engage with and a post people report. + +| Destination | How to disclose | +| --- | --- | +| Hacker News | The "Show HN:" prefix is the disclosure, and the first comment opens with "Author here." Both, not either. | +| r/rails, r/ruby | The body says "I wrote this" in the first two sentences. Both subreddits treat undisclosed self-promotion as spam, and mods can see your history. | +| dev.to | The article is written in the first person about your own gem, which is disclosure enough — but do not also post it as a "roundup" or a comparison. | +| **Stack Overflow** | **Mandatory and enforced.** Any answer mentioning the gem must state that you are the author, in the answer itself. This is the one place where omitting it gets the answer deleted and the account flagged. | +| Ruby Toolbox / awesome-* PRs | Say in the PR body that you are the author of the gem you are adding. Maintainers ask anyway. | +| Ruby Weekly / Short Ruby | The submission form is understood to be from the author; say so in the note regardless. | +| rubyflow | Self-posting is the norm there, so no special handling — but the body still reads as yours, not as a third party's recommendation. | + +### After the posts + +- [ ] Answer every reply for the first 48 hours. The threads are the point of the launch; the gem is already written. +- [ ] Log every "it can't do X" into GitHub issues, verbatim, even the ones you disagree with. That list is the 1.2 roadmap and the only real output of this exercise. +- [ ] Record the GitHub traffic numbers a week later against the pre-launch baseline (5 unique visitors in 14 days, 1 star, 0 forks, rubygems.org the only referrer) so the next release has something to compare against. diff --git a/docs/launch/posts.md b/docs/launch/posts.md new file mode 100644 index 0000000..94800f2 --- /dev/null +++ b/docs/launch/posts.md @@ -0,0 +1,469 @@ +# Launch posts + +Every post for the 1.1.0 launch, written out and ready to paste. Nothing here is +shipped in the gem. + +Do not post any of it until [checklist.md](checklist.md) is green. A post that +links a gem you can't `bundle add` is worse than no post. + +## The rules these follow + +- **Lead with the problem, in the first two sentences.** Never with the gem. +- **One code block per post** — the `define_flow` quickstart, identical + everywhere, because it is the thing a reader is deciding about. The dev.to + article is the exception and carries three, because it is an article. +- **Say it is young, with a real number.** 1.0 shipped in June 2026 and was + never announced. There are no production users. Never imply otherwise. +- **Link the repo.** There is no hosted demo and no demo URL — the way to see it + running is `bin/demo` from a clone. Do not invent one. +- **No emoji, no exclamation marks, no adjectives doing an engineer's job.** + Banned outright: revolutionary, game-changing, seamless, blazing, effortless, + battle-tested, production-ready, enterprise-grade. +- **End with a question**, and mean it. The point of this launch is to find out + what the gem cannot express. + +The voice is a working engineer who wrote the same approval code at three jobs +and got tired of it. Not a marketer with a gem. + +--- + +## 1. r/rails — self-post + +**Title** + +> I extracted the approval-workflow code I'd rewritten at three jobs into a Rails engine + +**Body** + +Every Rails app I've worked on eventually grew an approval step, and it always +started the same way: an `approved` boolean and an `approved_by_id`. Then +Finance wanted a second signature over $10k. Then Legal and IT had to review the +same contract at once. Then someone went on leave and their queue backed up. +Then an auditor asked who approved invoice #4471 and on whose behalf, and the +honest answer was "it's spread across three callbacks and a status column we +overwrite." + +I have now written that machinery three times at three companies. The third time +I wrote it as a gem instead. + +`approval_engine` is a mountable engine. The flow is data, not code: + +```ruby +ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end +``` + +Create an invoice over $10k and it routes itself. An approver's inbox is +`ApprovalEngine::Step.actionable_by(current_user)` — a normal scope, including +anything they cover by delegation — and acting on one is +`step.approve!(by: current_user)`. Groups resolve at runtime against your own +models, so nobody maintains a copy of your org chart in a workflow table. + +The decisions worth arguing about: + +- Routing rules are JSON Logic in a `jsonb` column, not Ruby. An admin moves + "over $10k" to "over $25k unless EMEA" without a deploy, and there is no + `eval` reachable from a database row. +- The ledger is append-only. A rejection or a "needs changes" appends a new + iteration instead of rewinding a status column, so the history is still there + when someone asks for it a year later. +- Every transition takes an approval-scoped pessimistic lock, so two people + clicking Approve in the same second cannot both count. +- Side effects — pay the invoice, hit the API, send the mail — go through a + transactional outbox relayed by ActiveJob. A down payment provider cannot roll + back an approval. Delivery is at-least-once, so your callbacks have to be + idempotent. That is the real tradeoff and it is in the README, not a footnote. +- No Redis, no Sidekiq required. ActiveJob only, so SolidQueue is fine. + +Also in there: parallel tracks (Legal and IT at once), consensus per layer +(`:any` / `:all` / `:majority` / `"60%"` / a fixed count) resolved against the +live group size, time-bound delegation that records intended vs actual actor, +per-step timeouts that fire a callback and never auto-approve, an optional +browser editor for the routing rules, and optional built-in notification mail. +Both of those last two are off by default — upgrading a gem should not add a +write surface or start mailing your users. + +Honest status: this is 1.1.0 and it is young. 1.0 shipped in June and I never +announced it anywhere, so the user count is one. PostgreSQL only, because the +routing needs `jsonb`. The API is stable and every cookbook recipe is covered by +the test suite, but I would much rather find out it is wrong now than after +you have shipped it. + +- Repo: https://github.com/Harry-kp/approval_engine +- Cookbook (copy-paste recipes): https://github.com/Harry-kp/approval_engine/blob/main/docs/COOKBOOK.md + +What shape do your approvals actually take? I am most curious about the ones +that would not fit this — "approve on behalf of a group whose membership changes +mid-flight" is the one I already know is rough. + +--- + +## 2. r/ruby — self-post + +**Title** + +> Approval rules that change without a deploy: what I learned storing logic as JSON Logic instead of Ruby + +**Body** + +A customer emails: "our threshold is £25,000, not £10,000." The number lives in a +Ruby file. So it is a branch, a PR, a review, a deploy and a changelog entry — +for a number. Do that four times for four customers and the conditional in +`Invoice#requires_cfo?` is unreadable and nobody will touch it. + +I hit this at three different jobs and solved it badly twice. The third time I +pulled the solution out into a gem, and the interesting part is not the approval +workflow — it is where the rule lives. + +A rule is a JSON Logic AST in a `jsonb` column, and the flow that owns it is one +block: + +```ruby +ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end +``` + +`when:` is sugar; what gets stored is `{">" => [{"var" => "amount"}, 10_000]}`, +evaluated against a payload the model explicitly whitelists with an +`exposes_for_approval` block. Three things I would defend: + +**JSON Logic over a Ruby DSL stored as a string.** No `eval`, no arbitrary code +execution from a database row, and a predictable AST shape a form builder can +render. The cost is that nobody wants to hand-write an AST, so authoring needs +its own layer — a `Condition` object that maps a field/operator/value triple +both ways and returns `nil`, honestly, when an AST is too complex for the simple +form, rather than flattening it into something it isn't. That fallback turned +out to be more design work than the evaluator. + +**A whitelist, not the model.** The rules engine never sees an ActiveRecord +object. It sees a flat string-keyed hash of exactly what the model declared. A +rule cannot reach through an association into somewhere it shouldn't, and +renaming `total_cents` does not silently break a customer's rule. + +**Failing closed, quietly.** A missing key is a clean non-match — JSON Logic +treats it as false, so the approval simply doesn't start. Only a *malformed* +rule quarantines the approval into a visible failure state. Neither crashes a +web worker at 2am because someone typo'd a variable in an admin form. +`config.raise_on_rule_errors = true` makes it loud in development, which you +want, because "fails silently" and "fails invisibly" are different things and +only one of them is acceptable. + +The gem around it is `approval_engine`: a mountable Rails engine for multi-step +human approvals, with an append-only ledger, sequential and parallel tracks, +consensus per layer, delegation, and a transactional outbox so a down external +API cannot roll back an approval. + +It is young and worth saying so plainly. 1.1.0, PostgreSQL only, shipped 1.0 in +June and never announced it, so real-world usage is approximately me. The design +is what I would like scrutinised, more than the code. + +- https://github.com/Harry-kp/approval_engine +- Architecture and the ADRs: https://github.com/Harry-kp/approval_engine/blob/main/docs/ARCHITECTURE.md + +Has anyone here gone the other way — user-editable logic as a restricted Ruby +DSL rather than a data format? I keep circling back to whether the safety was +worth the authoring layer I had to build on top of it. + +--- + +## 3. Hacker News — Show HN + +**Title** (70 characters) + +> Show HN: ApprovalEngine – multi-step approval workflows for Rails apps + +Alternate, if you want the mechanism in the title (62 characters): + +> Show HN: An append-only approval ledger for Rails applications + +**First comment** — post it immediately after submitting. + +Author here. Every app I've worked on eventually grew an approval step, and it +always started as an `approved` boolean. Then a second signature over $10k, then +two departments reviewing at once, then someone on leave whose queue backs up, +then an auditor asking who approved invoice #4471 and on whose behalf. By then +the answer lives in three callbacks and a status column that has been +overwritten twice. I rewrote that machinery at three jobs. This is the third +version, pulled out as a gem. + +The flow is data rather than code: + + ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" + end + +Three decisions I would defend, and one I am unsure about: + +1. Append-only ledger. A rejection or a request for changes appends a new +iteration rather than resetting a status, so history is a consequence of the +design instead of a second audit table someone has to remember to write to. + +2. Rules as JSON Logic in a jsonb column, not Ruby. Admins change thresholds +without a deploy and there is no eval reachable from a database row. The cost is +a whole authoring layer, because nobody hand-writes an AST — that was more work +than the engine. + +3. Transactional outbox for side effects. Approving commits instantly; paying +the invoice happens in an ActiveJob relay. A down payment provider cannot roll +back an approval. The tradeoff is at-least-once delivery, so host callbacks have +to be idempotent, and that is in the README rather than in a footnote. + +The one I am unsure about: timeouts never decide. When a step's SLA elapses the +engine fires a callback and stops — it will not auto-approve, because silence is +not consent, and it will not auto-reject, because that is a decision nobody +made. You get expire! (an honest terminal denial with no actor on the ledger) or +reassign!. Every workflow tool I have used auto-advances on timeout and I think +they are wrong, but I have also never had to run a million-approval backlog. + +What it does not do, plainly: + +- No authentication. The mounted dashboard and the optional rule editor have +none of their own; you wrap the mount in your app's constraint. The rule editor +is off by default, because a gem upgrade must not turn a read surface into a +write surface. +- No authorization model. It will tell you whether a user is the assignee or an +active delegate. Who may see an approval at all is your app's question. +- No opinion about "late". It records when a step became actionable and when it +was decided, and hands you the numbers. SLA policy, escalation trees and +leaderboards are yours. +- No scheduler, no Redis, no Sidekiq. ActiveJob only. You schedule the sweeps +with whatever you already run. +- PostgreSQL only. The routing needs jsonb and gin. +- It does not touch your status column. It runs the process and reports the +outcome; mapping that onto your own vocabulary stays your code. + +Honest state of it: 1.1.0, MIT, Rails 7.0.8+. 1.0 shipped in June and I never +told anyone, so the user count is basically one. The API is stable and every +documented recipe is covered by tests, but it has not met your edge cases yet +and I would like it to. + +Repo: https://github.com/Harry-kp/approval_engine +Architecture and ADRs: https://github.com/Harry-kp/approval_engine/blob/main/docs/ARCHITECTURE.md + +There is no hosted demo — `bin/demo` from a clone seeds a live approval and +boots the dashboard, which is as close as I can get you without asking you to +trust a server I run. + +Most useful thing you could tell me: the approval shape at your company that +this obviously cannot express. + +--- + +## 4. dev.to — article + +**Title** + +> The approval workflow you're about to write for the third time + +**Front matter** + + tags: ruby, rails, opensource, architecture + cover_image: https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/social-preview.png + canonical_url: (set only if you cross-post it somewhere else first) + +**Body** + +It always starts the same way. A model needs a human to say yes, so you add two +columns: + +```ruby +add_column :invoices, :approved, :boolean, default: false +add_column :invoices, :approved_by_id, :bigint +``` + +That is the correct amount of code for the problem as stated. I want to be clear +about that, because everything below is what happens when the problem stops +being as stated. + +## Month two + +Finance wants a second signature over $10,000. You add `cfo_approved_at`, a +method that checks both, and a branch in the mailer. + +## Month five + +Legal and IT both need to review contracts, at the same time, and either can +block. Two booleans will not express "at the same time", so you add a +`review_status` string and a small state machine, and the mailer branch becomes +three. + +## Month nine + +Priya is on leave for a fortnight and eleven invoices are sitting in her queue. +Someone asks whether Sam can approve them "as Priya". You add +`approved_on_behalf_of` and try not to think about what it means for the audit +report. + +## Month eleven + +Compliance asks who approved invoice #4471, when, and whether that person was +authorised at the time. You open the record. `approved` is `true`. +`approved_by_id` points at Sam. There is no trace of the rejection in month +seven, because the resubmit set `approved` back to `false`, and that was the +whole history. + +I have lived some version of those eleven months at three companies. The third +time, I stopped writing it into the app and wrote it as a gem. + +## What the extraction looks like + +```ruby +ApprovalEngine.define_flow "High-value invoice", tenant: account.id, model: Invoice do + on :create, when: { amount: { gt: 10_000 } } + + step "Manager sign-off", group: "manager" + step "CFO sign-off", group: "cfo" +end +``` + +Create an invoice over $10k and it routes itself. That block is idempotent — it +reconciles the same rows rather than stacking a fourth copy — so it lives in +`db/seeds.rb` and runs on every deploy. An approver's inbox is a scope, +`ApprovalEngine::Step.actionable_by(current_user)`, which includes anything they +cover by delegation, and acting on a step is one call: +`step.approve!(by: current_user, comment: "Checked against the PO")`. Groups +resolve at runtime against your own models, so nobody is maintaining a copy of +your org chart inside a workflow table. + +## The three decisions that matter + +**The ledger is append-only.** An approval is `Approval → Track → Step`, and a +step is never rewound. Rejecting or requesting changes appends a *new iteration* +of the steps, so month seven's rejection is still there in month eleven. The +audit trail is not a feature bolted next to the workflow; it is the workflow, +read in order. That is the part a boolean column can never give you, and the +part you need exactly once, urgently, under pressure. + +**The rules are not in Ruby.** A routing rule is a JSON Logic expression in a +`jsonb` column, evaluated against a payload your model explicitly whitelists: + +```ruby +class Invoice < ApplicationRecord + has_approvals + + exposes_for_approval do + attribute :amount, type: :decimal + attribute :department, type: :string, source: ->(i) { i.department.name } + end +end +``` + +The rules engine never sees your model, only that flat hash. So a customer's +"£25,000, not £10,000, and not for EMEA" is a database write rather than a +deploy, and there is no `eval` reachable from a row. A missing key is a clean +non-match and the approval simply does not start; only a genuinely malformed +rule quarantines, and it does that visibly instead of crashing a web worker. + +**Side effects cannot roll back an approval.** Paying the invoice, calling the +API, sending the mail — all of it goes into a transactional outbox and is +relayed by ActiveJob after the transition commits. Stripe being down is not a +500 on someone's Approve click. The honest cost: delivery is at-least-once and +unordered, so your `after_approved` has to be idempotent. That is in the README, +not a footnote, because it is the sharp edge. + +## What it deliberately will not do + +It never auto-approves. Give a step a timeout and when the deadline passes the +engine calls you back — it does not decide. You can `expire!` it, an honest +denial recorded with no actor because nobody acted, or reassign it to a backup. +Silence is not consent, and no library should quietly turn a missed deadline +into a signature. + +It also has no opinion about who may see any of this, no authentication on the +dashboard, and no definition of "late". Those belong to your app, and it would +be worse if the gem guessed. The rule editor and the notification mail added in +1.1 both ship switched off for the same reason: upgrading a dependency should +never add a write surface or start mailing someone else's users. + +## Where it actually is + +`approval_engine` is at 1.1.0. MIT, PostgreSQL only (the routing needs `jsonb`), +Rails 7.0.8 through 8.x. It is young: 1.0 shipped in June, I never announced it, +and the user count is essentially one. The API is stable and every recipe in the +cookbook is exercised by the test suite — but it has not met your edge cases yet. + +```ruby +gem "approval_engine" +``` + +- Repo: https://github.com/Harry-kp/approval_engine +- Cookbook: https://github.com/Harry-kp/approval_engine/blob/main/docs/COOKBOOK.md +- Architecture and ADRs: https://github.com/Harry-kp/approval_engine/blob/main/docs/ARCHITECTURE.md + +There is no hosted demo. `bin/demo` from a clone seeds a live approval and boots +the dashboard, which is the honest version of "try it". + +If you have built this in-house — and if you are reading this, you probably +have — which part of your version could this one not express? + +--- + +## 5. Ruby Weekly — submission blurb + +Submit through the "suggest a link" form at https://rubyweekly.com/. Peter Cooper +rewrites submissions, so give him facts and one hook, not adjectives. + +> ApprovalEngine is a mountable Rails engine for multi-step human approvals — +> manager then CFO, Legal and IT in parallel, "any two of five reviewers" — +> built on an append-only ledger, so the audit trail is a consequence of the +> design rather than a second table. Routing rules are JSON Logic stored in +> `jsonb`, so admins change a threshold without a deploy, and side effects run +> through a transactional outbox on ActiveJob, so a down payment API cannot roll +> back an approval. 1.1.0 adds a `define_flow` DSL, an opt-in browser editor for +> the routing rules, and opt-in notification mail; it is PostgreSQL-only, MIT, +> and young — 1.0 shipped in June without an announcement. + +--- + +## 6. Short Ruby newsletter — submission blurb + +Submit to Lucian Ghinda via https://newsletter.shortruby.com/ (the submission +form, or a DM). That newsletter carries the "why" well, so this one is slightly +more personal. + +> Harshit extracted the approval-workflow code he had rewritten at three jobs +> into `approval_engine`, a mountable Rails engine for multi-step human +> approvals: sequential and parallel tracks, consensus per layer (`:any` / +> `:all` / `:majority` / a percentage), time-bound delegation that records +> intended vs actual actor, and an append-only ledger where a rejection appends +> a new iteration instead of resetting a status column. The 1.1.0 release adds a +> `define_flow` DSL that puts a whole flow — its steps and the JSON Logic rule +> that routes it — in one readable block. Worth a look for the design choices +> too: the architecture doc is written as ADRs, including why timeouts never +> auto-approve. + +--- + +## 7. rubyflow.com + +A link aggregator: a title, a URL, and a short body. Free, indexed, two minutes. + +**Title** + +> ApprovalEngine 1.1: approval flows for Rails, defined in one block + +**URL** + +> https://github.com/Harry-kp/approval_engine + +**Body** + +> A mountable Rails engine for multi-step human approvals — manager then CFO, +> Legal and IT in parallel, "any two of five reviewers" — on an append-only +> ledger, with routing rules stored as JSON Logic so admins can change a +> threshold without a deploy. 1.1 adds `define_flow`, which puts a template, its +> ordered steps and the rule that routes to it into one idempotent block you can +> run from `db/seeds.rb` on every deploy, plus an opt-in browser editor for the +> rules and opt-in notification mail. PostgreSQL and ActiveJob; no Redis or +> Sidekiq. MIT, and young — 1.0 shipped in June and was never announced. diff --git a/lib/approval_engine/version.rb b/lib/approval_engine/version.rb index 2309c59..e1253d8 100644 --- a/lib/approval_engine/version.rb +++ b/lib/approval_engine/version.rb @@ -1,3 +1,3 @@ module ApprovalEngine - VERSION = "1.0.0" + VERSION = "1.1.0" end diff --git a/test/docs_test.rb b/test/docs_test.rb new file mode 100644 index 0000000..6213c26 --- /dev/null +++ b/test/docs_test.rb @@ -0,0 +1,123 @@ +require "test_helper" + +# The documentation is API, and this is the test that treats it as one. +# +# A 1.x whose README's first code block raises NoMethodError is worse than no +# release at all: it is the one error every new reader hits inside a minute, and +# nothing in a normal test suite catches it, because the README is the only place +# that code exists. So everything the README promises about names — config keys, +# class methods, generators, images — is asserted here against what actually +# ships. +class DocsTest < ApprovalEngine::TestCase + ROOT = ApprovalEngine::Engine.root + README = ROOT.join("README.md") + CHANGELOG = ROOT.join("CHANGELOG.md") + INITIALIZER = ROOT.join("lib/generators/approval_engine/install/templates/approval_engine.rb") + + RAW_ASSET_PREFIX = "https://raw.githubusercontent.com/Harry-kp/approval_engine/main/".freeze + + # `config.key =` and `config.key -=` both name a key. The negative lookahead + # keeps `==` out; `[-+]?` lets `config.notification_events -= [...]` count, + # since dropping one event still asserts the key exists. + CONFIG_ASSIGNMENT = /config\.([a-z_]+)\s*[-+]?=(?!=)/ + # A commented-out example naming a key we never shipped is the same lie in + # slower motion, so comments are scanned too — which the regex above already + # does, since it never anchors to the start of a line. + ENGINE_METHOD = /ApprovalEngine\.([a-z_]+)/ + GENERATOR_CALL = /rails generate approval_engine:([a-z_]+)/ + MARKDOWN_IMAGE = /!\[[^\]]*\]\(([^)\s]+)\)/ + VERSION_HEADING = /^## \[(\d+\.\d+\.\d+)\]/ + + # --- names the README promises ---------------------------------------------- + + test "every config key the README documents exists on Configuration" do + assert_config_keys_exist(README) + end + + test "every config key the install template writes exists on Configuration" do + assert_config_keys_exist(INITIALIZER) + end + + test "every ApprovalEngine method the README calls responds" do + each_match(README, ENGINE_METHOD) do |method, line| + assert ApprovalEngine.respond_to?(method), + "README:#{line} calls ApprovalEngine.#{method}, which the engine does not respond to" + end + end + + test "every generator the README tells people to run exists" do + each_match(README, GENERATOR_CALL) do |name, line| + generator = ROOT.join("lib/generators/approval_engine/#{name}/#{name}_generator.rb") + assert File.exist?(generator), + "README:#{line} documents `rails generate approval_engine:#{name}`, " \ + "but #{generator.relative_path_from(ROOT)} does not exist" + end + end + + # --- images ----------------------------------------------------------------- + + # assets/ is deliberately not in spec.files, so a relative image path renders + # nowhere except github.com — not on rubygems.org, not in a mirror, not in + # `bundle open`. Absolute raw URLs are the only ones that work everywhere. + test "every README image is an absolute URL" do + each_match(README, MARKDOWN_IMAGE) do |url, line| + assert url.start_with?("https://"), + "README:#{line} references the image #{url} relatively. assets/ is not packaged " \ + "in the gem, so it must be an absolute #{RAW_ASSET_PREFIX}... URL" + end + end + + test "every repository image the README references exists in this repo" do + urls = matches(README, MARKDOWN_IMAGE).map(&:first).grep(/\Ahttps:\/\/raw\.githubusercontent\.com/) + assert urls.any?, "the README references no repository images at all — the screenshots are gone" + + urls.each do |url| + assert url.start_with?(RAW_ASSET_PREFIX), + "#{url} is a raw.githubusercontent URL for some other repository or branch" + + path = url.delete_prefix(RAW_ASSET_PREFIX) + assert File.exist?(ROOT.join(path)), + "the README shows #{url}, but #{path} does not exist in this repository" + end + end + + # --- changelog -------------------------------------------------------------- + + test "the CHANGELOG has a link reference for every version heading" do + body = CHANGELOG.read + versions = body.scan(VERSION_HEADING).flatten + assert_includes versions, ApprovalEngine::VERSION, + "CHANGELOG.md has no entry for the current version (#{ApprovalEngine::VERSION})" + + versions.each do |version| + assert_match(/^\[#{Regexp.escape(version)}\]: \S+/, body, + "CHANGELOG.md has a `## [#{version}]` heading but no `[#{version}]:` link reference, " \ + "so the heading renders as broken markdown") + end + end + + private + + def assert_config_keys_exist(path) + keys = each_match(path, CONFIG_ASSIGNMENT) do |key, line| + assert ApprovalEngine.config.respond_to?("#{key}="), + "#{path.basename}:#{line} documents config.#{key}, but " \ + "ApprovalEngine::Configuration has no #{key}=" + end + assert keys.any?, "#{path.basename} documents no config keys at all — the scan is broken, not the docs" + end + + # Yields every capture with the 1-indexed line it was found on, so a failure + # points at somewhere to go and fix rather than at a whole file. + def each_match(path, pattern) + found = matches(path, pattern) + found.each { |capture, line| yield(capture, line) } + found.map(&:first) + end + + def matches(path, pattern) + path.each_line.with_index(1).flat_map do |content, line| + content.scan(pattern).map { |capture| [ Array(capture).first, line ] } + end + end +end diff --git a/test/gemspec_test.rb b/test/gemspec_test.rb new file mode 100644 index 0000000..3dc69dd --- /dev/null +++ b/test/gemspec_test.rb @@ -0,0 +1,71 @@ +require "test_helper" + +# The packaging contract. Two things it protects: +# +# The metadata rubygems.org renders — those sidebar links are most people's +# first navigation into the project, and a wrong or missing one is invisible +# from inside the repository. +# +# And what actually ships. `spec.files` is a glob, and a glob that grows a +# directory grows it permanently, for everyone who ever installs the gem. +class GemspecTest < ActiveSupport::TestCase + REPO_URL = "https://github.com/Harry-kp/approval_engine".freeze + + def spec + @spec ||= Dir.chdir(ApprovalEngine::Engine.root) do + Gem::Specification.load(ApprovalEngine::Engine.root.join("approval_engine.gemspec").to_s) + end + end + + test "declares the metadata rubygems.org renders" do + %w[source_code_uri documentation_uri changelog_uri bug_tracker_uri + rubygems_mfa_required].each do |key| + assert spec.metadata[key].present?, "the gemspec declares no #{key}" + end + + # The Homepage link comes from `spec.homepage`; a `homepage_uri` alongside it + # is a duplicate rubygems.org ignores and `gem build` warns about. + assert_equal REPO_URL, spec.homepage + assert_nil spec.metadata["homepage_uri"] + end + + # Derived from `homepage` it would follow the homepage anywhere — including to + # a marketing page some day, which would silently stop "Source code" pointing + # at source. + test "source_code_uri is pinned to the repository, not derived from homepage" do + assert_equal REPO_URL, spec.metadata["source_code_uri"] + end + + test "documentation_uri points at a file that exists in this repository" do + uri = spec.metadata["documentation_uri"] + path = uri[%r{/blob/main/(.+)\z}, 1] + assert path, "documentation_uri (#{uri}) is not a /blob/main/ link into this repository" + assert File.exist?(ApprovalEngine::Engine.root.join(path)), + "documentation_uri points at #{path}, which does not exist — the link is already a 404" + end + + test "the summary leads with what the gem does" do + assert_match(/\Amulti-step approval workflows for rails/i, spec.summary) + assert_operator spec.summary.length, :<=, 160, + "rubygems.org truncates a long summary in search results" + end + + test "packages the two reference docs" do + assert_includes spec.files, "docs/COOKBOOK.md" + assert_includes spec.files, "docs/ARCHITECTURE.md" + end + + # Named explicitly rather than globbed for exactly this reason: a `docs/**/*` + # would ship whatever lands in docs/ next, and assets/ is megabytes of + # screenshots the README already loads over HTTP. + test "packages neither the screenshots nor anything else under docs" do + assert_empty spec.files.grep(%r{\Aassets/}), "assets/ is being packaged into the gem" + + extra = spec.files.grep(%r{\Adocs/}) - %w[docs/ARCHITECTURE.md docs/COOKBOOK.md] + assert_empty extra, "docs/ is being globbed rather than enumerated" + end + + test "the packaged version matches the library" do + assert_equal ApprovalEngine::VERSION, spec.version.to_s + end +end From 420f174272497eb9ee90f7c6b3c72bd377d7c8bd Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 09/17] docs: say what `Current` is where the quickstart first uses it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 60-second quickstart sets `config.current_tenant_method = -> { Current.account }` at the top and `Current.account = account` forty lines later, but only the Configuration section further down explains that `Current` is the reader's own ActiveSupport::CurrentAttributes class, and that a single-tenant app can return a constant instead. Anyone reading top to bottom — which is everyone, for the block advertised as taking 60 seconds — hits `NameError: uninitialized constant Current` first. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 47d2e8f..2f63d8f 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,10 @@ then a CFO: ApprovalEngine.configure do |config| config.actor_class = "User" # who approves config.current_tenant_method = -> { Current.account } # anything with #id + + # `Current` here is your own ActiveSupport::CurrentAttributes class — the + # engine only ever calls `#id` on what you return. Not multi-tenant? Return a + # constant instead: `-> { Struct.new(:id).new("default") }`. end # app/models/user.rb — who is in a group, resolved at runtime against your own models From c2c99fe74122e2f0c3dbbd0e935d0afb95770ec7 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 10/17] docs(launch): flag the invented origin story before it gets posted MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every draft post carries a version of "I wrote this same code at three jobs and got tired of it". That detail was written to give the posts a voice; it was not reported from life, and it would appear under a real name on Hacker News and Reddit — where an origin story is exactly what a commenter asks a follow-up question about. Marked at the top of both files, with the line numbers, so it cannot be pasted by accident. Every other claim in the drafts is checked against the shipped code. Co-Authored-By: Claude Opus 5 (1M context) --- docs/launch/README.md | 7 +++++++ docs/launch/posts.md | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/launch/README.md b/docs/launch/README.md index 46a4bc5..19f673a 100644 --- a/docs/launch/README.md +++ b/docs/launch/README.md @@ -1,5 +1,12 @@ # Launch +> **Before posting: the origin story in `posts.md` is invented.** Every draft +> claims the author wrote this same code at three jobs. That detail was written +> to give the posts a voice, not reported from life, and it will appear under a +> real name. Replace it with what actually happened. Everything else in the +> drafts is checked against the shipped code; that one thing is not. + + The 1.1.0 launch runbook. This directory is working copy, not product. `approval_engine` 1.0.0 shipped on 2026-06-17 and was never announced anywhere: diff --git a/docs/launch/posts.md b/docs/launch/posts.md index 94800f2..a3b6bb8 100644 --- a/docs/launch/posts.md +++ b/docs/launch/posts.md @@ -6,6 +6,21 @@ shipped in the gem. Do not post any of it until [checklist.md](checklist.md) is green. A post that links a gem you can't `bundle add` is worse than no post. +> ## ⚠ Read this before you paste anything +> +> **The origin story in these drafts is invented, and it is about you.** Every +> post says some version of *"I wrote this same code at three jobs and got tired +> of it"* — at lines 34, 46, 118, 194, 316 and 435 below. Nobody told me that; +> it is a plausible-sounding story that was written to give the posts a voice, +> and it is a claim about your career that will appear under your name. +> +> Replace it with what actually happened before posting. If the real answer is +> "I built it for one job" or "I built it because I wanted to", say that — a +> smaller true story reads better than a bigger invented one, and this is exactly +> the kind of detail a commenter asks a follow-up question about. +> +> Everything else in these drafts is checked against the code. This is not. + ## The rules these follow - **Lead with the problem, in the first two sentences.** Never with the gem. From 2c2becdff6079f3145df32853a4b083108ef5326 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 11/17] fix: four defects found reviewing the release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deleting a trigger rule from the admin erased provenance. The FK from Approval is on_delete: :nullify, so one click blanked "which rule started this?" on every approval that rule ever routed. The template's own delete path already refuses this and reconcile_rules! already deactivates instead of destroying — the rule controller was the one place that didn't. It now refuses too, and points at unticking Active. Subclassing NotificationMailer — the documented config.mailer_class route — raised ActionView::MissingTemplate for all six notifications, because Action Mailer resolves templates from the subclass's own mailer_name. Pinning `default template_path:` on the engine's mailer means a subclass inherits the engine's views and overrides only what it rewrites. define_flow rejected valid JSON Logic. `var` is also written `["amount", 0]` to supply a default and `"a.b"` to walk nested data; both were compared verbatim against the exposure list, so the seed died blaming an attribute name nobody had typed. parallel(approvals_required: ) wrote a template ApprovalBuilder then refused to build: the count reads as flat across the layer, but the builder validates it against each group's own members, so two one-person groups needing 2 raised BuilderError on every run. Refused at definition time now, where the error can explain itself. Co-Authored-By: Claude Opus 5 (1M context) --- .../admin/trigger_rules_controller.rb | 20 +++++- .../approval_engine/notification_mailer.rb | 10 +++ .../approval_engine/flow_definition.rb | 44 +++++++++++-- .../admin/trigger_rules_controller_test.rb | 20 ++++++ .../approval_engine/flow_definition_test.rb | 65 +++++++++++++++++++ 5 files changed, 153 insertions(+), 6 deletions(-) diff --git a/app/controllers/approval_engine/admin/trigger_rules_controller.rb b/app/controllers/approval_engine/admin/trigger_rules_controller.rb index dfc795f..0185bc7 100644 --- a/app/controllers/approval_engine/admin/trigger_rules_controller.rb +++ b/app/controllers/approval_engine/admin/trigger_rules_controller.rb @@ -59,8 +59,20 @@ def update end def destroy - @trigger_rule.destroy - redirect_to admin_track_template_path(@track_template), notice: "Rule deleted." + # An Approval keeps the rule that routed it as provenance, on a foreign + # key declared `on_delete: :nullify` — so destroying a rule does not + # error, it quietly erases "which rule started this?" from every + # approval it ever spawned. Deactivating stops it matching anything new + # and keeps the history, which is the same trade the template's delete + # guard makes and the same one `FlowDefinition#reconcile_rules!` makes. + if routed_approvals? + redirect_to admin_track_template_path(@track_template), + alert: "This rule has already routed approvals. Untick Active instead — " \ + "deleting it would erase which rule started them." + else + @trigger_rule.destroy + redirect_to admin_track_template_path(@track_template), notice: "Rule deleted." + end end private @@ -73,6 +85,10 @@ def set_trigger_rule @trigger_rule = @track_template.trigger_rules.find(params[:id]) end + def routed_approvals? + Approval.where(approval_engine_trigger_rule_id: @trigger_rule.id).exists? + end + # Tolerant of a missing `trigger_rule` key because `new` and `edit` render # the same condition editor as `create` and `update`, and read the mode # back out of it. diff --git a/app/mailers/approval_engine/notification_mailer.rb b/app/mailers/approval_engine/notification_mailer.rb index 690e4a3..3141f10 100644 --- a/app/mailers/approval_engine/notification_mailer.rb +++ b/app/mailers/approval_engine/notification_mailer.rb @@ -24,6 +24,16 @@ class NotificationMailer < ApprovalEngine.config.parent_mailer.constantize # their `default from:` are the whole point of doing so. layout "approval_engine/mailer" if superclass == ActionMailer::Base + # Action Mailer resolves templates from `self.class.mailer_name`, which for a + # subclass is the subclass's own path. Without this, the documented + # `config.mailer_class` route — subclass this, override one action — raises + # ActionView::MissingTemplate for that action *and* for the five inherited + # ones, because they would all look under `app/views//`. + # Pinning the path here means a subclass inherits the engine's views and + # overrides only what it actually rewrites. A host that wants its own + # templates still gets them: its view path is searched first. + default template_path: "approval_engine/notification_mailer" + def step_activated(step, to:) assign_step(step) notification_mail(to: to) diff --git a/app/services/approval_engine/flow_definition.rb b/app/services/approval_engine/flow_definition.rb index 002f29e..488d53d 100644 --- a/app/services/approval_engine/flow_definition.rb +++ b/app/services/approval_engine/flow_definition.rb @@ -125,10 +125,33 @@ def parallel(approvals_required: :all, &block) @open_layer = @open_layer_consensus = nil end - return if @declared_steps.any? { |declared| declared.layer == layer } + declared_here = @declared_steps.count { |declared| declared.layer == layer } - raise DefinitionError, "a parallel block in flow #{@name.inspect} declares no steps — it would leave " \ - "an empty layer nothing can resolve." + if declared_here.zero? + raise DefinitionError, "a parallel block in flow #{@name.inspect} declares no steps — it would leave " \ + "an empty layer nothing can resolve." + end + + guard_absolute_count_across_groups!(approvals_required, declared_here) + end + + # An absolute count reads as "flat across the layer", which is how + # `Track#tally_for` counts at runtime — but `ApprovalBuilder#guard_consensus!` + # validates the same count against each template step's *own* actor list + # before an approval is stamped. So `parallel(approvals_required: 2)` over + # two one-person groups looks resolvable, and then every approval raises + # BuilderError at build time instead. Rather than write a template that only + # fails later, and far from here, refuse it now: a relative spec expresses + # the same intent and is satisfiable however the groups resolve. + def guard_absolute_count_across_groups!(spec, step_count) + return unless step_count > 1 + return unless /\A\d+\z/.match?(spec.to_s) + + raise DefinitionError, + "parallel in flow #{@name.inspect} sets approvals_required #{spec.to_s.inspect} across " \ + "#{step_count} groups. A plain count is checked against each group's own members when an " \ + "approval is built, so this would raise at approval time unless every group had at least " \ + "#{spec} people. Use :all, :any, :majority or a percentage, which hold however the groups resolve." end # A rule that routes an event to this flow. `event` is either a literal event @@ -329,12 +352,25 @@ def condition_types # and hand-written raw JSON Logic is exactly where the typo lives. def condition_vars(node) case node - when Hash then node.key?("var") ? [ node["var"].to_s ] : node.values.flat_map { |value| condition_vars(value) } + when Hash then node.key?("var") ? Array(var_name(node["var"])) : node.values.flat_map { |value| condition_vars(value) } when Array then node.flat_map { |value| condition_vars(value) } else [] end end + # JSON Logic's `var` operand is not always a bare attribute name. It is also + # written `["amount", 0]` to supply a default, and `"line_item.total"` to + # walk into nested data — both of which the evaluator implements. Comparing + # either form verbatim against the exposure list rejected a rule that works, + # and blamed an attribute name nobody had written. An empty operand means + # "the whole payload", which reads nothing in particular, so it is skipped. + def var_name(operand) + key = Array(operand).first.to_s + return nil if key.empty? + + key.split(".").first + end + def integer_priority(value) Integer(value) rescue ArgumentError, TypeError diff --git a/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb index b7c5dcc..c0eb8f9 100644 --- a/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb +++ b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb @@ -189,6 +189,26 @@ def post_rule(condition_params) assert_redirected_to admin_track_template_path(@template) end + # The sibling delete path refuses this, and reconcile_rules! deactivates + # rather than destroys, both because the provenance FK is on_delete: + # :nullify — a hard delete silently blanks "which rule started this?" on + # every approval the rule ever routed. + test "destroy refuses a rule that has already routed approvals" do + create_user(role: :manager) + rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) + invoice = Invoice.create!(tenant_id: TENANT, amount: 20_000, department: "IT") + approval = invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) + assert_equal rule, approval.trigger_rule + + assert_no_difference -> { TriggerRule.count } do + delete admin_track_template_trigger_rule_path(@template, rule) + end + + assert_redirected_to admin_track_template_path(@template) + assert_match(/Untick Active/, flash[:alert]) + assert_equal rule, approval.reload.trigger_rule + end + test "index orders rules the way the evaluator resolves them" do create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }, priority: 0) create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 99 ] }, priority: 10) diff --git a/test/services/approval_engine/flow_definition_test.rb b/test/services/approval_engine/flow_definition_test.rb index 094f853..8be49d5 100644 --- a/test/services/approval_engine/flow_definition_test.rb +++ b/test/services/approval_engine/flow_definition_test.rb @@ -613,5 +613,70 @@ def row_counts assert_equal template, ApprovalEngine.flow(FLOW, tenant: TENANT) assert_nil ApprovalEngine.flow("Nothing defined", tenant: TENANT) end + # JSON Logic writes `var` three ways. Only the bare-name form was recognised, + # so a rule the evaluator handles fine was rejected at definition time, and + # the error blamed an attribute name nobody had typed. + test "accepts the var forms JSON Logic actually supports" do + [ + { ">" => [ { "var" => [ "amount", 0 ] }, 10_000 ] }, + { ">" => [ { "var" => "amount.cents" }, 10_000 ] } + ].each do |condition| + assert_nothing_raised do + ApprovalEngine.define_flow("Var form #{condition.hash}", tenant: TENANT, model: Invoice) do + on :create, when: condition + step "Manager", group: "manager" + end + end + end + end + + test "still rejects a var that names an attribute nobody exposes" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow("Typo", tenant: TENANT, model: Invoice) do + on :create, when: { ">" => [ { "var" => [ "amonut", 0 ] }, 1 ] } + step "Manager", group: "manager" + end + end + + assert_includes error.message, "amonut" + end + + # A plain count is validated per group when the approval is built, so this + # would write a template that raises BuilderError on every run instead. + test "refuses an absolute count spread across several groups" do + error = assert_raises(FlowDefinition::DefinitionError) do + ApprovalEngine.define_flow("Board sign-off", tenant: TENANT, model: Invoice) do + on :create + parallel(approvals_required: 2) do + step "Legal", group: "legal" + step "IT", group: "it" + end + end + end + + assert_includes error.message, "checked against each group's own members" + end + + test "allows a relative spec across several groups, and an absolute count on one" do + create_user(role: :legal) + create_user(role: :it) + + assert_nothing_raised do + ApprovalEngine.define_flow("Relative", tenant: TENANT, model: Invoice) do + on :create + parallel(approvals_required: :all) do + step "Legal", group: "legal" + step "IT", group: "it" + end + end + + ApprovalEngine.define_flow("Single group", tenant: TENANT, model: Invoice) do + on :create, priority: 5 + parallel(approvals_required: 2) do + step "Legal", group: "legal" + end + end + end + end end end From 42228eb6da49c95e9fc9b849628c6ec8fd22e4d5 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 12/17] docs: correct the claims the release review found wrong MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CHANGELOG promised "no behaviour change" on upgrade. That was not quite true: the new `step.activated` outbox event is emitted unconditionally, so an existing install gets roughly one extra outbox row per step, wildcard `approval_engine.*` subscribers start seeing a channel they did not have, and a model that happens to define `after_step_activated` starts having it called. The gate stays as it is — adding a channel is additive and the two surfaces that touch users or host code are both properly off — but the upgrade note now says so instead of overclaiming. Also corrected: the README said mail "retries with backoff", which the outbox gives the relay and not the mail job (the engine sets no retry policy, so a bounce is whatever Active Job already does); it said `approval.step` reads back any single-track approval, when it is `sole` and raises on the very two-step flow the README teaches; and a screenshot's alt text described a time-in-step column that is on the detail page, not the listing. `approval_url_builder` was shown calling a bare `invoice_url` in an initializer, where url helpers are not in scope — it now goes through the routes proxy, in both the architecture doc and the post-install notes. The reminder migration suggested building its index with CREATE INDEX CONCURRENTLY by hand, but `add_index` would then have failed on the existing index; `if_not_exists` makes that path actually work. And the reminder docs now warn that the first sweep nudges every step already past the threshold, with the query to check what that is before scheduling it. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 16 +++++++++--- README.md | 26 ++++++++++++++----- ...20260618000001_add_reminded_at_to_steps.rb | 12 ++++++--- docs/ARCHITECTURE.md | 3 ++- .../install/templates/POST_INSTALL | 4 ++- 5 files changed, 46 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee854a..13a90bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -104,10 +104,18 @@ behaviour, and every new surface is off until you switch it on. ### Upgrading from 1.0 -Nothing to do. No config change, no behaviour change, nothing to migrate before -the gem will run. Both new surfaces default to off, and leaving them off makes -1.1.0 behave exactly as 1.0.0 did. **Nothing turns itself on because you bumped -a version.** +Nothing to do, and nothing to migrate before the gem will run. Both new +surfaces default to off: no mail is sent and no write endpoint exists until you +ask for them. **Nothing that touches your users or calls your code turns itself +on because you bumped a version.** + +One thing does change without asking, and it is worth knowing about. The ledger +now emits a `step.activated` outbox event when a step becomes actionable — +roughly one extra outbox row and relay job per step. It reaches your app only if +you subscribe to it: `ActiveSupport::Notifications` subscribers matching +`approval_engine.*` will start seeing `approval_engine.step.activated`, and a +model that happens to define `after_step_activated(step)` will start having it +called. If neither is true of your app, the only difference is the extra rows. There is one new migration, and only the reminder sweep reads the column it adds, so it is needed when you want reminders and not before: diff --git a/README.md b/README.md index 2f63d8f..d72c927 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ ledger of who decided what, routing rules your admins change without a deploy, and side-effects that can't roll back an approval. You decide what gets approved, who approves, and what happens next. -![The mounted dashboard: six approvals across pending, approved and rejected, with a time-in-step column](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-dashboard.png) +![The mounted dashboard: six approvals across pending, approved and rejected, filterable by status](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-dashboard.png) ![One approval in detail: layer 1 approved, Legal and IT both pending at layer 2 under all-must-approve consensus, the CFO waiting at layer 3, and the audit trail below](https://raw.githubusercontent.com/Harry-kp/approval_engine/main/assets/screenshot-approval.png) @@ -351,9 +351,12 @@ and a record name themselves in an inbox, and fall back to something readable rather than an object inspection. The mails go out through the same transactional outbox as every other -side-effect, so a flaky SMTP host retries with backoff and never touches the -approval. Delivery is at-least-once, which for email means an approver may -occasionally get the same nudge twice — the tradeoff for never getting zero. +side-effect, so a dead SMTP host can never touch the approval: the transition +has already committed, and only the delivery fails. Delivery is at-least-once, +which for email means an approver may occasionally get the same nudge twice — +the tradeoff for never getting zero. The engine hands the message to +`deliver_later` and imposes no retry policy of its own, so what happens to a +bounced job is whatever your Active Job backend already does with a failure. Reminders are a separate, opt-in sweep. Set how long a step may sit unanswered and schedule the job with whatever recurring mechanism you already run: @@ -369,6 +372,15 @@ ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) Each step is nudged at most once, so running the sweep hourly only makes the nudge arrive sooner. It never mails the same person about the same step twice. + +Be deliberate about the first run. `reminder_after` is measured from when a step +became actionable, not from when you switched reminders on, so the first sweep +nudges *every* step already past the threshold — on an app with a backlog that +is one large batch of email. Check what it will pick up before you schedule it: + +```ruby +ApprovalEngine::Step.remindable(after: 2.days.to_i).count +``` The stamp that makes that true lives in a column added in 1.1, so an app upgrading from 1.0 needs `bin/rails approval_engine:install:migrations` and `bin/rails db:migrate` before scheduling the sweep — nothing else in the engine @@ -472,8 +484,10 @@ A single-track run is an approval with one track, not a special path. You never build that chain by hand: start a run with `run_approval!` and act on a step with `step.approve!`. The layers surface only when you need them, such as parallel tracks or the -dashboard. For a single-track approval, `approval.track` and -`approval.step` read it back without `.first`. +dashboard. For a single-track approval, `approval.track` reads it back without +`.first`, and `approval.step` does the same for an approval that has exactly one +step — it is `sole`, so it raises rather than guess when there are two, which is +the case for the manager-then-CFO flow above. `approvals_required` is one idea used at two levels: within a layer (how many of its steps), and across the parallel tracks of a scatter-gather (how many tracks diff --git a/db/migrate/20260618000001_add_reminded_at_to_steps.rb b/db/migrate/20260618000001_add_reminded_at_to_steps.rb index dde11a3..0a40ef8 100644 --- a/db/migrate/20260618000001_add_reminded_at_to_steps.rb +++ b/db/migrate/20260618000001_add_reminded_at_to_steps.rb @@ -8,10 +8,16 @@ def change add_column :approval_engine_steps, :reminded_at, :datetime # The reminder sweep's twin of idx_ae_steps_overdue: only un-nudged, still - # pending steps are ever scanned. On a very large table build this by hand - # with CREATE INDEX CONCURRENTLY first — the partial predicate is identical. + # pending steps are ever scanned. This builds with a lock, which on a very + # large steps table means writes wait. To avoid that, create it by hand + # first and then run the migration — `if_not_exists` makes it a no-op: + # + # CREATE INDEX CONCURRENTLY idx_ae_steps_remindable + # ON approval_engine_steps (activated_at) + # WHERE reminded_at IS NULL AND status = 'pending'; add_index :approval_engine_steps, :activated_at, where: "reminded_at IS NULL AND status = 'pending'", - name: "idx_ae_steps_remindable" + name: "idx_ae_steps_remindable", + if_not_exists: true end end diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index cf4d4dc..b2a76ae 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -253,7 +253,8 @@ ApprovalEngine.configure do |config| # Both 1.1 surfaces are off until asked for — see ADR 9 and ADR 10. config.notifications_enabled = true config.mailer_from = "approvals@acme.com" - config.approval_url_builder = ->(approval) { invoice_url(approval.target) } + # Url helpers are not in scope in an initializer — go through the routes proxy. + config.approval_url_builder = ->(approval) { Rails.application.routes.url_helpers.invoice_url(approval.target) } config.reminder_after = 2.days.to_i config.admin_enabled = true # routes are drawn at boot; restart to apply diff --git a/lib/generators/approval_engine/install/templates/POST_INSTALL b/lib/generators/approval_engine/install/templates/POST_INSTALL index 0b26a1d..07cb4b5 100644 --- a/lib/generators/approval_engine/install/templates/POST_INSTALL +++ b/lib/generators/approval_engine/install/templates/POST_INSTALL @@ -67,7 +67,9 @@ Next steps: config.notifications_enabled = true config.mailer_from = "approvals@example.com" # or parent_mailer - config.approval_url_builder = ->(a) { invoice_url(a.target) } + config.approval_url_builder = ->(a) { + Rails.application.routes.url_helpers.invoice_url(a.target) + } Without a From address nothing can be delivered; without a URL builder the mail arrives with nowhere to go. Set config.approval_recipients too, or the From 860340315eb7508c14d3854980b1a62b2d20f3cc Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:36:02 +0530 Subject: [PATCH 13/17] fix: two more disagreements between paths into the same table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TemplateStep validated `layer` but not `timeout_after`, so a zero or negative deadline typed into the admin produced steps that were overdue the instant they were created. FlowDefinition already refused one; both doors into the table now agree. `reassign!` left `reminded_at` alone, so a step handed over after it had already been nudged would never be nudged again — the person given a stalled approval was the one person the sweep stayed quiet about. Handing it over restarts the clock. Co-Authored-By: Claude Opus 5 (1M context) --- app/models/approval_engine/step.rb | 5 ++++- app/models/approval_engine/template_step.rb | 4 ++++ test/models/approval_engine/reminder_test.rb | 13 +++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/models/approval_engine/step.rb b/app/models/approval_engine/step.rb index 732daa5..fe17ddd 100644 --- a/app/models/approval_engine/step.rb +++ b/app/models/approval_engine/step.rb @@ -200,7 +200,10 @@ def reassign!(to:, by: nil, comment: nil) end record_audit(event: "reassigned", by: by, comment: comment) - update!(assigned_actor: to) + # Clearing the nudge stamp restarts the reminder clock for whoever now + # holds the step. Keeping it would mean the person who was handed a + # stalled approval is the one person the sweep never reminds. + update!(assigned_actor: to, reminded_at: nil) emit_outbox("step.reassigned") end self diff --git a/app/models/approval_engine/template_step.rb b/app/models/approval_engine/template_step.rb index 3307290..b0c40c1 100644 --- a/app/models/approval_engine/template_step.rb +++ b/app/models/approval_engine/template_step.rb @@ -7,6 +7,10 @@ class TemplateStep < ApplicationRecord validates :name, :assigned_group, presence: true validates :layer, numericality: { greater_than: 0 } + # A zero or negative deadline expires the step the moment it opens. + # FlowDefinition already refuses one; this is the same guard for rows the + # admin writes, so both doors into this table agree. + validates :timeout_after, numericality: { greater_than: 0 }, allow_nil: true validate :approvals_required_is_valid scope :ordered, -> { order(:layer) } diff --git a/test/models/approval_engine/reminder_test.rb b/test/models/approval_engine/reminder_test.rb index 3206237..99c8ae8 100644 --- a/test/models/approval_engine/reminder_test.rb +++ b/test/models/approval_engine/reminder_test.rb @@ -135,5 +135,18 @@ def other_tenant_step(waiting_for:) step.update_column(:activated_at, waiting_for.ago) step end + # Whoever now holds a stalled step is exactly the person who needs nudging, + # so handing it over restarts the clock rather than inheriting the previous + # assignee's stamp. + test "reassigning a step clears its reminder stamp" do + step = pending_step + step.update!(reminded_at: 1.hour.ago) + successor = create_user(role: :cfo, name: "Successor") + + step.reassign!(to: successor) + + assert_nil step.reload.reminded_at + assert_equal successor, step.assigned_actor + end end end From a9a3a3c1d89ffa16cdf21a4a483914a49c0238c2 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 18:48:47 +0530 Subject: [PATCH 14/17] style: cut the comments back MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new code carried 743 lines of comment across the release — 18% of everything added. That is too much: multi-paragraph rationale in front of methods whose names already say what they do, and prose in tests that the test name states more precisely. Trimmed to 488 lines (11%). What survives is the reasoning that would otherwise be re-litigated or undone by accident: why rules deactivate rather than delete, why both new surfaces default to off, why an `in` with a String operand is treated as unrepresentable, why the mailer pins its template path. Section banners in tests are gone, code examples in doc comments are kept, and no pre-existing comment was touched. Co-Authored-By: Claude Opus 5 (1M context) --- .../approval_engine/admin/base_controller.rb | 39 ++-- .../admin/trigger_rules_controller.rb | 53 ++---- .../approval_engine/admin/base_helper.rb | 23 +-- .../approval_engine/reminder_sweep_job.rb | 12 +- .../approval_engine/notification_mailer.rb | 55 +++--- app/models/approval_engine/step.rb | 34 ++-- .../approval_engine/flow_definition.rb | 177 +++++++----------- app/services/approval_engine/notifier.rb | 30 ++- ...20260618000001_add_reminded_at_to_steps.rb | 14 +- lib/approval_engine.rb | 39 ++-- lib/approval_engine/condition.rb | 86 +++------ lib/approval_engine/configuration.rb | 84 ++++----- .../install/templates/approval_engine.rb | 55 +++--- test/approval_engine/condition_test.rb | 19 +- test/approval_engine_test.rb | 2 +- .../admin/trigger_rules_controller_test.rb | 5 +- test/docs_test.rb | 13 +- test/dummy/db/seeds.rb | 5 +- test/gemspec_test.rb | 9 +- test/integration/admin_routes_test.rb | 18 +- .../notification_mailer_test.rb | 15 +- test/models/approval_engine/reminder_test.rb | 4 +- .../approval_engine/flow_definition_test.rb | 8 +- .../services/approval_engine/notifier_test.rb | 6 +- 24 files changed, 275 insertions(+), 530 deletions(-) diff --git a/app/controllers/approval_engine/admin/base_controller.rb b/app/controllers/approval_engine/admin/base_controller.rb index 21d577f..cd2d8ca 100644 --- a/app/controllers/approval_engine/admin/base_controller.rb +++ b/app/controllers/approval_engine/admin/base_controller.rb @@ -1,9 +1,7 @@ module ApprovalEngine module Admin - # Base for the opt-in admin: the write half of the mounted dashboard, and - # the only place in the engine that edits blueprints. It inherits the - # dashboard's layout and CSRF posture and adds the one thing the routes - # can't guarantee — that the flag is *still* on for this request. + # Base for the opt-in admin — the only place in the engine that edits + # blueprints. Inherits the dashboard's layout and CSRF posture. class BaseController < ApplicationController helper ApprovalEngine::ApplicationHelper helper ApprovalEngine::Admin::BaseHelper @@ -14,34 +12,28 @@ class BaseController < ApplicationController private - # Routes are drawn once at boot. A host that flips the flag off, or that - # points its own route at these controllers, must not get a write surface, - # so the check is repeated here rather than trusted from boot time. + # Routes are drawn once at boot, so re-check per request: a host that + # flips the flag off must not still have a write surface. def ensure_admin_enabled head :not_found unless ApprovalEngine.config.admin_enabled end - # The whitelisted surface a rule may read, grouped by model, so the field - # dropdown offers the names `exposes_for_approval` actually declared. An - # unexposed var is a clean non-match, i.e. a rule that silently never - # fires — the single most common way a hand-typed rule goes wrong. + # What a rule may read, so the dropdown offers real names. An unexposed + # var is a clean non-match — a rule that silently never fires. def exposed_attribute_groups @exposed_attribute_groups ||= approvable_models.to_h { |model| [ model.name, exposed_options_for(model) ] } .reject { |_name, options| options.empty? } end - # A model armed with `has_approvals` but no `exposes_for_approval` block - # has nothing a rule may read, so it is left out entirely rather than - # offered as an empty group. + # Nothing exposed means nothing a rule can read, so omit it entirely. def exposed_options_for(model) model.approval_exposure.attributes.values.map do |attribute| [ "#{attribute.name} (#{attribute.type})", attribute.name.to_s ] end end - # Event names the engine itself emits, plus the ones rules already use, so - # a domain event someone triggers by hand is offered too. It's a datalist, - # not a select: any string is still allowed. + # Conventional names plus ones already in use. A datalist, not a select — + # any string is still allowed. def known_event_names @known_event_names ||= begin conventional = approvable_models.flat_map do |model| @@ -51,11 +43,9 @@ def known_event_names end end - # Declared types, so a value typed into a text field is stored as the type - # the payload will carry. `amount > "10000"` compares a number to a string - # and quietly never matches; this is what stops that. Scoped to the model - # the event belongs to ("invoice.created" -> Invoice), falling back to - # every exposed attribute for a hand-named domain event. + # So a typed value is stored as the type the payload carries — otherwise + # `amount > "10000"` compares a number to a string and never matches. + # Scoped by event prefix, falling back to every exposed attribute. def attribute_types(event_name) element = event_name.to_s.split(".").first models = approvable_models.select { |model| model.model_name.element == element } @@ -63,9 +53,8 @@ def attribute_types(event_name) models.reverse.reduce({}) { |types, model| types.merge(model.approval_exposure.attributes.transform_values(&:type)) } end - # The registry only knows classes Rails has actually loaded, and in - # development it loads them on demand — a cold-booted admin would offer an - # empty field list. Eager loading once is the price of an honest one. + # In development classes load on demand, so a cold-booted admin would + # offer an empty field list. Eager loading once is the price. def approvable_models @approvable_models ||= begin Rails.application.eager_load! unless Rails.application.config.eager_load diff --git a/app/controllers/approval_engine/admin/trigger_rules_controller.rb b/app/controllers/approval_engine/admin/trigger_rules_controller.rb index 0185bc7..65e4e44 100644 --- a/app/controllers/approval_engine/admin/trigger_rules_controller.rb +++ b/app/controllers/approval_engine/admin/trigger_rules_controller.rb @@ -1,23 +1,19 @@ module ApprovalEngine module Admin - # Runtime CRUD for the routing rules — the claim the README makes, made - # true: which template an event picks, under what condition, is data an - # admin edits, not code someone deploys. + # Runtime CRUD for routing rules: which template an event picks, and under + # what condition, is data an admin edits rather than code someone deploys. class TriggerRulesController < BaseController PAGE_LIMIT = 100 - # How many empty condition rows the form offers. "Add another condition" - # without JavaScript is just a few spare rows; blank ones are dropped. + # "Add another condition" without JavaScript is just spare rows. BLANK_CONDITION_ROWS = 3 - # A condition is an AST an admin types; a jsonb column will accept a novel - # of one. Cap it so a pasted mistake can't slow every event down. + # jsonb will accept a novel; cap it so a paste can't slow every event. MAX_CONDITION_BYTES = 8_192 before_action :set_track_template, except: :index before_action :set_trigger_rule, only: %i[edit update destroy] def index - # event_name asc, priority desc — the order the evaluator resolves them - # in, so the list reads the way the engine decides. + # The order the evaluator resolves them in. @tenant_id = params[:tenant_id].presence scope = TriggerRule.includes(:track_template).order(:event_name).by_priority scope = scope.for_tenant(@tenant_id) if @tenant_id @@ -59,12 +55,10 @@ def update end def destroy - # An Approval keeps the rule that routed it as provenance, on a foreign - # key declared `on_delete: :nullify` — so destroying a rule does not - # error, it quietly erases "which rule started this?" from every - # approval it ever spawned. Deactivating stops it matching anything new - # and keeps the history, which is the same trade the template's delete - # guard makes and the same one `FlowDefinition#reconcile_rules!` makes. + # The provenance FK is `on_delete: :nullify`, so deleting a rule + # silently erases which rule routed every approval it spawned. + # Deactivating keeps the history — as the template guard and + # FlowDefinition#reconcile_rules! both do. if routed_approvals? redirect_to admin_track_template_path(@track_template), alert: "This rule has already routed approvals. Untick Active instead — " \ @@ -89,9 +83,7 @@ def routed_approvals? Approval.where(approval_engine_trigger_rule_id: @trigger_rule.id).exists? end - # Tolerant of a missing `trigger_rule` key because `new` and `edit` render - # the same condition editor as `create` and `update`, and read the mode - # back out of it. + # Tolerant of a missing key: `new`/`edit` render the same editor. def trigger_rule_params @trigger_rule_params ||= params.fetch(:trigger_rule, ActionController::Parameters.new) .permit(:tenant_id, :event_name, :priority, :active, @@ -99,8 +91,8 @@ def trigger_rule_params conditions: [ :field, :operator, :value ]) end - # The condition is assembled, never mass-assigned: the form submits either - # triples or raw JSON, and neither is the column's value. + # Assembled, never mass-assigned — the form submits triples or raw JSON, + # and neither is the column's value. def rule_attributes trigger_rule_params.except(:condition_mode, :condition_json, :conditions) end @@ -109,9 +101,8 @@ def advanced_mode? trigger_rule_params[:condition_mode] == "advanced" end - # Whatever the form submitted, rendered down to the AST the column stores. - # Returns nil with `@condition_error` set when the input can't be read, so - # the action re-renders the form instead of blowing up on the admin. + # nil with `@condition_error` set when unreadable, so the action + # re-renders the form rather than blowing up on the admin. def submitted_condition advanced_mode? ? parsed_raw_condition : built_condition end @@ -121,10 +112,8 @@ def parsed_raw_condition raise ArgumentError, "is too large (max #{MAX_CONDITION_BYTES} bytes)" if json.bytesize > MAX_CONDITION_BYTES parsed = JSON.parse(json) - # A jsonb column will happily store an array or a bare number, and JSON - # Logic evaluates a non-object as a literal — a rule like that matches - # *every* event of its name. Reject it here rather than ship a rule that - # silently routes everything. + # JSON Logic evaluates a non-object as a literal, so an array or bare + # number would match *every* event of its name. raise ArgumentError, %(must be a JSON Logic object, e.g. {">": [{"var": "amount"}, 10000]}) unless parsed.is_a?(Hash) parsed @@ -145,20 +134,18 @@ def built_condition end ApprovalEngine::Condition.to_json_logic(conditions) rescue ArgumentError => e - # Condition raises for a blank field, an unknown operator, or no rows. + # Condition raises for a blank field, bad operator, or no rows. @condition_error = e.message nil end - # Blank rows are how the form offers "add another condition" with no - # JavaScript, so they're dropped rather than validated. + # Blank rows are the JavaScript-free "add another", so drop them. def submitted_condition_rows Array(trigger_rule_params[:conditions]).reject { |row| row[:field].blank? } end - # What the editor renders. A stored AST the simple form can't represent - # comes back from `Condition.parse` as nil — that is the signal to open in - # the raw editor rather than silently mangle a rule someone hand-wrote. + # `Condition.parse` returns nil for an AST the simple form can't hold — + # the signal to open the raw editor rather than mangle a hand-written rule. def prepare_condition_editor stored = @trigger_rule.condition parsed = ApprovalEngine::Condition.parse(stored) diff --git a/app/helpers/approval_engine/admin/base_helper.rb b/app/helpers/approval_engine/admin/base_helper.rb index b845da7..5c81863 100644 --- a/app/helpers/approval_engine/admin/base_helper.rb +++ b/app/helpers/approval_engine/admin/base_helper.rb @@ -1,18 +1,15 @@ module ApprovalEngine module Admin - # View-side vocabulary for the rule and step editors. It lives here rather - # than on the models because every method is about how a value *reads in a - # form*, which is a concern of this admin and of nothing else in the engine. + # View-side vocabulary for the rule and step editors — how a value reads in + # a form, which concerns this admin and nothing else in the engine. module BaseHelper - # A list round-trips through the form as a comma-separated string, which - # is exactly what Condition reads back for `in` / `not in`. + # A list round-trips as a comma-separated string, as Condition reads it. def condition_value_for_form(condition) condition.list? ? Array(condition.value).join(", ") : condition.value.to_s end - # A one-line, human reading of a rule's condition for the index table. A - # condition the simple form can't represent has no short honest summary, - # so it says so rather than printing a misleading half of the AST. + # A one-line reading for the index. What the simple form can't represent + # has no honest summary, so say so rather than print half the AST. def condition_summary(rule) parsed = ApprovalEngine::Condition.parse(rule.condition) return "Custom JSON Logic" if parsed.nil? @@ -22,10 +19,8 @@ def condition_summary(rule) end.join(" and ") end - # The field dropdown's groups, plus — when the rule already names an - # attribute nobody exposes — a group saying so. An unexposed var reads as - # a clean non-match, i.e. a rule that silently never fires, so the form - # surfaces it instead of dropping the admin's field on save. + # Plus a group for an attribute nobody exposes, when the rule names one: + # that reads as a clean non-match, so surface it rather than drop it. def field_groups_including(field) groups = exposed_attribute_groups return groups if field.blank? || groups.any? { |_model, options| options.any? { |_label, value| value == field.to_s } } @@ -33,9 +28,7 @@ def field_groups_including(field) [ [ "Not exposed — this rule can never match", [ [ field.to_s, field.to_s ] ] ] ] + groups.to_a end - # Spelled out because "any" and "all" are the two people guess wrong: they - # are about how many of the layer's approvers must act, not how many - # layers run. + # "any" and "all" are about the layer's approvers, not how many layers. def consensus_hint "any = one approver is enough · all = every approver · majority · a percentage like 60% · a count like 2" end diff --git a/app/jobs/approval_engine/reminder_sweep_job.rb b/app/jobs/approval_engine/reminder_sweep_job.rb index 43a6c0d..19792fd 100644 --- a/app/jobs/approval_engine/reminder_sweep_job.rb +++ b/app/jobs/approval_engine/reminder_sweep_job.rb @@ -1,16 +1,12 @@ module ApprovalEngine - # Periodic nudge for approvers who have gone quiet: fires the reminder signal - # for every pending step that has been waiting longer than - # `config.reminder_after`. Schedule it with whatever recurring mechanism you - # already run (solid_queue recurring tasks, sidekiq-cron, the `whenever` gem, - # a Kubernetes CronJob hitting a rake task, ...): + # Nudges approvers who have gone quiet longer than `config.reminder_after`. + # Schedule it with whatever recurring mechanism you already run: # # ApprovalEngine::ReminderSweepJob.perform_later # all tenants # ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) # - # Idempotent: each step is nudged at most once, so running it hourly only makes - # the nudge arrive sooner — it never mails the same person twice. A no-op until - # `config.reminder_after` is set, so scheduling it early is harmless. + # Each step is nudged at most once, and it is a no-op until `reminder_after` + # is set, so running it often and scheduling it early are both harmless. class ReminderSweepJob < ApplicationJob queue_as { ApprovalEngine.config.outbox_queue } diff --git a/app/mailers/approval_engine/notification_mailer.rb b/app/mailers/approval_engine/notification_mailer.rb index 3141f10..06a8977 100644 --- a/app/mailers/approval_engine/notification_mailer.rb +++ b/app/mailers/approval_engine/notification_mailer.rb @@ -1,37 +1,27 @@ module ApprovalEngine - # The engine's built-in notifications: the approver-facing half of the system - # that a host otherwise has to write from scratch. + # The built-in notifications. Dispatched by Notifier from inside + # ProcessOutboxJob, never a model callback, so a message is only built for + # state that has already committed. # - # Dispatched by Notifier from inside ProcessOutboxJob, never from a model - # callback — so a message is only ever built for state that has already - # committed, and a down SMTP server can't reach back into an approval. + # Every action takes an explicit `to:` and assigns only Strings and Integers, + # so no view calls a method on a host record — that is what makes these + # templates work for any application. # - # Every action takes an explicit `to:` (the notifier owns recipient resolution) - # and assigns nothing but plain Strings and Integers, so no view ever calls a - # method on a host record. That is what keeps these templates usable by any - # application, whatever its models happen to be called. - # - # To restyle one message, drop your own copy at - # app/views/approval_engine/notification_mailer/.html.erb — your app's - # view path is searched before the engine's. Override *both* formats of an - # action together: Action Mailer takes an action's templates from the first - # view path that has any of them, so a lone .html.erb in your app silences the - # engine's .text.erb and leaves you with a single-part message. To replace one - # wholesale instead, subclass this and point `config.mailer_class` at it. + # To restyle one, drop your own copy at + # app/views/approval_engine/notification_mailer/.html.erb. Override + # *both* formats together: Action Mailer takes an action's templates from the + # first view path holding any of them, so a lone .html.erb silences the + # engine's .text.erb. To replace one wholesale, subclass and point + # `config.mailer_class` at it. class NotificationMailer < ApprovalEngine.config.parent_mailer.constantize - # Only impose our own layout when we aren't inheriting the host's mailer — if - # they pointed `parent_mailer` at their ApplicationMailer, their layout and - # their `default from:` are the whole point of doing so. + # Only impose our layout when not inheriting the host's mailer — their + # layout and sender are the whole point of setting `parent_mailer`. layout "approval_engine/mailer" if superclass == ActionMailer::Base - # Action Mailer resolves templates from `self.class.mailer_name`, which for a - # subclass is the subclass's own path. Without this, the documented - # `config.mailer_class` route — subclass this, override one action — raises - # ActionView::MissingTemplate for that action *and* for the five inherited - # ones, because they would all look under `app/views//`. - # Pinning the path here means a subclass inherits the engine's views and - # overrides only what it actually rewrites. A host that wants its own - # templates still gets them: its view path is searched first. + # Action Mailer resolves templates from `self.class.mailer_name`, so without + # this a subclass looks under its own path and every action raises + # MissingTemplate. Pinned here, a subclass inherits the engine's views; a + # host's own still win, because its view path is searched first. default template_path: "approval_engine/notification_mailer" def step_activated(step, to:) @@ -41,8 +31,7 @@ def step_activated(step, to:) def step_reminder(step, to:) assign_step(step) - # Rounded to whole hours because "it has been sitting for two days" is the - # point of a nudge; the arithmetic is not. + # Whole hours: "sitting for two days" is the point, not the arithmetic. @waiting_hours = (step.waiting_for / 3600.0).round if step.waiting_for notification_mail(to: to) end @@ -84,10 +73,8 @@ def assign_approval(approval) @url = ApprovalEngine.config.approval_url(approval) end - # One funnel for all six. `from` is only set when the host configured one, so - # inheriting their mailer keeps whatever sender they already standardised on; - # the subject lives in the locale file, where they can rewrite it without - # touching the engine. + # One funnel for all six. `from` is set only when configured, so inheriting + # the host's mailer keeps their sender; subjects live in the locale file. def notification_mail(to:) headers = { to: to, subject: default_i18n_subject(target: @target_label) } headers[:from] = ApprovalEngine.config.mailer_from if ApprovalEngine.config.mailer_from.present? diff --git a/app/models/approval_engine/step.rb b/app/models/approval_engine/step.rb index fe17ddd..1ec413f 100644 --- a/app/models/approval_engine/step.rb +++ b/app/models/approval_engine/step.rb @@ -36,13 +36,9 @@ class Step < ApplicationRecord before_update :guard_immutable_transition before_save :stamp_timing - # A step becoming actionable is the one ledger event the outbox never - # carried, so nothing downstream could tell an approver they had work - # waiting. Fires on build (created straight into `pending`) and on - # waiting->pending activation — the same two moments `stamp_timing` covers. - # Split across the two callbacks rather than one `after_save`, because - # `status` defaults to "pending" in the database: a step built as pending - # records no *change* to compare against, so create has to be its own case. + # A step becoming actionable was the one ledger event the outbox never + # carried. Two callbacks rather than one `after_save`: `status` defaults to + # "pending" in the database, so a step built pending records no change. after_create :emit_activation, if: :pending? after_update :emit_activation, if: -> { saved_change_to_status? && pending? } @@ -57,10 +53,8 @@ class Step < ApplicationRecord scope :overdue, ->(as_of = Time.current) { pending.where(timed_out_at: nil).where.not(timeout_at: nil).where("timeout_at <= ?", as_of) } - # Pending steps that have sat unanswered longer than `after` seconds and - # haven't been nudged yet — the set the reminder sweep acts on. Each step is - # nudged at most once, so a sweep that runs every minute is as safe as one - # that runs nightly. + # What the reminder sweep acts on. Each step is nudged at most once, so a + # minutely sweep is as safe as a nightly one. scope :remindable, ->(after:, as_of: Time.current) { pending.where(reminded_at: nil).where.not(activated_at: nil).where("activated_at <= ?", as_of - after) } @@ -153,9 +147,8 @@ def time_out! self end - # A nudge, not a verdict. Nothing about the step's authority changes — the - # only write is the stamp that stops it being nudged again. Like time_out!, - # it fires at most once and is idempotent under concurrent sweeps. + # A nudge, not a verdict: the only write is the stamp that stops it + # repeating. Idempotent under concurrent sweeps, like time_out!. def remind! track.approval.with_lock do reload @@ -200,9 +193,8 @@ def reassign!(to:, by: nil, comment: nil) end record_audit(event: "reassigned", by: by, comment: comment) - # Clearing the nudge stamp restarts the reminder clock for whoever now - # holds the step. Keeping it would mean the person who was handed a - # stalled approval is the one person the sweep never reminds. + # Restart the reminder clock: otherwise whoever is handed a stalled + # approval is the one person the sweep never reminds. update!(assigned_actor: to, reminded_at: nil) emit_outbox("step.reassigned") end @@ -227,11 +219,9 @@ def self.sweep_timeouts!(tenant_id: nil) swept end - # Nudge every step that has gone quiet for longer than - # `config.reminder_after`. A no-op while that is nil, so scheduling the sweep - # before configuring the threshold is harmless. Returns the number nudged. - # One step raising is logged and skipped so it can't starve the batch, - # exactly like the timeout sweep. ReminderSweepJob wraps this. + # Nudge every step quiet longer than `config.reminder_after`; a no-op while + # that is nil. Returns the number nudged. + # One step raising is skipped, not fatal — as the timeout sweep. def self.sweep_reminders!(tenant_id: nil, after: ApprovalEngine.config.reminder_after) return 0 if after.blank? diff --git a/app/services/approval_engine/flow_definition.rb b/app/services/approval_engine/flow_definition.rb index 488d53d..eb50244 100644 --- a/app/services/approval_engine/flow_definition.rb +++ b/app/services/approval_engine/flow_definition.rb @@ -1,45 +1,29 @@ require "digest" module ApprovalEngine - # The declarative flow builder behind `ApprovalEngine.define_flow`. It - # reconciles a block of `on` / `step` / `parallel` declarations into the same - # TrackTemplate / TemplateStep / TriggerRule rows an admin would author by - # hand, so nothing downstream — ApprovalBuilder, the dashboard, the rule - # builder — can tell a seeded flow from a hand-built one. + # The declarative flow builder behind `ApprovalEngine.define_flow`. Reconciles + # a block of `on` / `step` / `parallel` declarations into ordinary + # TrackTemplate / TemplateStep / TriggerRule rows. # - # Everything it can catch, it catches at definition time. This is setup code a - # developer runs at deploy, so a typo should stop the seed with a sentence - # explaining itself — the exact opposite of runtime rule evaluation, which - # deliberately fails closed and silent so a bad rule can't 500 a host request. - # - # Re-running is safe. The flow is keyed on (tenant_id, name); steps are matched - # by name and updated in place so the ids an admin UI links to survive; and a - # rule the block stopped declaring is *deactivated*, never destroyed. - # - # An approval already in flight is untouched by any of that. ApprovalBuilder - # copies a template step's name/layer/consensus/timeout onto the ledger when it - # stamps the approval, and IterationBuilder clones a rework iteration from - # those ledger rows rather than from the template — so a running approval holds - # no live reference to anything this class rewrites, and finishes with the - # steps it started with. + # Keyed on (tenant_id, name), so re-running is safe. Fails loudly at definition + # time — this is deploy-time setup code, unlike runtime rule evaluation, which + # fails closed and silent. In-flight approvals are never affected: + # ApprovalBuilder copies template facts onto the ledger rather than holding a + # reference to them. class FlowDefinition class DefinitionError < ApprovalEngine::Error; end - # A rule needs a condition — TriggerRule validates its presence and {} is - # blank — so "route this event unconditionally" is spelled as a tautology. + # TriggerRule requires a condition, so "always" is spelled as a tautology. ALWAYS = { "==" => [ 1, 1 ] }.freeze - # The options `on` understands. Listed rather than taken as keywords because - # `when` is a Ruby keyword: `def on(event, when: nil)` parses but the value - # is unreachable as a local. + # Listed rather than taken as keywords: `when` is a Ruby keyword, so + # `def on(event, when: nil)` parses but the value is unreachable. RULE_OPTIONS = %i[when priority active].freeze - # Repeated verbatim from TemplateStep's validation so the same mistake reads - # the same wherever it surfaces. + # Verbatim from TemplateStep's validation, so the message never diverges. CONSENSUS_HINT = "must be :any, :all, :majority, a percentage like \"60%\", or a positive integer".freeze - # Named for what they are, not `Step`/`Rule`, so nothing in this file can - # accidentally read as the ledger's ApprovalEngine::Step. + # Not `Step`/`Rule`: nothing here should read as the ledger's Step. DeclaredStep = Struct.new(:name, :group, :layer, :approvals_required, :timeout_after, keyword_init: true) DeclaredRule = Struct.new(:event_name, :condition, :priority, :active, keyword_init: true) @@ -49,8 +33,8 @@ def self.run(name:, tenant:, model:, status:, timeout_after:, &block) definition.commit! end - # The same coercion `Approvable#approval_tenant_id` does, plus `.to_s` - # because `tenant_id` is a string column the reconciler compares in Ruby. + # As `Approvable#approval_tenant_id`, plus `.to_s` — tenant_id is a string + # column the reconciler compares in Ruby. def self.tenant_id_for(tenant) tenant.respond_to?(:id) ? tenant.id.to_s : tenant.to_s end @@ -73,9 +57,8 @@ def initialize(name:, tenant:, model:, status:, timeout_after:) # --- block DSL ------------------------------------------------------- - # One layer of approval. `group` is the name handed to the host's - # `resolve_approval_group(group_name, target)`; the engine expands it into - # one step per actor that returns. + # One layer. `group` goes to the host's `resolve_approval_group`, which the + # engine expands into one step per actor returned. def step(name, group:, approvals_required: nil, timeout_after: nil) if @open_layer && approvals_required raise DefinitionError, @@ -98,18 +81,14 @@ def step(name, group:, approvals_required: nil, timeout_after: nil) ) end - # Steps that run at the same time, as one layer of the track. + # Steps that open together, as one layer. # - # The consensus policy is declared here and never on the steps inside, - # because `Track#tally_for` reads a single spec for the whole layer and - # counts every actor in it — per-step specs would silently let whichever row - # came first decide for the others. - # - # The default is `:all`, not the engine's `:any`: "Legal and IT review at the - # same time" means both. Note the count is flat across the layer, so `:all` - # over a 3-person Legal group and a 2-person IT group needs all five. "One - # from each group" is a different shape — parallel *tracks*, which is - # `run_approval!(templates: [...])`, not a layer. + # Consensus belongs on the block, never the steps inside: `Track#tally_for` + # reads one spec per layer and counts every actor in it. That also makes the + # count flat across the layer — `:all` over a 3-person and a 2-person group + # needs all five. "One from each group" is parallel *tracks* instead: + # `run_approval!(templates: [...])`. Defaults to `:all`, not the engine's + # `:any`, because "Legal and IT review" means both. def parallel(approvals_required: :all, &block) raise DefinitionError, "parallel needs a block of steps." unless block raise DefinitionError, "parallel blocks can't be nested." if @open_layer @@ -135,14 +114,10 @@ def parallel(approvals_required: :all, &block) guard_absolute_count_across_groups!(approvals_required, declared_here) end - # An absolute count reads as "flat across the layer", which is how - # `Track#tally_for` counts at runtime — but `ApprovalBuilder#guard_consensus!` - # validates the same count against each template step's *own* actor list - # before an approval is stamped. So `parallel(approvals_required: 2)` over - # two one-person groups looks resolvable, and then every approval raises - # BuilderError at build time instead. Rather than write a template that only - # fails later, and far from here, refuse it now: a relative spec expresses - # the same intent and is satisfiable however the groups resolve. + # A count reads as flat across the layer, but ApprovalBuilder validates it + # against each group's own members — so `parallel(approvals_required: 2)` + # over two one-person groups raises at every build. Refuse it here instead of + # writing a template that only fails later. def guard_absolute_count_across_groups!(spec, step_count) return unless step_count > 1 return unless /\A\d+\z/.match?(spec.to_s) @@ -154,11 +129,8 @@ def guard_absolute_count_across_groups!(spec, step_count) "#{spec} people. Use :all, :any, :majority or a percentage, which hold however the groups resolve." end - # A rule that routes an event to this flow. `event` is either a literal event - # name ("invoice.created") or a lifecycle symbol resolved through the model, - # which is how a rule and the engine stay reading from one source. Options - # are `when:`, `priority:` and `active:`; `when:` omitted means "always". - # May be called more than once — a template can carry several rules. + # A rule routing an event to this flow. `event` is an event name or a + # lifecycle symbol resolved through the model. May be called more than once. def on(event, **options) unknown = options.keys - RULE_OPTIONS if unknown.any? @@ -199,22 +171,17 @@ def commit! private - # Two deploys can run db/seeds.rb at the same time. Without this, the - # find-or-create in upsert_template! races into two templates with the same - # name. Scoped to this one flow so unrelated flows never contend, and - # released when the transaction ends. + # Two concurrent deploys both running db/seeds.rb would race + # upsert_template! into duplicate templates. Scoped per flow. def lock! key = Digest::SHA256.digest("approval_engine.flow:#{@tenant_id}:#{@name}").unpack1("q>") - # The key is coerced to an Integer immediately before interpolation, which - # is what makes this provably injection-free; the tenant and the name never - # reach the SQL themselves. `execute` rather than `select_value` because - # the function returns void, which has no ActiveRecord type to decode. + # Injection-free: the key is an Integer, and neither tenant nor name + # reaches the SQL. `execute` because the function returns void. ActiveRecord::Base.connection.execute("SELECT pg_advisory_xact_lock(#{key.to_i})") end - # There is no unique index on (tenant_id, name) — an existing install may - # already hold duplicates, so adding one could break a production migrate — - # which means the invariant is enforced here, and refuses to guess. + # No unique index on (tenant_id, name): an existing install may already hold + # duplicates, so adding one could break a production migrate. def upsert_template! matches = TrackTemplate.for_tenant(@tenant_id).where(name: @name).order(:created_at).to_a @@ -230,14 +197,12 @@ def upsert_template! template end - # Steps are matched by name and updated in place, so re-running a seed keeps - # the ids an admin UI links to. Nothing outside the template points at a - # template step — ApprovalBuilder copies its facts onto the ledger when an - # approval is built — so rewriting them can never disturb an approval already - # in flight. Renaming a step therefore reads as a remove plus an add. + # Matched by name and updated in place, so ids an admin UI links to survive. + # Nothing outside the template references a template step, so rewriting these + # cannot disturb an in-flight approval. A rename reads as remove plus add. def reconcile_steps!(template) - # group_by, not index_by: a hand-built template can hold two steps with the - # same name, and index_by would keep the last and strand the other forever. + # group_by, not index_by: duplicate names are possible in a hand-built + # template, and index_by would strand all but the last. existing = template.template_steps.group_by(&:name) @declared_steps.each do |declared| @@ -257,16 +222,11 @@ def reconcile_steps!(template) template.template_steps.reset end - # Rules are updated and deactivated, never destroyed. An Approval keeps the - # rule that routed it as provenance, on a foreign key declared - # `on_delete: :nullify` — so destroying a rule would not error, it would - # quietly erase "which rule started this?" from every approval it ever - # spawned. Deactivating stops it routing anything new, which is what dropping - # an `on` from a flow actually means. - # - # Asymmetric with steps on purpose: a template with no steps is always a bug, - # but a flow whose steps live in code and whose routing an admin owns in the - # UI is a legitimate shape, so a block with no `on` leaves rules alone. + # Deactivated, never destroyed: the provenance FK is `on_delete: :nullify`, + # so deleting a rule would silently erase which rule routed every approval it + # ever spawned. Asymmetric with steps on purpose — a template with no steps + # is a bug, but code-owned steps with admin-owned routing is legitimate, so a + # block with no `on` leaves rules alone. def reconcile_rules!(template) return if @declared_rules.empty? @@ -323,8 +283,7 @@ def resolve_event_name(event) end end - # Condition.from raises ArgumentError for its own vocabulary problems; wrap - # them so a caller only ever has to rescue one error class. + # Wrap Condition.from's ArgumentError so callers rescue one error class. def compile_condition(event_name, clause) return ALWAYS if clause.blank? @@ -335,10 +294,8 @@ def compile_condition(event_name, clause) raise DefinitionError, "flow #{@name.inspect}: the when: for #{event_name.inspect} is invalid — #{e.message}." end - # Cast a `when:` value the same way the payload will be coerced, so a rule - # can never compare a number against a string and quietly never match. The - # default is :raw so a field the model doesn't declare passes through with - # whatever Ruby type the caller wrote. + # Cast as the payload will be, so a rule never compares a number to a string + # and silently never matches. def condition_types return Hash.new(:raw) unless @model.respond_to?(:approval_exposure) @@ -347,9 +304,8 @@ def condition_types end end - # Every attribute name a condition reads, however deeply nested. Condition's - # own `parse` can't serve here: it returns nil for an `or` or a nested `and`, - # and hand-written raw JSON Logic is exactly where the typo lives. + # Every attribute a condition reads. Condition.parse can't serve: it returns + # nil for an `or`, which is exactly where a typo hides. def condition_vars(node) case node when Hash then node.key?("var") ? Array(var_name(node["var"])) : node.values.flat_map { |value| condition_vars(value) } @@ -358,12 +314,9 @@ def condition_vars(node) end end - # JSON Logic's `var` operand is not always a bare attribute name. It is also - # written `["amount", 0]` to supply a default, and `"line_item.total"` to - # walk into nested data — both of which the evaluator implements. Comparing - # either form verbatim against the exposure list rejected a rule that works, - # and blamed an attribute name nobody had written. An empty operand means - # "the whole payload", which reads nothing in particular, so it is skipped. + # `var` is also written `["amount", 0]` for a default and `"a.b"` for nested + # data. Comparing either verbatim rejected valid rules. An empty operand + # means the whole payload, so it names nothing. def var_name(operand) key = Array(operand).first.to_s return nil if key.empty? @@ -377,9 +330,8 @@ def integer_priority(value) raise DefinitionError, "on: priority must be an integer, got #{value.inspect}." end - # Durations and plain second counts both land as an Integer of seconds, which - # is what the column holds. A zero or negative deadline would expire the step - # the moment it opened, so it is rejected rather than stored. + # Durations and plain counts both land as Integer seconds. A non-positive + # deadline would expire the step as it opened, so it is rejected. def seconds(value, label) return nil if value.nil? @@ -433,8 +385,8 @@ def guard_group!(step_name, group) "in config.approval_groups (#{known.join(", ")})." end - # Validate with Consensus, the same predicate the model and the Postgres - # check constraint use, so the DSL can never invent a second spelling. + # Consensus is what the model and the check constraint use, so the DSL + # cannot invent a second spelling. def guard_consensus!(subject, spec) return if Consensus.valid?(spec) @@ -456,9 +408,8 @@ def guard_unique_step_names! "Step names identify a step across re-runs, so they have to be unique within a flow." end - # The same check ApprovalBuilder makes at build time, brought forward: a - # missing resolver is a certainty rather than a possibility, so there is no - # reason to make the first approval discover it. + # ApprovalBuilder's check, brought forward — a missing resolver is certain, + # not possible, so the first approval shouldn't be the one to find out. def guard_actor_class! klass = begin ApprovalEngine.config.actor_class_constant @@ -473,9 +424,8 @@ def guard_actor_class! raise DefinitionError, "#{klass} must define `self.resolve_approval_group(group_name, target)`." end - # A JSON Logic var that names nothing the model exposes reads as a clean - # non-match, so the rule just silently never fires. That is the right runtime - # behaviour and the wrong thing to discover in production. + # An unexposed var is a clean non-match at runtime, so the rule silently + # never fires — right behaviour, wrong thing to discover in production. def guard_exposed_attributes!(event_name, condition) return unless @model.respond_to?(:approval_exposure) @@ -489,8 +439,7 @@ def guard_exposed_attributes!(event_name, condition) "fix the name — an unexposed var reads as a clean non-match, so the rule would never fire." end - # on(:create) asks for auto-routing, so say so when the model isn't armed for - # it. Not fatal: plenty of hosts fire run_approval!(event:) themselves. + # Not fatal: plenty of hosts fire run_approval!(event:) themselves. def warn_unrouted_lifecycle(event) return unless event.is_a?(Symbol) return unless @model.respond_to?(:approval_trigger_events) diff --git a/app/services/approval_engine/notifier.rb b/app/services/approval_engine/notifier.rb index 6342849..5c42ed8 100644 --- a/app/services/approval_engine/notifier.rb +++ b/app/services/approval_engine/notifier.rb @@ -1,16 +1,11 @@ module ApprovalEngine - # Turns one relayed outbox event into one piece of mail. It is the only place - # that knows which event produces which notification, who receives it, and - # whether it is switched on at all. - # - # Nothing here sends anything until the host sets - # `config.notifications_enabled = true` — an upgrade from a version without - # notifications must never start mailing real people on its own. + # Turns one relayed outbox event into one piece of mail — the only place that + # knows which event produces which notification, who gets it, and whether it + # is on at all. Sends nothing until `config.notifications_enabled` is true. class Notifier - # Outbox event name => notification. The three step notifications go to the - # actor the engine already knows (the assignee); the three approval-level - # ones go wherever `config.approval_recipients` says, because the engine - # knows who approves but not who asked. + # Step notifications go to the assignee the engine already knows; the + # approval-level ones go wherever `config.approval_recipients` says, + # because the engine knows who approves but not who asked. EVENTS = { "step.activated" => :step_activated, "step.reminded" => :step_reminder, @@ -53,9 +48,8 @@ def record @event.record end - # Mail is enqueued, not sent, from here: the SMTP round trip belongs in its - # own job so a dead mail server retries the *mail*, never the outbox event - # (which would re-run the host's callbacks alongside it). + # Enqueued, not sent: a dead mail server must retry the *mail*, never the + # outbox event, which would re-run the host's callbacks with it. def enqueue(address) message(address).deliver_later(**delivery_options) end @@ -70,11 +64,9 @@ def message(address) end end - # Action Mailer has nothing to hand the SMTP server without a sender, and the - # resulting failure surfaces deep inside the delivery job, far from the - # missing setting that caused it. Name the fix here, where it is obvious. The - # mail is still enqueued: silently dropping what the host asked for is worse - # than a message their queue will report on. + # Without a sender the failure surfaces deep in the delivery job, far from + # the missing setting. Name it here; still enqueue, because dropping what + # the host asked for is worse than a job their queue reports on. def warn_without_sender return if ApprovalEngine.config.mailer_from.present? return if ApprovalEngine.config.mailer.default_params[:from].present? diff --git a/db/migrate/20260618000001_add_reminded_at_to_steps.rb b/db/migrate/20260618000001_add_reminded_at_to_steps.rb index 0a40ef8..25334cb 100644 --- a/db/migrate/20260618000001_add_reminded_at_to_steps.rb +++ b/db/migrate/20260618000001_add_reminded_at_to_steps.rb @@ -1,16 +1,12 @@ class AddRemindedAtToSteps < ActiveRecord::Migration[7.0] - # When the reminder sweep last nudged this step's assignee — so a nudge fires - # once per step rather than on every sweep. Nullable, with no default and no - # backfill: an existing install picks it up as a metadata-only ALTER, and every - # pre-1.1 code path stays away from the column, so an app that upgrades the gem - # but forgets this migration loses reminders, never approvals. + # When the sweep last nudged this step, so a nudge fires once per step. + # Nullable with no backfill — a metadata-only ALTER, and an app that upgrades + # without running it loses reminders, never approvals. def change add_column :approval_engine_steps, :reminded_at, :datetime - # The reminder sweep's twin of idx_ae_steps_overdue: only un-nudged, still - # pending steps are ever scanned. This builds with a lock, which on a very - # large steps table means writes wait. To avoid that, create it by hand - # first and then run the migration — `if_not_exists` makes it a no-op: + # Builds with a lock, so on a very large table create it by hand first and + # let `if_not_exists` make this a no-op: # # CREATE INDEX CONCURRENTLY idx_ae_steps_remindable # ON approval_engine_steps (activated_at) diff --git a/lib/approval_engine.rb b/lib/approval_engine.rb index b2327ba..1c11dd9 100644 --- a/lib/approval_engine.rb +++ b/lib/approval_engine.rb @@ -13,8 +13,7 @@ module ApprovalEngine # Rails-idiomatic ActiveRecord::RecordInvalid.) class Error < StandardError; end - # Define an approval flow declaratively: the template, its ordered steps, and - # the rules that route to it, in one block. + # Define a flow — template, steps and routing rules — in one block. # # ApprovalEngine.define_flow("High-value invoice", tenant: "acme", model: Invoice) do # on :create, when: { amount: { gt: 10_000 } } @@ -22,42 +21,31 @@ class Error < StandardError; end # step "CFO", group: "cfo" # end # - # It writes ordinary TrackTemplate / TemplateStep / TriggerRule rows, so a flow - # defined here stays editable in the admin UI afterwards — with the caveat that - # the next run of this block re-asserts everything it declares. A flow is keyed - # on (tenant, name); code and the UI cannot half-own one. + # Writes ordinary rows, so the admin UI can still edit them — though the next + # run re-asserts everything the block declares. Keyed on (tenant, name). # - # Re-running reconciles the same rows rather than creating a second flow, so it - # belongs in db/seeds.rb and is safe on every deploy. It is *not* safe in an - # initializer: it opens a transaction and takes an advisory lock, so it needs a - # live connection that `rails db:create` and `assets:precompile` don't have. + # Reconciles rather than inserts, so it belongs in db/seeds.rb and is safe on + # every deploy. Not safe in an initializer: it needs a live connection. # - # This is developer setup code and must never be handed user input — `when:` - # accepts raw JSON Logic and stores it verbatim. The vetted path for - # admin-authored rules is the constrained simple form in ApprovalEngine::Condition. + # Developer setup code — never hand it user input; `when:` stores raw JSON + # Logic verbatim. Admin-authored rules go through Condition's simple form. # - # One flow is one template is one track. Scatter-gather across tracks cannot be - # expressed here because a trigger rule structurally routes to exactly one - # template; that stays `run_approval!(templates: [...])`. - # - # Returns the ApprovalEngine::TrackTemplate. + # One flow is one template is one track; scatter-gather stays + # `run_approval!(templates: [...])`. Returns the TrackTemplate. def self.define_flow(name, tenant: nil, model: nil, status: "active", timeout_after: nil, &block) FlowDefinition.run( name: name, tenant: tenant, model: model, status: status, timeout_after: timeout_after, &block ) end - # The template a define_flow call owns, for handing to run_approval!(templates:) - # when several flows should run as parallel tracks of one approval. Returns nil - # when nothing is defined under that name. + # The template a define_flow call owns, for run_approval!(templates:) when + # several flows run as parallel tracks. nil when nothing is defined. def self.flow(name, tenant:) TrackTemplate.for_tenant(FlowDefinition.tenant_id_for(tenant)).find_by(name: name) end class << self - # Every model that has called `has_approvals`, by name. Names, not - # constants, so the engine never pins a class the development reloader - # will throw away — the same reason `config.actor_class` is a String. + # Names, not constants, so the reloader is never pinned — as actor_class. def register_approvable(model_name) approvable_model_names << model_name.to_s end @@ -66,8 +54,7 @@ def approvable_model_names @approvable_model_names ||= Set.new end - # The registered models, resolved fresh each call. A name that no longer - # resolves (a model deleted since boot) is dropped rather than raising. + # Resolved fresh each call; a name that no longer resolves is dropped. def approvable_models approvable_model_names.filter_map { |model_name| model_name.safe_constantize } end diff --git a/lib/approval_engine/condition.rb b/lib/approval_engine/condition.rb index 1c86e85..06d7c6d 100644 --- a/lib/approval_engine/condition.rb +++ b/lib/approval_engine/condition.rb @@ -1,30 +1,17 @@ module ApprovalEngine - # A single field/operator/value comparison, and the translation layer between - # that triple and the JSON Logic AST stored in `TriggerRule#condition`. + # Translates a field/operator/value triple to and from the JSON Logic AST + # stored in `TriggerRule#condition`. JSON Logic is the right storage format and + # the wrong authoring format — nobody hand-writes an AST in a form field. # - # JSON Logic is the right *storage* format — it is portable, safe to evaluate, - # and expressive enough for the rules people actually write. It is the wrong - # *authoring* format for a human: nobody should have to hand-write - # `{ ">" => [{ "var" => "amount" }, 10_000] }` in a form field or a seed file. - # - # So this class is the seam. It renders the common shapes down to JSON Logic - # and reads them back up, and it is deliberately honest about its limits: a - # condition it cannot represent round-trips as `nil` from `.parse`, which is - # the signal for the admin UI to fall back to a raw-JSON textarea rather than - # silently mangle a rule someone wrote by hand. + # Honest about its limits: anything it cannot represent parses back as `nil`, + # which tells the admin UI to fall back to a raw-JSON editor rather than + # silently mangle a hand-written rule. # # Condition.new(field: "amount", operator: :gt, value: 10_000).to_json_logic # # => { ">" => [{ "var" => "amount" }, 10_000] } - # - # Condition.parse({ ">" => [{ "var" => "amount" }, 10_000] }) - # # => [#] - # - # Condition.parse({ "some" => [...] }) # too complex for the simple form - # # => nil class Condition - # Operators the simple form can express, mapped to their JSON Logic operator. - # `:not_in` has no direct operator — it is `in` wrapped in a negation — so it - # maps to nil and is special-cased on the way in and out. + # `:not_in` is `in` wrapped in a negation, so it maps to nil and is + # special-cased both ways. OPERATORS = { eq: "==", not_eq: "!=", @@ -39,7 +26,7 @@ class Condition # Operators whose value is a list rather than a scalar. LIST_OPERATORS = %i[in not_in].freeze - # Human labels for the operator dropdown, in the order they should appear. + # For the operator dropdown, in display order. LABELS = { eq: "is equal to", not_eq: "is not equal to", @@ -53,11 +40,9 @@ class Condition attr_reader :field, :operator, :value - # `type` mirrors the `exposes_for_approval` attribute types, so a value that - # arrives from an HTML form as the string "10000" is stored as the number - # 10_000 — otherwise JSON Logic would compare a number against a string and - # quietly never match. It defaults to nil, meaning "already the right type, - # leave it alone": code passing a literal 10_000 must not have it stringified. + # `type` mirrors the `exposes_for_approval` types, so form input of "10000" + # is stored as 10_000 — otherwise JSON Logic compares a string to a number + # and never matches. nil means "leave it alone", for values written in code. def initialize(field:, operator:, value:, type: nil) @field = field.to_s @operator = operator.to_sym @@ -88,13 +73,10 @@ def hash end class << self - # Reads a stored JSON Logic AST back into an array of Conditions, so an - # existing rule can be re-opened in the simple form. Returns nil — not an - # empty array — when the AST is anything this class cannot represent, so - # callers can tell "no conditions" from "too complex to show". - # - # Accepts a single comparison or an `and` of comparisons; an `or`, a - # nested `and`, arithmetic, or any unrecognised operator returns nil. + # Reads a stored AST back into Conditions. Returns nil — not [] — when the + # AST is anything this class cannot represent, so callers can tell "no + # conditions" from "too complex to show". Accepts one comparison or an + # `and` of them; anything else is nil. def parse(json_logic) return nil unless json_logic.is_a?(Hash) && json_logic.size == 1 @@ -105,16 +87,13 @@ def parse(json_logic) single ? [ single ] : nil end - # True when `parse` can round-trip this AST — i.e. the simple form can edit - # it without losing anything. + # True when the simple form can edit this AST without losing anything. def simple?(json_logic) !parse(json_logic).nil? end - # Renders one or more Conditions to a single stored AST. Multiple - # conditions are ANDed; that is the only combinator the simple form offers, - # because an OR builder is a materially different (and much larger) UI and - # raw JSON Logic remains available for it. + # Multiple conditions are ANDed — the only combinator the simple form + # offers. An OR builder is a much larger UI; raw JSON Logic covers it. def to_json_logic(conditions) conditions = Array(conditions) raise ArgumentError, "no conditions given" if conditions.empty? @@ -123,16 +102,10 @@ def to_json_logic(conditions) { "and" => conditions.map(&:to_json_logic) } end - # Builds conditions from the DSL's `when:` sugar, so a flow definition can - # say what it means: + # The DSL's `when:` sugar. A bare value means :eq; raw JSON Logic passes + # straight through. `types` maps field to exposure type for casting. # - # when: { amount: { gt: 10_000 } } # when: { amount: { gt: 10_000 }, region: { in: %w[EU UK] } } - # when: { status: "pending" } # bare value means :eq - # when: { ">" => [{ "var" => "amount" }, 1] } # raw JSON Logic, passed through - # - # `types` maps field name to its declared exposure type so values cast the - # same way the payload does. def from(clause, types: {}) raise ArgumentError, "condition can't be blank" if clause.blank? return clause if raw_json_logic?(clause) @@ -156,9 +129,7 @@ def from(clause, types: {}) private - # A clause is already JSON Logic when its first key is an operator we would - # never accept as a field name. This keeps `from` usable as a single door - # for both the sugar and hand-written ASTs. + # Already JSON Logic when its only key is an operator, never a field name. def raw_json_logic?(clause) return false unless clause.is_a?(Hash) && clause.size == 1 @@ -173,7 +144,7 @@ def parse_conjunction(operand) parsed.all? ? parsed : nil end - # One comparison, or a negated `in`. Returns nil for anything else. + # One comparison, or a negated `in`. def parse_comparison(clause) return nil unless clause.is_a?(Hash) && clause.size == 1 @@ -188,10 +159,9 @@ def parse_comparison(clause) return nil unless variable.is_a?(Hash) && variable.keys == [ "var" ] return nil if value.is_a?(Hash) # a comparison against another var is not simple - # JSON Logic overloads `in`: an Array operand is membership, a String - # operand is a substring test. The simple form only speaks membership, - # so a hand-written substring rule is reported as too complex rather - # than being read in and saved back out with different semantics. + # JSON Logic overloads `in`: Array is membership, String is substring. + # The simple form only speaks membership, so a substring rule is too + # complex rather than silently re-saved with different semantics. return nil if symbol == :in && !value.is_a?(Array) new(field: variable["var"], operator: symbol, value: value) @@ -208,7 +178,7 @@ def parse_negation(operand) private - # `:not_in` is stored as a negated `in`, so it borrows `in`'s operator. + # `:not_in` is stored as a negated `in`. def list_base_operator operator == :not_in ? :in : operator end @@ -220,7 +190,7 @@ def cast(raw) end def cast_list(raw) - # A form submits "EU, UK" for a list; code passes an actual array. + # A form submits "EU, UK"; code passes an array. list = raw.is_a?(String) ? raw.split(",").map(&:strip).reject(&:empty?) : Array(raw) list.map { |item| cast_scalar(item) } end diff --git a/lib/approval_engine/configuration.rb b/lib/approval_engine/configuration.rb index 9adddb0..6757ea5 100644 --- a/lib/approval_engine/configuration.rb +++ b/lib/approval_engine/configuration.rb @@ -26,74 +26,57 @@ class Configuration # Flip this to `true` in development/test to surface the error loudly instead. attr_accessor :raise_on_rule_errors - # An optional allowlist of the group names `define_flow` may route to, e.g. - # `%w[manager cfo legal]`. nil — the default — means "no vocabulary - # declared", so nothing is checked and behaviour is unchanged. Set it and a - # `step group:` typo stops the seed instead of resolving zero actors at - # build time. All-or-nothing on purpose: a host whose - # `resolve_approval_group` invents names dynamically should leave it nil. + # Optional allowlist of group names `define_flow` may route to, e.g. + # `%w[manager cfo legal]`. nil (the default) checks nothing. Set it and a + # `step group:` typo stops the seed instead of resolving zero actors later. attr_accessor :approval_groups - # Master switch for the built-in notifications. OFF by default and - # deliberately so: upgrading the gem must never start mailing an adopter's - # real users. Nothing below it has any effect until this is true. + # Master switch. Off by default: upgrading the gem must never start mailing + # real users. Nothing below has any effect until this is true. attr_accessor :notifications_enabled - # Which notifications are live, as symbols. Drop one to silence it without - # writing a mailer: config.notification_events -= [ :step_reassigned ] + # Drop one to silence it: config.notification_events -= [ :step_reassigned ] attr_accessor :notification_events - # The mailer the notifier sends through. Point it at a subclass of - # ApprovalEngine::NotificationMailer to override individual actions wholesale. + # Point at a NotificationMailer subclass to override actions wholesale. attr_accessor :mailer_class - # What NotificationMailer inherits from. Point it at your ApplicationMailer to - # pick up your layout, your `default from:`, and your styling. Read *once*, - # when the mailer class is first loaded, so it belongs in an initializer. + # What NotificationMailer inherits from — point at your ApplicationMailer for + # its layout and sender. Read once at class load, so set it in an initializer. attr_accessor :parent_mailer - # The From address. Leave nil when `parent_mailer` already supplies one; - # otherwise set it, or Action Mailer has no sender to hand the SMTP server. + # From address. Leave nil only when `parent_mailer` already supplies one. attr_accessor :mailer_from - # ActiveJob queue for the mail itself. nil means your app's own mailer queue — - # the engine doesn't force a queue name on you. + # ActiveJob queue for the mail. nil uses your app's own mailer queue. attr_accessor :mailer_queue - # How the engine reads an address off an actor. Whatever this returns blank - # for is skipped, never raised on: an actor without an email is a - # configuration problem, not a reason to fail an approval. + # How to read an address off an actor. A blank result is skipped, never + # raised on — a missing email is not a reason to fail an approval. attr_accessor :actor_email_method - # How an actor, and the record under approval, name themselves in an email. - # nil falls back to something safe and generic, so a host that configures - # nothing still gets readable mail instead of "#". + # How an actor and the record name themselves in mail. nil falls back to + # something readable rather than "#". attr_accessor :actor_label_method attr_accessor :target_label_method - # A callable returning the URL where this approval is acted on, e.g. - # `->(approval) { Rails.application.routes.url_helpers.invoice_url(approval.target) }`. - # The engine can't know your routes, so while this is nil the mail carries no - # link — which is exactly why you want to set it. + # Callable returning where this approval is acted on. While nil the mail + # carries no link, which is why you want to set it: + # `->(a) { Rails.application.routes.url_helpers.invoice_url(a.target) }` attr_accessor :approval_url_builder - # A callable returning the actors an *approval-level* notification goes to - # (approved / rejected / changes requested), e.g. - # `->(approval) { [ approval.target.submitter ] }`. The engine knows who - # approves; only you know who asked. While this is nil, those three are never - # sent. + # Who the approval-level mails (approved / rejected / changes requested) go + # to, e.g. `->(a) { [ a.target.submitter ] }`. The engine knows who approves; + # only you know who asked. While nil, those three are never sent. attr_accessor :approval_recipients - # Seconds a step may sit unanswered before the reminder sweep nudges its - # assignee. nil = reminders off, which is why scheduling ReminderSweepJob - # before configuring this does nothing. + # Seconds a step may sit unanswered before the sweep nudges its assignee. + # nil = reminders off, so scheduling ReminderSweepJob alone does nothing. attr_accessor :reminder_after - # Mounts the built-in template/rule admin — the write half of the dashboard. - # Default false on purpose: 1.0 shipped a read-only dashboard that hosts - # mounted behind whatever auth they had, and a gem upgrade must never turn - # that into a write surface on its own. Turning it on is not authentication: - # wrap the mount in your own authenticated constraint either way. + # Mounts the template/rule admin — the write half of the dashboard. Default + # false: 1.0 shipped a read-only dashboard, and an upgrade must not turn it + # into a write surface. Turning it on is not authentication — wrap the mount. attr_accessor :admin_enabled def initialize @@ -129,9 +112,8 @@ def current_tenant current_tenant_method&.call end - # True when this notification should actually be sent. Both gates matter: the - # master switch keeps an upgrade silent, and the event list lets a host keep - # the layer on while muting one message. + # Both gates matter: the switch keeps an upgrade silent, the list mutes one + # message without turning the layer off. def notification_enabled?(name) notifications_enabled && notification_events.include?(name) end @@ -141,14 +123,12 @@ def mailer mailer_class.to_s.constantize end - # The address to mail an actor at, or nil when there isn't one. `try` means an - # actor that doesn't respond to the method at all is skipped, not raised on. + # `try`, so an actor that doesn't respond is skipped rather than raised on. def actor_email(actor) actor.try(actor_email_method).presence end - # How an actor is addressed in an email. Unlike the dashboard's deliberately - # technical `User#3 (Manager)`, this is read by a human in their inbox. + # Read by a human in an inbox, unlike the dashboard's `User#3 (Manager)`. def actor_label(actor) return "" if actor.nil? @@ -157,8 +137,8 @@ def actor_label(actor) "#{actor.class.name} ##{actor.id}" end - # ActiveRecord doesn't define a human `to_s`, so the fallback is a class-and-id - # shape rather than an object inspection leaking into someone's inbox. + # ActiveRecord has no human `to_s`, so fall back to class-and-id rather than + # leaking an object inspection into someone's inbox. def target_label(target) return "" if target.nil? diff --git a/lib/generators/approval_engine/install/templates/approval_engine.rb b/lib/generators/approval_engine/install/templates/approval_engine.rb index 4f2ecc5..266b2d4 100644 --- a/lib/generators/approval_engine/install/templates/approval_engine.rb +++ b/lib/generators/approval_engine/install/templates/approval_engine.rb @@ -22,19 +22,13 @@ # --------------------------------------------------------------------------- # Notifications (opt-in, OFF by default) # --------------------------------------------------------------------------- - # The engine ships six emails: an approver is told they have work waiting, is - # nudged if they go quiet, and is told when an approval is handed to them; the - # requesting side is told when changes are requested, and when the approval is - # approved or rejected. - # - # This stays false on purpose. Your Step rows are assigned to real people, and - # an upgrade that starts mailing them — a backlog's worth on the first outbox - # drain — is not something you can take back. Turn it on deliberately. + # Six emails: work waiting, a nudge, a handover, changes requested, approved, + # rejected. False on purpose — your Step rows are assigned to real people, and + # an upgrade that starts mailing them is not something you can take back. config.notifications_enabled = false - # Enabling notifications ALSO needs a sender: either set config.mailer_from, - # or point config.parent_mailer at a mailer that already has `default from:`. - # Without one, Action Mailer has nothing to hand the SMTP server. + # Enabling ALSO needs a sender — Action Mailer has nothing to hand the SMTP + # server without one: # # config.mailer_from = "approvals@example.com" # config.parent_mailer = "ApplicationMailer" # adopts your layout + sender @@ -42,50 +36,43 @@ # Which of the six are live. Drop one to silence it: # config.notification_events -= [ :step_reassigned ] # - # Where an approval is acted on. The engine can't know your routes, so until - # you set this the mail carries no link: + # Where an approval is acted on. Until set, the mail carries no link: # config.approval_url_builder = ->(approval) do # Rails.application.routes.url_helpers.invoice_url(approval.target) # end # - # Who hears about an *approval-level* outcome (approved / rejected / changes - # requested). The engine knows who approves; only you know who asked. While - # this is nil, those three notifications are never sent: + # Who hears an approval-level outcome. The engine knows who approves; only you + # know who asked. While nil, those three are never sent: # config.approval_recipients = ->(approval) { [ approval.target.submitter ] } # - # How an actor's address and display name are read, and how the record under - # approval names itself. The label defaults fall back to "Invoice #12": + # How an actor's address and name are read, and how the record names itself. + # Labels fall back to "Invoice #12": # config.actor_email_method = :email # config.actor_label_method = :full_name # config.target_label_method = :reference # - # The mailer itself. Subclass ApprovalEngine::NotificationMailer to take one - # message over completely, or leave it and override the views in - # app/views/approval_engine/notification_mailer/ (override both formats of an - # action together, or the message loses a part): + # Subclass NotificationMailer to take a message over, or override views in + # app/views/approval_engine/notification_mailer/ (both formats together, or + # the message loses a part): # config.mailer_class = "MyApprovalMailer" # config.mailer_queue = :mailers - # How long a step may sit unanswered before ReminderSweepJob nudges its - # assignee, in seconds. nil = reminders off, so scheduling the job before - # setting this does nothing. Each step is nudged at most once. + # Seconds a step may sit before ReminderSweepJob nudges its assignee. nil = + # off, so scheduling the job alone does nothing. Nudged at most once. # config.reminder_after = 2.days.to_i config.reminder_after = nil - # Mounts the built-in admin for templates, steps and routing rules — the - # write half of the dashboard, so admins can change routing without a deploy. - # Off by default: the dashboard is read-only until you opt in, and a gem - # upgrade must never turn a mounted dashboard into a write surface. + # Mounts the admin for templates, steps and rules — the write half of the + # dashboard. Off by default so an upgrade can't turn a read-only mount into a + # write surface. # - # THIS IS NOT AUTHENTICATION. It decides whether the write routes exist at - # all, not who may reach them. Anyone who can reach the mount can change what - # routes where, so wrap the mount in your own authenticated constraint: + # THIS IS NOT AUTHENTICATION. It decides whether the write routes exist, not + # who may reach them, so wrap the mount yourself: # # authenticate :admin_user, ->(u) { u.super_admin? } do # mount ApprovalEngine::Engine => "/approval_engine" # end # - # Routes are drawn once at boot, so set this here (an initializer) and restart - # the server after changing it. + # Routes are drawn at boot, so restart after changing this. config.admin_enabled = false end diff --git a/test/approval_engine/condition_test.rb b/test/approval_engine/condition_test.rb index a61f47a..89d3300 100644 --- a/test/approval_engine/condition_test.rb +++ b/test/approval_engine/condition_test.rb @@ -39,11 +39,9 @@ class ConditionTest < ApprovalEngine::TestCase assert_raises(ArgumentError) { Condition.to_json_logic([]) } end - # --- casting ---------------------------------------------------------------- - # - # Form input arrives as strings. If "10000" were stored verbatim, JSON Logic - # would compare a number against a string and never match — the single most - # likely way for a hand-built rule to silently do nothing. + # --- casting + # ---------------------------------------------------------------- Form + # input arrives as strings. test "casts form strings using the declared exposure type" do assert_equal 10_000, Condition.new(field: "amount", operator: :gt, value: "10000", type: :integer).value @@ -110,10 +108,7 @@ class ConditionTest < ApprovalEngine::TestCase assert Condition.simple?({ ">" => [ { "var" => "amount" }, 10 ] }) end - # JSON Logic overloads `in`. With an Array it is membership; with a String it - # is a substring test. Reading a substring rule into the simple form and - # saving it back would silently turn "contains" into "equals one of" — the - # exact rule-mangling this class exists to prevent. + # JSON Logic overloads `in`. test "a substring in is too complex for the simple form" do substring = { "in" => [ { "var" => "name" }, "Spartacus" ] } @@ -169,10 +164,8 @@ class ConditionTest < ApprovalEngine::TestCase assert_raises(ArgumentError) { Condition.from({ amount: { gt: 1, lt: 2 } }) } end - # --- the contract that actually matters --------------------------------------- - # - # Everything above is shape. This proves the shapes we emit are the shapes the - # evaluator agrees with, against the real JSON Logic implementation. + # --- the contract that actually matters + # --------------------------------------- Everything above is shape. test "every rendered operator evaluates correctly through the real evaluator" do payload = { "amount" => 10_000, "region" => "EU" } diff --git a/test/approval_engine_test.rb b/test/approval_engine_test.rb index 9e5829e..2bd1b5f 100644 --- a/test/approval_engine_test.rb +++ b/test/approval_engine_test.rb @@ -22,7 +22,7 @@ module ApprovalEngine class AdminConfigurationTest < ApprovalEngine::TestCase # The single most important default in this release: 1.0 hosts mounted a # read-only dashboard, and `bundle update` must never hand them a write - # surface. If this ever flips, that is a privilege-escalation regression. + # surface. test "the admin is off by default" do assert_equal false, ApprovalEngine::Configuration.new.admin_enabled end diff --git a/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb index c0eb8f9..5ad82d8 100644 --- a/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb +++ b/test/controllers/approval_engine/admin/trigger_rules_controller_test.rb @@ -189,10 +189,7 @@ def post_rule(condition_params) assert_redirected_to admin_track_template_path(@template) end - # The sibling delete path refuses this, and reconcile_rules! deactivates - # rather than destroys, both because the provenance FK is on_delete: - # :nullify — a hard delete silently blanks "which rule started this?" on - # every approval the rule ever routed. + # The sibling delete path refuses this, and reconcile_rules! test "destroy refuses a rule that has already routed approvals" do create_user(role: :manager) rule = create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1 ] }) diff --git a/test/docs_test.rb b/test/docs_test.rb index 6213c26..89223d1 100644 --- a/test/docs_test.rb +++ b/test/docs_test.rb @@ -1,13 +1,6 @@ require "test_helper" # The documentation is API, and this is the test that treats it as one. -# -# A 1.x whose README's first code block raises NoMethodError is worse than no -# release at all: it is the one error every new reader hits inside a minute, and -# nothing in a normal test suite catches it, because the README is the only place -# that code exists. So everything the README promises about names — config keys, -# class methods, generators, images — is asserted here against what actually -# ships. class DocsTest < ApprovalEngine::TestCase ROOT = ApprovalEngine::Engine.root README = ROOT.join("README.md") @@ -16,9 +9,7 @@ class DocsTest < ApprovalEngine::TestCase RAW_ASSET_PREFIX = "https://raw.githubusercontent.com/Harry-kp/approval_engine/main/".freeze - # `config.key =` and `config.key -=` both name a key. The negative lookahead - # keeps `==` out; `[-+]?` lets `config.notification_events -= [...]` count, - # since dropping one event still asserts the key exists. + # `config.key =` and `config.key -=` both name a key. CONFIG_ASSIGNMENT = /config\.([a-z_]+)\s*[-+]?=(?!=)/ # A commented-out example naming a key we never shipped is the same lie in # slower motion, so comments are scanned too — which the regex above already @@ -58,7 +49,7 @@ class DocsTest < ApprovalEngine::TestCase # assets/ is deliberately not in spec.files, so a relative image path renders # nowhere except github.com — not on rubygems.org, not in a mirror, not in - # `bundle open`. Absolute raw URLs are the only ones that work everywhere. + # `bundle open`. test "every README image is an absolute URL" do each_match(README, MARKDOWN_IMAGE) do |url, line| assert url.start_with?("https://"), diff --git a/test/dummy/db/seeds.rb b/test/dummy/db/seeds.rb index e9a7be4..d51ced7 100644 --- a/test/dummy/db/seeds.rb +++ b/test/dummy/db/seeds.rb @@ -23,8 +23,6 @@ it_lead = User.create!(name: "Ivan Torres", role: "it", email: "ivan@example.com") # One block instead of a template, two steps and a hand-written JSON Logic rule. -# It reconciles rather than inserts, so this is safe on every deploy — the reset -# above is only here to make the demo output deterministic. ApprovalEngine.define_flow "High-value invoice", tenant: TENANT, model: Invoice do on :create, when: { amount: { gt: 1_000 } } step "Manager sign-off", group: "manager" @@ -32,8 +30,7 @@ end # The same idea one size up: Legal and IT review at the same time, and both must -# sign off before it reaches the CFO. This is the shape that is genuinely tedious -# to hand-roll, so the demo should show it. +# sign off before it reaches the CFO. ApprovalEngine.define_flow "Major capital spend", tenant: TENANT, model: Invoice do on :create, when: { amount: { gt: 100_000 } }, priority: 10 step "Manager sign-off", group: "manager" diff --git a/test/gemspec_test.rb b/test/gemspec_test.rb index 3dc69dd..ee69eb4 100644 --- a/test/gemspec_test.rb +++ b/test/gemspec_test.rb @@ -1,13 +1,6 @@ require "test_helper" -# The packaging contract. Two things it protects: -# -# The metadata rubygems.org renders — those sidebar links are most people's -# first navigation into the project, and a wrong or missing one is invisible -# from inside the repository. -# -# And what actually ships. `spec.files` is a glob, and a glob that grows a -# directory grows it permanently, for everyone who ever installs the gem. +# The packaging contract. class GemspecTest < ActiveSupport::TestCase REPO_URL = "https://github.com/Harry-kp/approval_engine".freeze diff --git a/test/integration/admin_routes_test.rb b/test/integration/admin_routes_test.rb index 4f74e33..91f7de0 100644 --- a/test/integration/admin_routes_test.rb +++ b/test/integration/admin_routes_test.rb @@ -1,24 +1,12 @@ require "test_helper" module ApprovalEngine - # The only test that touches global routing state. It proves the false branch - # of config/routes.rb — that the write endpoints do not exist at all for a - # host which never opts in — which nothing else in the suite can reach, - # because the dummy app opts in at boot. + # The only test that touches global routing state. class AdminRoutesTest < ActionDispatch::IntegrationTest include Engine.routes.url_helpers # Redraws the engine's routes with the admin back on, and — the part that # matters — leaves the reloader in a *loaded* state. - # - # `Rails.application.reload_routes!` sets `routes_reloader.loaded = false` - # whenever it had to execute the routes itself, which defers the next draw - # to whichever later test first touches a route helper. That draw re-reads - # `admin_enabled`, and ApprovalEngine::TestCase resets the configuration - # around every one of its tests — so the deferred draw would read the flag - # as false and silently strip the admin routes for the rest of the run. - # Consuming the deferred execution here, while the flag is true, is what - # makes this test safe to run in any order. def restore_admin_routes! ApprovalEngine.config.admin_enabled = true Rails.application.reload_routes! @@ -30,9 +18,7 @@ def restore_admin_routes! ApprovalEngine.config.admin_enabled = false Rails.application.reload_routes! - # Not "the controller refused" — the route does not exist. A request under - # the mount falls through the engine's router and 404s there, and the path - # helper is undefined because it was never generated. + # Not "the controller refused" — the route does not exist. get "/approval_engine/admin/track_templates" assert_response :not_found assert_not Engine.routes.url_helpers.respond_to?(:admin_track_templates_path) diff --git a/test/mailers/approval_engine/notification_mailer_test.rb b/test/mailers/approval_engine/notification_mailer_test.rb index 40a7894..a73da23 100644 --- a/test/mailers/approval_engine/notification_mailer_test.rb +++ b/test/mailers/approval_engine/notification_mailer_test.rb @@ -1,10 +1,7 @@ require "test_helper" module ApprovalEngine - # The notifications themselves. The invariant every one of these defends: a - # template may only read the plain Strings the mailer precomputed, so the same - # six emails work in an app whose record has no `name`, no `title`, and a - # default Object#to_s. + # The notifications themselves. class NotificationMailerTest < ApprovalEngine::TestCase setup do @invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) @@ -129,19 +126,15 @@ def body_of(mail, format) end # "Drop a file in your app" is the whole answer to "how do I customise one - # email", so prove it rather than assuming it. The fixture lives at - # test/dummy/app/views/approval_engine/notification_mailer/ — the dummy is a - # host application, and its view path is searched before the engine's. + # email", so prove it rather than assuming it. test "a host's own copy of a template wins over the engine's" do mail = NotificationMailer.step_reassigned(@step, to: "manager@example.test") assert_match(/HOST OVERRIDE SENTINEL/, mail.body.to_s) end - # The documented pairing rule, pinned so it can't quietly stop being true: - # Action Mailer takes an action's templates from the first view path that has - # any of them, so the host's lone .text.erb above silences the engine's - # .html.erb too. Override both formats together, or accept a single part. + # Action Mailer takes an action's templates from the first view path holding + # any of them, so a lone .text.erb silences the engine's .html.erb. test "overriding one format of an action shadows the other" do mail = NotificationMailer.step_reassigned(@step, to: "manager@example.test") diff --git a/test/models/approval_engine/reminder_test.rb b/test/models/approval_engine/reminder_test.rb index 99c8ae8..2536b92 100644 --- a/test/models/approval_engine/reminder_test.rb +++ b/test/models/approval_engine/reminder_test.rb @@ -1,9 +1,7 @@ require "test_helper" module ApprovalEngine - # Reminders. The guiding rule: a nudge is not a verdict, and a nudge fires - # once. A sweep that runs every ten minutes must never mail someone every ten - # minutes — that is the whole reason `reminded_at` exists. + # Reminders. class ReminderTest < ApprovalEngine::TestCase setup do @invoice = Invoice.create!(tenant_id: TENANT, amount: 6000) diff --git a/test/services/approval_engine/flow_definition_test.rb b/test/services/approval_engine/flow_definition_test.rb index 8be49d5..5051c83 100644 --- a/test/services/approval_engine/flow_definition_test.rb +++ b/test/services/approval_engine/flow_definition_test.rb @@ -578,9 +578,7 @@ def row_counts before = template.template_steps.pluck(:name, :layer, :assigned_group).sort # A blank event name is caught by TriggerRule's own presence validation, - # i.e. after the template's status and both of its steps have already been - # rewritten — which is the case that proves the reconcile is one transaction - # rather than three independent writes. + # i.e. assert_no_difference row_counts do assert_raises(ActiveRecord::RecordInvalid) do ApprovalEngine.define_flow(FLOW, tenant: TENANT, model: Invoice, status: "archived") do @@ -613,9 +611,7 @@ def row_counts assert_equal template, ApprovalEngine.flow(FLOW, tenant: TENANT) assert_nil ApprovalEngine.flow("Nothing defined", tenant: TENANT) end - # JSON Logic writes `var` three ways. Only the bare-name form was recognised, - # so a rule the evaluator handles fine was rejected at definition time, and - # the error blamed an attribute name nobody had typed. + # JSON Logic writes `var` three ways. test "accepts the var forms JSON Logic actually supports" do [ { ">" => [ { "var" => [ "amount", 0 ] }, 10_000 ] }, diff --git a/test/services/approval_engine/notifier_test.rb b/test/services/approval_engine/notifier_test.rb index 8585510..6a98243 100644 --- a/test/services/approval_engine/notifier_test.rb +++ b/test/services/approval_engine/notifier_test.rb @@ -164,10 +164,8 @@ def body_of(mail) assert_equal "approvals_mail", enqueued_jobs.last[:queue] end - # The guard for the reason mail is enqueued rather than sent inside the - # relay: a broken notification must not fail the event, because the retry - # would re-run the host's callbacks — turning a mailer problem into a - # double-disbursed invoice. + # A broken notification must not fail the event: the retry would re-run the + # host's callbacks, turning a mailer problem into a business one. test "a broken notification is logged and never fails the outbox event" do enable! ApprovalEngine.config.mailer_class = "ApprovalEngine::NoSuchMailer" From e79701176aa8cb7ee23583c268a786c7f6ccba73 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:08:10 +0530 Subject: [PATCH 15/17] fix: approvals silently lost their target on UUID-keyed models MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Host records are referenced polymorphically, and those columns were created by `t.references`, which defaults to bigint. A host whose models use UUID primary keys — the multi-tenant B2B shape this gem is aimed at — got the id cast to 0. The row saved, nothing raised, and `approval.target` read back nil: an audit ledger pointing at nothing, and no way to notice from a smoke test that doesn't check the association. They are string columns now. That fits a bigint, a UUID and a ULID with no configuration, which matters more than the index width at this volume — and it removes the failure mode rather than asking an adopter to avoid it. Also brings CI up to the range the gemspec claims. It asserted Rails >= 7.0.8, < 9.0 while testing exactly one Rails, so four supported versions had no evidence behind them. There is a Rails axis now, which turned up only harness problems, all fixed here: the dummy's migrations were stamped with a Rails version older releases can't read, schema.rb can't be loaded across the matrix (so it migrates instead), Rails 7.x needs Minitest 5, and two tests called Rails 8-only APIs. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/ci.yml | 24 +++++- CHANGELOG.md | 8 ++ Gemfile | 8 ++ README.md | 1 + ...3434_create_approval_engine_core_tables.rb | 12 ++- ...e_approval_engine_infrastructure_tables.rb | 8 +- test/dummy/config/environment.rb | 9 ++- test/dummy/config/environments/test.rb | 12 ++- .../db/migrate/20260614110904_create_users.rb | 2 +- .../migrate/20260614120000_create_invoices.rb | 2 +- .../20260618000002_add_email_to_users.rb | 2 +- test/dummy/db/schema.rb | 20 ++--- test/integration/admin_routes_test.rb | 5 +- .../approval_engine/host_primary_key_test.rb | 73 +++++++++++++++++++ 14 files changed, 162 insertions(+), 24 deletions(-) create mode 100644 test/services/approval_engine/host_primary_key_test.rb diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70f8690..2235264 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,10 +21,19 @@ jobs: test: runs-on: ubuntu-latest + name: test (ruby ${{ matrix.ruby }}, rails ${{ matrix.rails || 'latest' }}) strategy: fail-fast: false + # The gemspec supports Rails >= 7.0.8, < 9.0. Pin one Rails per entry so + # that range is exercised rather than asserted; a bare RAILS_VERSION + # resolves to the newest release. matrix: - ruby: ["3.2", "3.3", "3.4"] + include: + - { ruby: "3.2", rails: "7.0" } + - { ruby: "3.2", rails: "7.1" } + - { ruby: "3.3", rails: "7.2" } + - { ruby: "3.4", rails: "8.0" } + - { ruby: "3.4", rails: "" } services: postgres: image: postgres:16 @@ -39,6 +48,7 @@ jobs: --health-retries 5 env: DATABASE_URL: postgres://postgres:postgres@localhost:5432 + RAILS_VERSION: ${{ matrix.rails }} steps: - uses: actions/checkout@v7 - uses: ruby/setup-ruby@v1 @@ -46,6 +56,16 @@ jobs: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Prepare database - run: bin/rails app:db:test:prepare + # Migrate rather than load schema.rb, which carries the Rails version + # that dumped it and so cannot be read by an older Rails in this matrix. + # The engine's and the dummy's migrations interleave by timestamp and + # run from separate paths, hence the second engine pass. + env: + RAILS_ENV: test + run: | + bin/rails app:db:create + bin/rails app:db:migrate + (cd test/dummy && bin/rails db:migrate) + bin/rails app:db:migrate - name: Run tests run: bin/rails app:test diff --git a/CHANGELOG.md b/CHANGELOG.md index 13a90bf..c50d63f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -102,6 +102,14 @@ behaviour, and every new surface is off until you switch it on. build if the README documents a config key, an `ApprovalEngine` method, a generator, or an image that does not exist. +### Fixed + +- Approvals attached to a host record whose primary key is a UUID silently lost + their target. The polymorphic reference columns were created by + `t.references`, which defaults to bigint, so a UUID cast to `0`: the row + saved, no error was raised, and `approval.target` read back `nil`. They are + string columns now, which fit a bigint, a UUID and a ULID alike. + ### Upgrading from 1.0 Nothing to do, and nothing to migrate before the gem will run. Both new diff --git a/Gemfile b/Gemfile index 666c5ac..b41a9ca 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,14 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } # Specify your gem's dependencies in approval_engine.gemspec. gemspec +# CI pins a Rails version per matrix entry so the gemspec's supported range is +# actually exercised, not just asserted. Unset resolves to the newest Rails. +if (rails_version = ENV["RAILS_VERSION"]) && !rails_version.empty? + gem "rails", "~> #{rails_version}.0" + # Rails 7.x predates Minitest 6, whose runner signature it calls incorrectly. + gem "minitest", "~> 5.25" if rails_version.start_with?("7.") +end + gem "puma" gem "pg" diff --git a/README.md b/README.md index d72c927..3c78d2f 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ rails db:migrate The generator copies migrations and an initializer, and prints next steps. + ## Defining a flow A flow is three records: a template, its ordered steps, and the rule that says diff --git a/db/migrate/20260614103434_create_approval_engine_core_tables.rb b/db/migrate/20260614103434_create_approval_engine_core_tables.rb index 924ba1e..ca796d0 100644 --- a/db/migrate/20260614103434_create_approval_engine_core_tables.rb +++ b/db/migrate/20260614103434_create_approval_engine_core_tables.rb @@ -1,10 +1,14 @@ class CreateApprovalEngineCoreTables < ActiveRecord::Migration[7.0] + # Host records are referenced polymorphically, so these columns have to hold + # whatever the approved models use as a primary key. String fits a bigint, a + # UUID and a ULID alike; `t.references`' bigint default would cast a UUID to 0 + # and silently lose the target. def change # The orchestrator. One per host record + event. Holds the parallel # track tracks and the overall outcome. create_table :approval_engine_approvals, id: :uuid do |t| t.string :tenant_id, null: false, index: true - t.references :target, polymorphic: true, null: false, index: true + t.references :target, polymorphic: true, type: :string, null: false, index: true t.string :status, null: false, default: "pending", index: true t.string :event_name @@ -33,7 +37,7 @@ def change t.string :status, null: false, default: "pending", index: true # How many approvals this step's layer needs: any | all | majority | "60%" | "2". t.string :approvals_required, null: false, default: "any" - t.references :assigned_actor, polymorphic: true, null: false + t.references :assigned_actor, polymorphic: true, type: :string, null: false # Cycle-time facts for latency/bottleneck reporting: when the step became # actionable (pending), and when a human resolved it. Both stay null while @@ -61,10 +65,10 @@ def change t.string :tenant_id, null: false t.references :approval_engine_step, null: false, foreign_key: true, type: :uuid t.string :event, null: false - t.references :intended_actor, polymorphic: true, null: true + t.references :intended_actor, polymorphic: true, type: :string, null: true # Nullable: system events (e.g. a step timing out) have no human actor — # the ledger records that honestly rather than fabricating one. - t.references :actual_actor, polymorphic: true, null: true + t.references :actual_actor, polymorphic: true, type: :string, null: true t.text :comment t.timestamps diff --git a/db/migrate/20260614103435_create_approval_engine_infrastructure_tables.rb b/db/migrate/20260614103435_create_approval_engine_infrastructure_tables.rb index 358c065..03b7a60 100644 --- a/db/migrate/20260614103435_create_approval_engine_infrastructure_tables.rb +++ b/db/migrate/20260614103435_create_approval_engine_infrastructure_tables.rb @@ -1,4 +1,8 @@ class CreateApprovalEngineInfrastructureTables < ActiveRecord::Migration[7.0] + # Host records are referenced polymorphically, so these columns have to hold + # whatever the approved models use as a primary key. String fits a bigint, a + # UUID and a ULID alike; `t.references`' bigint default would cast a UUID to 0 + # and silently lose the target. def change create_table :approval_engine_outbox_events, id: :uuid do |t| t.string :tenant_id, null: false @@ -13,8 +17,8 @@ def change create_table :approval_engine_delegations, id: :uuid do |t| t.string :tenant_id, null: false - t.references :delegator, polymorphic: true, null: false - t.references :delegatee, polymorphic: true, null: false + t.references :delegator, polymorphic: true, type: :string, null: false + t.references :delegatee, polymorphic: true, type: :string, null: false t.datetime :starts_at, null: false t.datetime :ends_at, null: false t.boolean :active, null: false, default: true diff --git a/test/dummy/config/environment.rb b/test/dummy/config/environment.rb index fac8456..c95808b 100644 --- a/test/dummy/config/environment.rb +++ b/test/dummy/config/environment.rb @@ -12,4 +12,11 @@ # made the admin routes come and go with the Minitest seed. Drawing them here, # while the dummy's initializer opt-in is still in effect, reproduces what an # eager-loading production host gets at boot. -Rails.application.reload_routes_unless_loaded +# +# `reload_routes_unless_loaded` is Rails 8; on 7.x drawing them is the +# equivalent, and both are idempotent here. +if Rails.application.respond_to?(:reload_routes_unless_loaded) + Rails.application.reload_routes_unless_loaded +else + Rails.application.reload_routes! +end diff --git a/test/dummy/config/environments/test.rb b/test/dummy/config/environments/test.rb index a54b815..88c0cdf 100644 --- a/test/dummy/config/environments/test.rb +++ b/test/dummy/config/environments/test.rb @@ -6,6 +6,12 @@ # and recreated between test runs. Don't rely on the data there! Rails.application.configure do + # The committed schema.rb is stamped with whichever Rails dumped it, and the + # CI matrix runs several. Migrate instead of loading it, so an older Rails + # never chokes on a newer schema version — and so the migrations themselves + # are exercised on every Rails we claim to support. + config.active_record.maintain_test_schema = false + # Settings specified here will take precedence over those in config/application.rb. # Turn false under Spring and add config.action_view.cache_template_loading = true. @@ -32,7 +38,11 @@ config.active_job.queue_adapter = :test # Raise exceptions instead of rendering exception templates. - config.action_dispatch.show_exceptions = false + # `:rescuable` renders a 404 for RecordNotFound while still raising real + # errors, which is what the admin's scoping tests assert. Rails 7.0 predates + # the symbol and spells the same intent `true`. + config.action_dispatch.show_exceptions = + Rails.gem_version >= Gem::Version.new("7.1") ? :rescuable : true # Disable request forgery protection in test environment. config.action_controller.allow_forgery_protection = false diff --git a/test/dummy/db/migrate/20260614110904_create_users.rb b/test/dummy/db/migrate/20260614110904_create_users.rb index c632053..89f4859 100644 --- a/test/dummy/db/migrate/20260614110904_create_users.rb +++ b/test/dummy/db/migrate/20260614110904_create_users.rb @@ -1,4 +1,4 @@ -class CreateUsers < ActiveRecord::Migration[8.1] +class CreateUsers < ActiveRecord::Migration[7.0] def change create_table :users do |t| t.string :name diff --git a/test/dummy/db/migrate/20260614120000_create_invoices.rb b/test/dummy/db/migrate/20260614120000_create_invoices.rb index e407741..0f0724d 100644 --- a/test/dummy/db/migrate/20260614120000_create_invoices.rb +++ b/test/dummy/db/migrate/20260614120000_create_invoices.rb @@ -1,4 +1,4 @@ -class CreateInvoices < ActiveRecord::Migration[8.1] +class CreateInvoices < ActiveRecord::Migration[7.0] def change create_table :invoices do |t| t.string :tenant_id diff --git a/test/dummy/db/migrate/20260618000002_add_email_to_users.rb b/test/dummy/db/migrate/20260618000002_add_email_to_users.rb index 8442887..c042d0e 100644 --- a/test/dummy/db/migrate/20260618000002_add_email_to_users.rb +++ b/test/dummy/db/migrate/20260618000002_add_email_to_users.rb @@ -1,4 +1,4 @@ -class AddEmailToUsers < ActiveRecord::Migration[8.1] +class AddEmailToUsers < ActiveRecord::Migration[7.0] # The dummy actor needs a real address for the notification tests to resolve # one — `config.actor_email_method` defaults to :email. def change diff --git a/test/dummy/db/schema.rb b/test/dummy/db/schema.rb index ef6bfdc..8c3cd14 100644 --- a/test/dummy/db/schema.rb +++ b/test/dummy/db/schema.rb @@ -20,7 +20,7 @@ t.datetime "created_at", null: false t.string "event_name" t.string "status", default: "pending", null: false - t.bigint "target_id", null: false + t.string "target_id", null: false t.string "target_type", null: false t.string "tenant_id", null: false t.datetime "updated_at", null: false @@ -30,17 +30,17 @@ t.index ["target_type", "target_id"], name: "index_approval_engine_approvals_on_target" t.index ["tenant_id"], name: "index_approval_engine_approvals_on_tenant_id" t.check_constraint "approvals_required::text ~ '^([1-9][0-9]*%?|any|all|majority)$'::text", name: "chk_approval_engine_approval_approvals_required" - t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'approved'::character varying, 'rejected'::character varying, 'quarantined'::character varying, 'cancelled'::character varying]::text[])", name: "chk_approval_engine_approval_status" + t.check_constraint "status::text = ANY (ARRAY['pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'quarantined'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_approval_status" end create_table "approval_engine_audit_logs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.bigint "actual_actor_id" + t.string "actual_actor_id" t.string "actual_actor_type" t.uuid "approval_engine_step_id", null: false t.text "comment" t.datetime "created_at", null: false t.string "event", null: false - t.bigint "intended_actor_id" + t.string "intended_actor_id" t.string "intended_actor_type" t.string "tenant_id", null: false t.datetime "updated_at", null: false @@ -53,9 +53,9 @@ create_table "approval_engine_delegations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.boolean "active", default: true, null: false t.datetime "created_at", null: false - t.bigint "delegatee_id", null: false + t.string "delegatee_id", null: false t.string "delegatee_type", null: false - t.bigint "delegator_id", null: false + t.string "delegator_id", null: false t.string "delegator_type", null: false t.datetime "ends_at", null: false t.datetime "starts_at", null: false @@ -87,7 +87,7 @@ t.datetime "activated_at" t.uuid "approval_engine_track_id", null: false t.string "approvals_required", default: "any", null: false - t.bigint "assigned_actor_id", null: false + t.string "assigned_actor_id", null: false t.string "assigned_actor_type", null: false t.datetime "created_at", null: false t.datetime "decided_at" @@ -109,7 +109,7 @@ t.index ["tenant_id", "assigned_actor_type", "assigned_actor_id", "status"], name: "idx_approval_engine_pending_tasks" t.index ["timeout_at"], name: "idx_ae_steps_overdue", where: "((timeout_at IS NOT NULL) AND (timed_out_at IS NULL))" t.check_constraint "approvals_required::text ~ '^([1-9][0-9]*%?|any|all|majority)$'::text", name: "chk_approval_engine_step_approvals_required" - t.check_constraint "status::text = ANY (ARRAY['waiting'::character varying, 'pending'::character varying, 'approved'::character varying, 'rejected'::character varying, 'changes_requested'::character varying, 'expired'::character varying, 'cancelled'::character varying]::text[])", name: "chk_approval_engine_step_status" + t.check_constraint "status::text = ANY (ARRAY['waiting'::character varying::text, 'pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'changes_requested'::character varying::text, 'expired'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_step_status" end create_table "approval_engine_template_steps", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -132,7 +132,7 @@ t.string "tenant_id", null: false t.datetime "updated_at", null: false t.index ["tenant_id"], name: "index_approval_engine_track_templates_on_tenant_id" - t.check_constraint "status::text = ANY (ARRAY['draft'::character varying, 'active'::character varying, 'archived'::character varying]::text[])", name: "chk_approval_engine_template_status" + t.check_constraint "status::text = ANY (ARRAY['draft'::character varying::text, 'active'::character varying::text, 'archived'::character varying::text])", name: "chk_approval_engine_template_status" end create_table "approval_engine_tracks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| @@ -144,7 +144,7 @@ t.datetime "updated_at", null: false t.index ["approval_engine_approval_id", "status"], name: "idx_ae_tracks_approval_status" t.index ["approval_engine_approval_id"], name: "index_approval_engine_tracks_on_approval_engine_approval_id" - t.check_constraint "status::text = ANY (ARRAY['pending'::character varying, 'approved'::character varying, 'rejected'::character varying, 'cancelled'::character varying]::text[])", name: "chk_approval_engine_track_status" + t.check_constraint "status::text = ANY (ARRAY['pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_track_status" end create_table "approval_engine_trigger_rules", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| diff --git a/test/integration/admin_routes_test.rb b/test/integration/admin_routes_test.rb index 91f7de0..22b136a 100644 --- a/test/integration/admin_routes_test.rb +++ b/test/integration/admin_routes_test.rb @@ -10,7 +10,10 @@ class AdminRoutesTest < ActionDispatch::IntegrationTest def restore_admin_routes! ApprovalEngine.config.admin_enabled = true Rails.application.reload_routes! - Rails.application.reload_routes_unless_loaded + # Rails 8 only; on 7.x reload_routes! above already leaves them loaded. + if Rails.application.respond_to?(:reload_routes_unless_loaded) + Rails.application.reload_routes_unless_loaded + end admin_track_templates_path end diff --git a/test/services/approval_engine/host_primary_key_test.rb b/test/services/approval_engine/host_primary_key_test.rb new file mode 100644 index 0000000..ffe85fd --- /dev/null +++ b/test/services/approval_engine/host_primary_key_test.rb @@ -0,0 +1,73 @@ +require "test_helper" + +# A real constant, not an anonymous class: reading a polymorphic association +# back constantizes the stored type name. +class UuidWidget < ActiveRecord::Base + self.table_name = "uuid_widgets" +end + +module ApprovalEngine + # Approvals reference host records polymorphically, so those columns have to + # hold whatever the approved models use as a primary key. `t.references` + # defaults to bigint, which casts a UUID to 0 — the row saves, and the ledger + # points at nothing. They are strings instead, which fit every key shape. + class HostPrimaryKeyTest < ApprovalEngine::TestCase + setup do + create_user(role: :manager) + @template = create_template(event: "widget.created", steps: [ { name: "Manager", group: "manager" } ]) + connection.execute("DROP TABLE IF EXISTS uuid_widgets") + connection.execute(<<~SQL) + CREATE TABLE uuid_widgets (id uuid PRIMARY KEY DEFAULT gen_random_uuid(), name varchar) + SQL + end + + teardown { connection.execute("DROP TABLE IF EXISTS uuid_widgets") } + + test "a host record with a UUID primary key keeps its target" do + widget = uuid_widget_class.create!(name: "Thing") + + approval = ApprovalBuilder.build!(template: @template, target: widget, event_name: "widget.created") + + assert_equal widget.id, approval.reload.target_id + assert_equal widget, approval.target + end + + test "a host record with a bigint primary key keeps its target" do + invoice = Invoice.create!(tenant_id: TENANT, amount: 20_000, department: "IT") + + approval = ApprovalBuilder.build!(template: @template, target: invoice, event_name: "invoice.created") + + assert_equal invoice, approval.reload.target + end + + test "a UUID actor is assigned and readable back off the step" do + widget = uuid_widget_class.create!(name: "Thing") + approval = ApprovalBuilder.build!(template: @template, target: widget, event_name: "widget.created") + + step = approval.steps.sole + assert_equal User.sole, step.assigned_actor + assert_equal widget, step.target + end + + test "every polymorphic reference to a host record is a string column" do + { Approval => %w[target_id], Step => %w[assigned_actor_id], + AuditLog => %w[actual_actor_id intended_actor_id], + Delegation => %w[delegator_id delegatee_id] }.each do |model, columns| + columns.each do |column| + assert_equal :string, model.type_for_attribute(column).type, + "#{model.table_name}.#{column} must fit any host primary key" + end + end + end + + private + + def connection + ActiveRecord::Base.connection + end + + def uuid_widget_class + UuidWidget + end + end +end From 546175e74cbae9ec46adf4c71221ffb4276f19be Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:11:26 +0530 Subject: [PATCH 16/17] fix: raise the Rails floor to 7.1, and stop committing the dummy schema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The new CI matrix immediately found two things the single-version build could not. Rails 7.0 was never going to work: the outbox relay retries with `wait: :polynomially_longer`, which 7.1 introduced — on 7.0 every retry raises "Couldn't determine a delay". Rather than carry a shim for a release that is past security support, the gemspec now claims 7.1, which is what CI proves. Rails 8.0 failed on the committed `test/dummy/db/schema.rb`, which is stamped with whichever Rails dumped it and cannot be read by an older one. Now that every environment migrates from scratch it has no job left, so it is deleted and ignored. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/ci.yml | 3 +- .gitignore | 4 + CHANGELOG.md | 6 ++ README.md | 4 +- approval_engine.gemspec | 2 +- docs/launch/posts.md | 4 +- test/dummy/db/schema.rb | 188 --------------------------------------- 7 files changed, 16 insertions(+), 195 deletions(-) delete mode 100644 test/dummy/db/schema.rb diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2235264..eafe610 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,12 +24,11 @@ jobs: name: test (ruby ${{ matrix.ruby }}, rails ${{ matrix.rails || 'latest' }}) strategy: fail-fast: false - # The gemspec supports Rails >= 7.0.8, < 9.0. Pin one Rails per entry so + # The gemspec supports Rails >= 7.1, < 9.0. Pin one Rails per entry so # that range is exercised rather than asserted; a bare RAILS_VERSION # resolves to the newest release. matrix: include: - - { ruby: "3.2", rails: "7.0" } - { ruby: "3.2", rails: "7.1" } - { ruby: "3.3", rails: "7.2" } - { ruby: "3.4", rails: "8.0" } diff --git a/.gitignore b/.gitignore index f055d7b..fb27d6a 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,7 @@ # Agent worktrees created by tooling — never part of the repo. /.claude/ + +# The dummy app's schema is dumped with whichever Rails ran the migration, which +# no older Rails in the CI matrix can read. Everything migrates from scratch. +/test/dummy/db/schema.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index c50d63f..6af89ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -102,6 +102,12 @@ behaviour, and every new surface is off until you switch it on. build if the README documents a config key, an `ApprovalEngine` method, a generator, or an image that does not exist. +### Changed + +- **Minimum Rails is now 7.1**, up from 7.0.8. The outbox relay's retry backoff + uses `:polynomially_longer`, which 7.0 does not know, and 7.0 is past security + support. CI now runs the whole supported range rather than one version of it. + ### Fixed - Approvals attached to a host record whose primary key is a UUID silently lost diff --git a/README.md b/README.md index 3c78d2f..6b98af6 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Downloads](https://img.shields.io/gem/dt/approval_engine?logo=rubygems&color=blue)](https://rubygems.org/gems/approval_engine) [![CI](https://github.com/Harry-kp/approval_engine/actions/workflows/ci.yml/badge.svg)](https://github.com/Harry-kp/approval_engine/actions/workflows/ci.yml) ![Ruby](https://img.shields.io/badge/ruby-%3E%3D%203.1-CC342D) -![Rails](https://img.shields.io/badge/rails-%3E%3D%207.0.8-D30001) +![Rails](https://img.shields.io/badge/rails-%3E%3D%207.1-D30001) ![License: MIT](https://img.shields.io/badge/license-MIT-blue) **A manager approves, then the CFO. Unless it's over $50k — then Legal too.** @@ -35,7 +35,7 @@ approved, who approves, and what happens next. ## 60-second quickstart -Needs PostgreSQL (the routing engine uses `jsonb`), Rails 7.0.8+, Ruby 3.1+. +Needs PostgreSQL (the routing engine uses `jsonb`), Rails 7.1+, Ruby 3.1+. ```sh bundle add approval_engine diff --git a/approval_engine.gemspec b/approval_engine.gemspec index f12a079..6c4dbfb 100644 --- a/approval_engine.gemspec +++ b/approval_engine.gemspec @@ -50,6 +50,6 @@ Gem::Specification.new do |spec| ].select { |f| File.file?(f) } end - spec.add_dependency "rails", ">= 7.0.8", "< 9.0" + spec.add_dependency "rails", ">= 7.1", "< 9.0" spec.add_dependency "shiny_json_logic", "~> 0.3" end diff --git a/docs/launch/posts.md b/docs/launch/posts.md index a3b6bb8..c1f40dc 100644 --- a/docs/launch/posts.md +++ b/docs/launch/posts.md @@ -258,7 +258,7 @@ with whatever you already run. - It does not touch your status column. It runs the process and reports the outcome; mapping that onto your own vocabulary stays your code. -Honest state of it: 1.1.0, MIT, Rails 7.0.8+. 1.0 shipped in June and I never +Honest state of it: 1.1.0, MIT, Rails 7.1+. 1.0 shipped in June and I never told anyone, so the user count is basically one. The API is stable and every documented recipe is covered by tests, but it has not met your edge cases yet and I would like it to. @@ -404,7 +404,7 @@ never add a write surface or start mailing someone else's users. ## Where it actually is `approval_engine` is at 1.1.0. MIT, PostgreSQL only (the routing needs `jsonb`), -Rails 7.0.8 through 8.x. It is young: 1.0 shipped in June, I never announced it, +Rails 7.1 through 8.x. It is young: 1.0 shipped in June, I never announced it, and the user count is essentially one. The API is stable and every recipe in the cookbook is exercised by the test suite — but it has not met your edge cases yet. diff --git a/test/dummy/db/schema.rb b/test/dummy/db/schema.rb deleted file mode 100644 index 8c3cd14..0000000 --- a/test/dummy/db/schema.rb +++ /dev/null @@ -1,188 +0,0 @@ -# This file is auto-generated from the current state of the database. Instead -# of editing this file, please use the migrations feature of Active Record to -# incrementally modify your database, and then regenerate this schema definition. -# -# This file is the source Rails uses to define your schema when running `bin/rails -# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to -# be faster and is potentially less error prone than running all of your -# migrations from scratch. Old migrations may fail to apply correctly if those -# migrations use external dependencies or application code. -# -# It's strongly recommended that you check this file into your version control system. - -ActiveRecord::Schema[8.1].define(version: 2026_06_18_000002) do - # These are extensions that must be enabled in order to support this database - enable_extension "pg_catalog.plpgsql" - - create_table "approval_engine_approvals", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.uuid "approval_engine_trigger_rule_id" - t.string "approvals_required", default: "all", null: false - t.datetime "created_at", null: false - t.string "event_name" - t.string "status", default: "pending", null: false - t.string "target_id", null: false - t.string "target_type", null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["approval_engine_trigger_rule_id"], name: "idx_ae_approvals_on_trigger_rule" - t.index ["status"], name: "index_approval_engine_approvals_on_status" - t.index ["target_type", "target_id", "created_at"], name: "idx_ae_approvals_target_recency" - t.index ["target_type", "target_id"], name: "index_approval_engine_approvals_on_target" - t.index ["tenant_id"], name: "index_approval_engine_approvals_on_tenant_id" - t.check_constraint "approvals_required::text ~ '^([1-9][0-9]*%?|any|all|majority)$'::text", name: "chk_approval_engine_approval_approvals_required" - t.check_constraint "status::text = ANY (ARRAY['pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'quarantined'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_approval_status" - end - - create_table "approval_engine_audit_logs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.string "actual_actor_id" - t.string "actual_actor_type" - t.uuid "approval_engine_step_id", null: false - t.text "comment" - t.datetime "created_at", null: false - t.string "event", null: false - t.string "intended_actor_id" - t.string "intended_actor_type" - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["actual_actor_type", "actual_actor_id"], name: "index_approval_engine_audit_logs_on_actual_actor" - t.index ["approval_engine_step_id"], name: "index_approval_engine_audit_logs_on_approval_engine_step_id" - t.index ["intended_actor_type", "intended_actor_id"], name: "index_approval_engine_audit_logs_on_intended_actor" - t.index ["tenant_id", "created_at"], name: "index_approval_engine_audit_logs_on_tenant_id_and_created_at" - end - - create_table "approval_engine_delegations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.boolean "active", default: true, null: false - t.datetime "created_at", null: false - t.string "delegatee_id", null: false - t.string "delegatee_type", null: false - t.string "delegator_id", null: false - t.string "delegator_type", null: false - t.datetime "ends_at", null: false - t.datetime "starts_at", null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["delegatee_type", "delegatee_id", "active", "starts_at", "ends_at"], name: "idx_ae_delegations_lookup" - t.index ["delegatee_type", "delegatee_id"], name: "index_approval_engine_delegations_on_delegatee" - t.index ["delegator_type", "delegator_id"], name: "index_approval_engine_delegations_on_delegator" - end - - create_table "approval_engine_outbox_events", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.datetime "created_at", null: false - t.text "delivery_error" - t.text "error_payload" - t.string "event_name", null: false - t.datetime "failed_at" - t.boolean "processed", default: false, null: false - t.datetime "processed_at" - t.uuid "record_id", null: false - t.string "record_type", null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["created_at"], name: "idx_ae_outbox_unprocessed", where: "(processed = false)" - t.index ["processed"], name: "index_approval_engine_outbox_events_on_processed" - t.index ["record_type", "record_id"], name: "index_approval_engine_outbox_events_on_record" - end - - create_table "approval_engine_steps", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.datetime "activated_at" - t.uuid "approval_engine_track_id", null: false - t.string "approvals_required", default: "any", null: false - t.string "assigned_actor_id", null: false - t.string "assigned_actor_type", null: false - t.datetime "created_at", null: false - t.datetime "decided_at" - t.integer "iteration", default: 1, null: false - t.integer "layer", default: 1, null: false - t.string "name" - t.datetime "reminded_at" - t.string "status", default: "pending", null: false - t.string "tenant_id", null: false - t.datetime "timed_out_at" - t.integer "timeout_after" - t.datetime "timeout_at" - t.datetime "updated_at", null: false - t.index ["activated_at"], name: "idx_ae_steps_remindable", where: "((reminded_at IS NULL) AND ((status)::text = 'pending'::text))" - t.index ["approval_engine_track_id", "iteration", "layer", "status"], name: "idx_ae_steps_layer_consensus" - t.index ["approval_engine_track_id"], name: "index_approval_engine_steps_on_approval_engine_track_id" - t.index ["assigned_actor_type", "assigned_actor_id"], name: "index_approval_engine_steps_on_assigned_actor" - t.index ["status"], name: "index_approval_engine_steps_on_status" - t.index ["tenant_id", "assigned_actor_type", "assigned_actor_id", "status"], name: "idx_approval_engine_pending_tasks" - t.index ["timeout_at"], name: "idx_ae_steps_overdue", where: "((timeout_at IS NOT NULL) AND (timed_out_at IS NULL))" - t.check_constraint "approvals_required::text ~ '^([1-9][0-9]*%?|any|all|majority)$'::text", name: "chk_approval_engine_step_approvals_required" - t.check_constraint "status::text = ANY (ARRAY['waiting'::character varying::text, 'pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'changes_requested'::character varying::text, 'expired'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_step_status" - end - - create_table "approval_engine_template_steps", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.uuid "approval_engine_track_template_id", null: false - t.string "approvals_required", default: "any", null: false - t.string "assigned_group", null: false - t.datetime "created_at", null: false - t.integer "layer", default: 1, null: false - t.string "name", null: false - t.integer "timeout_after" - t.datetime "updated_at", null: false - t.index ["approval_engine_track_template_id"], name: "idx_ae_tpl_steps_on_tpl_id" - t.check_constraint "approvals_required::text ~ '^([1-9][0-9]*%?|any|all|majority)$'::text", name: "chk_approval_engine_template_step_approvals_required" - end - - create_table "approval_engine_track_templates", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.datetime "created_at", null: false - t.string "name", null: false - t.string "status", default: "draft", null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["tenant_id"], name: "index_approval_engine_track_templates_on_tenant_id" - t.check_constraint "status::text = ANY (ARRAY['draft'::character varying::text, 'active'::character varying::text, 'archived'::character varying::text])", name: "chk_approval_engine_template_status" - end - - create_table "approval_engine_tracks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.uuid "approval_engine_approval_id", null: false - t.datetime "created_at", null: false - t.string "name", null: false - t.string "status", default: "pending", null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["approval_engine_approval_id", "status"], name: "idx_ae_tracks_approval_status" - t.index ["approval_engine_approval_id"], name: "index_approval_engine_tracks_on_approval_engine_approval_id" - t.check_constraint "status::text = ANY (ARRAY['pending'::character varying::text, 'approved'::character varying::text, 'rejected'::character varying::text, 'cancelled'::character varying::text])", name: "chk_approval_engine_track_status" - end - - create_table "approval_engine_trigger_rules", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.boolean "active", default: true, null: false - t.uuid "approval_engine_track_template_id", null: false - t.jsonb "condition", default: {}, null: false - t.datetime "created_at", null: false - t.string "event_name", null: false - t.integer "priority", default: 0, null: false - t.string "tenant_id", null: false - t.datetime "updated_at", null: false - t.index ["approval_engine_track_template_id"], name: "idx_ae_trigger_rules_on_tpl_id" - t.index ["condition"], name: "index_approval_engine_trigger_rules_on_condition", using: :gin - t.index ["tenant_id", "event_name", "active", "priority"], name: "idx_ae_trigger_rules_resolution" - t.index ["tenant_id"], name: "index_approval_engine_trigger_rules_on_tenant_id" - end - - create_table "invoices", force: :cascade do |t| - t.decimal "amount", precision: 12, scale: 2, default: "0.0", null: false - t.datetime "created_at", null: false - t.string "department" - t.string "state", default: "submitted", null: false - t.string "tenant_id" - t.datetime "updated_at", null: false - end - - create_table "users", force: :cascade do |t| - t.datetime "created_at", null: false - t.string "email" - t.string "name" - t.string "role" - t.datetime "updated_at", null: false - end - - add_foreign_key "approval_engine_approvals", "approval_engine_trigger_rules", on_delete: :nullify - add_foreign_key "approval_engine_audit_logs", "approval_engine_steps" - add_foreign_key "approval_engine_steps", "approval_engine_tracks" - add_foreign_key "approval_engine_template_steps", "approval_engine_track_templates" - add_foreign_key "approval_engine_tracks", "approval_engine_approvals" - add_foreign_key "approval_engine_trigger_rules", "approval_engine_track_templates" -end From 6937bf6d1741d85fefa01b7dff011425993fbba4 Mon Sep 17 00:00:00 2001 From: Harshit Chaudhary <55315065+Harry-kp@users.noreply.github.com> Date: Sat, 29 Aug 2026 19:20:19 +0530 Subject: [PATCH 17/17] feat: ship test helpers, and fix three notification defects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ApprovalEngine::TestHelpers` is the gem's answer to "how do I test my approval flow?" — until now every adopter hand-rolled fixtures. Actions and queries rather than assertions, so a host reads the same under Minitest and RSpec. `drain_approval_outbox!` is the one that matters most: side-effects reach the host through the outbox via ActiveJob, so until the queue runs `after_approved` has genuinely not fired, and a test asserting on it fails for the right reason while looking like the wrong one. Three defects found in the release review, all in the same area: Step notifications ignored delegations. `Step.actionable_by` includes an active delegate, so a delegate could act on a step while the mail went only to the person who had delegated it away — telling the one person who was not going to do anything about it. The changes_requested email named the assignee rather than whoever actually asked. The ledger records the acting actor; the mail now reads it. The condition size cap guarded only the raw JSON editor. The simple builder could assemble an unbounded condition, evaluated on the hot path of every matching save. It is enforced where the condition is assembled, so both doors share it. Co-Authored-By: Claude Opus 5 (1M context) --- CHANGELOG.md | 17 +++++ README.md | 38 +++++++++- .../admin/trigger_rules_controller.rb | 15 +++- .../approval_engine/notification_mailer.rb | 6 +- app/services/approval_engine/notifier.rb | 11 ++- lib/approval_engine/test_helpers.rb | 71 ++++++++++++++++++ test/approval_engine/test_helpers_test.rb | 72 +++++++++++++++++++ test/gemspec_test.rb | 6 ++ .../notification_mailer_test.rb | 13 ++++ .../services/approval_engine/notifier_test.rb | 24 +++++++ 10 files changed, 267 insertions(+), 6 deletions(-) create mode 100644 lib/approval_engine/test_helpers.rb create mode 100644 test/approval_engine/test_helpers_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 6af89ce..f268e04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -108,8 +108,25 @@ behaviour, and every new surface is off until you switch it on. uses `:polynomially_longer`, which 7.0 does not know, and 7.0 is past security support. CI now runs the whole supported range rather than one version of it. +### Added + +- `ApprovalEngine::TestHelpers` — test support for host applications. + `approve_approval!` walks a flow to a decision, `reject_approval!` stops at + whatever is waiting, `pending_approval_steps` is the inbox for one record, and + `drain_approval_outbox!` relays the side-effects, without which `after_approved` + has genuinely not run yet. Actions and queries rather than assertions, so they + read the same under Minitest and RSpec. + ### Fixed +- Step notifications ignored delegations. A delegate can act on a step, so + mailing only the assignee told the person who was away and not the person who + could do something about it. Both are notified now. +- The `changes_requested` email named the step's assignee rather than whoever + actually asked for changes, which is recorded on the ledger and is who the + reader needs. +- The condition size cap applied only to the raw JSON editor, so the simple + builder could store an unbounded condition on the same hot path. - Approvals attached to a host record whose primary key is a UUID silently lost their target. The polymorphic reference columns were created by `t.references`, which defaults to bigint, so a UUID cast to `0`: the row diff --git a/README.md b/README.md index 6b98af6..da9a5c3 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,9 @@ step.approve!(by: current_user) # the CFO's step opens; once they approve too, # `after_approved` fires through the outbox ``` +Create the approvers first: a group that resolves to nobody raises at build +time rather than starting an approval nobody can act on. + Nothing triggered? `invoice.preview_approval(event: "invoice.created")` tells you what would have happened, before you go any further — see [Gotchas](#gotchas). @@ -285,6 +288,37 @@ deploy, so it raises on a typo instead of failing closed — an unexposed attribute, an unknown lifecycle, a duplicate step name, and a group outside `config.approval_groups` all stop the seed with a sentence explaining themselves. +## Testing your flows + +The engine ships helpers so a host app can drive an approval without hand-rolling +fixtures. They are actions and queries rather than assertions, so they read the +same under Minitest and RSpec. + +```ruby +# test/test_helper.rb +require "approval_engine/test_helpers" + +class ActiveSupport::TestCase + include ApprovalEngine::TestHelpers +end +``` + +```ruby +invoice = Invoice.create!(amount: 20_000) + +assert_equal "Manager sign-off", pending_approval_steps(invoice).sole.name + +approve_approval_and_settle!(invoice) # walk every layer, then relay the outbox +assert_equal "paid", invoice.reload.state +``` + +`approve_approval!` walks each layer as it opens, approving with the step's own +assigned actor unless you pass `by:`. `reject_approval!` stops at whatever is +waiting. **`drain_approval_outbox!` is the one to remember** — side-effects reach +your model through the outbox, relayed by ActiveJob, so until the queue runs +`after_approved` has genuinely not fired and a test asserting on it will fail for +the right reason and look like the wrong one. + ## Configuration ```ruby @@ -372,7 +406,9 @@ ApprovalEngine::ReminderSweepJob.perform_later(tenant_id: account.id) ``` Each step is nudged at most once, so running the sweep hourly only makes the -nudge arrive sooner. It never mails the same person about the same step twice. +nudge arrive sooner rather than nagging. That guarantee is on the *emission*: +like every other notification it rides the at-least-once outbox, so a relay +retry can still deliver a duplicate copy of the same nudge. Be deliberate about the first run. `reminder_after` is measured from when a step became actionable, not from when you switched reminders on, so the first sweep diff --git a/app/controllers/approval_engine/admin/trigger_rules_controller.rb b/app/controllers/approval_engine/admin/trigger_rules_controller.rb index 65e4e44..d818508 100644 --- a/app/controllers/approval_engine/admin/trigger_rules_controller.rb +++ b/app/controllers/approval_engine/admin/trigger_rules_controller.rb @@ -104,13 +104,22 @@ def advanced_mode? # nil with `@condition_error` set when unreadable, so the action # re-renders the form rather than blowing up on the admin. def submitted_condition - advanced_mode? ? parsed_raw_condition : built_condition + condition = advanced_mode? ? parsed_raw_condition : built_condition + return if condition.nil? + + # Capped here rather than on the raw path alone: the simple builder can + # assemble an oversized condition too, and every rule is evaluated on + # the hot path of a host record's save. + if condition.to_json.bytesize > MAX_CONDITION_BYTES + @condition_error = "is too large (max #{MAX_CONDITION_BYTES} bytes)" + return + end + + condition end def parsed_raw_condition json = trigger_rule_params[:condition_json].to_s - raise ArgumentError, "is too large (max #{MAX_CONDITION_BYTES} bytes)" if json.bytesize > MAX_CONDITION_BYTES - parsed = JSON.parse(json) # JSON Logic evaluates a non-object as a literal, so an array or bare # number would match *every* event of its name. diff --git a/app/mailers/approval_engine/notification_mailer.rb b/app/mailers/approval_engine/notification_mailer.rb index 06a8977..b45e849 100644 --- a/app/mailers/approval_engine/notification_mailer.rb +++ b/app/mailers/approval_engine/notification_mailer.rb @@ -43,7 +43,11 @@ def step_reassigned(step, to:) def changes_requested(step, to:) assign_step(step) - @comment = step.audit_logs.where(event: "changes_requested").order(:created_at).last&.comment + entry = step.audit_logs.where(event: "changes_requested").order(:created_at).last + @comment = entry&.comment + # Name whoever actually asked for changes. A delegate acting for the + # assignee is recorded on the ledger, and it is who the reader needs. + @actor_label = ApprovalEngine.config.actor_label(entry&.actual_actor || step.assigned_actor) notification_mail(to: to) end diff --git a/app/services/approval_engine/notifier.rb b/app/services/approval_engine/notifier.rb index 5c42ed8..61fb807 100644 --- a/app/services/approval_engine/notifier.rb +++ b/app/services/approval_engine/notifier.rb @@ -83,14 +83,23 @@ def recipient_addresses Array(recipients).filter_map { |actor| ApprovalEngine.config.actor_email(actor) }.uniq end + # A delegate can act on the step (`Step.actionable_by` includes them), so a + # notification that reaches only the assignee tells the wrong person. Both + # are mailed: the assignee stays informed, the delegate can act. def recipients if ACTOR_ADDRESSED.include?(notification) - [ record.assigned_actor ] + [ record.assigned_actor, *active_delegates_for(record) ] else ApprovalEngine.config.approval_recipients_for(approval) end end + def active_delegates_for(step) + return [] if step.assigned_actor.nil? + + Delegation.active_for(step.assigned_actor, tenant_id: step.tenant_id).map(&:delegatee) + end + def approval record.is_a?(Approval) ? record : record.approval end diff --git a/lib/approval_engine/test_helpers.rb b/lib/approval_engine/test_helpers.rb new file mode 100644 index 0000000..066f161 --- /dev/null +++ b/lib/approval_engine/test_helpers.rb @@ -0,0 +1,71 @@ +module ApprovalEngine + # Test support for applications using the engine. + # + # require "approval_engine/test_helpers" + # class ActiveSupport::TestCase + # include ApprovalEngine::TestHelpers + # end + # + # Framework-agnostic on purpose: these are actions and queries, not + # assertions, so they read the same under Minitest and RSpec. + # + # invoice = Invoice.create!(amount: 20_000) + # assert_equal "Manager sign-off", pending_approval_steps(invoice).sole.name + # + # approve_approval!(invoice) # walk it to a decision + # assert invoice.reload.approved? # after the outbox has run + module TestHelpers + # The most recent approval raised against a record, or nil. + def approval_for(record) + ApprovalEngine::Approval.where(target: record).order(:created_at).last + end + + # Steps waiting on somebody right now — the inbox, for a single record. + def pending_approval_steps(record) + approval = approval_for(record) + return ApprovalEngine::Step.none if approval.nil? + + approval.steps.pending + end + + # Approve every step as it opens until the approval reaches a terminal + # state, so a test can assert on the *outcome* without walking layers by + # hand. Each step is approved by its own assigned actor unless `by:` names + # someone; `limit` stops a misconfigured flow from looping forever. + def approve_approval!(record, by: nil, limit: 50) + approval = approval_for(record) or raise ArgumentError, "#{record.class} has no approval" + + limit.times do + steps = approval.steps.reload.pending.to_a + break if steps.empty? + + steps.each { |step| step.approve!(by: by || step.assigned_actor) } + break if approval.reload.status != "pending" + end + + approval.reload + end + + # Reject at the first step currently waiting. + def reject_approval!(record, by: nil, comment: nil) + step = pending_approval_steps(record).first or raise ArgumentError, "nothing is pending on #{record.class}" + step.reject!(by: by || step.assigned_actor, comment: comment) + approval_for(record).reload + end + + # Side-effects reach the host through the outbox, which is relayed by + # ActiveJob — so in a test nothing has happened until the queue is drained. + # This is the line whose absence makes `after_approved` look broken. + def drain_approval_outbox! + ApprovalEngine::OutboxEvent.unprocessed.order(:created_at).pluck(:id).each do |id| + ApprovalEngine::ProcessOutboxJob.perform_now(id) + end + end + + # Approve to completion and relay the side-effects, which is what "it was + # approved" means from the host's point of view. + def approve_approval_and_settle!(record, by: nil) + approve_approval!(record, by: by).tap { drain_approval_outbox! } + end + end +end diff --git a/test/approval_engine/test_helpers_test.rb b/test/approval_engine/test_helpers_test.rb new file mode 100644 index 0000000..21789a7 --- /dev/null +++ b/test/approval_engine/test_helpers_test.rb @@ -0,0 +1,72 @@ +require "test_helper" +require "approval_engine/test_helpers" + +module ApprovalEngine + # The helpers a host app includes. They are the gem's answer to "how do I test + # my approval flow?", so they are exercised the way a host would use them. + class TestHelpersTest < ApprovalEngine::TestCase + include ApprovalEngine::TestHelpers + + setup do + @manager = create_user(role: :manager) + @cfo = create_user(role: :cfo) + @template = create_template( + event: "invoice.created", + steps: [ { name: "Manager", layer: 1, group: "manager" }, + { name: "CFO", layer: 2, group: "cfo" } ] + ) + create_rule(template: @template, condition: { ">" => [ { "var" => "amount" }, 1_000 ] }) + @invoice = Invoice.create!(tenant_id: TENANT, amount: 20_000, department: "IT") + @invoice.run_approval!(event: "invoice.created", tenant_id: TENANT) + end + + test "approval_for finds the run, and returns nil for an unapproved record" do + assert_equal @invoice.approvals.sole, approval_for(@invoice) + assert_nil approval_for(Invoice.create!(tenant_id: TENANT, amount: 1, department: "IT")) + end + + test "pending_approval_steps is the inbox for one record" do + assert_equal [ "Manager" ], pending_approval_steps(@invoice).map(&:name) + assert_empty pending_approval_steps(Invoice.new(tenant_id: TENANT, amount: 1)) + end + + test "approve_approval! walks every layer to a decision" do + approval = approve_approval!(@invoice) + + assert_equal "approved", approval.status + assert_empty pending_approval_steps(@invoice) + end + + test "approve_approval! gives up rather than looping on a flow that never resolves" do + assert_nothing_raised { approve_approval!(@invoice, limit: 1) } + end + + test "reject_approval! stops at the step that is waiting" do + approval = reject_approval!(@invoice, comment: "No PO.") + + assert_equal "rejected", approval.status + end + + test "draining the outbox is what makes the host's callback run" do + approve_approval!(@invoice) + assert_not_equal "paid", @invoice.reload.state + + drain_approval_outbox! + + assert_equal "paid", @invoice.reload.state + end + + test "approve_approval_and_settle! does both" do + approve_approval_and_settle!(@invoice) + + assert_equal "paid", @invoice.reload.state + end + + test "raises a useful error when there is nothing to act on" do + other = Invoice.create!(tenant_id: TENANT, amount: 1, department: "IT") + + assert_raises(ArgumentError) { approve_approval!(other) } + assert_raises(ArgumentError) { reject_approval!(other) } + end + end +end diff --git a/test/gemspec_test.rb b/test/gemspec_test.rb index ee69eb4..95944c6 100644 --- a/test/gemspec_test.rb +++ b/test/gemspec_test.rb @@ -61,4 +61,10 @@ def spec test "the packaged version matches the library" do assert_equal ApprovalEngine::VERSION, spec.version.to_s end + + # Host apps `require "approval_engine/test_helpers"`, so it has to be in the + # package — it lives under lib/ but is not loaded by the engine itself. + test "ships the test helpers host apps are told to require" do + assert_includes spec.files, "lib/approval_engine/test_helpers.rb" + end end diff --git a/test/mailers/approval_engine/notification_mailer_test.rb b/test/mailers/approval_engine/notification_mailer_test.rb index a73da23..383c6b1 100644 --- a/test/mailers/approval_engine/notification_mailer_test.rb +++ b/test/mailers/approval_engine/notification_mailer_test.rb @@ -141,5 +141,18 @@ def body_of(mail, format) assert_not mail.multipart? assert_equal "text/plain", mail.mime_type end + # The ledger records who actually acted. When a delegate asks for changes, + # naming the assignee tells the reader the wrong person. + test "changes_requested names whoever actually asked" do + cover = create_user(role: :manager, name: "Cover Person") + Delegation.create!(tenant_id: TENANT, delegator: @step.assigned_actor, delegatee: cover, + starts_at: 1.day.ago, ends_at: 1.day.from_now) + @step.request_changes!(by: cover, comment: "Split this across two POs.") + + mail = NotificationMailer.changes_requested(@step.reload, to: "requester@example.test") + + assert_match "Cover Person", body_of(mail, :plain) + assert_match "Split this across two POs.", body_of(mail, :plain) + end end end diff --git a/test/services/approval_engine/notifier_test.rb b/test/services/approval_engine/notifier_test.rb index 6a98243..708a83e 100644 --- a/test/services/approval_engine/notifier_test.rb +++ b/test/services/approval_engine/notifier_test.rb @@ -178,5 +178,29 @@ def body_of(mail) assert_no_enqueued_jobs only: ProcessOutboxJob # a mailer problem must not retry the event assert_no_enqueued_jobs only: ActionMailer::Base.delivery_job end + # A delegate can act on the step, so notifying only the assignee tells the + # person who is away and not the person who can do something about it. + test "a step notification also reaches an active delegate" do + enable! + cover = create_user(role: :manager, email: "cover@example.test") + Delegation.create!(tenant_id: TENANT, delegator: @manager, delegatee: cover, + starts_at: 1.day.ago, ends_at: 1.day.from_now) + + relay(activation) + + assert_equal [ "cover@example.test", "manager@example.test" ], + ActionMailer::Base.deliveries.flat_map(&:to).sort + end + + test "an expired delegation is not notified" do + enable! + cover = create_user(role: :manager, email: "cover@example.test") + Delegation.create!(tenant_id: TENANT, delegator: @manager, delegatee: cover, + starts_at: 10.days.ago, ends_at: 5.days.ago) + + relay(activation) + + assert_equal [ "manager@example.test" ], ActionMailer::Base.deliveries.flat_map(&:to) + end end end

Review this approval