paperclipai/paperclip · Weekly · Jul 06, 2026 - Jul 12, 2026

Paperclip Weekly: Work Timeline, Starred Resources, Migration Fixes & More (Jul 6–12)

Commits summarized
127
Period
Jul 06 - Jul 12, 2026
Published
Jul 13, 2026

Paperclip Weekly: Work Timeline, Starred Resources, Migration Fixes & More

July 6–12, 2026 · paperclipai/paperclip

Who should read this: Operators, self-hosters, and anyone building on or deploying Paperclip. This edition covers a new Work Timeline page, starred sidebar navigation, critical database migration performance fixes, version reporting improvements, adapter output cleanup, and shared-config deduplication.

127 commits landed this week. These are highlights from the available commit summaries — not exhaustive coverage.

🚀 New Features

Work Timeline page (#8938)

Adds a company-scoped Work Timeline page to the board UI, rendered as a custom SVG Gantt-style chart. Operators can now scan agent activity, handoffs, retries, and overlapping work windows without opening individual issue threads.

  • Packed overlap lanes with issue color identity and kickoff attribution
  • Hover-revealed delegation connectors and retry styling
  • Zoom controls, sticky actor gutter, minimap brush
  • Human kickoff chips shown without standalone event rows
  • Storybook stories included for hour/day zoom and human-activity samples

Starred resource sidebar controls (#9085)

Users can now star frequently used agents and projects — starred state is stored as a per-user starred_at timestamp on existing resource memberships (no new tables).

  • Star toggle controls on list and detail pages
  • Compact starred shortcuts in the sidebar
  • Migration 0133_resource_membership_stars with idempotent IF NOT EXISTS guards
  • Full coverage across shared types, server routes, and UI components (143 tests)

🐛 Bug Fixes & Reliability

Deduplicate adapter-agnostic config keys (#9058)

The ADAPTER_AGNOSTIC_KEYS constant was duplicated across server and UI — meaning a key added on one side could silently drift. Hoisted into packages/shared so both consumers import the same source of truth. Includes a drift guard test to catch re-duplication.

Report source-install version from git metadata (#9103)

When running from a cloned source tree, the server previously reported the frozen package.json version (e.g. 0.3.1) regardless of local commits. Now uses git describe at startup to produce YYYY.MDD.P+N.git.<sha> (drift) or appends .dirty for modified trees. Falls back to package.json silently when git is unavailable.

Relocate slow O(n²) issue-comment attribution migration (#9108)

Migration 0126 backfilled derived attribution on issue_comments using a LIMIT-5000 loop that re-scanned from row 1 each batch — O(n²) complexity that blocked server.listen for minutes on large instances. Deleted and replaced with fast keyset-paginated 0132 (O(n), temporary partial index, idempotent). Includes embedded Postgres tests for fresh, already-migrated, and partially-migrated databases.

Fix heartbeat run responsible-user migration for identifier refs (#9107)

The heartbeat run backfill migration could fail when context snapshots stored issue identifiers like PAP-123 instead of UUIDs. Tightened UUID matching with a shape regex check, kept identifier fallback, and added companion repair migration 0131 for already-migrated installations.

Deduplicate pipeline automation health warnings (#9090)

Repeated failed automation rows for the same item/stage pair no longer produce duplicate automation_failed health warnings. One actionable warning per stageId:caseId pair.

Strip ANSI escape codes from Hermes terminal output (#8731)

Hermes adapter ANSI color codes were rendering as raw garbage text in the UI. Added stripAnsi() at all four Hermes stdout parse entry points (same regex already proven in claude-local adapter). 9 tests passing.

🎨 Polish & DX

Bundle UI webfonts with the app (#9020)

The Inter variable font family is now bundled as WOFF2 assets under ui/public/fonts/ and served locally via @font-face declarations. Self-hosted, offline, or privacy-sensitive deployments no longer depend on remote Google Fonts at runtime.

📋 Quick Stats

Metric Value
Total commits 127
Files changed (highlighted PRs) ~68 files (+7,355 / -528)
New migrations 0131, 0132, 0133
Tests added ~15+ new test files

Next issue: July 19. Have something to share? Open a PR or tag us in #dev.

Repository updates

Follow future updates

Get generated paperclipai/paperclip development summaries by email, or follow the weekly and monthly RSS feeds.

Sign in to subscribe by email. RSS feeds are public.

Sign in to subscribe