cardinal-ai 0.2.11 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d84dde8c38e1b5d9819430f36789358dcccd571d7889c36555156a8fbf882172
4
- data.tar.gz: 69720ca8ec6c5ad490d863d9fabe4636ef67f465fa028fe2d27c2949ed9ccb86
3
+ metadata.gz: 2d68fd5849d2147217f98894631cb725af6c4dd786bf4e2c5438f374101f0e34
4
+ data.tar.gz: 905b5c3af9bd9fdad3aa2c5f19b69968b495ff2e2788a9ca04567c0e2be15e6a
5
5
  SHA512:
6
- metadata.gz: e3d7f706dbab0ec9b06a22ee2fa547ded9690b45b2faeb0e3582b78dc893ba7599ae9c5ada2fd5e9e6b88b11f1445dbc2528c76fd4cbe2879e413761af8a82b7
7
- data.tar.gz: 722fd734f542aed1c45af13226a8d233af66b0dc47e719f3b5efc85b02b0917e80e7bbb5239399bc326b814877d7af044ec3b3af8214e780b59f6a15503e119f
6
+ metadata.gz: 184cbda0e27ce7e49f5b921e39b8e532a77ec27e80105f186161f2d01197ad36a5da1fdf549c2636f31b09b318459dcd9f3b19f4a74ffadd17834c54fbeb04f2
7
+ data.tar.gz: 82e3aeb820bbb9252304147f37fd57bb50cb65d40e3ae709b7a9c8b911bb5b51930a19233a528eda0caec09e86181c4d95391349bf70f03bac8791aefa320ce4
data/app/models/board.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class Board < ApplicationRecord
2
- # Captured from the author's live board (2026-07-05) — the battle-tested
2
+ # Captured from the author's live board (2026-07-04, second capture) — the battle-tested
3
3
  # layout. accepts_from is stored as NAMES here and resolved to column ids
4
4
  # by install_default_columns! (ids don't exist until creation).
5
5
  DEFAULT_COLUMNS = [
@@ -32,7 +32,8 @@ class Board < ApplicationRecord
32
32
  "on_entry" => [{ "action" => "mark_pr_ready" }] } },
33
33
  { name: "Done", archetype: "terminal",
34
34
  policy: { "ai" => false, "plan_approval" => false, "arrivals" => "top",
35
- "accepts_from_names" => ["Review", "QA", "Planning"],
35
+ "accepts_from_names" => ["Tasks", "Planning", "Review", "QA"],
36
+ "footer" => [{ "label" => "Total cost:", "compute" => "sum_cost" }],
36
37
  "on_entry" => [{ "action" => "merge_pr" }] } }
37
38
  ].freeze
38
39
 
@@ -16,5 +16,13 @@ if ENV["CARDINAL_DATA_DIR"].present?
16
16
  File.chmod(0o600, secret_file)
17
17
  end
18
18
  config.secret_key_base = File.read(secret_file).strip
19
+
20
+ # Browser cookies ignore ports, so two boards on localhost share a cookie
21
+ # jar. With one shared cookie name, each instance keeps overwriting the
22
+ # other's session (each signs with its own secret) — every POST on the
23
+ # other board then fails CSRF. Scope the session cookie per instance.
24
+ require "digest"
25
+ config.session_store :cookie_store,
26
+ key: "_cardinal_#{Digest::SHA256.hexdigest(data_dir).first(12)}_session"
19
27
  end
20
28
  end
@@ -1,3 +1,3 @@
1
1
  module Cardinal
2
- VERSION = "0.2.11"
2
+ VERSION = "0.2.13"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cardinal-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Ellis