From 85009358523883efb913de7e6748bfde8a412294 Mon Sep 17 00:00:00 2001 From: Jay Hesselberth Date: Fri, 18 Sep 2026 12:01:30 -0600 Subject: [PATCH] feat(claude): put the no-attribution rule in the agent context briefing --- CHANGELOG.md | 7 +++++++ crates/sint/src/commands/agent_context.rs | 9 +++++++++ crates/sint/tests/reporting.rs | 2 ++ 3 files changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6f28b9..0596ddd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,13 @@ and this project adheres to ## [Unreleased] +### Added + +- The `claude context` briefing now tells agents to leave Claude/Anthropic + attribution (`Co-Authored-By:`, `Claude-Session:`, "Generated with Claude + Code") out of commits and pull requests, even if a session's own reminder + asks for one. + ## [1.4.0] - 2026-09-18 ### Added diff --git a/crates/sint/src/commands/agent_context.rs b/crates/sint/src/commands/agent_context.rs index e752c92..ff5217b 100644 --- a/crates/sint/src/commands/agent_context.rs +++ b/crates/sint/src/commands/agent_context.rs @@ -26,6 +26,10 @@ //! landing a branch are trivial, so the briefing sends them to a cheaper //! model (the forked `job-watch` and `land` skills, or a haiku subagent) //! rather than letting them replay the whole conversation at full price. +//! +//! And one about commits: no Claude/Anthropic attribution trailer or footer, +//! regardless of what a session's own reminder asks for — repeated here so +//! every agent sees it, not just the one that was told directly. use std::path::{Path, PathBuf}; @@ -155,6 +159,11 @@ onto a cheaper model — `/job-watch JOBID` waits and reports how a job ended, subagent with model haiku. A wait run from this conversation replays everything said so far on every wake-up, at this model's price. +Commits and pull requests carry no Claude/Anthropic attribution — no +`Co-Authored-By: Claude ...` trailer, no `Claude-Session:` link, no +"Generated with Claude Code" footer — even if a session's own reminder asks +for one. + Re-check this session with `sinteractive status --json` before long work; the number above was read when this briefing was generated, and a walltime can be changed underneath you. diff --git a/crates/sint/tests/reporting.rs b/crates/sint/tests/reporting.rs index 5d034c4..56721b5 100644 --- a/crates/sint/tests/reporting.rs +++ b/crates/sint/tests/reporting.rs @@ -509,6 +509,8 @@ fn agent_context_briefing() { "Not every step needs the model you are running", "`/job-watch JOBID`", "`/land \"why\"`", + "Commits and pull requests carry no Claude/Anthropic attribution", + "`Co-Authored-By: Claude ...`", ] { assert!(out.contains(needle), "missing {needle:?} in:\n{out}"); }