Repository navigation
feat: add Vercel deployment monitoring (prototype) - #8
Merged
Merged
Conversation
Add a VercelMonitor that polls the connected integration's production deployments, pairs the desktop app with a Worker through a one-time state, and notifies once per terminal transition. Deployments decode into Deployment values, the status menu gains a hidden-until-configured Connect/Disconnect Vercel item, and the Vercel mascot sprite is added.
Replace the collapsed step strip with a live deployment row (project, state and an indeterminate indicator) while a Vercel deployment runs, list deployments in the expanded session list, and size the expanded panel from the current notch geometry instead of a fixed width. StepStrip is removed; per-step progress stays in the expanded StepList.
Unit tests for authentication state, pagination and rate-limit recovery, unknown states, missing git metadata and status transitions, a fake Vercel simulation, and the geometry-derived panel width. Adapt the session-list test to the new deployments parameter.
Add a Vercel prompt to the mascot generator, a --base-only mode, and an optional agent argument for the processing step so a single sprite can be regenerated without touching the others.
Record the integration design, the security requirements that still gate it (authorization-code exchange, one-time state, revocation), the manual verification needed, and the unreleased Cloudflare Worker that holds the client secret, with its own tests and wrangler config.
Record the interruption budget: no collapsed layout delta, agents keep the primary signal, worst state plus count instead of a carousel, passive terminal notifications behind an explicit switch, and hover-only details. List the gaps in the current WIP and the acceptance criteria.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linked issue
Closes #7
What and why
VercelMonitorthat pairs the desktop app with a Worker, polls the connected integration's production deployments (pagination, rate-limit recovery, disconnect) and notifies once per terminal transition. An initial snapshot never notifies.docs/vercel-notch-ux.md) recording how the notch stays quiet: no collapsed layout delta, agents keep the primary signal, worst state plus count, passive terminal notifications behind a switch.Changes
Sources/AgentNotch/Domain/Deployment.swiftDeploymentTrackerdeduplicationSources/AgentNotch/Infrastructure/VercelMonitor.swiftSources/AgentNotch/Infrastructure/HookServer.swiftSources/AgentNotch/App/AppDelegate.swift,StatusMenu.swiftSources/AgentNotch/UI/NotchRootView.swift,SessionListView.swift,AccentLine.swift,NotchViewModel.swift,MascotSprites.swiftSources/AgentNotch/UI/StepViews.swiftStepStripin favour of the deployment rowpackaging/locales/*/Localizable.stringsTests/AgentNotchTests/*docs/vercel-deployment-monitoring.md,docs/vercel-notch-ux.mdintegrations/vercel-worker/*How I tested it
swift build -c releasepassespython3 scripts/check-strings.pypasses (88 strings in 3 languages)bash -n bridge/agent-notch-hook scripts/*.shpassesswift testpasses (XCTest suites plus 7 Swift Testing tests)Reviewer notes
CONTRIBUTING.mdand the README promise that the app never sends anything anywhere; that invariant needs an explicit exception (and a README update) before merge. The monitor only talks to the configured Worker, never to Vercel directly, and requests no personal token.StepStripremoval is intentional, but it means the collapsed notch no longer showsn/mstep progress. Worth confirming that trade-off before merge..activenotification level, missing switch).