deployangel 0.1.41 → 0.1.43
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/CHANGELOG.md +15 -0
- data/README.md +1 -1
- data/lib/deployangel/cli/formatter.rb +5 -1
- data/lib/deployangel/cli.rb +5 -4
- data/lib/deployangel/mcp.rb +7 -5
- data/lib/deployangel/version.rb +1 -1
- 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: ce8544c5aa3368fc5df3c437726bcb157edec54cfa43b90814c3ae0b4e5777dc
|
|
4
|
+
data.tar.gz: c2cd5fec697b3fc987043ab6aaaf361d34050cd4979ee397dfcf452b3b94dcf4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0ca495f1e92256a66a96e5b020baaeb75680904be1a89407ba9250e1396f64c3d9441b02b6b59968e3c453c827c4cf76f5850ae405a084ed3567c6ce776e9d82
|
|
7
|
+
data.tar.gz: 0e6ff274dbf1cf28bea67fbc6ab46f13009ebeef1b3d9a7967ceaa874363ec195f99ee3e2144423107594f10a256fd6483c916d3ed65155a1e0fee8427928683
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.43 (2026-11-05)
|
|
4
|
+
|
|
5
|
+
- The MCP server's instructions, and the block `deployangel install agents`
|
|
6
|
+
writes, say a failing `p95_latency` finding with an `accept_url` may be an
|
|
7
|
+
intended slowdown, such as a page that now does more work: as with a volume
|
|
8
|
+
or checkpoint drop, a coding agent hands the link to a person with its
|
|
9
|
+
evidence, never accepts it (servers from 2026-11-05).
|
|
10
|
+
|
|
11
|
+
## 0.1.42 (2026-11-05)
|
|
12
|
+
|
|
13
|
+
- `deployangel verify` marks a late regression that someone dismissed as a
|
|
14
|
+
false alarm, with who and why (servers from 2026-11-05), and the MCP
|
|
15
|
+
server's `list_late_regressions` says that one with `dismissed` set needs
|
|
16
|
+
no action. Only a person can dismiss one, on the release page.
|
|
17
|
+
|
|
3
18
|
## 0.1.41 (2026-11-04)
|
|
4
19
|
|
|
5
20
|
- The agent keeps an hour of unsent minutes (60 payloads, up from 10) when
|
data/README.md
CHANGED
|
@@ -196,7 +196,7 @@ adds, memory with every list at its cap, and the one-time file digest pass
|
|
|
196
196
|
(`APP_ROOT=path/to/app` to digest your own app). On an Apple M-series laptop
|
|
197
197
|
with Ruby 3.4, recording a request adds about 1.6 µs and 6 objects, and with
|
|
198
198
|
every route, job, checkpoint, and exception list at its cap the agent holds
|
|
199
|
-
about
|
|
199
|
+
about 4 MB, including an hour (60) of unsent minutes.
|
|
200
200
|
|
|
201
201
|
## Configuration
|
|
202
202
|
|
|
@@ -128,7 +128,11 @@ module DeployAngel
|
|
|
128
128
|
end ],
|
|
129
129
|
[ "Changed but not yet exercised", changed.map { |item| item["key"] } ],
|
|
130
130
|
[ "To clear sooner, exercise (deployangel plan for details)", exercisable_items(document).first(5) ],
|
|
131
|
-
|
|
131
|
+
# Servers from 2026-11-05 say when a person dismissed one as a false alarm.
|
|
132
|
+
[ "Late regressions", Array(document["late_regressions"]).map do |late|
|
|
133
|
+
dismissed = late["dismissed"]
|
|
134
|
+
dismissed ? "#{late["summary"]} (dismissed as a false alarm by #{dismissed["by"]}: #{dismissed["note"]})" : late["summary"]
|
|
135
|
+
end ],
|
|
132
136
|
# A failed release's rollback target and where to look first
|
|
133
137
|
# (servers from 2026-11-01 send them).
|
|
134
138
|
[ "Next steps", Array(document["next_steps"]).map { |step| step["text"] } ]
|
data/lib/deployangel/cli.rb
CHANGED
|
@@ -112,10 +112,11 @@ module DeployAngel
|
|
|
112
112
|
investigate the likely cause, and propose a fix. `next_steps` names the last
|
|
113
113
|
cleared release a rollback would go to. Do not roll back or change
|
|
114
114
|
production without explicit approval.
|
|
115
|
-
- A failed release whose failing finding is a volume or checkpoint drop
|
|
116
|
-
made on purpose (a route or job you removed
|
|
117
|
-
|
|
118
|
-
finding's `accept_url` so a
|
|
115
|
+
- A failed release whose failing finding is a volume or checkpoint drop or a
|
|
116
|
+
slowdown you made on purpose (a route or job you removed, a page that now
|
|
117
|
+
does more work): you can't accept it. Tell the user why you think it was
|
|
118
|
+
intended, with your evidence, and give them the finding's `accept_url` so a
|
|
119
|
+
person decides. It stays failed until then.
|
|
119
120
|
- Exit 3: still verifying; run the command again.
|
|
120
121
|
- Not cleared yet: call `get_exercise_plan` (or `bundle exec deployangel plan`).
|
|
121
122
|
If its status is "exercisable" or "waiting_for_activity", run
|
data/lib/deployangel/mcp.rb
CHANGED
|
@@ -31,10 +31,11 @@ module DeployAngel
|
|
|
31
31
|
Only act on status "exercisable" or "waiting_for_activity"; for "warm_up" or
|
|
32
32
|
"no_baseline" nothing you run can clear it. Exercise routes marked mutating only with a test account
|
|
33
33
|
or after asking. Report what you ran with the plan's report_with command (deployangel check).
|
|
34
|
-
A failing volume_drop or
|
|
35
|
-
a route or job you removed on purpose
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
A failing volume_drop, checkpoint_rate, or p95_latency finding with an accept_url may be an intended
|
|
35
|
+
change, such as a route or job you removed on purpose, or a page that now does more work.
|
|
36
|
+
You cannot accept it, and must not try: tell the user why you think it was intended, with your
|
|
37
|
+
evidence, and give them the accept_url so a person decides. Until someone accepts it, the release
|
|
38
|
+
is failed: never report it as success. A finding with status
|
|
38
39
|
accepted was accepted as intended by the person in accepted_as_intended.
|
|
39
40
|
TEXT
|
|
40
41
|
|
|
@@ -124,7 +125,8 @@ module DeployAngel
|
|
|
124
125
|
{ "limit" => { "type" => "integer", "minimum" => 1, "maximum" => 50, "default" => 10 } }),
|
|
125
126
|
tool("get_exception", "Sanitized details and a representative stack trace (application frames, or library frames when there are none) for an exception fingerprint.",
|
|
126
127
|
{ "fingerprint" => { "type" => "string" } }, required: %w[fingerprint]),
|
|
127
|
-
tool("list_late_regressions", "Failures found after a release was cleared, on paths the clearance did not cover."
|
|
128
|
+
tool("list_late_regressions", "Failures found after a release was cleared, on paths the clearance did not cover. " \
|
|
129
|
+
"One with dismissed set was dismissed by a person as a false alarm, with their reason: it needs no action.",
|
|
128
130
|
{ "since" => { "type" => "string", "description" => "ISO 8601 time" },
|
|
129
131
|
"limit" => { "type" => "integer", "minimum" => 1, "maximum" => 50, "default" => 10 } })
|
|
130
132
|
]
|
data/lib/deployangel/version.rb
CHANGED