Skip to content

ci(platform): gate E2E tests behind ci-ready PR label - #12616

Closed
ntindle wants to merge 12 commits into
devfrom
ci/gate-e2e-behind-label
Closed

ci(platform): gate E2E tests behind ci-ready PR label#12616
ntindle wants to merge 12 commits into
devfrom
ci/gate-e2e-behind-label

Conversation

@ntindle

@ntindle ntindle commented Mar 31, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds a ci-ready label gate to avoid running expensive Playwright E2E tests on the big-boi runner ($1400/month) until a PR is actually ready
  • New e2e-label-gate job fails immediately on PRs missing the label, blocking merge via the existing "Check PR Status" aggregator
  • Adds labeled/unlabeled triggers to both platform-fullstack-ci.yml and repo-workflow-checker.yml so adding the label re-triggers CI without a new commit — and removing ci-ready re-runs the gate (which then fails) and re-blocks the PR
  • Push to master/dev and merge_group events bypass the gate — no impact on post-merge CI

Test plan

  • Open a PR touching autogpt_platform/ without ci-ready label — "E2E label gate" fails, "end-to-end tests" is skipped, "Check PR Status" fails
  • Add ci-ready label — both workflows re-trigger, gate passes, E2E runs on big-boi
  • Verify docs-only PRs are unaffected (workflow doesn't trigger due to path filter)
  • Verify push to master/dev still runs E2E unconditionally
  • Remove ci-ready from a previously-passing PR — gate re-runs, fails, and "Check PR Status" blocks merge again

🤖 Generated with Claude Code


Note

Low Risk
Changes are limited to GitHub Actions workflow configuration; no application, auth, or data-path code is modified.

Overview
Platform full-stack CI now requires a ci-ready label on pull requests before expensive Playwright E2E runs on the big-boi runner. A new e2e-label-gate job fails fast when the label is missing; e2e_test depends on it so E2E is skipped/blocked until the label is present. Push to master/dev and merge queue runs bypass the label check.

Workflow triggers and concurrency were updated so labeled / unlabeled events re-run CI when the label is added or removed, without canceling in-progress runs for those events. The repo PR Status Checker workflow listens for the same label events so aggregate status updates when ci-ready toggles.

A trivial backend README title line was added (unrelated to CI behavior).

Reviewed by Cursor Bugbot for commit 122d30a. Bugbot is set up for automated code reviews on this repo. Configure here.

The big-boi runner costs $1400/month. Gate E2E tests behind a `ci-ready`
label so they only run when a PR is actually ready for full CI. A new
`e2e-label-gate` job fails immediately on PRs without the label,
preventing merge via the existing "Check PR Status" aggregator. Push and
merge_group events bypass the gate so master/dev CI is unaffected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ntindle
ntindle requested a review from a team as a code owner March 31, 2026 13:00
@github-project-automation github-project-automation Bot moved this to 🆕 Needs initial review in AutoGPT development kanban Mar 31, 2026
@coderabbitai

coderabbitai Bot commented Mar 31, 2026

Copy link
Copy Markdown
Contributor

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Expanded PR triggers to include labeled in two GitHub Actions workflows, added an e2e-label-gate job that requires the ci-ready label for E2E runs, made e2e_test depend on that gate, and adjusted concurrency cancellation to ignore labeled actions.

Changes

Cohort / File(s) Summary
Platform CI workflow
​.github/workflows/platform-fullstack-ci.yml
Extended pull_request trigger to include opened, synchronize, reopened, and labeled; changed concurrency.cancel-in-progress to avoid cancelling on labeled; added e2e-label-gate job that fails when a PR lacks ci-ready; added needs: [e2e-label-gate] to e2e_test.
Repo workflow checker
​.github/workflows/repo-workflow-checker.yml
Added labeled to pull_request trigger; no other logic changes.

Sequence Diagram(s)

sequenceDiagram
    participant Contributor as Contributor
    participant GitHub as GitHub Actions
    participant Gate as e2e-label-gate
    participant E2E as e2e_test

    Contributor->>GitHub: open/synchronize/reopen/label PR
    GitHub->>Gate: start e2e-label-gate
    alt PR has `ci-ready`
        Gate->>GitHub: success
        GitHub->>E2E: start e2e_test (depends on gate)
        E2E->>GitHub: run E2E jobs
    else PR missing `ci-ready`
        Gate->>GitHub: fail (block E2E)
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

size/l, platform/backend

Suggested reviewers

  • kcze
  • 0ubbe
  • Swiftyos

Poem

🐰 I hop the CI path, nose all ready,
I check for ci-ready, light and steady.
If the label gleams, I give a cheer,
otherwise I pause — patience, dear!
🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: introducing a label-based gate for E2E tests. It is specific, concise, and directly reflects the primary objective of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The description matches the workflow changes, describing the ci-ready label gate, label-triggered reruns, and CI behavior updates.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/gate-e2e-behind-label

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ntindle

ntindle commented Mar 31, 2026

Copy link
Copy Markdown
Member Author

/review

@autogpt-pr-reviewer

Copy link
Copy Markdown

Queued a review for PR #12616 at 52010c6.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/platform-fullstack-ci.yml (1)

12-12: Consider limiting workflow triggers for the labeled event.

Adding labeled triggers the workflow when any label is added to the PR, not just ci-ready. This means applying unrelated labels (e.g., documentation, bug, etc.) will trigger a workflow run that immediately fails at the gate if ci-ready is absent—consuming runner time and cluttering the checks list.

Consider using a workflow-level condition or the unlabeled event to avoid redundant runs:

Option: Add top-level condition to short-circuit on irrelevant labels

You could add a reusable condition or an early-exit job that checks if the label event is relevant:

# At workflow level, you cannot filter by label name directly,
# but you can add a quick check in the e2e-label-gate job:
- name: Skip if label event but not ci-ready label
  if: >-
    github.event_name == 'pull_request'
    && github.event.action == 'labeled'
    && github.event.label.name != 'ci-ready'
  run: |
    echo "Skipping: labeled event was not for 'ci-ready'"
    exit 0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/platform-fullstack-ci.yml at line 12, The workflow is
firing on any PR label; modify the relevant job (e.g., the e2e-label-gate job)
to short-circuit when the event is a pull_request 'labeled' action but the label
is not 'ci-ready' by adding an if-condition that checks github.event_name ==
'pull_request' && github.event.action == 'labeled' && github.event.label.name !=
'ci-ready' and exits early (returns success) so unrelated label additions don't
run the full workflow.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/platform-fullstack-ci.yml:
- Line 12: The workflow is firing on any PR label; modify the relevant job
(e.g., the e2e-label-gate job) to short-circuit when the event is a pull_request
'labeled' action but the label is not 'ci-ready' by adding an if-condition that
checks github.event_name == 'pull_request' && github.event.action == 'labeled'
&& github.event.label.name != 'ci-ready' and exits early (returns success) so
unrelated label additions don't run the full workflow.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 39af8127-f9cb-49fa-963f-34b6a924da46

📥 Commits

Reviewing files that changed from the base of the PR and between 2f42ff9 and 52010c6.

📒 Files selected for processing (2)
  • .github/workflows/platform-fullstack-ci.yml
  • .github/workflows/repo-workflow-checker.yml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: check API types
  • GitHub Check: Seer Code Review
  • GitHub Check: Cursor Bugbot
  • GitHub Check: conflicts
  • GitHub Check: Analyze (python)
  • GitHub Check: Check PR Status
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
Repo: Significant-Gravitas/AutoGPT PR: 0
File: autogpt_platform/frontend/src/tests/CLAUDE.md:0-0
Timestamp: 2026-01-28T18:29:34.362Z
Learning: Applies to autogpt_platform/frontend/src/tests/src/tests/**/*.spec.ts : Place E2E tests (Playwright) in a centralized location for critical user journeys
Learnt from: CR
Repo: Significant-Gravitas/AutoGPT PR: 0
File: autogpt_platform/CLAUDE.md:0-0
Timestamp: 2026-03-25T06:58:59.806Z
Learning: Applies to autogpt_platform/.github/PULL_REQUEST_TEMPLATE.md : Fill out the .github/PULL_REQUEST_TEMPLATE.md template for all PR descriptions
Learnt from: CR
Repo: Significant-Gravitas/AutoGPT PR: 0
File: autogpt_platform/frontend/src/tests/CLAUDE.md:0-0
Timestamp: 2026-01-28T18:29:34.362Z
Learning: Applies to autogpt_platform/frontend/src/tests/src/tests/**/*.spec.ts : Use E2E tests (Playwright) for authentication flows (login, signup, logout) that MUST work in a real browser
📚 Learning: 2026-02-04T16:50:51.495Z
Learnt from: CR
Repo: Significant-Gravitas/AutoGPT PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-02-04T16:50:51.495Z
Learning: Rely on pre-commit checks for linting and formatting in pull requests

Applied to files:

  • .github/workflows/repo-workflow-checker.yml
📚 Learning: 2026-03-23T06:51:32.535Z
Learnt from: majdyz
Repo: Significant-Gravitas/AutoGPT PR: 12440
File: autogpt_platform/backend/backend/api/features/workflow_import.py:0-0
Timestamp: 2026-03-23T06:51:32.535Z
Learning: In Significant-Gravitas/AutoGPT PR `#12440`, the dedicated REST endpoint `/api/import/workflow` (and its earlier form `/api/import/competitor-workflow`) for external workflow import was removed across commits 30f801a5e, 374c8cfdb, and 732960e2d. The final architecture is a frontend-only flow: file upload is handled client-side, and URL fetching (for n8n templates) uses a Next.js server action (`fetchWorkflowFromUrl`) — there is no dedicated backend HTTP endpoint and no CoPilot tool invocation for workflow import. Do not expect or require a standalone HTTP endpoint, route-level integration tests, or a CoPilot `import_workflow` tool for workflow import in this repository.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
📚 Learning: 2026-02-26T17:02:34.195Z
Learnt from: Pwuts
Repo: Significant-Gravitas/AutoGPT PR: 12211
File: .pre-commit-config.yaml:160-179
Timestamp: 2026-02-26T17:02:34.195Z
Learning: In `.pre-commit-config.yaml`, the `sync-api-types` hook intentionally uses the broad file pattern `^autogpt_platform/backend/` (not narrowed to just `backend/api/`) because the OpenAPI schema is generated by importing the FastAPI app and depends on Pydantic models across many directories: `backend/data/`, `backend/blocks/`, `backend/copilot/`, `backend/integrations/`, and `backend/util/`. Narrowing would risk missing schema changes and causing frontend type desync.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
🪛 actionlint (1.7.11)
.github/workflows/platform-fullstack-ci.yml

[error] 166-166: label "big-boi" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🔇 Additional comments (3)
.github/workflows/repo-workflow-checker.yml (1)

4-4: LGTM!

Adding the labeled event type ensures the PR status checker re-runs when the ci-ready label is applied, which is necessary to verify workflow status after the label gate is satisfied.

.github/workflows/platform-fullstack-ci.yml (2)

146-162: LGTM!

The label gate logic is correct:

  • PRs without ci-ready → fail with a clear error message
  • PRs with ci-ready or non-PR events (push/merge_group) → pass

The two conditions are mutually exclusive and exhaustive, ensuring exactly one step executes.


166-167: LGTM! Static analysis flag is a false positive.

The dependency on e2e-label-gate correctly gates the expensive big-boi runner usage behind the label check.

Regarding the actionlint warning about the big-boi label: this is a self-hosted runner label (as noted in the PR description regarding the $1400/month runner cost). To suppress this warning in future runs, you can configure actionlint.yaml with custom runner labels:

self-hosted-runner:
  labels:
    - big-boi

Comment thread .github/workflows/platform-fullstack-ci.yml Outdated
Comment thread .github/workflows/platform-fullstack-ci.yml
When a non-ci-ready label is added to a PR, skip the gate entirely
(conclusion: skipped) instead of failing. This prevents irrelevant labels
from blocking the PR via the "Check PR Status" aggregator.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ntindle

ntindle commented Mar 31, 2026

Copy link
Copy Markdown
Member Author

🤖 Addressed CodeRabbit nitpick in a87d95c: added job-level if: github.event.action != 'labeled' || github.event.label.name == 'ci-ready' to the gate job so irrelevant label events skip the gate entirely (conclusion: skipped) instead of failing and blocking the PR.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/platform-fullstack-ci.yml (1)

12-12: Consider adding unlabeled to keep gate state in sync after label removal.

If ci-ready is removed later, this workflow won’t retrigger today. Adding unlabeled keeps enforcement aligned with the PR’s current labels.

Suggested tweak
-    types: [opened, synchronize, reopened, labeled]
+    types: [opened, synchronize, reopened, labeled, unlabeled]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/platform-fullstack-ci.yml at line 12, The workflow's
GitHub event types list (the array starting with "types: [opened, synchronize,
reopened, labeled]") should include "unlabeled" so the job re-runs when labels
like "ci-ready" are removed; update that array to ["opened", "synchronize",
"reopened", "labeled", "unlabeled"] to keep gate state in sync with current PR
labels.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/platform-fullstack-ci.yml:
- Line 12: The workflow's GitHub event types list (the array starting with
"types: [opened, synchronize, reopened, labeled]") should include "unlabeled" so
the job re-runs when labels like "ci-ready" are removed; update that array to
["opened", "synchronize", "reopened", "labeled", "unlabeled"] to keep gate state
in sync with current PR labels.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: deb87a32-bafc-4748-86ee-1df698538ac1

📥 Commits

Reviewing files that changed from the base of the PR and between 52010c6 and a87d95c.

📒 Files selected for processing (1)
  • .github/workflows/platform-fullstack-ci.yml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: check API types
  • GitHub Check: Seer Code Review
  • GitHub Check: conflicts
  • GitHub Check: Cursor Bugbot
  • GitHub Check: Analyze (typescript)
  • GitHub Check: Analyze (python)
  • GitHub Check: Check PR Status
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: majdyz
Repo: Significant-Gravitas/AutoGPT PR: 12356
File: autogpt_platform/backend/backend/copilot/constants.py:9-12
Timestamp: 2026-03-10T08:39:22.025Z
Learning: In Significant-Gravitas/AutoGPT PR `#12356`, the `COPILOT_SYNTHETIC_ID_PREFIX = "copilot-"` check in `create_auto_approval_record` (human_review.py) is intentional and safe. The `graph_exec_id` passed to this function comes from server-side `PendingHumanReview` DB records (not from user input); the API only accepts `node_exec_id` from users. Synthetic `copilot-*` IDs are only ever created server-side in `run_block.py`. The prefix skip avoids a DB lookup for a `AgentGraphExecution` record that legitimately does not exist for CoPilot sessions, while `user_id` scoping is enforced at the auth layer and on the resulting auto-approval record.
Learnt from: ntindle
Repo: Significant-Gravitas/AutoGPT PR: 12536
File: autogpt_platform/frontend/src/app/api/openapi.json:5770-5790
Timestamp: 2026-03-24T21:25:15.983Z
Learning: Repo: Significant-Gravitas/AutoGPT — PR `#12536`
File: autogpt_platform/frontend/src/app/api/openapi.json
Learning: The OpenAPI spec file is auto-generated; per established convention, endpoints generally declare only 200/201, 401, and 422 responses. Do not suggest adding explicit 403/404 response entries for single operations unless planning a repo-wide spec update. Prefer clarifying such behaviors in endpoint descriptions/docstrings instead of altering response maps.
Learnt from: Pwuts
Repo: Significant-Gravitas/AutoGPT PR: 12284
File: autogpt_platform/frontend/src/app/api/openapi.json:11897-11900
Timestamp: 2026-03-04T23:58:18.476Z
Learning: Repo: Significant-Gravitas/AutoGPT — PR `#12284`
Backend/frontend OpenAPI codegen convention: In backend/api/features/store/model.py, the StoreSubmission and StoreSubmissionAdminView models define submitted_at: datetime | None, changes_summary: str | None, and instructions: str | None with no default. This is intentional to produce “required but nullable” fields in OpenAPI (properties appear in required[] and use anyOf [type, null]). This matches Prisma’s submittedAt DateTime? and changesSummary String?. Do not flag this as a required/nullable mismatch.
📚 Learning: 2026-03-23T06:51:32.535Z
Learnt from: majdyz
Repo: Significant-Gravitas/AutoGPT PR: 12440
File: autogpt_platform/backend/backend/api/features/workflow_import.py:0-0
Timestamp: 2026-03-23T06:51:32.535Z
Learning: In Significant-Gravitas/AutoGPT PR `#12440`, the dedicated REST endpoint `/api/import/workflow` (and its earlier form `/api/import/competitor-workflow`) for external workflow import was removed across commits 30f801a5e, 374c8cfdb, and 732960e2d. The final architecture is a frontend-only flow: file upload is handled client-side, and URL fetching (for n8n templates) uses a Next.js server action (`fetchWorkflowFromUrl`) — there is no dedicated backend HTTP endpoint and no CoPilot tool invocation for workflow import. Do not expect or require a standalone HTTP endpoint, route-level integration tests, or a CoPilot `import_workflow` tool for workflow import in this repository.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
📚 Learning: 2026-02-26T17:02:34.195Z
Learnt from: Pwuts
Repo: Significant-Gravitas/AutoGPT PR: 12211
File: .pre-commit-config.yaml:160-179
Timestamp: 2026-02-26T17:02:34.195Z
Learning: In `.pre-commit-config.yaml`, the `sync-api-types` hook intentionally uses the broad file pattern `^autogpt_platform/backend/` (not narrowed to just `backend/api/`) because the OpenAPI schema is generated by importing the FastAPI app and depends on Pydantic models across many directories: `backend/data/`, `backend/blocks/`, `backend/copilot/`, `backend/integrations/`, and `backend/util/`. Narrowing would risk missing schema changes and causing frontend type desync.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
🪛 actionlint (1.7.11)
.github/workflows/platform-fullstack-ci.yml

[error] 167-167: label "big-boi" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🔇 Additional comments (2)
.github/workflows/platform-fullstack-ci.yml (2)

146-164: Gate logic is solid and aligns with intent.

Good split between job-level skip logic and step-level fail/pass checks. This cleanly blocks unlabeled PRs while avoiding failures for unrelated labeled events.


168-168: needs wiring is correct for cost control.

Tying e2e_test to e2e-label-gate enforces the label gate before the expensive runner is consumed.

@autogpt-pr-reviewer

Copy link
Copy Markdown

⚠️ Code review could not be completed

The review could not start because a setup step failed (e.g., dependency installation, repo clone). This is usually a repository configuration issue — check that your lock files are up to date and CI passes.

If this persists, please contact support with job ID 69715539-1888-4043-b2c8-142001bfed46.

Details: git clone failed (exit_code=1): Cloning into '/home/user/repo'... Updating files: 83% (4190/5021) Updating files: 84% (4218/5021) Updating files: 85% (4268/5021) Updating files: 86% (4319/5021) Updating files: 87% (4369/5021) Updating files: 88% (4419/5021) Updating files: 89% (4469/5021) Updating files: 90% (4519/5021) Updating files: 91% (4570/5021) Updating files: 92% (4620/5021) Updating files: 93% (4670/5021) Updating files: 94% (4720/5021) Updating files: 95% (4770/5021) Updat

Labeled events share the same concurrency group as synchronize events.
Without this fix, adding any label to a PR would cancel in-progress E2E
tests on the big-boi runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread .github/workflows/platform-fullstack-ci.yml
The job-level `if` that skipped the gate on non-ci-ready label events
created a bypass: skipped jobs produce a `skipped` conclusion, which the
status checker treats as passing. Adding any random label would override
a previous gate failure, unblocking the PR without ci-ready.

Revert to always running the gate. Irrelevant labels will cause the gate
to fail (cosmetic noise), but the alternative is a security bypass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

🔍 PR Overlap Detection

This check compares your PR against all other open PRs targeting the same branch to detect potential merge conflicts early.

🔴 Merge Conflicts Detected

The following PRs have been tested and will have merge conflicts if merged after this PR. Consider coordinating with the authors.

  • ci: cut Actions spend across PR/push triggers #12955 (Swiftyos · updated 11d ago)

    • .github/workflows/platform-backend-ci.yml (1 conflict, ~9 lines)
    • .github/workflows/platform-fullstack-ci.yml (1 conflict, ~51 lines)
    • .gitignore (1 conflict, ~15 lines)
    • autogpt_platform/backend/.env.default (1 conflict, ~42 lines)
    • autogpt_platform/backend/backend/api/features/admin/diagnostics_admin_routes.py (6 conflicts, ~33 lines)
    • autogpt_platform/backend/backend/api/features/admin/platform_cost_routes.py (4 conflicts, ~33 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes.py (5 conflicts, ~22 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes_test.py (2 conflicts, ~9 lines)
    • autogpt_platform/backend/backend/api/features/chat/routes.py (18 conflicts, ~280 lines)
    • autogpt_platform/backend/backend/api/features/chat/routes_test.py (17 conflicts, ~452 lines)
    • autogpt_platform/backend/backend/api/features/integrations/incremental_oauth_test.py (1 conflict, ~164 lines)
    • autogpt_platform/backend/backend/api/features/integrations/router.py (1 conflict, ~38 lines)
    • autogpt_platform/backend/backend/api/features/integrations/router_test.py (1 conflict, ~75 lines)
    • autogpt_platform/backend/backend/api/features/library/db.py (2 conflicts, ~10 lines)
    • autogpt_platform/backend/backend/api/features/library/db_test.py (5 conflicts, ~563 lines)
    • autogpt_platform/backend/backend/api/features/library/model_test.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/api/features/platform_linking/routes.py (3 conflicts, ~44 lines)
    • autogpt_platform/backend/backend/api/features/platform_linking/routes_test.py (4 conflicts, ~161 lines)
    • autogpt_platform/backend/backend/api/features/store/db_test.py (2 conflicts, ~457 lines)
    • autogpt_platform/backend/backend/api/features/subscription_routes_test.py (26 conflicts, ~885 lines)
    • autogpt_platform/backend/backend/api/features/v1.py (30 conflicts, ~594 lines)
    • autogpt_platform/backend/backend/api/features/workspace/routes.py (10 conflicts, ~131 lines)
    • autogpt_platform/backend/backend/api/features/workspace/routes_test.py (16 conflicts, ~383 lines)
    • autogpt_platform/backend/backend/api/rest_api.py (4 conflicts, ~34 lines)
    • autogpt_platform/backend/backend/api/ws_api_test.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/blocks/_base.py (2 conflicts, ~25 lines)
    • autogpt_platform/backend/backend/blocks/autopilot.py (2 conflicts, ~21 lines)
    • autogpt_platform/backend/backend/blocks/claude_code_cost_test.py (1 conflict, ~19 lines)
    • autogpt_platform/backend/backend/blocks/exa/helpers.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/blocks/exa/helpers_cost_test.py (2 conflicts, ~112 lines)
    • autogpt_platform/backend/backend/blocks/google/sheets_test.py (5 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/blocks/llm.py (7 conflicts, ~464 lines)
    • autogpt_platform/backend/backend/blocks/replicate/replicate_block.py (2 conflicts, ~19 lines)
    • autogpt_platform/backend/backend/blocks/replicate/replicate_block_cost_test.py (2 conflicts, ~28 lines)
    • autogpt_platform/backend/backend/blocks/test/test_llm.py (7 conflicts, ~355 lines)
    • autogpt_platform/backend/backend/copilot/baseline/reasoning.py (1 conflict, ~55 lines)
    • autogpt_platform/backend/backend/copilot/baseline/reasoning_test.py (2 conflicts, ~67 lines)
    • autogpt_platform/backend/backend/copilot/baseline/service.py (33 conflicts, ~772 lines)
    • autogpt_platform/backend/backend/copilot/baseline/service_unit_test.py (37 conflicts, ~811 lines)
    • autogpt_platform/backend/backend/copilot/baseline/transcript_integration_test.py (3 conflicts, ~33 lines)
    • autogpt_platform/backend/backend/copilot/bot/README.md (1 conflict, ~21 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/base.py (7 conflicts, ~191 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/discord/adapter.py (13 conflicts, ~733 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/discord/adapter_test.py (12 conflicts, ~1223 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/discord/commands.py (10 conflicts, ~252 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/discord/commands_test.py (7 conflicts, ~287 lines)
    • autogpt_platform/backend/backend/copilot/bot/adapters/discord/config.py (2 conflicts, ~29 lines)
    • autogpt_platform/backend/backend/copilot/bot/app.py (8 conflicts, ~138 lines)
    • autogpt_platform/backend/backend/copilot/bot/bot_backend.py (12 conflicts, ~358 lines)
    • autogpt_platform/backend/backend/copilot/bot/bot_backend_test.py (7 conflicts, ~254 lines)
    • autogpt_platform/backend/backend/copilot/bot/config.py (1 conflict, ~15 lines)
    • autogpt_platform/backend/backend/copilot/bot/handler.py (17 conflicts, ~537 lines)
    • autogpt_platform/backend/backend/copilot/bot/handler_test.py (14 conflicts, ~677 lines)
    • autogpt_platform/backend/backend/copilot/bot/text.py (4 conflicts, ~38 lines)
    • autogpt_platform/backend/backend/copilot/bot/text_test.py (2 conflicts, ~28 lines)
    • autogpt_platform/backend/backend/copilot/bot/threads.py (1 conflict, ~10 lines)
    • autogpt_platform/backend/backend/copilot/bot/threads_test.py (2 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/copilot/builder_context.py (4 conflicts, ~63 lines)
    • autogpt_platform/backend/backend/copilot/builder_context_test.py (2 conflicts, ~39 lines)
    • autogpt_platform/backend/backend/copilot/config.py (14 conflicts, ~787 lines)
    • autogpt_platform/backend/backend/copilot/config_test.py (12 conflicts, ~914 lines)
    • autogpt_platform/backend/backend/copilot/constants.py (2 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/copilot/context.py (1 conflict, ~98 lines)
    • autogpt_platform/backend/backend/copilot/db.py (3 conflicts, ~107 lines)
    • autogpt_platform/backend/backend/copilot/db_test.py (2 conflicts, ~201 lines)
    • autogpt_platform/backend/backend/copilot/executor/processor.py (4 conflicts, ~43 lines)
    • autogpt_platform/backend/backend/copilot/executor/processor_test.py (1 conflict, ~47 lines)
    • autogpt_platform/backend/backend/copilot/executor/utils.py (1 conflict, ~10 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/client.py (4 conflicts, ~162 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/client_test.py (2 conflicts, ~183 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/config.py (11 conflicts, ~248 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/config_test.py (7 conflicts, ~156 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/context.py (3 conflicts, ~71 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/context_test.py (6 conflicts, ~137 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/falkordb_driver.py (1 conflict, ~40 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/falkordb_driver_test.py (2 conflicts, ~82 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/ingest.py (6 conflicts, ~78 lines)
    • autogpt_platform/backend/backend/copilot/graphiti/ingest_test.py (1 conflict, ~74 lines)
    • autogpt_platform/backend/backend/copilot/model.py (15 conflicts, ~169 lines)
    • autogpt_platform/backend/backend/copilot/model_test.py (4 conflicts, ~192 lines)
    • autogpt_platform/backend/backend/copilot/pending_message_helpers.py (8 conflicts, ~168 lines)
    • autogpt_platform/backend/backend/copilot/pending_message_helpers_test.py (4 conflicts, ~268 lines)
    • autogpt_platform/backend/backend/copilot/permissions.py (2 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/copilot/prompt_cache_test.py (1 conflict, ~145 lines)
    • autogpt_platform/backend/backend/copilot/prompting.py (3 conflicts, ~213 lines)
    • autogpt_platform/backend/backend/copilot/prompting_test.py (1 conflict, ~52 lines)
    • autogpt_platform/backend/backend/copilot/rate_limit.py (27 conflicts, ~559 lines)
    • autogpt_platform/backend/backend/copilot/rate_limit_test.py (37 conflicts, ~1274 lines)
    • autogpt_platform/backend/backend/copilot/response_model.py (1 conflict, ~6 lines)
    • autogpt_platform/backend/backend/copilot/sdk/agent_generation_guide.md (4 conflicts, ~92 lines)
    • autogpt_platform/backend/backend/copilot/sdk/conftest.py (1 conflict, ~13 lines)
    • autogpt_platform/backend/backend/copilot/sdk/context_fallback_test.py (3 conflicts, ~46 lines)
    • autogpt_platform/backend/backend/copilot/sdk/env_test.py (2 conflicts, ~36 lines)
    • autogpt_platform/backend/backend/copilot/sdk/mcp_tool_guide.md (1 conflict, ~10 lines)
    • autogpt_platform/backend/backend/copilot/sdk/mode_switch_context_test.py (3 conflicts, ~26 lines)
    • autogpt_platform/backend/backend/copilot/sdk/p0_guardrails_test.py (3 conflicts, ~16 lines)
    • autogpt_platform/backend/backend/copilot/sdk/query_builder_test.py (1 conflict, ~187 lines)
    • autogpt_platform/backend/backend/copilot/sdk/response_adapter.py (11 conflicts, ~239 lines)
    • autogpt_platform/backend/backend/copilot/sdk/response_adapter_test.py (7 conflicts, ~655 lines)
    • autogpt_platform/backend/backend/copilot/sdk/retry_scenarios_test.py (2 conflicts, ~16 lines)
    • autogpt_platform/backend/backend/copilot/sdk/security_hooks.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/copilot/sdk/security_hooks_test.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/copilot/sdk/service.py (44 conflicts, ~2256 lines)
    • autogpt_platform/backend/backend/copilot/sdk/service_helpers_test.py (12 conflicts, ~251 lines)
    • autogpt_platform/backend/backend/copilot/sdk/service_test.py (11 conflicts, ~1028 lines)
    • autogpt_platform/backend/backend/copilot/sdk/session_persistence_test.py (3 conflicts, ~214 lines)
    • autogpt_platform/backend/backend/copilot/sdk/session_waiter.py (3 conflicts, ~64 lines)
    • autogpt_platform/backend/backend/copilot/sdk/session_waiter_test.py (7 conflicts, ~102 lines)
    • autogpt_platform/backend/backend/copilot/sdk/tool_adapter.py (10 conflicts, ~361 lines)
    • autogpt_platform/backend/backend/copilot/sdk/tool_adapter_test.py (8 conflicts, ~168 lines)
    • autogpt_platform/backend/backend/copilot/service.py (28 conflicts, ~569 lines)
    • autogpt_platform/backend/backend/copilot/service_unit_test.py (20 conflicts, ~458 lines)
    • autogpt_platform/backend/backend/copilot/session_cleanup.py (3 conflicts, ~27 lines)
    • autogpt_platform/backend/backend/copilot/stream_registry.py (4 conflicts, ~50 lines)
    • autogpt_platform/backend/backend/copilot/stream_registry_test.py (4 conflicts, ~116 lines)
    • autogpt_platform/backend/backend/copilot/token_tracking.py (7 conflicts, ~68 lines)
    • autogpt_platform/backend/backend/copilot/token_tracking_test.py (1 conflict, ~34 lines)
    • autogpt_platform/backend/backend/copilot/tools/__init__.py (2 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/copilot/tools/_test_data.py (3 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator.py (3 conflicts, ~77 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator_test.py (1 conflict, ~68 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_guide_gate_test.py (1 conflict, ~127 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search.py (2 conflicts, ~29 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search_test.py (4 conflicts, ~88 lines)
    • autogpt_platform/backend/backend/copilot/tools/create_agent.py (3 conflicts, ~26 lines)
    • autogpt_platform/backend/backend/copilot/tools/create_agent_test.py (1 conflict, ~156 lines)
    • autogpt_platform/backend/backend/copilot/tools/edit_agent_test.py (3 conflicts, ~176 lines)
    • autogpt_platform/backend/backend/copilot/tools/find_library_agent.py (4 conflicts, ~40 lines)
    • autogpt_platform/backend/backend/copilot/tools/get_agent_building_guide_test.py (2 conflicts, ~124 lines)
    • autogpt_platform/backend/backend/copilot/tools/get_sub_session_result.py (3 conflicts, ~20 lines)
    • autogpt_platform/backend/backend/copilot/tools/graphiti_forget.py (6 conflicts, ~234 lines)
    • autogpt_platform/backend/backend/copilot/tools/graphiti_forget_test.py (2 conflicts, ~198 lines)
    • autogpt_platform/backend/backend/copilot/tools/graphiti_store.py (5 conflicts, ~50 lines)
    • autogpt_platform/backend/backend/copilot/tools/graphiti_store_test.py (3 conflicts, ~83 lines)
    • autogpt_platform/backend/backend/copilot/tools/helpers.py (6 conflicts, ~153 lines)
    • autogpt_platform/backend/backend/copilot/tools/helpers_test.py (2 conflicts, ~221 lines)
    • autogpt_platform/backend/backend/copilot/tools/models.py (7 conflicts, ~156 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent.py (5 conflicts, ~48 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent_test.py (2 conflicts, ~260 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_block.py (2 conflicts, ~17 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_block_test.py (1 conflict, ~193 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_sub_session.py (12 conflicts, ~214 lines)
    • autogpt_platform/backend/backend/copilot/tools/sub_session_test.py (12 conflicts, ~311 lines)
    • autogpt_platform/backend/backend/copilot/tools/test_dry_run.py (3 conflicts, ~14 lines)
    • autogpt_platform/backend/backend/copilot/tools/tool_schema_test.py (1 conflict, ~56 lines)
    • autogpt_platform/backend/backend/copilot/transcript.py (5 conflicts, ~347 lines)
    • autogpt_platform/backend/backend/copilot/transcript_test.py (9 conflicts, ~319 lines)
    • autogpt_platform/backend/backend/data/block_cost_config.py (18 conflicts, ~318 lines)
    • autogpt_platform/backend/backend/data/block_cost_config_test.py (2 conflicts, ~17 lines)
    • autogpt_platform/backend/backend/data/credit.py (30 conflicts, ~779 lines)
    • autogpt_platform/backend/backend/data/credit_subscription_test.py (71 conflicts, ~1911 lines)
    • autogpt_platform/backend/backend/data/db_accessors.py (1 conflict, ~16 lines)
    • autogpt_platform/backend/backend/data/db_manager.py (5 conflicts, ~55 lines)
    • autogpt_platform/backend/backend/data/db_manager_test.py (2 conflicts, ~19 lines)
    • autogpt_platform/backend/backend/data/diagnostics.py (4 conflicts, ~35 lines)
    • autogpt_platform/backend/backend/data/execution.py (3 conflicts, ~45 lines)
    • autogpt_platform/backend/backend/data/graph.py (2 conflicts, ~67 lines)
    • autogpt_platform/backend/backend/data/graph_test.py (2 conflicts, ~69 lines)
    • autogpt_platform/backend/backend/data/model.py (2 conflicts, ~10 lines)
    • autogpt_platform/backend/backend/data/notifications_test.py (2 conflicts, ~72 lines)
    • autogpt_platform/backend/backend/data/onboarding_test.py (2 conflicts, ~72 lines)
    • autogpt_platform/backend/backend/data/platform_cost.py (10 conflicts, ~408 lines)
    • autogpt_platform/backend/backend/data/redis_client.py (5 conflicts, ~60 lines)
    • autogpt_platform/backend/backend/data/redis_client_test.py (3 conflicts, ~59 lines)
    • autogpt_platform/backend/backend/data/redis_helpers.py (3 conflicts, ~216 lines)
    • autogpt_platform/backend/backend/data/redis_helpers_test.py (5 conflicts, ~164 lines)
    • autogpt_platform/backend/backend/data/shared_execution_file_test.py (8 conflicts, ~136 lines)
    • autogpt_platform/backend/backend/data/user.py (1 conflict, ~27 lines)
    • autogpt_platform/backend/backend/data/user_test.py (2 conflicts, ~88 lines)
    • autogpt_platform/backend/backend/executor/billing.py (13 conflicts, ~151 lines)
    • autogpt_platform/backend/backend/executor/billing_reconciliation_test.py (4 conflicts, ~131 lines)
    • autogpt_platform/backend/backend/executor/block_usage_cost_test.py (3 conflicts, ~68 lines)
    • autogpt_platform/backend/backend/executor/cluster_lock.py (2 conflicts, ~38 lines)
    • autogpt_platform/backend/backend/executor/cost_tracking.py (4 conflicts, ~32 lines)
    • autogpt_platform/backend/backend/executor/manager.py (3 conflicts, ~26 lines)
    • autogpt_platform/backend/backend/executor/scheduler.py (2 conflicts, ~49 lines)
    • autogpt_platform/backend/backend/executor/simulator.py (8 conflicts, ~121 lines)
    • autogpt_platform/backend/backend/executor/simulator_test.py (3 conflicts, ~47 lines)
    • autogpt_platform/backend/backend/executor/utils.py (8 conflicts, ~89 lines)
    • autogpt_platform/backend/backend/executor/utils_test.py (1 conflict, ~68 lines)
    • autogpt_platform/backend/backend/notifications/notifications.py (1 conflict, ~90 lines)
    • autogpt_platform/backend/backend/platform_linking/chat.py (4 conflicts, ~85 lines)
    • autogpt_platform/backend/backend/platform_linking/chat_test.py (7 conflicts, ~131 lines)
    • autogpt_platform/backend/backend/platform_linking/db.py (5 conflicts, ~148 lines)
    • autogpt_platform/backend/backend/platform_linking/db_test.py (3 conflicts, ~84 lines)
    • autogpt_platform/backend/backend/platform_linking/manager.py (4 conflicts, ~113 lines)
    • autogpt_platform/backend/backend/platform_linking/manager_test.py (2 conflicts, ~21 lines)
    • autogpt_platform/backend/backend/platform_linking/models.py (2 conflicts, ~71 lines)
    • autogpt_platform/backend/backend/util/architecture_test.py (3 conflicts, ~118 lines)
    • autogpt_platform/backend/backend/util/clients.py (1 conflict, ~82 lines)
    • autogpt_platform/backend/backend/util/clients_test.py (3 conflicts, ~91 lines)
    • autogpt_platform/backend/backend/util/exceptions.py (1 conflict, ~7 lines)
    • autogpt_platform/backend/backend/util/feature_flag.py (2 conflicts, ~128 lines)
    • autogpt_platform/backend/backend/util/feature_flag_test.py (2 conflicts, ~127 lines)
    • autogpt_platform/backend/backend/util/settings.py (3 conflicts, ~45 lines)
    • autogpt_platform/backend/poetry.lock (1 conflict, ~5 lines)
    • autogpt_platform/backend/pyproject.toml (1 conflict, ~4 lines)
    • autogpt_platform/backend/schema.prisma (11 conflicts, ~164 lines)
    • autogpt_platform/backend/snapshots/get_rate_limit (1 conflict, ~10 lines)
    • autogpt_platform/backend/snapshots/reset_user_usage_daily_and_weekly (1 conflict, ~10 lines)
    • autogpt_platform/backend/snapshots/reset_user_usage_daily_only (1 conflict, ~10 lines)
    • autogpt_platform/backend/test/copilot/test_transcript_watermark.py (3 conflicts, ~25 lines)
    • autogpt_platform/backend/test/e2e_test_data.py (3 conflicts, ~26 lines)
    • autogpt_platform/docker-compose.platform.yml (2 conflicts, ~20 lines)
    • autogpt_platform/frontend/.gitignore (1 conflict, ~6 lines)
    • autogpt_platform/frontend/.storybook/main.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/package.json (1 conflict, ~6 lines)
    • autogpt_platform/frontend/pnpm-lock.yaml (25 conflicts, ~186 lines)
    • autogpt_platform/frontend/public/push-sw.js (2 conflicts, ~24 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/__tests__/page.test.tsx (6 conflicts, ~229 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/__tests__/store.test.ts (1 conflict, ~40 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/components/ProgressBar.tsx (1 conflict, ~9 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/page.tsx (7 conflicts, ~60 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/steps/SubscriptionStep/SubscriptionStep.tsx (4 conflicts, ~129 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/steps/SubscriptionStep/helpers.ts (1 conflict, ~187 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/steps/SubscriptionStep/useSubscriptionStep.ts (5 conflicts, ~138 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/steps/__tests__/SubscriptionStep.test.tsx (6 conflicts, ~365 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/store.ts (5 conflicts, ~220 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/onboarding/useOnboardingPage.ts (11 conflicts, ~218 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/share/[token]/page.tsx (1 conflict, ~19 lines)
    • autogpt_platform/frontend/src/app/(no-navbar)/share/layout.tsx (1 conflict, ~30 lines)
    • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallGate.tsx (3 conflicts, ~23 lines)
    • autogpt_platform/frontend/src/app/(platform)/PaywallGate/PaywallModal.tsx (1 conflict, ~181 lines)
    • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallGate.test.tsx (4 conflicts, ~57 lines)
    • autogpt_platform/frontend/src/app/(platform)/PaywallGate/__tests__/PaywallModal.test.tsx (1 conflict, ~672 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/diagnostics/__tests__/DiagnosticsContent.test.tsx (1 conflict, ~57 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/layout.tsx (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/platform-costs/components/LogsTable.tsx (4 conflicts, ~27 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/platform-costs/components/PlatformCostContent.tsx (4 conflicts, ~59 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/platform-costs/components/usePlatformCostContent.ts (6 conflicts, ~34 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/RateLimitDisplay.tsx (7 conflicts, ~71 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/RateLimitManager.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/__tests__/RateLimitDisplay.test.tsx (4 conflicts, ~122 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/__tests__/RateLimitManager.test.tsx (8 conflicts, ~535 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/useRateLimitManager.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderChatPanel/useBuilderChatPanel.ts (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeCost.tsx (4 conflicts, ~196 lines)
    • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/__tests__/NodeCost.test.tsx (6 conflicts, ~148 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/CopilotChatHost.tsx (3 conflicts, ~13 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/CopilotPage.tsx (4 conflicts, ~52 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/__tests__/helpers.test.ts (3 conflicts, ~661 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/__tests__/store.test.ts (6 conflicts, ~238 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/__tests__/useHydrateOnStreamEnd.test.ts (2 conflicts, ~601 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/AgentSavedCard/AgentSavedCard.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactCard/ArtifactCard.stories.tsx (1 conflict, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactCard/ArtifactCard.tsx (3 conflicts, ~47 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/ArtifactPanel.stories.tsx (4 conflicts, ~49 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/ArtifactPanel.tsx (2 conflicts, ~243 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/components/ArtifactPanelHeader.tsx (7 conflicts, ~143 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/components/__tests__/ArtifactContent.test.tsx (1 conflict, ~180 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ArtifactPanel/useArtifactPanel.ts (3 conflicts, ~111 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/ChatContainer.tsx (10 conflicts, ~72 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/__tests__/ChatContainer.test.tsx (6 conflicts, ~283 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/useAutoOpenArtifacts.test.ts (7 conflicts, ~240 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/useAutoOpenArtifacts.ts (2 conflicts, ~130 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatInput/ChatInput.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatInput/__tests__/ChatInput.test.tsx (4 conflicts, ~382 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatInput/components/DryRunToggleButton.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatInput/components/ModeToggleButton.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatInput/components/ModelToggleButton.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/ChatMessagesContainer.tsx (13 conflicts, ~219 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/__tests__/ChatMessagesContainer.test.tsx (4 conflicts, ~335 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/MessageAttachments.tsx (3 conflicts, ~22 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/MessagePartRenderer.tsx (5 conflicts, ~62 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/ReasoningCollapse.tsx (3 conflicts, ~67 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/StepsCollapse.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/ThinkingIndicator.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/__tests__/MessagePartRenderer.test.tsx (3 conflicts, ~267 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/__tests__/ReasoningCollapse.test.tsx (6 conflicts, ~93 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/helpers.ts (7 conflicts, ~198 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatSidebar/ChatSidebar.tsx (6 conflicts, ~113 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/CopilotChatActionsProvider/CopilotChatActionsProvider.tsx (2 conflicts, ~18 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/CopilotChatActionsProvider/useCopilotChatActions.ts (2 conflicts, ~21 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/JobStatsBar/TurnStatsBar.tsx (1 conflict, ~133 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/JobStatsBar/__tests__/TurnStatsBar.test.tsx (3 conflicts, ~115 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileDrawer/MobileDrawer.tsx (13 conflicts, ~342 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileHeader/MobileHeader.tsx (2 conflicts, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/NotificationBanner/NotificationBanner.tsx (1 conflict, ~41 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/RateLimitGate.tsx (5 conflicts, ~88 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/RateLimitResetDialog.tsx (2 conflicts, ~23 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/RateLimitResetDialog/__tests__/RateLimitGate.test.tsx (11 conflicts, ~252 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/UsageLimits/UsageLimits.tsx (deleted here, modified there)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/UsageLimits/UsagePanelContent.tsx (deleted here, modified there)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/UsageLimits/__tests__/UsageLimits.test.tsx (deleted here, modified there)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/__tests__/usageHelpers.test.ts (2 conflicts, ~98 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/usageHelpers.ts (1 conflict, ~44 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/copilotChatRegistry.ts (2 conflicts, ~8 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/copilotStreamStore.ts (5 conflicts, ~184 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/copilotStreamTransport.ts (2 conflicts, ~21 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/helpers.ts (2 conflicts, ~20 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/helpers/__tests__/convertChatSessionToUiMessages.test.ts (2 conflicts, ~156 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/helpers/__tests__/makePromotedBubble.test.ts (3 conflicts, ~35 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/helpers/convertChatSessionToUiMessages.ts (9 conflicts, ~115 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/helpers/makePromotedBubble.ts (2 conflicts, ~27 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/store.ts (17 conflicts, ~396 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/GenericTool/GenericTool.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/RunAgent/components/ExecutionStartedCard/ExecutionStartedCard.tsx (3 conflicts, ~33 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/RunBlock/components/SetupRequirementsCard/SetupRequirementsCard.tsx (deleted here, modified there)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/RunBlock/components/SetupRequirementsCard/helpers.ts (deleted here, modified there)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useChatSession.ts (2 conflicts, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useCopilotNotifications.ts (3 conflicts, ~18 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useCopilotPage.ts (4 conflicts, ~18 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useCopilotPendingChips.ts (19 conflicts, ~449 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useCopilotStream.ts (1 conflict, ~13 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useHydrateOnStreamEnd.ts (2 conflicts, ~56 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useSendMessage.ts (1 conflict, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useSessionDeletion.ts (3 conflicts, ~17 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/useSessionTitlePoll.ts (4 conflicts, ~52 lines)
    • autogpt_platform/frontend/src/app/(platform)/layout.tsx (2 conflicts, ~17 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/__tests__/briefing.test.tsx (7 conflicts, ~147 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/AgentBriefingPanel/AgentBriefingPanel.tsx (2 conflicts, ~13 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/LibraryAgentCard/LibraryAgentCard.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/LibraryAgentList/LibraryAgentList.tsx (2 conflicts, ~25 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/LibraryAgentList/useLibraryAgentList.ts (4 conflicts, ~31 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/SitrepItem/SitrepItem.tsx (2 conflicts, ~26 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/components/SitrepItem/useSitrepItems.ts (2 conflicts, ~9 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/hooks/executionHelpers.ts (1 conflict, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/hooks/useAgentStatus.ts (3 conflicts, ~14 lines)
    • autogpt_platform/frontend/src/app/(platform)/library/hooks/useLibraryFleetSummary.ts (9 conflicts, ~99 lines)
    • autogpt_platform/frontend/src/app/(platform)/profile/(user)/credits/components/SubscriptionTierSection/SubscriptionTierSection.tsx (2 conflicts, ~12 lines)
    • autogpt_platform/frontend/src/app/(platform)/profile/(user)/credits/components/SubscriptionTierSection/useSubscriptionTierSection.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/profile/(user)/credits/page.tsx (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/__tests__/SettingsMobileNav.test.tsx (2 conflicts, ~19 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/__tests__/SettingsSidebar.test.tsx (2 conflicts, ~19 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/__tests__/placeholder-pages.test.tsx (1 conflict, ~37 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/api-keys/components/APIKeyList/APIKeyList.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/api-keys/components/APIKeyListSkeleton/APIKeyListSkeleton.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/api-keys/components/APIKeysHeader/APIKeysHeader.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/billing/page.tsx (1 conflict, ~154 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/components/SettingsSidebar/helpers.ts (3 conflicts, ~35 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/__tests__/helpers.test.ts (9 conflicts, ~142 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/__tests__/main.test.tsx (5 conflicts, ~162 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/MobileSubmissionItem/MobileSubmissionItem.tsx (9 conflicts, ~198 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/MobileSubmissionsList/MobileSubmissionsList.tsx (10 conflicts, ~294 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/SubmissionItem/SubmissionItem.tsx (10 conflicts, ~216 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/SubmissionItem/useSubmissionItem.ts (4 conflicts, ~21 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/SubmissionsList/SubmissionsList.tsx (12 conflicts, ~330 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/components/SubmissionsList/columns/ColumnHeader.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/helpers.ts (8 conflicts, ~101 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/page.tsx (6 conflicts, ~70 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/creator-dashboard/useCreatorDashboardPage.ts (8 conflicts, ~168 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/__tests__/helpers.test.ts (2 conflicts, ~42 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/__tests__/main.test.tsx (1 conflict, ~28 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/ConnectServiceDialog/ConnectServiceDialog.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/ConnectServiceDialog/components/DetailView/DetailView.tsx (4 conflicts, ~23 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/ConnectServiceDialog/components/DetailView/useOAuthConnect.ts (3 conflicts, ~15 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/ConnectServiceDialog/useConnectServiceDialog.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/CredentialRow/CredentialRow.tsx (3 conflicts, ~102 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/DeleteConfirmDialog/DeleteConfirmDialog.tsx (3 conflicts, ~34 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/DeleteConfirmDialog/__tests__/DeleteConfirmDialog.test.tsx (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/IntegrationsHeader/IntegrationsHeader.tsx (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/IntegrationsList/useIntegrationsList.ts (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/IntegrationsListEmpty/IntegrationsListEmpty.tsx (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/components/ProviderGroup/ProviderGroup.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/integrations/helpers.ts (3 conflicts, ~28 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/page.tsx (2 conflicts, ~26 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/profile/__tests__/main.test.tsx (1 conflict, ~68 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/profile/components/ProfileHeader/ProfileHeader.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/settings/profile/useProfilePage.ts (5 conflicts, ~84 lines)
    • autogpt_platform/frontend/src/app/api/mutators/__tests__/custom-mutator.test.ts (1 conflict, ~83 lines)
    • autogpt_platform/frontend/src/app/api/mutators/custom-mutator.ts (2 conflicts, ~8 lines)
    • autogpt_platform/frontend/src/app/api/openapi.json (39 conflicts, ~2464 lines)
    • autogpt_platform/frontend/src/app/api/proxy/[...path]/route.helpers.ts (1 conflict, ~18 lines)
    • autogpt_platform/frontend/src/app/api/proxy/[...path]/route.ts (3 conflicts, ~120 lines)
    • autogpt_platform/frontend/src/components/ai-elements/conversation.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/atoms/AutoGPTLogo/AutoGPTLogo.tsx (9 conflicts, ~125 lines)
    • autogpt_platform/frontend/src/components/atoms/Emoji/Emoji.tsx (2 conflicts, ~50 lines)
    • autogpt_platform/frontend/src/components/atoms/Input/Input.tsx (2 conflicts, ~26 lines)
    • autogpt_platform/frontend/src/components/contextual/CredentialsInput/__tests__/helpers.test.ts (20 conflicts, ~749 lines)
    • autogpt_platform/frontend/src/components/contextual/EditAgentModal/components/EditAgentForm.tsx (1 conflict, ~47 lines)
    • autogpt_platform/frontend/src/components/contextual/OutputRenderers/renderers/__tests__/WorkspaceFileRenderer.test.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/Navbar.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/components/NavbarLink.tsx (1 conflict, ~8 lines)
    • autogpt_platform/frontend/src/playwright/credentials/index.ts (1 conflict, ~11 lines)
    • autogpt_platform/frontend/src/playwright/pages/login.page.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/playwright/pages/marketplace.page.ts (10 conflicts, ~102 lines)
    • autogpt_platform/frontend/src/playwright/publish-happy-path.spec.ts (2 conflicts, ~39 lines)
    • autogpt_platform/frontend/src/playwright/utils/auth.ts (4 conflicts, ~103 lines)
    • autogpt_platform/frontend/src/providers/onboarding/onboarding-provider.tsx (1 conflict, ~16 lines)
    • autogpt_platform/frontend/src/services/feature-flags/__tests__/envFlagOverride.test.ts (1 conflict, ~40 lines)
    • autogpt_platform/frontend/src/services/feature-flags/feature-flag-provider.tsx (1 conflict, ~29 lines)
    • autogpt_platform/frontend/src/services/feature-flags/use-get-flag.ts (3 conflicts, ~113 lines)
    • autogpt_platform/frontend/src/services/push-notifications/__tests__/push-sw-helpers.test.ts (2 conflicts, ~12 lines)
    • autogpt_platform/frontend/src/services/storage/local-storage.ts (2 conflicts, ~12 lines)
    • autogpt_platform/frontend/src/tests/integrations/vitest.setup.tsx (1 conflict, ~40 lines)
    • autogpt_platform/frontend/tailwind.config.ts (2 conflicts, ~22 lines)
    • codecov.yml (2 conflicts, ~10 lines)
    • docs/integrations/block-integrations/llm.md (7 conflicts, ~35 lines)
    • docs/integrations/block-integrations/misc.md (1 conflict, ~5 lines)
  • docs(blocks): document integration icon, auth patterns, auto-discovery, docs sync, and test patterns #13048 (ntindle · updated 1m ago)

    • autogpt_platform/backend/.env.default (1 conflict, ~17 lines)
    • autogpt_platform/backend/backend/api/external/fastapi_app.py (2 conflicts, ~14 lines)
    • autogpt_platform/backend/backend/api/external/v1/routes.py (3 conflicts, ~22 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes.py (3 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes_test.py (2 conflicts, ~9 lines)
    • autogpt_platform/backend/backend/api/features/builder/db.py (1 conflict, ~22 lines)
    • autogpt_platform/backend/backend/api/features/integrations/router_test.py (1 conflict, ~75 lines)
    • autogpt_platform/backend/backend/api/features/library/db.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/api/features/library/db_test.py (1 conflict, ~270 lines)
    • autogpt_platform/backend/backend/api/features/search/content_handlers.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/api/features/store/db.py (2 conflicts, ~74 lines)
    • autogpt_platform/backend/backend/api/features/store/db_test.py (3 conflicts, ~56 lines)
    • autogpt_platform/backend/backend/api/features/store/embeddings.py (1 conflict, ~544 lines)
    • autogpt_platform/backend/backend/api/features/store/hybrid_search.py (1 conflict, ~394 lines)
    • autogpt_platform/backend/backend/api/features/store/hybrid_search_test.py (1 conflict, ~360 lines)
    • autogpt_platform/backend/backend/api/features/v1.py (2 conflicts, ~16 lines)
    • autogpt_platform/backend/backend/api/features/v1_test.py (3 conflicts, ~139 lines)
    • autogpt_platform/backend/backend/api/features/workspace/routes.py (1 conflict, ~32 lines)
    • autogpt_platform/backend/backend/api/rest_api.py (2 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/blocks/_base.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/blocks/exa/helpers.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/blocks/llm.py (3 conflicts, ~402 lines)
    • autogpt_platform/backend/backend/blocks/replicate/replicate_block.py (1 conflict, ~26 lines)
    • autogpt_platform/backend/backend/copilot/baseline/service.py (5 conflicts, ~51 lines)
    • autogpt_platform/backend/backend/copilot/config.py (4 conflicts, ~37 lines)
    • autogpt_platform/backend/backend/copilot/config_test.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/copilot/executor/processor.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/model.py (1 conflict, ~17 lines)
    • autogpt_platform/backend/backend/copilot/permissions.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/response_model.py (1 conflict, ~6 lines)
    • autogpt_platform/backend/backend/copilot/sdk/agent_generation_guide.md (3 conflicts, ~111 lines)
    • autogpt_platform/backend/backend/copilot/sdk/env_test.py (1 conflict, ~30 lines)
    • autogpt_platform/backend/backend/copilot/sdk/mcp_tool_guide.md (1 conflict, ~10 lines)
    • autogpt_platform/backend/backend/copilot/service.py (4 conflicts, ~31 lines)
    • autogpt_platform/backend/backend/copilot/stream_registry.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/tools/__init__.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator.py (2 conflicts, ~23 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator_test.py (1 conflict, ~68 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search.py (2 conflicts, ~73 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search_test.py (3 conflicts, ~84 lines)
    • autogpt_platform/backend/backend/copilot/tools/find_library_agent.py (5 conflicts, ~43 lines)
    • autogpt_platform/backend/backend/copilot/tools/models.py (3 conflicts, ~53 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent.py (2 conflicts, ~33 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent_test.py (2 conflicts, ~260 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_block_test.py (1 conflict, ~94 lines)
    • autogpt_platform/backend/backend/copilot/tools/tool_schema_test.py (1 conflict, ~22 lines)
    • autogpt_platform/backend/backend/copilot/tools/workspace_files.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/data/credit.py (2 conflicts, ~49 lines)
    • autogpt_platform/backend/backend/data/credit_metadata_test.py (1 conflict, ~9 lines)
    • autogpt_platform/backend/backend/data/db_accessors.py (1 conflict, ~16 lines)
    • autogpt_platform/backend/backend/data/db_manager.py (2 conflicts, ~8 lines)
    • autogpt_platform/backend/backend/data/tally.py (3 conflicts, ~18 lines)
    • autogpt_platform/backend/backend/data/user.py (1 conflict, ~27 lines)
    • autogpt_platform/backend/backend/executor/activity_status_generator.py (1 conflict, ~19 lines)
    • autogpt_platform/backend/backend/executor/scheduler.py (3 conflicts, ~66 lines)
    • autogpt_platform/backend/backend/executor/scheduler_test.py (2 conflicts, ~441 lines)
    • autogpt_platform/backend/backend/executor/simulator.py (3 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/util/clients.py (1 conflict, ~31 lines)
    • autogpt_platform/backend/backend/util/exceptions.py (1 conflict, ~7 lines)
    • autogpt_platform/backend/backend/util/feature_flag.py (1 conflict, ~23 lines)
    • autogpt_platform/backend/backend/util/feature_flag_test.py (1 conflict, ~89 lines)
    • autogpt_platform/backend/backend/util/settings.py (2 conflicts, ~24 lines)
    • autogpt_platform/backend/poetry.lock (4 conflicts, ~177 lines)
    • autogpt_platform/backend/pyproject.toml (1 conflict, ~4 lines)
    • autogpt_platform/backend/schema.prisma (1 conflict, ~47 lines)
    • autogpt_platform/backend/test/e2e_test_data.py (1 conflict, ~11 lines)
    • autogpt_platform/backend/test/test_migrate_webhook_presets.py (6 conflicts, ~30 lines)
    • autogpt_platform/frontend/.storybook/main.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/pnpm-lock.yaml (2 conflicts, ~12 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/layout.tsx (2 conflicts, ~16 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/RateLimitDisplay.tsx (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/useRateLimitManager.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/CopilotPage.tsx (2 conflicts, ~33 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/AgentSavedCard/AgentSavedCard.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/ChatContainer.tsx (2 conflicts, ~15 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/ChatMessagesContainer.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/__tests__/helpers.test.ts (3 conflicts, ~113 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/MessagePartRenderer.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/helpers.ts (1 conflict, ~19 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatSidebar/ChatSidebar.tsx (7 conflicts, ~372 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/EmptySession/EmptySession.tsx (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileDrawer/MobileDrawer.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileHeader/MobileHeader.tsx (2 conflicts, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/NotificationBanner/NotificationBanner.tsx (1 conflict, ~41 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/store.ts (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/ConnectIntegrationTool/ConnectIntegrationTool.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/GenericTool/GenericTool.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/RunBlock/RunBlock.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/api/mutators/custom-mutator.ts (2 conflicts, ~8 lines)
    • autogpt_platform/frontend/src/app/api/openapi.json (13 conflicts, ~564 lines)
    • autogpt_platform/frontend/src/components/ai-elements/conversation.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/PublishAgentModal.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/AgentSelectStep.tsx (3 conflicts, ~39 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/Navbar.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/components/NavbarLink.tsx (1 conflict, ~8 lines)
    • autogpt_platform/frontend/src/components/layout/TopUpPrompt/LowCreditBanner/LowCreditBanner.tsx (1 conflict, ~10 lines)
    • autogpt_platform/frontend/src/components/layout/TopUpPrompt/TopUpForm/useTopUpForm.ts (2 conflicts, ~9 lines)
    • autogpt_platform/frontend/src/lib/supabase/actions.ts (2 conflicts, ~14 lines)
    • autogpt_platform/frontend/src/services/feature-flags/use-get-flag.ts (2 conflicts, ~24 lines)
    • autogpt_platform/frontend/src/services/storage/local-storage.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/tailwind.config.ts (2 conflicts, ~17 lines)
    • docs/integrations/block-integrations/misc.md (1 conflict, ~5 lines)
    • docs/integrations/block-integrations/replicate/replicate_block.md (1 conflict, ~5 lines)
    • docs/platform/block-sdk-guide.md (1 conflict, ~23 lines)
  • docs(platform): sync GitBook documentation into dev #13055 (ntindle · updated just now)

    • autogpt_platform/backend/.env.default (1 conflict, ~17 lines)
    • autogpt_platform/backend/backend/api/external/fastapi_app.py (2 conflicts, ~14 lines)
    • autogpt_platform/backend/backend/api/external/v1/routes.py (3 conflicts, ~22 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes.py (3 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/api/features/admin/rate_limit_admin_routes_test.py (2 conflicts, ~9 lines)
    • autogpt_platform/backend/backend/api/features/builder/db.py (1 conflict, ~22 lines)
    • autogpt_platform/backend/backend/api/features/integrations/router_test.py (1 conflict, ~75 lines)
    • autogpt_platform/backend/backend/api/features/library/db.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/api/features/library/db_test.py (1 conflict, ~270 lines)
    • autogpt_platform/backend/backend/api/features/search/content_handlers.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/api/features/store/db.py (2 conflicts, ~74 lines)
    • autogpt_platform/backend/backend/api/features/store/db_test.py (3 conflicts, ~56 lines)
    • autogpt_platform/backend/backend/api/features/store/embeddings.py (1 conflict, ~544 lines)
    • autogpt_platform/backend/backend/api/features/store/hybrid_search.py (1 conflict, ~394 lines)
    • autogpt_platform/backend/backend/api/features/store/hybrid_search_test.py (1 conflict, ~360 lines)
    • autogpt_platform/backend/backend/api/features/v1.py (2 conflicts, ~16 lines)
    • autogpt_platform/backend/backend/api/features/v1_test.py (3 conflicts, ~139 lines)
    • autogpt_platform/backend/backend/api/features/workspace/routes.py (1 conflict, ~32 lines)
    • autogpt_platform/backend/backend/api/rest_api.py (2 conflicts, ~12 lines)
    • autogpt_platform/backend/backend/blocks/_base.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/blocks/exa/helpers.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/blocks/llm.py (3 conflicts, ~402 lines)
    • autogpt_platform/backend/backend/blocks/replicate/replicate_block.py (1 conflict, ~26 lines)
    • autogpt_platform/backend/backend/copilot/baseline/service.py (5 conflicts, ~51 lines)
    • autogpt_platform/backend/backend/copilot/config.py (4 conflicts, ~37 lines)
    • autogpt_platform/backend/backend/copilot/config_test.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/copilot/executor/processor.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/model.py (1 conflict, ~17 lines)
    • autogpt_platform/backend/backend/copilot/permissions.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/response_model.py (1 conflict, ~6 lines)
    • autogpt_platform/backend/backend/copilot/sdk/agent_generation_guide.md (3 conflicts, ~111 lines)
    • autogpt_platform/backend/backend/copilot/sdk/env_test.py (1 conflict, ~30 lines)
    • autogpt_platform/backend/backend/copilot/sdk/mcp_tool_guide.md (1 conflict, ~10 lines)
    • autogpt_platform/backend/backend/copilot/service.py (4 conflicts, ~31 lines)
    • autogpt_platform/backend/backend/copilot/stream_registry.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/tools/__init__.py (1 conflict, ~4 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator.py (2 conflicts, ~23 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_generator/validator_test.py (1 conflict, ~68 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search.py (2 conflicts, ~73 lines)
    • autogpt_platform/backend/backend/copilot/tools/agent_search_test.py (3 conflicts, ~84 lines)
    • autogpt_platform/backend/backend/copilot/tools/find_library_agent.py (5 conflicts, ~43 lines)
    • autogpt_platform/backend/backend/copilot/tools/models.py (3 conflicts, ~53 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent.py (2 conflicts, ~33 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_agent_test.py (2 conflicts, ~260 lines)
    • autogpt_platform/backend/backend/copilot/tools/run_block_test.py (1 conflict, ~94 lines)
    • autogpt_platform/backend/backend/copilot/tools/tool_schema_test.py (1 conflict, ~22 lines)
    • autogpt_platform/backend/backend/copilot/tools/workspace_files.py (1 conflict, ~5 lines)
    • autogpt_platform/backend/backend/data/credit.py (2 conflicts, ~49 lines)
    • autogpt_platform/backend/backend/data/credit_metadata_test.py (1 conflict, ~9 lines)
    • autogpt_platform/backend/backend/data/db_accessors.py (1 conflict, ~16 lines)
    • autogpt_platform/backend/backend/data/db_manager.py (2 conflicts, ~8 lines)
    • autogpt_platform/backend/backend/data/tally.py (3 conflicts, ~18 lines)
    • autogpt_platform/backend/backend/data/user.py (1 conflict, ~27 lines)
    • autogpt_platform/backend/backend/executor/activity_status_generator.py (1 conflict, ~19 lines)
    • autogpt_platform/backend/backend/executor/scheduler.py (3 conflicts, ~66 lines)
    • autogpt_platform/backend/backend/executor/scheduler_test.py (2 conflicts, ~441 lines)
    • autogpt_platform/backend/backend/executor/simulator.py (3 conflicts, ~24 lines)
    • autogpt_platform/backend/backend/util/clients.py (1 conflict, ~31 lines)
    • autogpt_platform/backend/backend/util/exceptions.py (1 conflict, ~7 lines)
    • autogpt_platform/backend/backend/util/feature_flag.py (1 conflict, ~23 lines)
    • autogpt_platform/backend/backend/util/feature_flag_test.py (1 conflict, ~89 lines)
    • autogpt_platform/backend/backend/util/settings.py (2 conflicts, ~24 lines)
    • autogpt_platform/backend/poetry.lock (4 conflicts, ~177 lines)
    • autogpt_platform/backend/pyproject.toml (1 conflict, ~4 lines)
    • autogpt_platform/backend/schema.prisma (1 conflict, ~47 lines)
    • autogpt_platform/backend/test/e2e_test_data.py (1 conflict, ~11 lines)
    • autogpt_platform/backend/test/test_migrate_webhook_presets.py (6 conflicts, ~30 lines)
    • autogpt_platform/frontend/.storybook/main.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/pnpm-lock.yaml (2 conflicts, ~12 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/layout.tsx (2 conflicts, ~16 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/RateLimitDisplay.tsx (2 conflicts, ~10 lines)
    • autogpt_platform/frontend/src/app/(platform)/admin/rate-limits/components/useRateLimitManager.ts (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/CopilotPage.tsx (2 conflicts, ~33 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/AgentSavedCard/AgentSavedCard.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatContainer/ChatContainer.tsx (2 conflicts, ~15 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/ChatMessagesContainer.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/__tests__/helpers.test.ts (3 conflicts, ~113 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/components/MessagePartRenderer.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatMessagesContainer/helpers.ts (1 conflict, ~19 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/ChatSidebar/ChatSidebar.tsx (7 conflicts, ~372 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/EmptySession/EmptySession.tsx (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileDrawer/MobileDrawer.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/MobileHeader/MobileHeader.tsx (2 conflicts, ~11 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/components/NotificationBanner/NotificationBanner.tsx (1 conflict, ~41 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/store.ts (1 conflict, ~6 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/ConnectIntegrationTool/ConnectIntegrationTool.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/GenericTool/GenericTool.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/app/(platform)/copilot/tools/RunBlock/RunBlock.tsx (1 conflict, ~7 lines)
    • autogpt_platform/frontend/src/app/api/mutators/custom-mutator.ts (2 conflicts, ~8 lines)
    • autogpt_platform/frontend/src/app/api/openapi.json (13 conflicts, ~564 lines)
    • autogpt_platform/frontend/src/components/ai-elements/conversation.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/PublishAgentModal.tsx (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/AgentSelectStep.tsx (3 conflicts, ~39 lines)
    • autogpt_platform/frontend/src/components/contextual/PublishAgentModal/components/AgentSelectStep/useAgentSelectStep.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/Navbar.tsx (1 conflict, ~5 lines)
    • autogpt_platform/frontend/src/components/layout/Navbar/components/NavbarLink.tsx (1 conflict, ~8 lines)
    • autogpt_platform/frontend/src/components/layout/TopUpPrompt/LowCreditBanner/LowCreditBanner.tsx (1 conflict, ~10 lines)
    • autogpt_platform/frontend/src/components/layout/TopUpPrompt/TopUpForm/useTopUpForm.ts (2 conflicts, ~9 lines)
    • autogpt_platform/frontend/src/lib/supabase/actions.ts (2 conflicts, ~14 lines)
    • autogpt_platform/frontend/src/services/feature-flags/use-get-flag.ts (2 conflicts, ~24 lines)
    • autogpt_platform/frontend/src/services/storage/local-storage.ts (1 conflict, ~4 lines)
    • autogpt_platform/frontend/tailwind.config.ts (2 conflicts, ~17 lines)
    • docs/integrations/block-integrations/misc.md (1 conflict, ~5 lines)
    • docs/integrations/block-integrations/replicate/replicate_block.md (1 conflict, ~5 lines)
  • feat(platform): replace Supabase Auth with Better Auth #13330 (ntindle · updated 7d ago)

    • 📁 autogpt_platform/
      • backend/poetry.lock (6 conflicts, ~137 lines)
      • backend/pyproject.toml (1 conflict, ~4 lines)
      • frontend/src/app/(platform)/copilot/CopilotPage.tsx (1 conflict, ~6 lines)
      • frontend/src/app/(platform)/copilot/components/EmptySession/EmptySession.tsx (1 conflict, ~7 lines)
  • docs: consolidate backend README files to point to official docs site #13375 (xizhilanre · updated 20h ago)

    • 📁 autogpt_platform/backend/
      • README.md (1 conflict, ~33 lines)
  • docs(platform): consolidate README files to point to docs site #13176 (CodeAgentCN · updated 11d ago)

    • 📁 autogpt_platform/backend/
      • README.md (1 conflict, ~18 lines)

🟢 Low Risk — File Overlap Only

These PRs touch the same files but different sections (click to expand)

Summary: 6 conflict(s), 0 medium risk, 2 low risk (out of 8 PRs with file overlap)


Auto-generated on push. Ignores: openapi.json, lock files.

ntindle and others added 2 commits April 3, 2026 16:41
The workflow default working-directory is autogpt_platform/frontend, but
the gate job doesn't check out the repo. Bash fails before running echo
because the directory doesn't exist. Override to . for this job.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Comment thread .github/workflows/platform-fullstack-ci.yml Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/platform-fullstack-ci.yml:
- Around line 146-166: Update the e2e-label-gate job to only trigger on the PR
"labeled" action for the ci-ready label by adding a job-level if that allows the
job to run when the event is not a pull_request OR when github.event.action ==
'labeled' and github.event.label.name == 'ci-ready'; modify the job-level
condition for e2e-label-gate (instead of relying only on the steps) so the
existing steps "Check for ci-ready label" and "Label present or not a PR" only
run when the event is the ci-ready labeling event (keep the current step logic
unchanged).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d0b163c7-2a23-4b72-bad8-d4407c6e7201

📥 Commits

Reviewing files that changed from the base of the PR and between 6def40b and f724d57.

📒 Files selected for processing (1)
  • .github/workflows/platform-fullstack-ci.yml
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: check API types
  • GitHub Check: end-to-end tests
  • GitHub Check: Seer Code Review
  • GitHub Check: Cursor Bugbot
  • GitHub Check: Check PR Status
  • GitHub Check: Analyze (python)
  • GitHub Check: Analyze (typescript)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: majdyz
Repo: Significant-Gravitas/AutoGPT PR: 12356
File: autogpt_platform/backend/backend/copilot/constants.py:9-12
Timestamp: 2026-03-10T08:39:22.025Z
Learning: In Significant-Gravitas/AutoGPT PR `#12356`, the `COPILOT_SYNTHETIC_ID_PREFIX = "copilot-"` check in `create_auto_approval_record` (human_review.py) is intentional and safe. The `graph_exec_id` passed to this function comes from server-side `PendingHumanReview` DB records (not from user input); the API only accepts `node_exec_id` from users. Synthetic `copilot-*` IDs are only ever created server-side in `run_block.py`. The prefix skip avoids a DB lookup for a `AgentGraphExecution` record that legitimately does not exist for CoPilot sessions, while `user_id` scoping is enforced at the auth layer and on the resulting auto-approval record.
📚 Learning: 2026-03-23T06:51:32.535Z
Learnt from: majdyz
Repo: Significant-Gravitas/AutoGPT PR: 12440
File: autogpt_platform/backend/backend/api/features/workflow_import.py:0-0
Timestamp: 2026-03-23T06:51:32.535Z
Learning: In Significant-Gravitas/AutoGPT PR `#12440`, the dedicated REST endpoint `/api/import/workflow` (and its earlier form `/api/import/competitor-workflow`) for external workflow import was removed across commits 30f801a5e, 374c8cfdb, and 732960e2d. The final architecture is a frontend-only flow: file upload is handled client-side, and URL fetching (for n8n templates) uses a Next.js server action (`fetchWorkflowFromUrl`) — there is no dedicated backend HTTP endpoint and no CoPilot tool invocation for workflow import. Do not expect or require a standalone HTTP endpoint, route-level integration tests, or a CoPilot `import_workflow` tool for workflow import in this repository.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
📚 Learning: 2026-02-26T17:02:34.195Z
Learnt from: Pwuts
Repo: Significant-Gravitas/AutoGPT PR: 12211
File: .pre-commit-config.yaml:160-179
Timestamp: 2026-02-26T17:02:34.195Z
Learning: In `.pre-commit-config.yaml`, the `sync-api-types` hook intentionally uses the broad file pattern `^autogpt_platform/backend/` (not narrowed to just `backend/api/`) because the OpenAPI schema is generated by importing the FastAPI app and depends on Pydantic models across many directories: `backend/data/`, `backend/blocks/`, `backend/copilot/`, `backend/integrations/`, and `backend/util/`. Narrowing would risk missing schema changes and causing frontend type desync.

Applied to files:

  • .github/workflows/platform-fullstack-ci.yml
🪛 actionlint (1.7.11)
.github/workflows/platform-fullstack-ci.yml

[error] 169-169: label "big-boi" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2025-vs2026", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26-large", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xlarge", "macos-14-large", "macos-14", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🔇 Additional comments (2)
.github/workflows/platform-fullstack-ci.yml (2)

12-22: Good trigger/concurrency update for label-driven reruns.

Including pull_request:labeled and exempting labeled events from cancellation is the right setup for re-triggering without killing in-flight runs.


170-170: e2e_test dependency on the label gate is correctly wired.

This ensures the expensive runner is only used after gate authorization.

Comment thread .github/workflows/platform-fullstack-ci.yml
Comment thread .github/workflows/platform-fullstack-ci.yml
Comment thread .github/workflows/platform-fullstack-ci.yml
Comment thread .github/workflows/platform-fullstack-ci.yml
Comment thread .github/workflows/platform-fullstack-ci.yml Outdated
@CLAassistant

CLAassistant commented May 11, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit bc91295. Configure here.

Comment thread .github/workflows/platform-fullstack-ci.yml Outdated
- Add `unlabeled` to pull_request triggers in both platform-fullstack-ci
  and repo-workflow-checker so removing `ci-ready` re-runs the gate
  (which fails) and Check PR Status, closing the label-removal bypass.
- Exclude `unlabeled` from cancel-in-progress for consistency with
  `labeled` (label churn shouldn't cancel in-progress big-boi runs).
- Rename the awkward "Label present or not a PR" step to "Authorize E2E
  tests".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MpEMRAqCLxxbPA5EAv7MRQ
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.69%. Comparing base (e2711b1) to head (122d30a).
⚠️ Report is 151 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev   #12616      +/-   ##
==========================================
- Coverage   74.71%   74.69%   -0.03%     
==========================================
  Files        2537     2537              
  Lines      192315   192311       -4     
  Branches    18925    18926       +1     
==========================================
- Hits       143697   143647      -50     
- Misses      44493    44535      +42     
- Partials     4125     4129       +4     
Flag Coverage Δ
platform-backend 81.98% <ø> (ø)
platform-frontend-e2e 31.97% <ø> (-0.41%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
Platform Backend 81.98% <ø> (ø)
Platform Frontend 47.39% <ø> (-0.15%) ⬇️
AutoGPT Libs ∅ <ø> (∅)
Classic AutoGPT 28.43% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ntindle

ntindle commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

Ready for re-review @Pwuts — addressed your three comments and rebased on latest dev:

  • ci-ready vs e2e-ready: confirmed the label is ci-ready everywhere (job, error message, both contains() checks); no e2e-ready references remain.
  • "This shows up as a failing check, is that what we want?": yes, intended — the gate is rolled into the required Check PR Status aggregator so the PR can't merge without ci-ready.
  • "bad English": renamed the Label present or not a PR step → Authorize E2E tests (fcf5d99).

Also closed the bot-flagged label-removal bypass: added unlabeled to the pull_request triggers in both workflows so removing ci-ready re-runs the gate (which fails) and re-blocks the PR. Remaining bot findings (paths-filter-on-labeled, job-level if guard, redundant re-runs) were verified as false positives / accepted-safe tradeoffs and answered inline.

CI is green (31 passing) and all review threads are resolved.

@ntindle
ntindle requested a review from a team as a code owner June 25, 2026 18:21
@ntindle
ntindle requested review from 0ubbe and kcze and removed request for a team June 25, 2026 18:21
@github-actions github-actions Bot added the platform/backend AutoGPT Platform - Back end label Jun 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.

@github-actions github-actions Bot added the conflicts Automatically applied to PRs with merge conflicts label Jul 22, 2026
@github-actions github-actions Bot added the cla: signed CLA signed by all contributors label Aug 6, 2026
@ntindle ntindle closed this Aug 6, 2026
@github-project-automation github-project-automation Bot moved this from 🆕 Needs initial review to ✅ Done in AutoGPT development kanban Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-ready cla: signed CLA signed by all contributors conflicts Automatically applied to PRs with merge conflicts platform/backend AutoGPT Platform - Back end size/m

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

3 participants