Commit Graph
2350 Commits
Author SHA1 Message Date
Dotta f626996e63 Fix covered blocked status icons 2026-04-24 13:32:06 -05:00
DottaandPaperclip 0ee91c1651 Virtualize raw transcript rendering
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta 8f208110b0 Add covered blocked issue attention state 2026-04-24 13:32:06 -05:00
DottaandPaperclip 4788e563fd Harden pause-hold wake provenance
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip 4ccbd7ec43 Add dashboard live runs page
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip 97ea7e50f8 Revert raw transcript timestamp tooltips
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip 1fa83cbdd3 Suppress recovery under pause holds
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip fcaa681400 Implement explicit issue follow-up intent
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip 855471b6a0 test: cover paused-tree recovery suppression
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta c19197581b Preserve Storybook static build output 2026-04-24 13:32:06 -05:00
Dotta 5d22432abe Lazily compute transcript timestamp tooltips 2026-04-24 13:32:06 -05:00
Dotta 4d2c361cca Add explicit issue follow-up intent 2026-04-24 13:32:06 -05:00
Dotta c5020b13fc Add Paperclip bench harness 2026-04-24 13:32:06 -05:00
DottaandPaperclip 6fd5fe6607 PAP-2147: explicit template selection in paperclip-create-agent
Phase 1 of the agent-creator skill upgrade plan.

- SKILL.md: step 4 is now an explicit "choose the instruction source"
  decision (exact template / adjacent template / generic fallback), and
  step 7 references the new pre-submit checklist.
- references/baseline-role-guide.md (new): section-by-section guide for
  drafting a no-template AGENTS.md.
- references/draft-review-checklist.md (new): pre-submit checklist
  covering identity, role clarity, workflow, lenses, output bar,
  collaboration routing, governance fields, least-privilege permissions,
  and done criteria.
- references/agent-instruction-templates.md: added the three-path
  decision flow and separate "apply exact / adjacent / fallback"
  procedures.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
DottaandPaperclip d72b693fd6 Add raw transcript timestamp tooltips
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta 89b94da25b Add markdown HTML security regressions 2026-04-24 13:32:06 -05:00
Dotta 269bae3688 Prevent stale heartbeat start locks 2026-04-24 13:32:06 -05:00
DottaandPaperclip 4bcd27bc18 Wake assigned issues reopened from done
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta cd2c922af2 Stabilize image drops in issue composer 2026-04-24 13:32:06 -05:00
DottaandPaperclip 43ce73ecb7 Allow subtree cancel without reason
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta 6f34728caa Broaden rich editor HTML tag regression 2026-04-24 13:32:06 -05:00
Dotta 6c7c18a7c5 Keep issue composer as sole drop target 2026-04-24 13:32:06 -05:00
DottaandPaperclip 356dac58f5 Fix subtree cancel status application
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:32:06 -05:00
Dotta 164c3f4491 Fix rich markdown editor HTML tag crashes 2026-04-24 13:32:06 -05:00
Dotta f457c9d36f Isolate Claude prompt cache tests from runner env 2026-04-24 13:31:03 -05:00
Dotta deca3c6842 Stabilize company import issue assertions 2026-04-24 13:31:03 -05:00
Dotta 6eed8376f1 Fix watchdog banner severity tone 2026-04-24 13:31:03 -05:00
Dotta 4533859706 Fix duplicate agent route import 2026-04-24 13:31:03 -05:00
Dotta 46deb875b5 Stabilize retry timestamp execute tests 2026-04-24 13:31:03 -05:00
Dotta 74948dab52 Show issue composer attachment feedback 2026-04-24 13:31:02 -05:00
DottaandPaperclip 23fef9d430 Allow Codex fast mode for manual models
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:31:02 -05:00
Dotta 1feac07821 Fix issue chat composer dropzone scope 2026-04-24 13:31:02 -05:00
Dotta d845ff6d9b Fix workspace runtime route authz mocks 2026-04-24 13:31:02 -05:00
Dotta 747ad09977 Stabilize Vitest route suite isolation 2026-04-24 13:31:02 -05:00
Dotta 0abe882151 Add watchdog follow-ups and issue reopen fixes 2026-04-24 13:31:02 -05:00
Dotta 65d410f405 Re-arm watchdog continue decisions 2026-04-24 13:30:47 -05:00
Dotta fdb2bcec39 PAP-2079 create terminal recovery issues 2026-04-24 13:30:29 -05:00
DottaandPaperclip 321b90205f Fix watchdog decision authorization binding
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:30:29 -05:00
Dotta 8efd9cef86 PAP-2075 centralize active-run watchdog recovery 2026-04-24 13:30:29 -05:00
Dotta 27e8d75829 Move heartbeat recovery side effects into service 2026-04-24 13:30:29 -05:00
Dotta 6b53b31a00 Centralize recovery classifiers 2026-04-24 13:30:29 -05:00
Dotta 17962ad465 Stabilize live run transcript excerpts 2026-04-24 13:30:29 -05:00
DottaandPaperclip ecc6c8f1b6 Recover stranded assigned issues via child issue
When automatic retries for stranded todo/in_progress work are exhausted,
create an explicit `stranded_issue_recovery` child issue assigned to an
invokable manager (reportsTo chain, then CTO/CEO, then the original
assignee). Link it as a first-class blocker on the source, wake the
recovery owner, and surface the next action in a source-issue comment
instead of leaving the work silently blocked.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:30:29 -05:00
DottaandPaperclip 08abf9d060 Implement active-run output watchdog
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-24 13:30:29 -05:00
Dotta e23a3a1856 Improve run liveness actionability 2026-04-24 13:30:29 -05:00
Dotta f16f4025fd Gate liveness recovery issue creation 2026-04-24 13:30:29 -05:00
DottaandPaperclip 8f1cd0474f [codex] Improve transient recovery and Codex model refresh (#4383)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - Adapter execution and retry classification decide whether agent work
pauses, retries, or recovers automatically
> - Transient provider failures need to be classified precisely so
Paperclip does not convert retryable upstream conditions into false hard
failures
> - At the same time, operators need an up-to-date model list for
Codex-backed agents and prompts should nudge agents toward targeted
verification instead of repo-wide sweeps
> - This pull request tightens transient recovery classification for
Claude and Codex, updates the agent prompt guidance, and adds Codex
model refresh support end-to-end
> - The benefit is better automatic retry behavior plus fresher
operator-facing model configuration

## What Changed

- added Codex usage-limit retry-window parsing and Claude extra-usage
transient classification
- normalized the heartbeat transient-recovery contract across adapter
executions and heartbeat scheduling
- documented that deferred comment wakes only reopen completed issues
for human/comment-reopen interactions, while system follow-ups leave
closed work closed
- updated adapter-utils prompt guidance to prefer targeted verification
- added Codex model refresh support in the server route, registry,
shared types, and agent config form
- added adapter/server tests covering the new parsing, retry scheduling,
and model-refresh behavior

## Verification

- `pnpm exec vitest run --project @paperclipai/adapter-utils
packages/adapter-utils/src/server-utils.test.ts`
- `pnpm exec vitest run --project @paperclipai/adapter-claude-local
packages/adapters/claude-local/src/server/parse.test.ts`
- `pnpm exec vitest run --project @paperclipai/adapter-codex-local
packages/adapters/codex-local/src/server/parse.test.ts`
- `pnpm exec vitest run --project @paperclipai/server
server/src/__tests__/adapter-model-refresh-routes.test.ts
server/src/__tests__/adapter-models.test.ts
server/src/__tests__/claude-local-execute.test.ts
server/src/__tests__/codex-local-execute.test.ts
server/src/__tests__/heartbeat-process-recovery.test.ts
server/src/__tests__/heartbeat-retry-scheduling.test.ts`

## Risks

- Moderate behavior risk: retry classification affects whether runs
auto-recover or block, so mistakes here could either suppress needed
retries or over-retry real failures
- Low workflow risk: deferred comment wake reopening is intentionally
scoped to human/comment-reopen interactions so system follow-ups do not
revive completed issues unexpectedly

> 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-based coding agent with tool use and 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 checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [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: Paperclip <noreply@paperclip.ing>
canary/v2026.424.0-canary.3
2026-04-24 09:40:40 -05:00
DottaandPaperclip 4fdbbeced3 [codex] Refine markdown issue reference rendering (#4382)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - Task references are a core part of how operators understand issue
relationships across the UI
> - Those references appear both in markdown bodies and in sidebar
relationship panels
> - The rendering had drifted between surfaces, and inline markdown
pills were reading awkwardly inside prose and lists
> - This pull request unifies the underlying issue-reference treatment,
routes issue descriptions through `MarkdownBody`, and switches inline
markdown references to a cleaner text-link presentation
> - The benefit is more consistent issue-reference UX with better
readability in markdown-heavy views

## What Changed

- unified sidebar and markdown issue-reference rendering around the
shared issue-reference components
- routed resting issue descriptions through `MarkdownBody` so
description previews inherit the richer issue-reference treatment
- replaced inline markdown pill chrome with a cleaner inline reference
presentation for prose contexts
- added and updated UI tests for `MarkdownBody` and `InlineEditor`

## Verification

- `pnpm exec vitest run --project @paperclipai/ui
ui/src/components/MarkdownBody.test.tsx
ui/src/components/InlineEditor.test.tsx`

## Risks

- Moderate UI risk: issue-reference rendering now differs intentionally
between inline markdown and relationship sidebars, so regressions would
show up as styling or hover-preview mismatches

> 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-based coding agent with tool use and 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 checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [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: Paperclip <noreply@paperclip.ing>
2026-04-24 09:39:21 -05:00
DottaandPaperclip 7ad225a198 [codex] Improve issue thread review flow (#4381)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - Issue detail is where operators coordinate review, approvals, and
follow-up work with active runs
> - That thread UI needs to surface blockers, descendants, review
handoffs, and reply ergonomics clearly enough for humans to guide agent
work
> - Several small gaps in the issue-thread flow were making review and
navigation clunkier than necessary
> - This pull request improves the reply composer, descendant/blocker
presentation, interaction folding, and review-request handoff plumbing
together as one cohesive issue-thread workflow slice
> - The benefit is a cleaner operator review loop without changing the
broader task model

## What Changed

- restored and refined the floating reply composer behavior in the issue
thread
- folded expired confirmation interactions and improved post-submit
thread scrolling behavior
- surfaced descendant issue context and inline blocker/paused-assignee
notices on the issue detail view
- tightened large-board first paint behavior in `IssuesList`
- added loose review-request handoffs through the issue
execution-policy/update path and covered them with tests

## Verification

- `pnpm vitest run ui/src/pages/IssueDetail.test.tsx`
- `pnpm vitest run server/src/__tests__/issues-service.test.ts
server/src/__tests__/issue-execution-policy.test.ts`
- `pnpm exec vitest run --project @paperclipai/ui
ui/src/components/IssueChatThread.test.tsx
ui/src/components/IssueProperties.test.tsx
ui/src/components/IssuesList.test.tsx ui/src/lib/issue-tree.test.ts
ui/src/api/issues.test.ts`
- `pnpm exec vitest run --project @paperclipai/adapter-utils
packages/adapter-utils/src/server-utils.test.ts`
- `pnpm exec vitest run --project @paperclipai/server
server/src/__tests__/issue-comment-reopen-routes.test.ts -t "coerces
executor handoff patches into workflow-controlled review wakes|wakes the
return assignee with execution_changes_requested"`
- `pnpm exec vitest run --project @paperclipai/server
server/src/__tests__/issue-execution-policy.test.ts
server/src/__tests__/issues-service.test.ts`

## Visual Evidence

- UI layout changes are covered by the focused issue-thread component
and issue-detail tests listed above. Browser screenshots were not
attachable from this automated greploop environment, so reviewers should
use the running preview for final visual confirmation.

## Risks

- Moderate UI-flow risk: these changes touch the issue detail experience
in multiple spots, so regressions would most likely show up as
thread-layout quirks or incorrect review-handoff behavior

> 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-based coding agent with tool use and 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 checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] If this change affects the UI, I have included before/after
screenshots or documented the visual verification path
- [ ] 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>
canary/v2026.424.0-canary.2
2026-04-24 08:02:45 -05:00
Dotta 35a9dc37b0 [codex] Speed up company skill detail loading (#4380)
## Thinking Path

> - Paperclip orchestrates AI agents for zero-human companies
> - Company skills are part of the control plane for distributing
reusable capabilities
> - Board flows that inspect company skill detail should stay responsive
because they are operator-facing control-plane reads
> - The existing detail path was doing broader work than needed for the
specific detail screen
> - This pull request narrows that company-skill detail loading path and
adds a regression test around it
> - The benefit is faster company skill detail reads without changing
the external API contract

## What Changed

- tightened the company-skill detail loading path in
`server/src/services/company-skills.ts`
- added `server/src/__tests__/company-skills-detail.test.ts` to verify
the detail route only pulls the required data

## Verification

- `pnpm exec vitest run --project @paperclipai/server
server/src/__tests__/company-skills-detail.test.ts`

## Risks

- Low risk: this only changes the company-skill detail query path, but
any missed assumption in the detail consumer would surface when loading
that screen

> 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-based coding agent with tool use and 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 checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [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
canary/v2026.424.0-canary.1
2026-04-24 07:37:13 -05:00