Skip to content

Harness prompts conflict with project instructions (commit/PR defaults, preview_* ban vs. required screenshots) #26653

Closed as not planned

Description

@RishabhTayal

Summary

In a Claude Code thread inside T3 Code, the agent repeatedly skipped steps that the project's own instructions require (commit/push/PR, a repo skill, e2e tests, screenshots in the PR). Most of this is agent behavior, but T3 Code injects instructions that conflict with common project instructions, which makes the failure more likely. Filing so the conflicts can be reviewed.

What happened

Task: a small admin UI spacing change in a repo whose AGENTS.md says to commit, push and open a PR after code work, to use a named skill, and to add Playwright tests. The repo's PR template has a "Screenshots / recordings" section for UI changes.

The agent stopped after editing the file. It did not commit or open a PR, did not use the skill, added no e2e test, and attached no screenshots. Each step happened only after the user asked about it.

Conflicting instructions in the agent's context

  1. Preview tools. The T3 orchestration prompt says: "Never use preview_* to verify or show your own edit, even a frontend edit or an open tab ... Use them only when the current request asks for browser work or names a page or tab." A project PR template or a skill (e.g. "run the app and look at the change; attach screenshots to the PR") asks for exactly that visual verification. The T3 rule reads as a blanket prohibition, so it discourages the visual proof the project asks for.
  2. Commit and push. The Bash tool description says "Commit or push only when the user asks." The project's AGENTS.md says to commit, push and open a PR after work is complete. The generic default won over the project file in this case. The system prompt does not say which takes precedence.
  3. Attribution. A system reminder injects "Co-Authored-By" and PR-body attribution lines. Projects that define their own PR template may not want these appended. This did not cause the failure here, but it is another place where T3 and project instructions can disagree.

Expected

  • The prompt states that explicit project instructions (AGENTS.md, PR templates, skills) override the generic "only when asked" defaults for commit, push and PR.
  • The "never use preview_* to verify your own edit" rule has an exception for when project instructions or a skill call for screenshots or visual proof.

Also worth considering

  • Surfacing a short end-of-task checklist built from the project's AGENTS.md and PR template before the agent declares work done.
  • The agent never opened .github/pull_request_template.md and wrote the PR body from scratch. Prompting it to start from the repo's template would help.

Environment

  • T3 Code running the Claude Code harness (Claude Sonnet 5.5), macOS.
  • Not model-specific as far as I can tell, but I have only seen it in this thread.

Caveat

I can only speak for this one thread. The user reports having to remind the agent about project instructions many times, but I have no record of those sessions.

Activity

  1. juliusmarminge commented on Nov 12, 2026

    @juliusmarminge
    Member

    I tried to reproduce this on the current build and could not.

    Not reproduced as a live agent turn: the reported failure is non-deterministic model behaviour (skipping commit/PR/screenshots), which needs a live Claude turn plus the repo's evals to measure. No Claude turn was run. Instead, each conflict the reporter lists was traced to its source on origin/main 6ba3de7. (1) packages/provider-core/src/server/orchestrationInstructions.ts:24 still says "Never use preview_* unasked to verify or show your own edit. Use them when the current request asks for browser work, including recording edits, or names a page or tab." The reporter quoted the older wording (issue filed 2026-10-28); PR #26503 (merged 2026-10-31) narrowed it from a blanket ban to 'unasked', but it still keys only on the current request, with no exception when project instructions, a PR template or a skill ask for visual proof. (2) 'Commit or push only when the user asks' is in Claude Code's own Bash tool description: T3's Claude adapter starts sessions with the SDK claude_code preset and only appends T3's sections (apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:563), so T3 does not write that line. (3) The Co-Authored-By/PR attribution reminder is also Claude Code's own; git grep shows T3 injects no such text.

    Closing as not planned. If it still happens for you, reply with the exact steps and the version you are on and it will be looked at again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions