legion-settings 1.3.8 → 1.3.10

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: 1f33fc603ef7e3e977a241fce4e06dc22d3d63dc1781c99108a13f3b13b139dc
4
- data.tar.gz: dc072b339d377a53bab15abee76acb38be1774658f5e6bd89b76c30b468781bb
3
+ metadata.gz: 30b9b4ed904f547eb9da80ede6133c372d136629c598d00ca768eaf8f4c92b4a
4
+ data.tar.gz: 3f69fd7e055f4d5622c269daa1e2e47b853b04fab48496fb326217940cbca200
5
5
  SHA512:
6
- metadata.gz: 21767fcba605c3bd7e81191ed5f0268d743735ac71d8c3158cb3a0f5e615cbf809ac172f725110bb857ee511758d4c9d2b05b5063efb7425244879789c878dc3
7
- data.tar.gz: 4cc7013a89fe254b562d8f3eb325b004f858ca8928cc50e91b58014213608f36c14a892f5a3b15758a5795acf133300d4ab9e395b0d998d328a97afe61a0677a
6
+ metadata.gz: 3a6a57cbcdde3dc142e45b609f4559ac5a666adc19e8dc11a9eb93eb4bb53d78eddb202202e124e86f81d2b488a50a41935a9431b220484570ad112546c1207f
7
+ data.tar.gz: 41e2b8cd7b1d3d4ca9e3f521ec58f9e2d06bbc946f45990b16e98c2ced2e5503f0ad295f3fcf02374107731d0cc0ec3c61c863f1bba3e211314d11f27699f726
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Legion::Settings Changelog
2
2
 
3
+ ## [1.3.9] - 2026-03-21
4
+
5
+ ### Added
6
+ - `region` settings block: `current`, `primary`, `failover`, `peers`, `default_affinity` (prefer_local), `data_residency`
7
+ - `process` settings block: `role` (default: 'full') for process role configuration
8
+ - `:region` and `:process` added to `CORE_MODULES` for schema validation coverage
9
+ - 16 new specs (262 total, 0 failures)
10
+
3
11
  ## [1.3.8] - 2026-03-20
4
12
 
5
13
  ### Added
data/CLAUDE.md CHANGED
@@ -8,7 +8,7 @@
8
8
  Hash-like configuration store for the LegionIO framework. Loads settings from JSON files, directories, and environment variables. Provides a unified `Legion::Settings[:key]` accessor used by all other Legion gems. Includes schema-based validation with type inference, enum constraints, and cross-module checks.
9
9
 
10
10
  **GitHub**: https://github.com/LegionIO/legion-settings
11
- **Version**: 1.3.5
11
+ **Version**: 1.3.9
12
12
  **License**: Apache-2.0
13
13
 
14
14
  ## Architecture
data/CODEOWNERS ADDED
@@ -0,0 +1,30 @@
1
+ # Default owner — all files
2
+ * @Esity
3
+
4
+ # Core library code
5
+ # lib/ @Esity @future-core-team
6
+
7
+ # Loader (file/env/directory loading, deep merge)
8
+ # lib/legion/settings/loader.rb @Esity @future-core-team
9
+
10
+ # Schema validation
11
+ # lib/legion/settings/schema.rb @Esity @future-core-team
12
+ # lib/legion/settings/validation_error.rb @Esity @future-core-team
13
+
14
+ # Secret resolver (vault://, env://, lease://)
15
+ # lib/legion/settings/resolver.rb @Esity @future-security-team
16
+
17
+ # DNS bootstrap
18
+ # lib/legion/settings/dns_bootstrap.rb @Esity @future-infra-team
19
+
20
+ # Agent loader (role-based profile filtering)
21
+ # lib/legion/settings/agent_loader.rb @Esity @future-core-team
22
+
23
+ # Specs
24
+ # spec/ @Esity @future-contributors
25
+
26
+ # Documentation
27
+ # *.md @Esity @future-docs-team
28
+
29
+ # CI/CD
30
+ # .github/ @Esity
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Configuration management module for the [LegionIO](https://github.com/LegionIO/LegionIO) framework. Loads settings from JSON files, directories, and environment variables. Provides a unified `Legion::Settings[:key]` accessor used by all other Legion gems.
4
4
 
5
- **Version**: 1.3.5
5
+ **Version**: 1.3.9
6
6
 
7
7
  ## Installation
8
8
 
@@ -52,23 +52,24 @@ module Legion
52
52
  },
53
53
  cache: { enabled: true, connected: false, driver: 'dalli' },
54
54
  extensions: {
55
- core: %w[
55
+ core: %w[
56
56
  lex-node lex-tasker lex-scheduler lex-health lex-ping
57
57
  lex-telemetry lex-metering lex-log lex-audit
58
58
  lex-conditioner lex-transformer lex-exec lex-lex lex-codegen
59
59
  ],
60
- ai: %w[lex-claude lex-openai lex-gemini],
61
- gaia: %w[lex-tick lex-mesh lex-apollo lex-cortex],
62
- categories: {
60
+ ai: %w[lex-claude lex-openai lex-gemini],
61
+ gaia: %w[lex-tick lex-mesh lex-apollo lex-cortex],
62
+ categories: {
63
63
  core: { type: :list, tier: 1 },
64
64
  ai: { type: :list, tier: 2 },
65
65
  gaia: { type: :list, tier: 3 },
66
66
  agentic: { type: :prefix, tier: 4 }
67
67
  },
68
- blocked: [],
69
- reserved_prefixes: %w[core ai agentic gaia],
70
- reserved_words: %w[transport cache crypt data settings json logging llm rbac legion],
71
- agentic: { allowed: nil, blocked: [] }
68
+ blocked: [],
69
+ reserved_prefixes: %w[core ai agentic gaia],
70
+ reserved_words: %w[transport cache crypt data settings json logging llm rbac legion],
71
+ agentic: { allowed: nil, blocked: [] },
72
+ parallel_pool_size: 24
72
73
  },
73
74
  reload: false,
74
75
  reloading: false,
@@ -85,6 +86,9 @@ module Legion
85
86
  transport: { connected: false },
86
87
  data: { connected: false },
87
88
  role: { profile: nil, extensions: [] },
89
+ region: { current: nil, primary: nil, failover: nil, peers: [],
90
+ default_affinity: 'prefer_local', data_residency: {} },
91
+ process: { role: 'full' },
88
92
  dns: dns_defaults
89
93
  }
90
94
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module Settings
5
- VERSION = '1.3.8'
5
+ VERSION = '1.3.10'
6
6
  end
7
7
  end
@@ -9,7 +9,7 @@ require 'legion/settings/validation_error'
9
9
 
10
10
  module Legion
11
11
  module Settings
12
- CORE_MODULES = %i[transport cache crypt data logging client].freeze
12
+ CORE_MODULES = %i[transport cache crypt data logging client region process].freeze
13
13
 
14
14
  class << self
15
15
  attr_accessor :loader
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-settings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.8
4
+ version: 1.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -39,6 +39,7 @@ files:
39
39
  - ".rubocop.yml"
40
40
  - CHANGELOG.md
41
41
  - CLAUDE.md
42
+ - CODEOWNERS
42
43
  - Gemfile
43
44
  - LICENSE
44
45
  - README.md