Commit Graph
4518 Commits
Author SHA1 Message Date
DottaandPaperclip 31ea721335 test: align recovery fixtures with verified teardown
Keep the already verified integration fixtures with the recovery lifecycle they cover.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 16:07:14 -05:00
Dotta e15f90f961 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  fix: keep supported ACPX profiles available in the Pi layer
  test: wait for active Daytona transfers before teardown
2026-09-11 16:07:02 -05:00
Dotta d603862579 Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  fix: keep supported ACPX profiles available in the Pi layer
  test: wait for active Daytona transfers before teardown
2026-09-11 16:07:02 -05:00
Dotta b79f09ef24 Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  fix: keep supported ACPX profiles available in the Pi layer
  test: wait for active Daytona transfers before teardown
2026-09-11 16:07:02 -05:00
Dotta 2557be103c Merge branch 'codex/work-folders-pi-refresh' into codex/work-folders-storybook-refresh
* codex/work-folders-pi-refresh:
  fix: keep supported ACPX profiles available in the Pi layer
  test: wait for active Daytona transfers before teardown
2026-09-11 16:07:02 -05:00
DottaandPaperclip 326c8b2782 fix: keep supported ACPX profiles available in the Pi layer
Move the already verified readiness fix to the layer that introduces these profiles.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 16:06:53 -05:00
Dotta f09ed7d988 Merge branch 'codex/work-folders-base-refresh' into codex/work-folders-pi-refresh
* codex/work-folders-base-refresh:
  test: wait for active Daytona transfers before teardown
2026-09-11 16:06:53 -05:00
DottaandPaperclip ceb0b21719 test: wait for active Daytona transfers before teardown
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 16:06:44 -05:00
Dotta cd52f7e086 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  fix: normalize omitted Pi models to the qualified default
2026-09-11 15:50:40 -05:00
Dotta 17687da70e Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  fix: normalize omitted Pi models to the qualified default
2026-09-11 15:50:40 -05:00
Dotta 9ceab0207d Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  fix: normalize omitted Pi models to the qualified default
2026-09-11 15:50:40 -05:00
Dotta 82a37bb587 Merge branch 'codex/work-folders-pi-refresh' into codex/work-folders-storybook-refresh
* codex/work-folders-pi-refresh:
  fix: normalize omitted Pi models to the qualified default
2026-09-11 15:50:39 -05:00
DottaandPaperclip 3af8146022 fix: normalize omitted Pi models to the qualified default
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 15:50:39 -05:00
Dotta 3dcc961d31 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Keep Pi model admission aligned with the qualified runner profile
2026-09-11 15:25:56 -05:00
Dotta 25820a0290 Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  Keep Pi model admission aligned with the qualified runner profile
2026-09-11 15:25:56 -05:00
Dotta 5dc27626cc Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  Keep Pi model admission aligned with the qualified runner profile
2026-09-11 15:25:56 -05:00
Dotta 866f326dce Merge branch 'codex/work-folders-pi-refresh' into codex/work-folders-storybook-refresh
* codex/work-folders-pi-refresh:
  Keep Pi model admission aligned with the qualified runner profile
2026-09-11 15:25:55 -05:00
DottaandPaperclip c35e443fc8 Keep Pi model admission aligned with the qualified runner profile
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-09-11 15:25:55 -05:00
Dotta b9e72c8695 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Continue independent cached file deletions after a failure
2026-09-11 15:23:31 -05:00
Dotta 0ca7657ac9 Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  Continue independent cached file deletions after a failure
2026-09-11 15:23:30 -05:00
Dotta 62c9ec5a8b Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  Continue independent cached file deletions after a failure
2026-09-11 15:23:28 -05:00
DottaandPaperclip eb44b68f58 Continue independent cached file deletions after a failure
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-09-11 15:23:26 -05:00
Dotta 2dea4702fd Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Include cached directories in selection and recursive trash operations
2026-09-11 15:16:05 -05:00
Dotta a9a4260d5d Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  Include cached directories in selection and recursive trash operations
2026-09-11 15:15:58 -05:00
Dotta 1e66a10f46 Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  Include cached directories in selection and recursive trash operations

# Conflicts:
#	ui/src/components/WorkFolderBrowser.selection.test.tsx
2026-09-11 15:15:57 -05:00
DottaandPaperclip 814f853359 Include cached directories in selection and recursive trash operations
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 15:15:20 -05:00
Dotta 07c43b5e11 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Keep runtime evidence exclusion scoped to the repository root
2026-09-11 15:11:10 -05:00
DottaandPaperclip 3b60c13b48 Keep runtime evidence exclusion scoped to the repository root
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 15:11:09 -05:00
Dotta 5268ecf85e Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Keep native session wiring checks compatible with timing instrumentation
2026-09-11 14:59:58 -05:00
DottaandPaperclip 21c0553e99 Keep native session wiring checks compatible with timing instrumentation
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:59:58 -05:00
DottaandPaperclip daf38c67f1 Preserve upstream local sandbox defaults in environment regression test
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:48:41 -05:00
Dotta 1b321c25ac Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Preserve upstream local sandbox defaults in environment regression test
  Align provider selector tests with current configuration controls
2026-09-11 14:48:41 -05:00
Dotta 658523a9bb Merge branch 'codex/work-folders-runtime-hardening-refresh' into codex/work-folders-staging-hardening-refresh
* codex/work-folders-runtime-hardening-refresh:
  Preserve upstream local sandbox defaults in environment regression test
  Align provider selector tests with current configuration controls
2026-09-11 14:48:41 -05:00
DottaandPaperclip ec4abc0380 Align provider selector tests with current configuration controls
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:48:28 -05:00
Dotta 86264465ae Merge branch 'codex/work-folders-pi-refresh' into codex/work-folders-storybook-refresh
* codex/work-folders-pi-refresh:
  Align provider selector tests with current configuration controls
2026-09-11 14:48:28 -05:00
Dotta c3b7d8f081 Merge branch 'codex/work-folders-storybook-refresh' into codex/work-folders-runtime-hardening-refresh
* codex/work-folders-storybook-refresh:
  Align provider selector tests with current configuration controls
2026-09-11 14:48:28 -05:00
Dotta 140dcc2a59 Merge branch 'codex/work-folders-staging-hardening-refresh' into codex/work-folders-remote-recovery-refresh
* codex/work-folders-staging-hardening-refresh:
  Fix frozen provider graph and retain snapshots across failed launches
2026-09-11 14:40:43 -05:00
DottaandPaperclip 855aa1b007 Fix frozen provider graph and retain snapshots across failed launches
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:40:43 -05:00
DottaandPaperclip f4b28e23eb Carry verified staging integration fixes into remote recovery
Co-Authored-By: Paperclip <noreply@paperclip.ing>

* codex/work-folders-staging-hardening-refresh:
  Align staging runtime packaging and lifecycle with current master
  Preserve the retained identity read limit during runtime upgrade
2026-09-11 14:32:46 -05:00
DottaandPaperclip d2ecec3359 Align staging runtime packaging and lifecycle with current master
Preserve active ACPX child snapshots through reusable lease close. Align the canonical provider lock and CLI pins with the current qualified profiles, retain local Git fallback, and preserve narrowed heartbeat values across diagnostics.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:32:39 -05:00
DottaandPaperclip df866d59f4 Preserve the retained identity read limit during runtime upgrade
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:32:38 -05:00
DottaandPaperclip 398a82646e Carry retained identity guard into staging hardening
Co-Authored-By: Paperclip <noreply@paperclip.ing>

* codex/work-folders-runtime-hardening-refresh:
  Preserve the retained identity read limit during runtime upgrade
2026-09-11 14:32:38 -05:00
DottaandPaperclip f42cde8bcf Merge current master into remote recovery
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:24:21 -05:00
DottaandPaperclip defb3df6f0 Merge current master into staging hardening
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:23:22 -05:00
DottaandPaperclip cd008e3444 Reconcile sandbox runtime hardening with current recovery
Combine task-scoped workspace adoption with chat isolation, bounded shutdown draining, and provider identity handling. Preserve per-run capability rotation evidence and the new master warm-session transition coverage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:15:45 -05:00
DottaandPaperclip aedc9ad191 Reconcile cached-file inspection with current task UI
Keep the experimental cached-file entry in task properties and preserve current gallery, task continuation, and development-setting behavior.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:14:21 -05:00
DottaandPaperclip b475b90e9e Reconcile qualified sandbox providers with current master
Preserve verified Pi and Codex ACP profiles alongside current Claude installation handling, provider recovery, and native attachment staging. Keep preview lock integrity checks on native-architecture image builds.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:13:48 -05:00
DottaandPaperclip f03b8e7097 Reconcile work-folder foundation with current master
Keep current task continuation, chat UI, provider security, and multi-architecture build behavior. Regenerate the work-folder schema after the published migration sequence and make it replay-safe for preview databases. Verify preserved file/trash/checkpoint references and company constraints on PostgreSQL.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-11 14:12:19 -05:00
DottaandPaperclip 847d00bdc3 fix(ui): use full mobile width for task tree (#13250)
## Thinking Path

> - Paperclip is the open source app that people use to manage AI agents
for work.
> - The task detail page gives operators a task tree in a mobile side
panel.
> - The mobile sheet did not set an explicit full width.
> - A maximum width rule could make the task tree narrower than the
phone viewport.
> - This pull request makes the mobile task tree sheet use the full
viewport width.
> - The benefit is a consistent and readable task tree on phones.

## Linked Issues or Issue Description

**What happened?**

The task tree sheet could use less than the full viewport width on a
mobile task page.

**Expected behavior**

The task tree sheet must use the full available phone width.

**Steps to reproduce**

1. Open a task on a phone viewport.
2. Open the task side panel.
3. Select the Tasks tab.
4. Compare the sheet width with the viewport width.

**Paperclip version or commit**

`7b829efdf`

**Deployment mode**

Built from source.

## What Changed

- Set the mobile task side panel to `w-full` and `max-w-none`.
- Add regression assertions for both width classes.

## Verification

- `vitest run src/pages/IssueDetail.test.tsx --config vitest.config.ts`
passes 103 tests.
- `node scripts/check-token-gates.mjs` passes all four token gates.
- `git diff --check` passes.

## Risks

- Low risk. The change only affects the mobile task side panel width.
- The desktop panel and other sheet variants do not change.

> For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and
discuss it in `#dev` before opening the PR. Feature PRs that overlap
with planned core work may need to be redirected — check the roadmap
first. See `CONTRIBUTING.md`.

## Model Used

- OpenAI Codex, GPT-5.6, agentic coding with reasoning and tool use.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [ ] All Paperclip CI gates are green
- [ ] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

Co-authored-by: Paperclip <noreply@paperclip.ing>
canary/v2026.911.0-canary.13
2026-09-11 18:41:06 +00:00
Devin FoleyandPaperclip d0b7ba4194 ci: route approved master cloud builds to AWS (#13243)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - Paperclip Cloud deploys images built from master commits.
> - Cloud image builds share GitHub-hosted capacity with other
workflows.
> - The organization already operates AWS runners through RunsOn Fleet.
> - This pull request allows approved master builds to use a dedicated
cloud Fleet.
> - The benefit is separate build capacity with a quick operator
rollback.

## Linked Issues or Issue Description

Refs #13189, #13192.

**What existing behavior does this improve?**

Placement of the Docker cloud build after a master merge.

**Current behavior**

Every Docker cloud build uses a GitHub-hosted runner. Busy periods delay
the job.

**Proposed behavior**

An operator variable enables the approved cloud Fleet for canonical
master pushes and manual master builds. Other events, refs, and
repositories use GitHub-hosted runners.

## What Changed

- Add a guarded AWS runner selector to the Docker cloud job.
- Keep the existing image cache, verification, and publication steps.
- Test the selector against master, branch, tag, PR, fork, and disabled
contexts.
- Document provisioning requirements, placement checks, and rollback.

## Verification

- 29 focused Node tests pass for routing, readiness, and disk handling.
- The full workflow-script Node suite passes.
- `pnpm -r typecheck` passes locally.
- The pinned PR routing regression suite passes. The first live PR run
assigned 21 jobs to the approved AWS PR group. AWS then reclaimed 16
Spot instances. The failed run is being repeated on GitHub-hosted
runners while the Fleet moves to On-Demand.
- Actionlint passes with existing shellcheck findings excluded (SC2012,
SC2016, SC2129).
- `git diff --check` passes.
- Greptile reports 5/5 on commit
`764d505a41dd2023751c3f361906fa9ea35bf0c6`, with no review threads.
- All 30 current-head CI checks pass, including typecheck, build, all
server/workspace test shards, Runner verification, and browser tests.
Two Storybook checks are intentionally skipped for this change. Run:
https://github.com/paperclipai/paperclip/actions/runs/34630550799
- The broader local test/build sequence is still running. This Mac has
reported failures in unchanged application suites; their complete Linux
CI shards pass. Local targeted workflow tests and typecheck pass.
- Both On-Demand Fleets are deployed and healthy. Live master
cloud-build verification follows the merge.

## Risks

- Missing Fleet capacity or runner-group authorization can leave an AWS
job queued. Disable `AWS_CLOUD_BUILDS_ENABLED` and rerun the workflow to
use GitHub-hosted capacity.
- The runner group must restrict access to this repository and the
master version of `docker-cloud.yml`.
- Docker needs more disk space than the PR Fleet. Provision 120 GiB
disks and retain the free-space check.
- This changes image build placement only. Source verification and
migrator publication remain separate prerequisites.

## Model Used

OpenAI GPT-6 through Codex, with reasoning, tool use, and code
execution. The exact serving model identifier and context-window size
are not exposed by this environment.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] All Paperclip CI gates are green
- [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

---------

Co-authored-by: Paperclip <noreply@paperclip.ing>
canary/v2026.911.0-canary.12
2026-09-11 11:15:55 -07:00