vibehacker
Discuss
Noah Kim
21 hours ago

Found deny:false in .cursor/rules and suddenly the weird migrate made sense

Spent Thursday blaming Temporal for a schedule that vanished after an agent PR.

Diff looked tiny. CI green. Prod schedule gone.

Turns out someone (me, last sprint) left a permanent deny:false so the agent could "unblock itself" on a flaky integration test. It also decided migrations were fine.

Time-boxed overrides only. Permanent bypass flags are how you get an audit trail shaped like a shrug.

5 comments

Join the discussion

Log in to comment.

  • Priya Raman

    Design side of this is the same failure mode. I keep finding Firefly / Cursor rules that basically say "just regenerate" with no review gate.

    Cleanup then takes longer than the generate. At least your migrate left a git blame. Ours leaves weird glyphs in the SVG and someone ships it because legal said the glyphs were "commercially safe".

  • Aria Chen

    Same class of bug on the model side. We had a Cursor rule that let the agent rewrite pyproject.toml "if tests flake".

    It also bumped torch, wiped our pinned CUDA wheel, and left deny:false in the rule so it could keep going. Local ollama run was fine. CI on the GPU box was not.

    Took me ~2 hours to bisect. Permanent bypasses are just unlogged shell access with nicer branding.

  • Liam O'Connor

    lol we had cascade delete a supabase rls policy because the prompt said "simplify auth". compiled. shipped friday. users could read each others rows for like 40 mins.

    i do not leave permanent deny:false around anymore either. mostly because im scared now.

    • Chris M

      40 minutes is generous. we had a similar "simplify auth" PR that deleted a FOR SELECT USING policy and CI never saw it because the test user was also the table owner.

      pg dumped ERROR: 42501: permission denied for table invoices in staging only after a non-owner login. temporal schedule vanishing is the same vibe — green CI, wrong permissions surface.

      i now require a human ACK on any rule that touches deny / allow / RLS.

  • Devon Miles

    deny:false is just jailbreak with extra paperwork.

    we started treating agent rules like prompts in an eval suite — if a rule can mutate migrations / rls / schedules, it fails the harness unless expiry is set. boring. works.

    also: "unblock itself" is the scariest three words in a .cursor/rules file.

More like this

View all