source_monitor 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.claude/skills/sm-host-setup/SKILL.md +1 -1
- data/.claude/skills/sm-upgrade/SKILL.md +5 -5
- data/.claude/skills/sm-upgrade/reference/upgrade-workflow.md +2 -2
- data/.claude/skills/sm-upgrade/reference/version-history.md +2 -2
- data/.gitignore +2 -0
- data/.vbw-planning/config.json +42 -3
- data/CHANGELOG.md +10 -0
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/docs/upgrade.md +5 -5
- data/lib/source_monitor/setup/verification/pending_migrations_verifier.rb +2 -2
- data/lib/source_monitor/version.rb +1 -1
- data/lib/tasks/source_monitor_setup.rake +12 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 67a9f28e3fe5746779d873407ef1e27c47f2976a1a38ab3df6fe9423fdacfc33
|
|
4
|
+
data.tar.gz: 431294924873906876d4a17e2fcc200d16240724cf151b3cab41baf94422a3b2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 386b5537905ef8a60b93c74436c747e8d5b2ded2bfff62ba25ab7511027d144a7d200428de3909c63899f863b8de0d73637ce43af6fe8a1b90d0f9a9bda8a3b4
|
|
7
|
+
data.tar.gz: 544f84f2cbf63afc0d2bc833ec3d995cf92f1882307ff8f51a8c2c00b41987db14fb855b4a9799f5e2f2d089822b8ec5b0aea922933c75d4c43728916bea3b57
|
|
@@ -210,7 +210,7 @@ After setup, verify with:
|
|
|
210
210
|
1. `bin/source_monitor verify` -- Checks Solid Queue and Action Cable
|
|
211
211
|
2. Visit the mount path in browser -- Dashboard should load
|
|
212
212
|
3. Create a source and trigger "Fetch Now" -- Validates end-to-end
|
|
213
|
-
4. For subsequent gem updates, use `bin/source_monitor
|
|
213
|
+
4. For subsequent gem updates, use `bin/rails source_monitor:upgrade` -- see the `sm-upgrade` skill
|
|
214
214
|
|
|
215
215
|
Optional system test for host apps using Devise:
|
|
216
216
|
```ruby
|
|
@@ -28,10 +28,10 @@ Guides AI agents through upgrading SourceMonitor in a host Rails application aft
|
|
|
28
28
|
|
|
29
29
|
1. **Review CHANGELOG** -- Read `CHANGELOG.md` in the gem source. Identify changes between the current installed version (from `.source_monitor_version` or `Gemfile.lock`) and the target version. Focus on Added, Changed, Fixed, Removed sections. Flag any breaking changes or deprecation notices.
|
|
30
30
|
2. **Update Gemfile** -- Bump the version constraint in the host app's Gemfile: `gem "source_monitor", "~> X.Y"`. Run `bundle update source_monitor`.
|
|
31
|
-
3. **Run the upgrade command** -- `bin/source_monitor
|
|
31
|
+
3. **Run the upgrade command** -- `bin/rails source_monitor:upgrade`. This automatically: detects the version change via `.source_monitor_version` marker, copies new migrations, re-runs the install generator (idempotent), runs the full verification suite.
|
|
32
32
|
4. **Run database migrations** -- `bin/rails db:migrate` if the upgrade command copied new migrations.
|
|
33
33
|
5. **Handle deprecation warnings** -- If the configure block in the initializer uses deprecated options, Rails logger will show warnings at boot. Read each warning, identify the replacement, update the initializer. See `sm-configure` skill for configuration reference.
|
|
34
|
-
6. **Run verification** -- `bin/source_monitor
|
|
34
|
+
6. **Run verification** -- `bin/rails source_monitor:setup:verify` to confirm all checks pass.
|
|
35
35
|
7. **Restart processes** -- Restart web server and Solid Queue workers to pick up the new version.
|
|
36
36
|
|
|
37
37
|
## Interpreting Upgrade Results
|
|
@@ -77,7 +77,7 @@ Example deprecation message:
|
|
|
77
77
|
| File | Purpose |
|
|
78
78
|
|---|---|
|
|
79
79
|
| `lib/source_monitor/setup/upgrade_command.rb` | Upgrade orchestrator |
|
|
80
|
-
| `lib/source_monitor/setup/cli.rb` | CLI entry point (
|
|
80
|
+
| `lib/source_monitor/setup/cli.rb` | CLI entry point (Thor, used in development) |
|
|
81
81
|
| `lib/source_monitor/setup/verification/runner.rb` | Verification runner (4 verifiers) |
|
|
82
82
|
| `lib/source_monitor/configuration/deprecation_registry.rb` | Deprecation framework |
|
|
83
83
|
| `CHANGELOG.md` | Version history (Keep a Changelog format) |
|
|
@@ -95,8 +95,8 @@ Example deprecation message:
|
|
|
95
95
|
|
|
96
96
|
- [ ] CHANGELOG reviewed for version range
|
|
97
97
|
- [ ] Gemfile updated and `bundle update source_monitor` run
|
|
98
|
-
- [ ] `bin/source_monitor
|
|
98
|
+
- [ ] `bin/rails source_monitor:upgrade` completed successfully
|
|
99
99
|
- [ ] Database migrations applied if needed
|
|
100
100
|
- [ ] Deprecation warnings addressed in initializer
|
|
101
|
-
- [ ] `bin/source_monitor
|
|
101
|
+
- [ ] `bin/rails source_monitor:setup:verify` passes all checks
|
|
102
102
|
- [ ] Web server and workers restarted
|
|
@@ -23,7 +23,7 @@ Detailed step-by-step reference for AI agents guiding host app developers throug
|
|
|
23
23
|
|
|
24
24
|
## Upgrade Command Internals
|
|
25
25
|
|
|
26
|
-
How `bin/source_monitor
|
|
26
|
+
How `bin/rails source_monitor:upgrade` works internally:
|
|
27
27
|
|
|
28
28
|
1. Reads `.source_monitor_version` from host app root (nil if first run)
|
|
29
29
|
2. Compares stored version against `SourceMonitor::VERSION` (current gem version)
|
|
@@ -71,7 +71,7 @@ Checks that Action Cable is configured with a production-ready adapter (Solid Ca
|
|
|
71
71
|
|
|
72
72
|
- Check that `bundle update source_monitor` actually pulled the new version
|
|
73
73
|
- Verify `Gemfile.lock` shows the expected version: `grep source_monitor Gemfile.lock`
|
|
74
|
-
- If the `.source_monitor_version` marker was manually edited, delete it and re-run `bin/source_monitor
|
|
74
|
+
- If the `.source_monitor_version` marker was manually edited, delete it and re-run `bin/rails source_monitor:upgrade`
|
|
75
75
|
|
|
76
76
|
### Migrations fail
|
|
77
77
|
|
|
@@ -14,7 +14,7 @@ Version-specific migration notes for each major/minor version transition. Agents
|
|
|
14
14
|
- Netflix Tech Blog VCR cassette regression test added
|
|
15
15
|
|
|
16
16
|
**Action items:**
|
|
17
|
-
1. Re-run `bin/source_monitor
|
|
17
|
+
1. Re-run `bin/rails source_monitor:upgrade` (or `bin/rails generate source_monitor:install`) to get Procfile.dev and queue.yml patches
|
|
18
18
|
2. If using Active Storage image downloads, add `config.images.download_to_active_storage = true` to initializer
|
|
19
19
|
3. If experiencing SSL certificate errors, new `config.http.ssl_ca_file`, `config.http.ssl_ca_path`, and `config.http.ssl_verify` settings are available
|
|
20
20
|
4. No breaking changes -- all existing configuration remains valid
|
|
@@ -32,7 +32,7 @@ Version-specific migration notes for each major/minor version transition. Agents
|
|
|
32
32
|
|
|
33
33
|
**Action items:**
|
|
34
34
|
1. If you monkey-patched or referenced internal classes (FeedFetcher internals, Configuration nested classes), check that your references still resolve
|
|
35
|
-
2. Run `bin/source_monitor
|
|
35
|
+
2. Run `bin/rails source_monitor:upgrade` to copy any new migrations
|
|
36
36
|
3. Optionally install skills: `bin/rails source_monitor:skills:install`
|
|
37
37
|
4. No configuration changes required -- public API unchanged
|
|
38
38
|
|
data/.gitignore
CHANGED
data/.vbw-planning/config.json
CHANGED
|
@@ -2,13 +2,52 @@
|
|
|
2
2
|
"effort": "thorough",
|
|
3
3
|
"autonomy": "standard",
|
|
4
4
|
"auto_commit": true,
|
|
5
|
+
"planning_tracking": "manual",
|
|
6
|
+
"auto_push": "never",
|
|
5
7
|
"verification_tier": "standard",
|
|
6
8
|
"skill_suggestions": true,
|
|
7
9
|
"auto_install_skills": false,
|
|
10
|
+
"discovery_questions": true,
|
|
11
|
+
"context_compiler": true,
|
|
8
12
|
"visual_format": "unicode",
|
|
9
|
-
"compaction_trigger": 130000,
|
|
10
13
|
"max_tasks_per_plan": 5,
|
|
11
|
-
"
|
|
14
|
+
"prefer_teams": "always",
|
|
15
|
+
"branch_per_milestone": false,
|
|
16
|
+
"plain_summary": true,
|
|
17
|
+
"active_profile": "default",
|
|
18
|
+
"custom_profiles": {},
|
|
12
19
|
"model_profile": "quality",
|
|
13
|
-
"model_overrides": {}
|
|
20
|
+
"model_overrides": {},
|
|
21
|
+
"agent_max_turns": {
|
|
22
|
+
"scout": 15,
|
|
23
|
+
"qa": 25,
|
|
24
|
+
"architect": 30,
|
|
25
|
+
"debugger": 80,
|
|
26
|
+
"lead": 50,
|
|
27
|
+
"dev": 75
|
|
28
|
+
},
|
|
29
|
+
"qa_skip_agents": [
|
|
30
|
+
"docs"
|
|
31
|
+
],
|
|
32
|
+
"v3_delta_context": false,
|
|
33
|
+
"v3_context_cache": false,
|
|
34
|
+
"v3_plan_research_persist": false,
|
|
35
|
+
"v3_metrics": false,
|
|
36
|
+
"v3_contract_lite": false,
|
|
37
|
+
"v3_lock_lite": false,
|
|
38
|
+
"v3_validation_gates": false,
|
|
39
|
+
"v3_smart_routing": false,
|
|
40
|
+
"v3_event_log": false,
|
|
41
|
+
"v3_schema_validation": false,
|
|
42
|
+
"v3_snapshot_resume": false,
|
|
43
|
+
"v3_lease_locks": false,
|
|
44
|
+
"v3_event_recovery": false,
|
|
45
|
+
"v3_monorepo_routing": false,
|
|
46
|
+
"v2_hard_contracts": false,
|
|
47
|
+
"v2_hard_gates": false,
|
|
48
|
+
"v2_typed_protocol": false,
|
|
49
|
+
"v2_role_isolation": false,
|
|
50
|
+
"v2_two_phase_completion": false,
|
|
51
|
+
"v2_token_budgets": false,
|
|
52
|
+
"compaction_trigger": 130000
|
|
14
53
|
}
|
data/CHANGELOG.md
CHANGED
|
@@ -15,6 +15,16 @@ All notable changes to this project are documented below. The format follows [Ke
|
|
|
15
15
|
|
|
16
16
|
- No unreleased changes yet.
|
|
17
17
|
|
|
18
|
+
## [0.5.2] - 2026-02-16
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- `source_monitor:upgrade` rake task for host apps to run upgrades via `bin/rails source_monitor:upgrade` instead of the non-distributed `bin/source_monitor` CLI.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- PendingMigrationsVerifier false positive when host migrations have `.source_monitor` engine suffix (e.g., `create_source_monitor_sources.source_monitor.rb`).
|
|
27
|
+
|
|
18
28
|
## [0.5.1] - 2026-02-13
|
|
19
29
|
|
|
20
30
|
### Changed
|
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.5.
|
|
1
|
+
0.5.2
|
data/docs/upgrade.md
CHANGED
|
@@ -6,10 +6,10 @@ This guide covers upgrading SourceMonitor to a new gem version in your host Rail
|
|
|
6
6
|
|
|
7
7
|
1. Review the [CHANGELOG](../CHANGELOG.md) for changes between your current and target versions
|
|
8
8
|
2. Update your Gemfile version constraint and run `bundle update source_monitor`
|
|
9
|
-
3. Run the upgrade command: `bin/source_monitor
|
|
9
|
+
3. Run the upgrade command: `bin/rails source_monitor:upgrade`
|
|
10
10
|
4. Apply database migrations if new ones were copied: `bin/rails db:migrate`
|
|
11
11
|
5. Address any deprecation warnings in your initializer (see Deprecation Handling below)
|
|
12
|
-
6. Run verification: `bin/source_monitor
|
|
12
|
+
6. Run verification: `bin/rails source_monitor:setup:verify`
|
|
13
13
|
7. Restart your web server and background workers
|
|
14
14
|
|
|
15
15
|
## Quick Upgrade (Most Cases)
|
|
@@ -19,7 +19,7 @@ This guide covers upgrading SourceMonitor to a new gem version in your host Rail
|
|
|
19
19
|
bundle update source_monitor
|
|
20
20
|
|
|
21
21
|
# 2. Run the upgrade command (handles migrations, generator, verification)
|
|
22
|
-
bin/source_monitor
|
|
22
|
+
bin/rails source_monitor:upgrade
|
|
23
23
|
|
|
24
24
|
# 3. Migrate if needed
|
|
25
25
|
bin/rails db:migrate
|
|
@@ -60,7 +60,7 @@ If a removed option raises an error (`SourceMonitor::DeprecatedOptionError`), yo
|
|
|
60
60
|
**Upgrade steps:**
|
|
61
61
|
```bash
|
|
62
62
|
bundle update source_monitor
|
|
63
|
-
bin/source_monitor
|
|
63
|
+
bin/rails source_monitor:upgrade
|
|
64
64
|
bin/rails db:migrate
|
|
65
65
|
```
|
|
66
66
|
|
|
@@ -81,7 +81,7 @@ bin/rails db:migrate
|
|
|
81
81
|
**Upgrade steps:**
|
|
82
82
|
```bash
|
|
83
83
|
bundle update source_monitor
|
|
84
|
-
bin/source_monitor
|
|
84
|
+
bin/rails source_monitor:upgrade
|
|
85
85
|
bin/rails db:migrate
|
|
86
86
|
```
|
|
87
87
|
|
|
@@ -26,7 +26,7 @@ module SourceMonitor
|
|
|
26
26
|
if missing.any?
|
|
27
27
|
warning_result(
|
|
28
28
|
"#{missing.size} SourceMonitor migration(s) not copied to host: #{missing.join(', ')}",
|
|
29
|
-
"Run `bin/source_monitor
|
|
29
|
+
"Run `bin/rails source_monitor:upgrade` or `bin/rails railties:install:migrations FROM=source_monitor`"
|
|
30
30
|
)
|
|
31
31
|
elsif connection.migration_context.needs_migration?
|
|
32
32
|
warning_result(
|
|
@@ -72,7 +72,7 @@ module SourceMonitor
|
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def strip_timestamp(filename)
|
|
75
|
-
filename.sub(MIGRATION_TIMESTAMP_PATTERN, "").delete_suffix(".rb")
|
|
75
|
+
filename.sub(MIGRATION_TIMESTAMP_PATTERN, "").delete_suffix(".rb").delete_suffix(".source_monitor")
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
def ok_result(details)
|
|
@@ -39,6 +39,18 @@ namespace :source_monitor do
|
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
+
desc "Upgrade SourceMonitor after a gem version change"
|
|
43
|
+
task upgrade: :environment do
|
|
44
|
+
command = SourceMonitor::Setup::UpgradeCommand.new
|
|
45
|
+
summary = command.call
|
|
46
|
+
printer = SourceMonitor::Setup::Verification::Printer.new
|
|
47
|
+
printer.print(summary)
|
|
48
|
+
|
|
49
|
+
unless summary.ok?
|
|
50
|
+
raise "SourceMonitor upgrade completed with issues. See output above for remediation steps."
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
42
54
|
namespace :skills do
|
|
43
55
|
desc "Install consumer Claude Code skills for using SourceMonitor"
|
|
44
56
|
task :install do
|