Commit Graph

1430 Commits

Author SHA1 Message Date
dotta
2d8c8abbfb Fix routine assignment wakeups
Share issue-assignment wakeup logic between direct issue creation and routine-created execution issues, and add regression coverage for the routine path.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:11:19 -05:00
dotta
6f7609daac fix: link Agent Company to agentcompanies.io in export README
Update the "What's Inside" section to use a blockquote linking
"Agent Company" to https://agentcompanies.io and "Paperclip" to
https://paperclip.ing.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:06:04 -05:00
dotta
b26b9cda7b fix: strip agents and projects sections from COMPANY.md export body
COMPANY.md now contains only the company description in frontmatter,
without the agents list and projects list that were previously rendered
in the markdown body. The README.md already contains this info.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:05:55 -05:00
dotta
fb760a63ab Fix routine toggle dirty tracking
Remove routine status from the editable detail draft so the active/paused switch remains an immediate save path instead of surfacing unsaved form state.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 08:02:34 -05:00
dotta
971513d3ae fix: default company export page to README.md instead of first file
When navigating to the company export page without a specific file in
the URL, select README.md by default instead of whichever file happens
to be first in the export result (previously COMPANY.md).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:59:32 -05:00
dotta
d6bb71f324 Add default agent instructions bundle
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:42:36 -05:00
dotta
0f45999df9 Bundle default CEO onboarding instructions
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:38:05 -05:00
dotta
bee814787a fix: raise Paperclip wordmark to align with logo icon
Text y position 13 → 11.5 so the wordmark vertically centers
with the scaled paperclip icon.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:34:04 -05:00
dotta
d22131ad0a fix: nudge avatar down for better centering, scale down logo icon
- Avatar circle moved from y+24 to y+27 across all three card renderers
  for balanced whitespace between card top and text baseline
- Paperclip logo icon scaled to 0.72x with adjusted text position
  to better match the wordmark size

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:31:39 -05:00
dotta
7930e725af fix: apply text centering to default card renderer (warmth/mono/nebula)
The previous text centering fix (y+66/y+82) only updated the circuit
and schematic custom renderers. The defaultRenderCard used by warmth,
monochrome, and nebula still had the old y+52/y+68 positions.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:24:59 -05:00
dotta
5fee484e85 Fix routine coalescing for idle execution issues
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:21:38 -05:00
dotta
d7a08c1db2 Remove process from CEO onboarding adapters
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:18:58 -05:00
dotta
401b241570 fix: vertically center name/role text between avatar and card bottom
Moved name baseline from y+58 to y+66 and role from y+74 to y+82,
centering the text block in the 55px gap between the avatar circle
bottom (y+41) and the card bottom (y+96).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:04:59 -05:00
dotta
bf5cfaaeab Hide deprecated agent working directory by default
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 07:04:41 -05:00
dotta
616a2bc8f9 test: fix post-sync verification regressions 2026-03-20 07:01:42 -05:00
dotta
4ab3e4f7ab fix: org chart layout refinements — retina, text spacing, logo alignment
- Increase card height from 88 to 96px for better text spacing
- Move name/role text down (y+58/y+74) so text sits properly below emoji
- Fix Paperclip logo watermark — vertically center text with icon
- Render PNG at 2x density (144 DPI) for retina-quality output

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:59:10 -05:00
dotta
2a33acce3a Remove api trigger kind and mark webhook as coming soon
Drop "api" from the trigger kind dropdown and disable the "webhook"
option with a "COMING SOON" label until it's ready.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:54:03 -05:00
dotta
b2c2bbd96f feat: add Twemoji colorful emoji rendering to org chart SVG (no browser)
Embeds Twemoji SVG paths directly into the org chart cards, replacing
monochrome icon paths with full-color emoji graphics (crown, laptop,
globe, keyboard, microscope, wand, chart, gear). Works in pure SVG
without any browser, emoji font, or Satori dependency.

Twemoji graphics are CC-BY 4.0 licensed (Twitter/X).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:54:02 -05:00
dotta
b72279afe4 Clean up routine activity tab: remove pill badges, use inline text
Replace the cluttered rounded-full bordered pills around each activity
detail with clean inline text separated by dot separators. Wrap in a
bordered card container matching the runs tab style.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 06:39:04 -05:00
dotta
4c6e8e6053 Move routine title into header row, remove Automation label
The editable title now sits in the header alongside Run Now and
the active/paused toggle, replacing the old "Automation" subheading.
This removes the redundant label and gives the title top-level
prominence in the routine detail view.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 06:38:45 -05:00
dotta
f2c42aad12 feat: multi-style pure SVG org chart renderer (no Playwright needed)
Rewrote org-chart-svg.ts to support all 5 styles (monochrome, nebula,
circuit, warmth, schematic) as pure SVG — no browser or Satori needed.
Routes now accept ?style= query param. Added standalone comparison script.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:33:29 -05:00
dotta
6a568662b8 fix: remove duplicate company branding import 2026-03-20 06:29:08 -05:00
dotta
d07d86f778 Merge public-gh/master into paperclip-company-import-export 2026-03-20 06:25:24 -05:00
dotta
8cc8540597 Fix live run indicator: only show blue dot when a run is actually active
Previously used routine run status ("received"/"issue_created") which
are not the right signal. Now queries heartbeatsApi.liveRunsForIssue()
on the active issue to check if an agent is actually running — the same
source of truth the LiveRunWidget uses.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:22:51 -05:00
dotta
5f2b1b63c2 Add explicit skill selection to company portability 2026-03-20 06:20:30 -05:00
dotta
4fc80bdc16 Fix live run indicator: only show blue dot when a run is actually active
The blue dot and LiveRunWidget were driven by `routine.activeIssue`,
which returns any open execution issue — even after the heartbeat run
finishes. Now checks routineRuns for status "received" or "issue_created"
to determine if a run is actually in progress.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:20:01 -05:00
Dotta
dfdd3784b9 Merge pull request #1346 from paperclipai/feature/inbox-heartbeat-company-skills
Improve inbox workflows, runtime recovery, and company controls
canary/v2026.320.0-canary.0
2026-03-20 06:19:41 -05:00
dotta
a0a28fce38 fix: address greptile feedback 2026-03-20 06:18:00 -05:00
dotta
22b38b1956 Use toggle for task assignment permission control
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:09:04 -05:00
dotta
4ffa2b15dc fix: suggest comment reassignment from recent commenter 2026-03-20 06:05:15 -05:00
dotta
ee85028534 docs: expand paperclip company skills guidance 2026-03-20 06:05:15 -05:00
dotta
c844ca1a40 Improve orphaned local heartbeat recovery
Persist child-process metadata for local adapter runs, keep detached runs alive when their pid still exists, queue a single automatic retry when the pid is confirmed dead, and clear detached warnings when the original run reports activity again.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:15 -05:00
dotta
7f3fad64b8 Move cost summary from standalone collapsible to top of Activity tab
Moves the cost summary out of a collapsible section below the tabs and
into the Activity tab content, displayed as a static card at the top.
Removes the now-unused `cost` state from `secondaryOpen`.

Closes PAP-559

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 06:05:15 -05:00
dotta
d6c6aa5c49 test: cover agent permission cleanup routes
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:15 -05:00
dotta
f9d685344d Expose agent task assignment permissions
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:15 -05:00
dotta
bcc1d9f3d6 Remove border containers from workspace fields in new project dialog
Strip the rounded-border card wrappers from repo URL and local folder
fields so they sit directly in the section. Add pt-3 to the section
so the first field doesn't touch the border-t above it.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:15 -05:00
dotta
25af0a1532 Interleave failed runs with issues and approvals in inbox
Failed runs are no longer shown in a separate section. They are now
mixed into the main work items feed sorted by timestamp, matching
how approvals are already interleaved with issues.

Replaced the large FailedRunCard with a compact FailedRunInboxRow
that matches the ApprovalInboxRow visual style.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:14 -05:00
dotta
72a0e256a8 Simplify new project dialog: always show repo and local folder fields
Remove the workspace setup toggle menu ("Where will work be done on this
project?") and instead always display both repo URL and local folder
inputs directly. Both fields are marked as optional with help tooltips
explaining their purpose. Repo is shown first, local folder second.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:14 -05:00
dotta
9e21ef879f Show agent name in inbox approval labels (e.g. "Hire Agent: Designer")
Instead of the generic "Hire Agent" label, display the agent's name from
the approval payload for hire_agent approvals across inbox, approval card,
and approval detail views.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 06:05:14 -05:00
dotta
58a3cbd654 Route non-fatal adapter notices to stdout
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:14 -05:00
dotta
915a3ff3ce fix: default comment reassign to last commenter who isn't me
When commenting on an issue, the reassign dropdown now defaults to the
last commenter who is not the current user, preventing accidental
self-reassignment. Falls back to the current issue assignee if no
other commenters exist.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 06:05:14 -05:00
dotta
9c5a31ed45 Allow CEO agents to update company branding (name, description, logo, color)
- Add updateCompanyBrandingSchema restricting agent-updatable fields to name,
  description, brandColor, and logoAssetId
- Update PATCH /api/companies/:companyId to allow CEO agents with branding-only
  fields while keeping admin fields (status, budget, etc.) board-only
- Allow agents to GET /api/companies/:companyId for reading company info
- issuePrefix (company slug) remains protected — not in any update schema
- Document branding APIs in SKILL.md quick reference and api-reference.md

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:05:14 -05:00
dotta
14ee364190 Add standalone Playwright-based org chart image generator
Replaces the sharp SVG→PNG approach with Playwright headless browser
rendering. This solves the emoji rendering issue - browser natively
renders emojis, full CSS (shadows, gradients, backdrop-filter), and
produces pixel-perfect output matching the HTML preview.

Generates 20 images: 5 styles (Mono, Nebula, Circuit, Warmth, Schematic)
× 3 org sizes (sm/med/lg) + OG cards (1200×630).

Usage: npx tsx scripts/generate-org-chart-images.ts

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 05:55:33 -05:00
dotta
2d7b9e95cb Merge public-gh/master into paperclip-company-import-export 2026-03-20 05:53:55 -05:00
dotta
b20675b7b5 Add org chart image export support 2026-03-20 05:51:33 -05:00
Devin Foley
df8cc8136f ci: add e2e tests to PR checks
Add a PR E2E workflow that runs the Playwright onboarding test on
every PR targeting master. Generates a minimal config file and lets
Playwright manage the server lifecycle. Runs in skip_llm mode so
no secrets are required.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 19:19:32 -07:00
Devin Foley
b05d0c560e fix(ci): skip auto-merge step when lockfile is unchanged
The "Enable auto-merge" step runs unconditionally, even when the
lockfile didn't change and no PR exists. This causes the workflow
to fail with "lockfile PR was not found."

Use a step output to gate the auto-merge step so it only runs
when a PR was actually created or updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 16:42:58 -07:00
dotta
c5f20a9891 Add live run support to routine detail page
- Blue dot indicator on Runs tab when there's an active run
- Run Now already switches to Runs tab (was done previously)
- LiveRunWidget shows streaming transcript in Runs tab for active runs
- Poll routine detail and runs list during active runs for real-time updates

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 17:51:07 -05:00
dotta
53249c00cf Upgrade org chart SVG to match Warmth style with icons and descriptive labels
- Larger cards (88px tall) with more breathing room (24px/56px gaps)
- Descriptive role labels (Chief Executive, Technology, etc.) instead of abbreviations
- SVG icon paths per role (star, terminal, globe, etc.) instead of text labels
- Keeps Pango-safe rendering (no emoji) while being visually closer to Warmth HTML

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 17:39:26 -05:00
dotta
339c05c2d4 Remove Issues tab from routine detail page
Keep only Triggers, Runs, and Activity tabs per board request.
Cleaned up unused executionIssues query, IssueRow and ListTree imports.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 17:38:05 -05:00