ai: never edit existing commits directly
The absorb/squash/rebase choice was scoped to megamerges; it applies
whenever a commit needs fixing up.

Assisted-by: Claude Opus 5 via Claude Code
change vpkxqsoxowwuxpvtuopyvsptqyrypkqo
commit 308c8d46d7e40bad2bf4c744de1886bfa14b59a7
author Alpha Chen <alpha@kejadlen.dev>
date
parent uusxnkru
diff --git a/ai/_AGENTS.md b/ai/_AGENTS.md
index ccc32be9..ae64915e 100644
--- a/ai/_AGENTS.md
+++ b/ai/_AGENTS.md
@@ -136,12 +136,13 @@ another commit) discards that combined view, and rebuilding it means
 re-running the merge by hand. If a megamerge is present, stay on it
 unless I explicitly ask you to move.
 
-To land changes while a megamerge is checked out, keep `@` on it: make
-the edits, then fold them into the right place with `jj absorb` (routes
-each hunk to the ancestor that last touched it), `jj squash --into
-<rev>` (targets a specific branch), or `jj rebase` (inserts a separate
-commit beneath the merge). Reach for these over `jj new` or `jj edit`
-onto another commit unless I explicitly say otherwise.
+Never edit an existing commit directly. Make the change in a new commit,
+then choose how it lands by context: `jj absorb` routes each hunk to the
+ancestor that last touched it, `jj squash --into <rev>` targets a
+specific commit, `jj rebase` inserts it as its own commit somewhere, and
+leaving it alone is fine when it stands on its own. This is what to do
+whether or not a megamerge is checked out — reach for these over `jj
+edit` unless I explicitly say otherwise.
 
 Commit quality:
 - Each commit should be one logical unit of change