Commit Graph
788 Commits
Author SHA1 Message Date
Dotta 21784574db fix(server): restore implicit comment reopen helpers 2026-04-14 12:01:23 -05:00
Dotta c3fe756dbb test(server): isolate route module state between cases 2026-04-14 11:54:52 -05:00
Dotta d0af94b4d6 fix(server): preserve issue labels and wake resumed assignees 2026-04-14 11:54:44 -05:00
Dotta 0c3120d372 fix(heartbeat): compact run logs and trim polling noise 2026-04-14 11:54:44 -05:00
Dotta 8020f551ca fix: defer mentioned-agent wakes behind issue execution 2026-04-14 11:54:11 -05:00
DottaandPaperclip 5a698b0446 feat(telemetry): emit adapter_type and model on agent.task_completed
The telemetry backend already retains these dimensions (d36ddc1) but
the app was not sending them. Now trackAgentTaskCompleted forwards
adapterType from the agent record and model from adapterConfig when
available, so completions-per-model and completions-per-adapter
charts will populate as data flows in.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:53:57 -05:00
Dotta 1ab9cd8dfe fix: avoid vite html transform retention 2026-04-14 11:53:57 -05:00
DottaandPaperclip c32b56398e Harden issue assignee resolution
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:53:57 -05:00
DottaandPaperclip d6308bd3ef Clarify Paperclip status guidance
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:52:57 -05:00
DottaandPaperclip 07c2ea3421 Trim issue run polling payloads
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-14 11:52:57 -05:00
Dotta fac2f226c5 Recover stranded assigned issue execution 2026-04-14 11:52:57 -05:00
Dotta d330076bb2 fix: bypass repeated vite html transforms in dev 2026-04-14 11:52:57 -05:00
Dotta 2e7db9e202 Fix issue active run scoping 2026-04-14 11:52:57 -05:00
Dotta e16beed78e fix: skip auth session lookup on non-api requests 2026-04-14 11:52:57 -05:00
Dotta 26bab3b168 Trim module reloads in targeted server tests 2026-04-14 11:52:57 -05:00
Dotta 367065a3d7 Auto-enable mentioned skills for heartbeat runs 2026-04-14 11:52:57 -05:00
Dotta 41a3cd9d75 Reduce Vitest overhead in server route tests 2026-04-14 11:52:57 -05:00
Dotta 9571d7b153 Speed up repeated server route test imports 2026-04-14 11:52:18 -05:00
Dotta 7e0fff8e3c Fix repo-wide verification regressions 2026-04-14 11:52:18 -05:00
Dotta 7d22097573 fix(server): reduce noisy request logging 2026-04-14 11:52:18 -05:00
Dotta 45af343687 Skip self-review-only execution stages 2026-04-14 11:52:18 -05:00
Dotta 8e82ac7e38 Handle harness checkout conflicts gracefully 2026-04-12 20:57:31 -05:00
Dotta 2172476e84 Fix linked worktree reuse for execution workspaces 2026-04-12 20:34:06 -05:00
Dotta c1bb938519 Auto-checkout scoped issue wakes in the harness 2026-04-11 10:53:28 -05:00
Dotta a692e37f3e Merge pull request #3386 from paperclipai/pap-1347-dev-runner-worktree-env
fix: isolate dev runner worktree env
2026-04-11 08:45:16 -05:00
Dotta a5aed931ab fix(dev-runner): tighten worktree env bootstrap 2026-04-11 08:35:53 -05:00
Dotta b6115424b1 fix: isolate dev runner worktree env 2026-04-11 08:27:25 -05:00
Dotta 1f78e55072 Broaden comment matches in issue search 2026-04-11 08:26:09 -05:00
Dotta a77206812e Harden tailnet bind setup 2026-04-11 07:13:41 -05:00
dottaandPaperclip 2a84e53c1b Introduce bind presets for deployment setup
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-11 07:09:07 -05:00
Dotta 45ebecab5a Merge pull request #3356 from cryppadotta/pap-1331-inbox-ux
feat: polish inbox and issue list workflows
2026-04-11 06:35:59 -05:00
Dotta c566a9236c fix: harden heartbeat and adapter runtime workflows 2026-04-10 22:26:21 -05:00
Dotta dab95740be feat: polish inbox and issue list workflows 2026-04-10 22:26:21 -05:00
Dotta b00d52c5b6 Merge pull request #3015 from aronprins/feature/backups-configuration
feat(backups): gzip compression and tiered retention with UI controls
2026-04-10 11:56:12 -05:00
DottaandForgotten ac664df8e4 fix(authz): scope import, approvals, activity, and heartbeat routes (#3315)
## Thinking Path

> - Paperclip orchestrates AI agents and company-scoped control-plane
actions for zero-human companies.
> - This change touches the server authz boundary around company
portability, approvals, activity, and heartbeat-run operations.
> - The vulnerability was that board-authenticated callers could cross
company boundaries or create new companies through import paths without
the same authorization checks enforced elsewhere.
> - Once that gap existed, an attacker could chain it into higher-impact
behavior through agent execution paths.
> - The fix needed to harden every confirmed authorization gap in the
reported chain, not just the first route that exposed it.
> - This pull request adds the missing instance-admin and company-access
checks and adds regression tests for each affected route.
> - The benefit is that cross-company actions and new-company import
flows now follow the same control-plane authorization rules as the rest
of the product.

## What Changed

- Required instance-admin access for `new_company` import preview/apply
flows in `server/src/routes/companies.ts`.
- Required company access before approval decision routes in
`server/src/routes/approvals.ts`.
- Required company access for activity creation and heartbeat-run issue
listing in `server/src/routes/activity.ts`.
- Required company access before heartbeat cancellation in
`server/src/routes/agents.ts`.
- Added regression coverage in the corresponding server route tests.

## Verification

- `pnpm --filter @paperclipai/server exec vitest run
src/__tests__/company-portability-routes.test.ts
src/__tests__/approval-routes-idempotency.test.ts
src/__tests__/activity-routes.test.ts
src/__tests__/agent-permissions-routes.test.ts`
- `pnpm --filter @paperclipai/server typecheck`
- Prior verification on the original security patch branch also included
`pnpm build`.

## Risks

- Low code risk: the change is narrow and only adds missing
authorization gates to existing routes.
- Operational risk: the advisory is already public, so this PR should be
merged quickly to minimize the public unpatched window.
- Residual product risk remains around open signup / bootstrap defaults,
which was intentionally left out of this patch because the current
first-user onboarding flow depends on it.

## Model Used

- OpenAI GPT-5 Codex coding agent with tool use and local code execution
in the Codex CLI 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 run tests locally and they pass
- [x] I have added or updated tests where applicable
- [ ] If this change affects the UI, I have included before/after
screenshots
- [ ] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] I will address all Greptile and reviewer comments before
requesting merge

Co-authored-by: Forgotten <forgottenrunes@protonmail.com>
2026-04-10 11:55:27 -05:00
Aron Prins 724893ad5b fix claude instruction sibling path hint 2026-04-10 14:22:48 +02:00
Dotta 0e87fdbe35 Merge pull request #3222 from paperclipai/pap-1266-issue-workflow
feat(issue-ui): refine issue workflow surfaces and live updates
2026-04-09 14:52:16 -05:00
dotta 4077ccd343 Fix signoff stage access and comment wake retries 2026-04-09 14:48:12 -05:00
dotta 03dff1a29a Refine issue workflow surfaces and live updates 2026-04-09 10:26:17 -05:00
dotta 5d021583be Add draft routine defaults and run-time overrides 2026-04-09 10:19:52 -05:00
dotta da251e5eab Merge public/master into pap-1239-server-test-isolation 2026-04-09 09:40:44 -05:00
Dotta 0191fabdc6 Merge pull request #3203 from cryppadotta/pap-1239-tooling-docs
chore(dev): refresh worktree tooling and contributor docs
2026-04-09 09:11:52 -05:00
dottaandPaperclip c7bf2661c9 Remove workspace link package preflight hooks
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-09 08:35:41 -05:00
dottaandPaperclip d607ca0089 Scope workspace link preflight to linked worktrees
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-09 08:19:19 -05:00
dotta 61ed4ef90c fix(server): reject non-participant stage mutations 2026-04-09 07:29:56 -05:00
dotta 11c3eee66b test(server): align isolated route specs with current behavior 2026-04-09 07:07:08 -05:00
dotta fe21ab324b test(server): isolate route modules in endpoint tests 2026-04-09 06:25:41 -05:00
dotta 27ec1e0c8b Fix execution policy edits on in-review issues 2026-04-09 06:16:41 -05:00
dotta 3baebee2df Track blocker and review activity events 2026-04-09 06:16:41 -05:00
dotta 8894520ed0 comment wake batching test 2026-04-09 06:16:05 -05:00