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
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 visibility | Fork origin | Result |
---|---|---|
Private | N/A | Standard product behavior |
Public | Same repo | Open source rules (below) |
Public | Fork PR | Ignored |
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
oradmin
permissions. - Event must not originate from a forked head repository. (Mitigates supply‑chain / fork poisoning vectors.)
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.
- Conditions: Comment mentions Charlie (
-
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.
- Conditions (any of):
-
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.
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.Category | Example Scenario | Reason |
---|---|---|
Authorization | Comment by external contributor | Sender lacks required write/admin permissions |
Fork Safety | PR opened from a fork | Fork PRs are ignored |
Bot Noise | Dependabot (or other third‑party bot) mentions Charlie | Non‑Charlie bot senders ignored |
Mentions | Comment lacks @CharlieHelps | Requires explicit mention in that context |
Self‑loop | Charlie authored the triggering review | Already Charlie’s action; no extra response |
Review State | PR review on Charlie-authored PR without mention & not changes_requested | No explicit signal to act |
Permissions | Review submitted by actor with only read access | Read-only reviewers cannot trigger responses |
Issue Body | Issue opened with @CharlieHelps in body | Initial 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.