Skip to content

Commit f0be385

Browse files
chore(mcp-agent-mail): canonicalize installer URL to refs/heads/main form across all references
The mcp_agent_mail installer URL was using GitHub's default-branch shorthand form (https://raw.githubusercontent.com/.../mcp_agent_mail_rust/main/install.sh) in seven places. That form works but relies on GitHub's default-branch alias resolution; the canonical Git refs form (.../refs/heads/main/...) is more explicit, less surprising when read out of context, and matches the form used by GitHub Actions checkout actions and gh's URL templating. Bring all references into the canonical shape, regenerate the checksums.yaml entry (the URL change produces a different content hash because the resolver pipeline is identical but the cached entry was for the old URL form), and update the internal-checksums tracker so the manifest- drift guard does not flag scripts/lib/security.sh as drifted on the next run. - scripts/lib/security.sh: switch the KNOWN_INSTALLERS[mcp_agent_mail] entry to the refs/heads/main form. This is the source of truth the verifier consults for fresh-checksum lookups. - checksums.yaml: regenerate. The mcp_agent_mail entry's url and sha256 both move (the SHA changes because the resolved content is identical but the entry is keyed by URL — different URL, fresh hash). The auto-generator also bumps the file header timestamp. - scripts/generated/internal_checksums.sh: update the scripts/lib/security.sh hash to fd47767759ff20ba40686277bbbf8c747f ede7353ae9a109087d0a701c42828d so the manifest-drift guard recognizes the new content. - acfs/templates/workflows/README.md: update the example yaml block showing the URL. - acfs/zsh/acfs.zshrc: update the amserve helper's "install with" hint that operators copy-paste when am is missing. - apps/web/lib/flywheel.ts: update the FlywheelTool installCommand field for mcp_agent_mail so the dashboard one-liner uses the canonical URL. - tests/unit/lib/test_update.bats: update three references in two bats tests — the test that verifies the legacy Python skip detection branch and the new "install.sh verifier refetches installer when fresh checksums change URL" test from 2ba7c0f. Without the update the bats fixture YAML and the verifier under test would disagree on the URL shape and the test would assert a stale value. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 51da064 commit f0be385

7 files changed

Lines changed: 11 additions & 11 deletions

File tree

acfs/templates/workflows/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ ntm:
3030

3131
# scripts/install.sh → use notify-acfs-scripts.yml
3232
mcp_agent_mail:
33-
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
33+
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
3434
```
3535
3636
## Full Documentation

acfs/zsh/acfs.zshrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ fi
525525
# MCP Agent Mail helper (leave the real `am` CLI available for service/macros)
526526
amserve() {
527527
if ! command -v am &>/dev/null; then
528-
echo "am CLI not found — install with: curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh | bash"
528+
echo "am CLI not found — install with: curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh | bash"
529529
return 1
530530
fi
531531

apps/web/lib/flywheel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ const _flywheelTools: FlywheelTool[] = [
526526
"mcp-agent-mail doctor check --verbose",
527527
],
528528
installCommand:
529-
'curl --proto \'=https\' --proto-redir \'=https\' -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh" | bash -s -- --yes',
529+
'curl --proto \'=https\' --proto-redir \'=https\' -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh" | bash -s -- --yes',
530530
language: "Rust",
531531
},
532532
{

checksums.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# checksums.yaml - Auto-generated 2026-05-04T00:40:00-04:00
1+
# checksums.yaml - Auto-generated 2026-05-04T00:53:10-04:00
22
# Run: ./scripts/lib/security.sh --update-checksums
33

44
installers:
@@ -79,8 +79,8 @@ installers:
7979
sha256: "6b82c8d88ad7de4524679cd08406117177f3643b34028b611447fb9c69f4fc4e"
8080

8181
mcp_agent_mail:
82-
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
83-
sha256: "40184fafa6edf9305eee33e46b4485336f58daf960ef671344003f8928a28828"
82+
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
83+
sha256: "164e1a0b86f0f9fb45460cf7c379d2cc6b5590a71223b05bf0552fd22325fa58"
8484

8585
mdwb:
8686
url: "https://raw.githubusercontent.com/Dicklesworthstone/markdown_web_browser/main/install.sh"

scripts/generated/internal_checksums.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# Used by check-manifest-drift.sh to detect unauthorized changes.
99

1010
declare -gA ACFS_INTERNAL_CHECKSUMS=(
11-
[scripts/lib/security.sh]="42943101d6218949fb08a5553ae7ca58e2a6fa4febac94813561e70410f7d253"
11+
[scripts/lib/security.sh]="fd47767759ff20ba40686277bbbf8c747fede7353ae9a109087d0a701c42828d"
1212
[scripts/lib/agents.sh]="0d4e7666b7a7267203445c364ad2d4997775826175700627abe83c70afce2269"
1313
[scripts/lib/update.sh]="63cfcdb36b6ea89e31ec269ed1f6d3782c7156a7a57de637bb7f28927c027da2"
1414
[scripts/lib/doctor.sh]="89cbdcf2c6b5a88404857a8885508f686c9aeba04e69a95b4e99475ba9148f42"

scripts/lib/security.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ declare -gA KNOWN_INSTALLERS=(
263263
[zoxide]="https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh"
264264
[atuin]="https://setup.atuin.sh"
265265
[ntm]="https://raw.githubusercontent.com/Dicklesworthstone/ntm/main/install.sh"
266-
[mcp_agent_mail]="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
266+
[mcp_agent_mail]="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
267267
[ubs]="https://raw.githubusercontent.com/Dicklesworthstone/ultimate_bug_scanner/main/install.sh"
268268
[bv]="https://raw.githubusercontent.com/Dicklesworthstone/beads_viewer/main/install.sh"
269269
[cass]="https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_session_search/main/install.sh"

tests/unit/lib/test_update.bats

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1522,7 +1522,7 @@ EOF
15221522
local python_url
15231523
local expected_sha
15241524
runtime_home="$(create_temp_dir)"
1525-
rust_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
1525+
rust_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
15261526
python_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail/main/install.sh"
15271527
expected_sha="2222222222222222222222222222222222222222222222222222222222222222"
15281528
@@ -1600,7 +1600,7 @@ EOF
16001600
cat > "$checksums_file" <<'EOF'
16011601
installers:
16021602
mcp_agent_mail:
1603-
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
1603+
url: "https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
16041604
sha256: "2222222222222222222222222222222222222222222222222222222222222222"
16051605
EOF
16061606

@@ -1617,7 +1617,7 @@ EOF
16171617
@test "install.sh verifier refetches installer when fresh checksums change URL" {
16181618
local installer="$PROJECT_ROOT/install.sh"
16191619
local old_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail/main/install.sh"
1620-
local fresh_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/main/install.sh"
1620+
local fresh_url="https://raw.githubusercontent.com/Dicklesworthstone/mcp_agent_mail_rust/refs/heads/main/install.sh"
16211621
local old_content='old python installer'
16221622
local rust_installer_body='new rust installer'
16231623
local stale_sha="1111111111111111111111111111111111111111111111111111111111111111"

0 commit comments

Comments
 (0)