At a glance

  • Available for all customers on public GitHub repositories
  • Charlie never writes to forks or unapproved public repos
  • Maintainers (write/admin) must initiate – outside contributors cannot trigger runs alone
  • Explicit mention or review request drives most interactions
  • Non‑Charlie bots & fork-based PRs are ignored
This document explains how Charlie behaves on public (open source) GitHub repositories so maintainers know when Charlie will and will not respond.

Scope & Access Model

Charlie’s open source support is now available to all customers. Access is governed by the authorization and safety rules below. Access is tightly controlled to prevent abuse (and spending of customers’ Charlie credits by unauthorized users).

Supported Repositories

Repo visibilityFork originResult
PrivateN/AStandard product behavior
PublicSame repoOpen source rules (below)
PublicFork PRIgnored
Fork PRs are always ignored. To have Charlie participate, push your branch to the primary (upstream) repository.

Authorization Requirements

For Charlie to respond in a public repository:
  • Sender must not be a non‑Charlie bot. (dependabot, github-actions, etc. are skipped.)
  • Sender must be an authorized human: a repository owner, or an organization member or a non-member with write or admin permissions.
  • Event must not originate from a forked head repository. (Mitigates supply‑chain / fork poisoning vectors.)
If any requirement fails, the event is silently ignored.

Invocation Rules (When Charlie Will Respond)

Charlie responds only to the actions below after the authorization checks pass.

Direct Interaction Triggers

  • Issue or PR comment
    • Conditions: Comment mentions Charlie (@CharlieHelps) AND author is an authorized human.
    • Action: Charlie replies in the thread. If you forget the mention, nothing happens.
  • Standalone PR review comment (not part of a pending multi-comment review)
    • Conditions: Comment mentions Charlie AND author is an authorized human.
    • Action: Charlie replies.
  • Submitted multi-comment PR review
    • Conditions (any of):
      • The review body or any individual review comment mentions Charlie, OR
      • Charlie authored the PR and the review state is changes_requested. AND reviewer is an authorized human.
    • Action: Charlie replies in the PR conversation.
  • Issue assigned to Charlie
    • Conditions: Charlie is in the assignee list, the issue is open, AND the assignment was made by an authorized human.
    • Action: Charlie responds (no explicit mention required).

Indirect / Automation Triggers (No immediate reply)

  • PR opened
    • If the PR is not a draft or Charlie authored it, and it was opened by an authorized human, Charlie automatically requests itself as a reviewer (configurable – see Section 4). This does not produce an immediate reply; the later review request event, a mention, or a PR assignment will.
  • PR marked ready for review
    • If the PR transitions from draft and automation is enabled, and the transition was performed by an authorized human, Charlie requests a review.
  • Review explicitly requested
    • If Charlie is the requested reviewer and the PR is open, Charlie responds (request made by an authorized human).

Automatic PR Review Request Behavior

By default, Charlie will auto‑request itself as a reviewer when:
  • A non-draft PR is opened by an authorized human, or
  • A draft PR is marked ready for review by an authorized human.
This behavior is controlled by the repository configuration key: beta.automaticallyReviewPullRequests (default true). If disabled, maintainers must manually request a review, mention Charlie, or assign the PR to Charlie to start work.

Skip Rules (When Charlie Will NOT Respond)

Charlie intentionally ignores the scenarios below. Most produce no visible indication; this is expected.
CategoryExample ScenarioReason
AuthorizationComment by external contributorSender lacks required write/admin permissions
Fork SafetyPR opened from a forkFork PRs are ignored
Bot NoiseDependabot (or other third‑party bot) mentions CharlieNon‑Charlie bot senders ignored
MentionsComment lacks @CharlieHelpsRequires explicit mention in that context
Self‑loopCharlie authored the triggering reviewAlready Charlie’s action; no extra response
Review StatePR review on Charlie-authored PR without mention & not changes_requestedNo explicit signal to act
PermissionsReview submitted by actor with only read accessRead-only reviewers cannot trigger responses
Issue BodyIssue opened with @CharlieHelps in bodyInitial body mention ignored; comment or assign instead

Practical Examples

Trigger a review

Add Charlie as a reviewer or comment: @CharlieHelps please review the concurrency changes in src/worker/pool.ts

Summon in an issue

Comment in the issue: @CharlieHelps draft an implementation plan covering validation & migration steps

No response (fork)

Opening a PR from a personal fork will be ignored until you push the branch to the main repo.

No response (bot)

A Dependabot comment mentioning Charlie is skipped; a maintainer must follow up.

FAQ

Why ignore forked PRs?
Minimizes risk of untrusted code influencing automated reasoning before a maintainer reviews & deliberately brings it into the main repo.
Can external contributors still get help?
Yes—ask a maintainer to mention Charlie, request a review, or assign the PR to Charlie after validating the contribution direction.
Will Charlie ever proactively comment without a mention?
Only with a mention or a PR assignment by an authorized human.
How do I disable auto review requests?
Set beta.automaticallyReviewPullRequests to false in your configuration (UI surface not yet exposed for open source repos).


Questions? Reach out at hello@charlielabs.ai.