Skip to content

feat(agent): 👀/🎉 signals, leaner diffs, friendlier tone, own the PR E2E - #145

Open
MathurAditya724 wants to merge 2 commits into
mainfrom
cursor/agent-signals-diet-e2e
Open

feat(agent): 👀/🎉 signals, leaner diffs, friendlier tone, own the PR E2E#145
MathurAditya724 wants to merge 2 commits into
mainfrom
cursor/agent-signals-diet-e2e

Conversation

@MathurAditya724

@MathurAditya724 MathurAditya724 commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

Four follow-ups, one PR.

1. Instant reaction signals (👀 / 🎉)

When a human triggers Jared (labels an issue, comments on a PR/issue, leaves a review comment, or submits a review), the webhook handler immediately drops an 👀 "eyes" reaction on the exact thing they touched — fire-and-forget, so it lands in seconds regardless of how long the sandbox takes to warm up. No agent boot required, exactly as asked. The agent then leaves a single 🎉 "hooray" reaction on that same trigger once it's actually finished the work. New lib/github/reactions.ts with a unit-tested target selector; wired into routes/webhooks/github.ts.

2. Leaner diffs — no bloat

Agent is now told never to commit AGENTS.md, .agents/, .lore.md, editor/harness config, or any file unrelated to the task, and to git status / git diff --staged before every commit and unstage stray files. This is the exact thing that polluted craft#864 (its final commit was literally revert: restore AGENTS.md to master). Reinforced in repo-setup too, since that's where the harness overlay lands in the working tree.

3. deslop everywhere + friendlier tone

  • deslop is now mandatory before every commit, not "as needed" (skill-loading order + a hard constraint).
  • Tone section rewritten: anything a human reads (comments, review replies, chat) should sound like a friendly, humble teammate — warm, plain, short. Say the useful thing and stop.

4. Own the PR end-to-end (craft#864)

In craft#864 the agent replied to a review comment but SKIPPED pushing the fix, reasoning it was "a maintainer's follow-up commit… leaving open for that commit's author" — stranding the PR. It also busy-polled CI with big for i in seq 1 25 loops (165 bash calls in one run). Fixes:

  • Own your PR: on a PR the bot authored, actionable review feedback gets fixed and pushed — don't defer it. If it's genuinely out of scope, say so and @-mention a human; never silently leave it ownerless.
  • Confirm the push landed (git rev-parse HEAD @{u} must match) before claiming "fixed in ".
  • fix-ci: stop busy-waiting on CI — push, confirm, comment, stop. The CI-completion webhook wakes the agent when the run settles; looping just burns the sandbox and floods the transcript.

Test plan

  • vitest run — 123 passed (incl. new reactions.test.ts, 6 cases)
  • biome check clean on changed files
  • tsc --noEmit clean (validates the octokit.reactions.* calls)
  • sync-skills --check — runtime .agents/skills tree regenerated, no drift
  • Live: confirm 👀 appears on a real triggering comment and 🎉 on completion

Made with Cursor


Update — reviewer pushback (BYK feedback on craft#865)

BYK on this thread: "the new model is lazy AF pushing back on all review comments, like that comment on AGENTS.md." The threads confirm a real reflex:

  • Told "revert all your changes in this file" (AGENTS.md), Jared argued twice ("harness artifact… leaving open for the maintainers", "reverting would just be overwritten again") before complying only on the third ask.
  • "drop this entire paragraph it is useless" — never actioned until a human pinged "Jared, I think you missed this one."

So respond-to-comment now biases hard to action: a concrete reviewer request is an instruction to carry out, not a debate. It explicitly bans the "it'll be overwritten / harness artifact / not my responsibility / leaving for the maintainers" deflections, bans arguing the same point twice, and adds a step to enumerate open review threads first so none are missed. The tone section gets the same "act on feedback, don't defend your choices" line.

Server now drops an instant 👀 "eyes" reaction on the comment/issue that
triggers Jared, straight from the webhook handler — the human sees it's
picked up in seconds, independent of sandbox warmup. The agent leaves a
single 🎉 "hooray" reaction on that same trigger once the work is actually
done. Reaction target selection is unit-tested.

Instruction + skill changes:
- Keep diffs minimal: never commit AGENTS.md / .agents / harness overlays or
  unrelated files (this is exactly what polluted craft#864). git status /
  git diff --staged before every commit.
- deslop is now mandatory before every commit, not "as needed".
- Friendlier, humbler, shorter tone for anything a human reads.
- Own your PR end-to-end: fix actionable review feedback and push it; don't
  defer it to "the author of a later commit" and stop. Confirm the push
  landed (HEAD == @{u}) before claiming a fix.
- fix-ci: stop busy-polling CI in a loop — push, confirm, comment, stop; the
  CI-completion webhook wakes you when the run settles.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 7, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
jared d1c0d7c Aug 07 2026, 02:13 PM

BYK on craft#865: "the new model is lazy AF pushing back on all review
comments, like that comment on AGENTS.md". The thread shows the pattern —
told to revert AGENTS.md, Jared argued twice ("harness artifact… leaving
open for the maintainers", "reverting would just be overwritten") before
complying on the third ask, and separately never actioned a "drop this
paragraph" comment until a human pinged "you missed this one".

respond-to-comment now biases hard to action: a concrete reviewer request
is an instruction to carry out, not a debate. Explicitly bans the "it'll be
overwritten / harness artifact / not my responsibility / leaving for the
maintainers" deflections, bans arguing the same point twice, and adds a
step to enumerate open review threads so none are missed. Same "act on
feedback, don't defend your choices" line added to the tone section.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant