Skip to content

Hide Claude Code attribution in factory sessions - #1069

Merged
JacobStephens2 merged 1 commit into
mainfrom
issue-937
Oct 22, 2026
Merged

JacobStephens2 merged 1 commit into
mainfrom
issue-937

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

 factory Claude session (opening, Repair, review or Resume)
+  --settings '{"attribution":{"commit":"","pr":""}}'
   thirdshift's Built with line

Hide Claude Code's commit and PR attribution for factory sessions. Preserve the release-summary invocation. Regenerate the guide and prompt examples, with shell quoting that preserves the inline JSON.

Closes #937

Evidence

  • Before: cargo test --bin thirdshift harness::claude::tests::factory_sessions_and_resumes_hide_claudes_commit_and_pr_attribution -- --exact failed because --settings was absent.
    After: passes across ordinary sessions, code reviews, Security reviews and their Resumes. The release-summary argument regression also passes.
  • Before: cargo test --bin thirdshift prompts_page::tests::prompts_page_claude_commands_preserve_attribution_settings_as_one_shell_argument -- --exact failed with key must be a string after Bash parsed the unquoted JSON.
    After: generated examples preserve the settings as one valid JSON argument for both new sessions and Resumes.
  • cargo check, cargo fmt --check, UPDATE_PROMPTS=1 cargo test prompts_page and cargo test prompts_page passed.
  • /usr/bin/time -p scripts/affected-tests main passed: 36 site browser tests and the full cargo nextest run suite, 2,249 Rust tests passed, 51 skipped. Total wall time: 1,285.68 s, including compilation and site checks; nextest execution: 1,234.304 s, with 0.28 s of cached compilation before it.
  • Compatibility checked against installed Claude Code 2.1.307 (claude --version and claude --help). The official settings reference specifies empty strings for both keys; the CLI reference documents inline JSON and per-session precedence. The official changelog records attribution support since 2.0.62.

Test seams

  • Claude Harness adapter session arguments, including ordinary sessions (opening and Repairs), code reviews, Security reviews and their Resumes.
  • Release-summary Harness invocation, to preserve its existing arguments.
  • Generated command documentation, to preserve the inline JSON as one shell argument.

Unaddressed findings

Standards

  • Low — Duplicated Code in test settings parsing (src/harness/claude.rs:212, src/prompts_page.rs:669). Declined extraction: keep the short lookup and decoding local to each test seam, following the documented codebase-design locality principle. The adapter test exercises invocations directly (src/harness/claude.rs:208); the documentation test executes Bash (src/prompts_page.rs:660) and checks the complete settings object, rather than only attribution (src/prompts_page.rs:676, src/harness/claude.rs:219). A shared helper would couple these independent proofs for a small reduction in mechanics. This is a design decision within this change; nothing is deferred to the Spec or Day shift. The finding alleges no wrong behavior and supplies no reproduction command.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Review coverage

Independent Standards and Spec reviews used git diff main...HEAD (main at 4580603). Both read all six changed files, including generated hunks. Unread changed files: none. Generated-output exclusions: none. Final reports, with supporting files-read lists, are saved at .thirdshift-review-GGWRjQ/standards.md and .thirdshift-review-GGWRjQ/spec.md in the worktree.

Merge Danger

Door: two-way

Revert to restore the previous session arguments; existing commits and PR bodies are untouched.

Blast Radius: narrow

Claude factory session arguments and their documentation. Other Harnesses and manually launched Claude sessions keep their existing behavior.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 01ef9eb into main Oct 22, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-937 branch October 22, 2026 12:30
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 22, 2026
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.

Leave Claude Code's own attribution out of factory pull requests and commits

1 participant