Commit Graph
19 Commits
Author SHA1 Message Date
Dotta 539b774491 fix(ci): align authz tests and e2e config 2026-04-15 22:08:27 -05:00
Dotta e63c38221d Merge origin/master into PAP-989 multi-user implementation 2026-04-14 14:25:59 -05:00
DottaandPaperclip 7f893ac4ec [codex] Harden execution reliability and heartbeat tooling (#3679)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - Reliable execution depends on heartbeat routing, issue lifecycle
semantics, telemetry, and a fast enough local verification loop to keep
regressions visible
> - The remaining commits on this branch were mostly server/runtime
correctness fixes plus test and documentation follow-ups in that area
> - Those changes are logically separate from the UI-focused
issue-detail and workspace/navigation branches even when they touch
overlapping issue APIs
> - This pull request groups the execution reliability, heartbeat,
telemetry, and tooling changes into one standalone branch
> - The benefit is a focused review of the control-plane correctness
work, including the follow-up fix that restored the implicit
comment-reopen helpers after branch splitting

## What Changed

- Hardened issue/heartbeat execution behavior, including self-review
stage skipping, deferred mention wakes during active execution, stranded
execution recovery, active-run scoping, assignee resolution, and
blocked-to-todo wake resumption
- Reduced noisy polling/logging overhead by trimming issue run payloads,
compacting persisted run logs, silencing high-volume request logs, and
capping heartbeat-run queries in dashboard/inbox surfaces
- Expanded telemetry and status semantics with adapter/model fields on
task completion plus clearer status guidance in docs/onboarding material
- Updated test infrastructure and verification defaults with faster
route-test module isolation, cheaper default `pnpm test`, e2e isolation
from local state, and repo verification follow-ups
- Included docs/release housekeeping from the branch and added a small
follow-up commit restoring the implicit comment-reopen helpers that were
dropped during branch reconstruction

## Verification

- `pnpm vitest run
server/src/__tests__/issue-comment-reopen-routes.test.ts
server/src/__tests__/issue-telemetry-routes.test.ts`
- `pnpm vitest run server/src/__tests__/http-log-policy.test.ts
server/src/__tests__/heartbeat-run-log.test.ts
server/src/__tests__/health.test.ts`
- `server/src/__tests__/activity-service.test.ts`,
`server/src/__tests__/heartbeat-comment-wake-batching.test.ts`, and
`server/src/__tests__/heartbeat-process-recovery.test.ts` were attempted
on this host but the embedded Postgres harness reported
init-script/data-dir problems and skipped or failed to start, so they
are noted as environment-limited

## Risks

- Medium: this branch changes core issue/heartbeat routing and
reopen/wakeup behavior, so regressions would affect agent execution flow
rather than isolated UI polish
- Because it also updates verification infrastructure, reviewers should
pay attention to whether the new tests are asserting the right failure
modes and not just reshaping harness behavior

## Model Used

- OpenAI Codex coding agent (GPT-5-class runtime in Codex CLI; exact
deployed model ID is not exposed in this environment), reasoning
enabled, tool use and local code execution enabled

## 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)
- [ ] 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
- [x] 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: Paperclip <noreply@paperclip.ing>
2026-04-14 13:34:52 -05:00
Dotta be82a912b2 Fix signoff e2e for auto-checked out issues 2026-04-12 20:43:50 -05:00
dotta 35251727f2 Merge remote-tracking branch 'public-gh/master' into PAP-989-multi-user-implementation-using-plan-from-pap-958
* public-gh/master: (437 commits)
  test(ui): wait for workspace selector in new issue dialog test
  Add draft routine defaults and run-time overrides
  Remove workspace link package preflight hooks
  Scope workspace link preflight to linked worktrees
  fix(server): reject non-participant stage mutations
  test(ui): align inbox badge fixture with dismissal state
  test(server): align isolated route specs with current behavior
  fix(ci): run workspace preflight through server toolchain
  fix(ui): repair issue detail split regressions
  test(server): isolate route modules in endpoint tests
  fix(ui): harden issue comment editor sync
  Disable inbox nesting on mobile
  Speed up issue detail comments and refreshes
  Guard issue chat against assistant-ui crashes
  Add explicit review start action in issue sidebar
  Improve issue detail load stability
  Keep interrupted runs stable in issue chat
  Add breathing room when focusing comment composer
  Make issue chat composer inline again
  Prevent g c from leaking into global shortcuts
  ...
2026-04-09 14:39:21 -05:00
dotta b0b85e6ba3 Stabilize onboarding e2e cleanup paths 2026-04-07 18:20:35 -05:00
dotta cb705c9856 Fix signoff PR follow-up tests 2026-04-07 17:56:39 -05:00
dottaandPaperclip 42b326bcc6 fix(e2e): harden signoff policy tests for authenticated deployments
Address QA review feedback on the signoff e2e suite (86b24a5e):
- Use dedicated port 3199 with local_trusted mode to avoid reusing
  the dev server in authenticated mode (fixes 403 errors)
- Add proper agent authentication via API keys + heartbeat run IDs
- Fix non-participant test to actually verify access control rejection
- Add afterAll cleanup (dispose contexts, revoke keys, delete agents)
- Reviewers/approvers PATCH without checkout to preserve in_review state

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-06 21:23:30 -05:00
dottaandPaperclip 97d4ce41b3 test(e2e): add signoff execution policy end-to-end tests
Covers the full signoff lifecycle: executor → review → approval → done,
changes-requested bounce-back, comment-required validation, access control,
and review-only policy completion.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-06 21:23:30 -05:00
dottaandPaperclip 192674a1db Tighten authenticated company access
Restrict normal board company access to explicit memberships, expose authenticated user identity in the session UI, and cover the changes with server and authenticated E2E tests.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-01 08:36:25 -05:00
dottaandPaperclip 6d05221099 Add authenticated multi-user E2E coverage
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-31 12:02:27 -05:00
dottaandPaperclip e049ac0fb1 Add multi-user Playwright coverage
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-30 15:06:27 -05:00
Devin Foley 036e2b52db Merge pull request #1326 from paperclipai/ci/pr-e2e-tests
ci: run e2e tests on PRs
2026-03-20 15:47:21 -07:00
Devin FoleyandClaude Opus 4.6 652fa8223e fix: invert reuseExistingServer and remove CI="" workaround
The playwright.config.ts had `reuseExistingServer: !!process.env.CI`
which meant CI would reuse (expect) an existing server while local
dev would start one. This is backwards — in CI Playwright should
manage the server, and in local dev you likely already have one
running.

Flip to `!process.env.CI` and remove the `CI: ""` env override
from the workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 13:49:03 -07:00
dottaandPaperclip 0bb6336eaf Adjust default CEO onboarding task copy
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:22:45 -05:00
dottaandPaperclip 0f45999df9 Bundle default CEO onboarding instructions
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:38:05 -05:00
dottaandPaperclip d7a08c1db2 Remove process from CEO onboarding adapters
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:18:58 -05:00
dotta 2c05c2c0ac test: harden onboarding route coverage 2026-03-18 08:00:02 -05:00
DottaandClaude Opus 4.6 ccd501ea02 feat: add Playwright e2e tests for onboarding wizard flow
Scaffolds end-to-end testing with Playwright for the onboarding wizard.
Runs in skip_llm mode by default (UI-only, no LLM costs). Set
PAPERCLIP_E2E_SKIP_LLM=false for full heartbeat verification.

- tests/e2e/playwright.config.ts: Playwright config with webServer
- tests/e2e/onboarding.spec.ts: 4-step wizard flow test
- .github/workflows/e2e.yml: manual workflow_dispatch CI workflow
- package.json: test:e2e and test:e2e:headed scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:00:08 -05:00