diff --git a/docs/changes/unreleased/1075-attribution-names-codeaf.md b/docs/changes/unreleased/1075-attribution-names-codeaf.md
new file mode 100644
index 0000000000..c110d9a9e9
--- /dev/null
+++ b/docs/changes/unreleased/1075-attribution-names-codeaf.md
@@ -0,0 +1,8 @@
+---
+kind: changed
+title: the drafted-with footer names CodeAF and still links to agentfield.ai
+pr: 1075
+surface: [resident, docs]
+invalidates:
+ - "The pull request and issue footer read `Drafted with [agentfield ai](https://agentfield.ai/github?…) · reviewed and owned by the author`, and the comment mark read `drafted with [agentfield ai](…)` (`exec.AttributionPullFooter`, `AttributionIssueFooter`, `AttributionCommentFooter`). They now name `[CodeAF]`; the link, its utm parameters and the rest of each line are unchanged."
+---
diff --git a/internal/exec/attribution_test.go b/internal/exec/attribution_test.go
index db89e9adda..f79a74b551 100644
--- a/internal/exec/attribution_test.go
+++ b/internal/exec/attribution_test.go
@@ -13,15 +13,15 @@ import (
// that only looked for the word "attribution".
var attributionStrings = []string{
"Co-Authored-By: codeaf ",
- "Drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=pull_request&utm_campaign=drafted_with) · reviewed and owned by the author",
- "Drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=issue&utm_campaign=drafted_with) · reviewed and owned by the author",
+ "Drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=pull_request&utm_campaign=drafted_with) · reviewed and owned by the author",
+ "Drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=issue&utm_campaign=drafted_with) · reviewed and owned by the author",
// THE COMMENT LINE IS PINNED THE HARDEST OF THE FOUR, because every part of
// it is doing a job that is easy to edit away: `` is what makes it muted
// rather than a shout in somebody's thread, the lowercase `drafted` is what
// keeps it a remark rather than a heading, `utm_medium=comment` is what makes
// a comment countable apart from a body, and there is deliberately no
// "reviewed and owned by the author" tail.
- "drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)",
+ "drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)",
}
func TestAttributionConstantsAreTheExactStrings(t *testing.T) {
diff --git a/internal/exec/linear.go b/internal/exec/linear.go
index a76835123e..39a1e3584a 100644
--- a/internal/exec/linear.go
+++ b/internal/exec/linear.go
@@ -233,10 +233,10 @@ const AttributionTrailer = "Co-Authored-By: codeaf drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)"
+const AttributionCommentFooter = "drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)"
// AttributionLaw IS THE ONE WORDING, AND IT IS ONE BECAUSE TWO SURFACES SAY IT.
// The resident's leaf loop appends it to its standing contract
diff --git a/internal/manual/chat/permissions.md b/internal/manual/chat/permissions.md
index 23a5212568..2f566d0b3b 100644
--- a/internal/manual/chat/permissions.md
+++ b/internal/manual/chat/permissions.md
@@ -885,7 +885,7 @@ then one sentence:
```
—
-Drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=pull_request&utm_campaign=drafted_with) · reviewed and owned by the author
+Drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=pull_request&utm_campaign=drafted_with) · reviewed and owned by the author
```
On an issue that link reads `utm_medium=issue` instead.
@@ -894,7 +894,7 @@ On an issue that link reads `utm_medium=issue` instead.
with one small muted line, no em dash above it:
```
-drafted with [agentfield ai](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)
+drafted with [CodeAF](https://agentfield.ai/github?utm_source=github&utm_medium=comment&utm_campaign=drafted_with)
```
`agentfield-bot` is codeaf's own GitHub account and the address is the one GitHub
diff --git a/internal/manual/pages/asking-for-work.md b/internal/manual/pages/asking-for-work.md
index 22a99dfac5..affe896070 100644
--- a/internal/manual/pages/asking-for-work.md
+++ b/internal/manual/pages/asking-for-work.md
@@ -90,7 +90,7 @@ deleted your own copy. Your file is read once and never written to.
When a worker makes git commits for you, it adds one trailer at the end of the
commit message — `Co-Authored-By: codeaf` — and nothing in the subject or the
body. When it opens a pull request or an issue, it ends the body with an
-em-dash line and one sentence: *Drafted with agentfield ai · reviewed and owned
+em-dash line and one sentence: *Drafted with CodeAF · reviewed and owned
by the author*, linking to `agentfield.ai/github`.
That is the whole of it. It is provenance, not a byline: never inside a code