Pulse/scripts
rcourtman 3da835c5bc Publish a distribution path for pulse-mcp
The MCP adapter shipped in slice 51 with one install option:
clone the repo and go build. This slice integrates pulse-mcp
into Pulse's existing governed release pipeline so a Pulse
release publishes a pulse-mcp binary alongside the unified agent
and the install scripts that bring it home in one command.

What ships:

  - scripts/build-release.sh extended to build pulse-mcp for
    the same multi-OS matrix as the unified agent, package
    per-platform tarballs and zips, and copy bare binaries to
    RELEASE_DIR for /releases/latest/download/ redirect
    compatibility.
  - .github/workflows/create-release.yml extended to upload
    the bare pulse-mcp binaries plus install-mcp.sh and
    install-mcp.ps1 as release assets.
  - scripts/install-mcp.sh: bash one-line installer that
    detects platform/arch, downloads the matching binary from
    the configured release (latest by default), verifies SHA256
    against the published checksums.txt, places at
    ~/.local/bin/pulse-mcp (or /usr/local/bin if not writable).
    Honors PULSE_MCP_VERSION, PULSE_MCP_BIN_DIR, PULSE_MCP_REPO,
    PULSE_MCP_NO_VERIFY env vars; declines Windows shells with
    a pointer at the .ps1 sibling.
  - scripts/install-mcp.ps1: PowerShell installer for Windows,
    placing pulse-mcp.exe at $LOCALAPPDATA\pulse-mcp.

Documentation aligned:

  - cmd/pulse-mcp/README.md gains an Install section above
    Quick start with three options: one-line installer,
    GitHub Release download, go install. Documents the macOS
    Gatekeeper bypass since v1 is unnotarized by design.
  - The Settings -> API Access agent-integrations panel now
    surfaces the curl|bash command above the config snippet so
    operators see "install pulse-mcp" before "configure your
    MCP client."
  - docs/releases/AGENT_PARADIGM.md drops the "no published
    distribution path" item from "what it does not do yet" and
    documents the Gatekeeper / Homebrew gaps as next-tier
    follow-ups.

Trade-offs surfaced and chosen:

  - Same cadence as Pulse: pulse-mcp ships per Pulse release,
    not on its own track. The MCP server reads the manifest
    from the Pulse it talks to, so version alignment is the
    natural model.
  - No Homebrew tap or core formula in v1. Maintaining a tap
    is real ongoing work; foundation supports adding Homebrew
    later as a layer.
  - No Docker image. Stdio JSON-RPC fights Docker's stdin
    /stdout pattern.
  - No notarization in v1. SHA256 verification through the
    installer preserves the audit trail; README documents the
    Gatekeeper bypass.

Subsystem contract: deployment-installability.md gains
scripts/install-mcp.sh, scripts/install-mcp.ps1, and
cmd/pulse-mcp/ in canonical files (mid-list entries
renumbered) plus a paragraph documenting the new MCP entry
point alongside the existing installer family.

Verification artifacts:

  - scripts/installtests/build_release_assets_test.go gains
    TestBuildReleasePackagesPulseMcpForAllPlatforms which pins
    the build/package/copy wiring and the load-bearing
    install-mcp.sh helpers (platform detection, SHA256
    verification, install-dir resolution).
  - scripts/release_control/render_release_body_test.py gains
    test_agent_paradigm_release_notes_blurb_documents_-
    distribution_path which pins the AGENT_PARADIGM.md draft's
    install-mcp.sh reference and the four-axis frame so a
    future edit cannot regress the install story silently.

Smoke-tested install-mcp.sh locally on darwin-arm64: platform
detection, install-dir resolution, URL building, and 404 error
handling all correct. The full end-to-end install path becomes
live the moment a Pulse release ships pulse-mcp binaries; the
next RC cut will exercise it.
2026-05-10 17:04:49 +01:00
..
dev Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
eval chore: add evaluation scripts, CI workflow and dev tooling 2026-01-30 19:00:48 +00:00
installtests Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
lib Normalize hot-dev auth defaults 2026-04-22 16:28:52 +01:00
lint-fixer feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
release_control Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
systemd feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
tests Fix mock mode legacy sidecar drift 2026-05-05 15:12:31 +01:00
.go-version Update pinned Go toolchain to 1.25.9 2026-04-18 10:04:34 +01:00
audit-private-boundary.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
backfill-release-assets.sh Add historical release asset backfill workflow 2026-04-22 17:25:58 +01:00
build-release.sh Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
bundle.manifest feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
bundle.sh feat: add shared script library system and refactor docker-agent installer 2025-10-20 15:13:38 +00:00
check-bench-regression.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
check-workflow-dispatch-inputs.py fix(release): restore release helper executable bits 2026-03-26 12:26:55 +00:00
clean-mock-alerts.sh Route mock alert cleanup through managed runtime 2026-03-24 15:49:29 +00:00
cleanup.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
cloud-backup.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
com.pulse.hot-dev.plist.template feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
conformance-smoke.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
demo_public_browser_smoke.cjs Harden demo public browser smoke readiness 2026-04-12 17:07:50 +01:00
dev-check.sh Make dev-check use managed runtime status 2026-03-24 15:57:41 +00:00
dev-deploy-agent.sh Harden dev agent deploy SSH host verification 2026-04-22 11:41:50 +01:00
dev-launchd-setup.sh Prefer managed runtime controls in launchd helper 2026-03-24 16:01:14 +00:00
dev-launchd-wrapper.sh Supervise launchd dev runtime through hot-dev-bg 2026-03-24 15:39:55 +00:00
docker-build.sh security: complete Phase 1 sensor proxy hardening 2025-10-20 15:13:37 +00:00
ensure_test_assets.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
exclusive-lock.mjs feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
generate-release-notes.sh Clarify paid Pulse Pro runtime install path 2026-05-06 21:52:50 +01:00
generate-self-hosted-feature-catalog.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
generate-types.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
hot-dev-bg.sh Normalize hot-dev auth defaults 2026-04-22 16:28:52 +01:00
hot-dev.sh Normalize hot-dev auth defaults 2026-04-22 16:28:52 +01:00
install-container-agent.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
install-docker.sh Fix RC4 release validation blockers 2026-05-05 15:59:23 +01:00
install-go-toolchain.sh Update pinned Go toolchain to 1.25.9 2026-04-18 10:04:34 +01:00
install-mcp.ps1 Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
install-mcp.sh Publish a distribution path for pulse-mcp 2026-05-10 17:04:49 +01:00
install.ps1 Harden unified agent runtime and installer 2026-04-23 23:04:18 +01:00
install.sh Harden root agent service defaults 2026-05-05 13:03:13 +01:00
package-helm-chart.sh release: prepare v4.25.0 2025-10-22 10:46:18 +00:00
patrol_e2e_matrix.sh feat(patrol): implement patrol findings, evaluation, and investigation logic 2026-01-31 16:23:08 +00:00
pulse-auto-update.sh Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
release_asset_common.sh Fix release key helper module path 2026-05-04 09:44:41 +01:00
release_ldflags.sh Require signed unified agent release assets 2026-04-22 02:00:29 +01:00
release_update_key.go Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
remerge-parallel.sh Align v6 release branch governance 2026-03-19 10:18:45 +00:00
render_installers.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
repo-boundary-paid-surface.allowlist feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
run_cloud_public_signup_smoke.sh Add Pulse Cloud public signup smoke 2026-04-23 23:09:10 +01:00
run_demo_public_browser_smoke.sh Add public browser smoke proof to demo workflows 2026-04-11 13:50:00 +01:00
run_hosted_staging_smoke.sh Auto-select hosted staging tenant 2026-04-15 12:23:57 +01:00
session-handoff.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
standalone.manifest feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
sync-production-config.sh chore: update dev scripts and mock configuration 2026-01-22 22:32:45 +00:00
sync_chart_release_metadata.py fix(deploy): pin docs links to release refs 2026-03-28 21:32:11 +00:00
telemetry_adoption_report.py Harden telemetry privacy reporting contract 2026-04-14 15:06:37 +01:00
test-vm-disk.sh Update Proxmox guest agent permissions docs and tooling (refs #548) 2025-10-14 10:21:52 +00:00
toggle-mock.sh Fix mock mode legacy sidecar drift 2026-05-05 15:12:31 +01:00
trigger-release-dry-run.sh fix(release): restore release helper executable bits 2026-03-26 12:26:55 +00:00
trigger-release.sh fix(release): restore release helper executable bits 2026-03-26 12:26:55 +00:00
validate-published-release.sh Publish signed release-packet SBOM assets 2026-04-22 16:49:29 +01:00
validate-release.sh Tighten unified agent hardening proof 2026-04-23 23:37:25 +01:00