Skip to content

Work Items ​

Work items answer the question: "What is each contributor actually working on?" Rather than showing a flat list of commits, ShipLens groups related commits into logical work units that represent a coherent piece of work.

Work Item Synthesis ​

A single feature or bug fix often spans multiple commits — an initial implementation, test additions, code review fixes, and final polish. Work item synthesis clusters these commits into a single work item with a clear description of what was accomplished.

The clustering considers:

  • Commit author — Commits from the same contributor
  • Time proximity — Commits close together in time
  • Domain overlap — Commits touching the same areas of the codebase
  • Semantic similarity — Commit summaries that describe related work (using embeddings from the vector store)
  • Branch and PR grouping — Commits on the same branch or linked to the same pull request

Each work item gets a synthesized title and summary that describes the overall effort, not just a concatenation of commit messages.

SynthesisWorker ​

The SynthesisWorker is an Oban background job that runs commit clustering on a schedule. When new commits are analyzed, the worker:

  1. Fetches recent commits for each contributor that haven't been assigned to a work item
  2. Runs the clustering algorithm to group related commits
  3. Generates a title and summary for each new work item using the LLM
  4. Stores the work items and their commit associations

The worker is designed to be idempotent — running it multiple times won't create duplicate work items. Existing work items may be updated if new commits are added to an active cluster.

Ticket Reference Extraction ​

ShipLens automatically extracts ticket references from commit messages and PR titles. Supported patterns include:

SourcePatternExample
Jira[A-Z]+-\d+PLAT-1234, PAY-567
Linear[A-Z]+-\d+ENG-42, FE-108
GitHub Issues#\d+#321

When a ticket reference is found, it's linked to the work item. This provides traceability from a work item back to the planning tool without requiring a direct API integration.

Note: Ticket extraction uses pattern matching on commit messages and PR titles. For richer ticket data (status, story points, assignees), configure the Jira or Linear integration directly.

Route ​

RouteDescription
/c/:slug/work-items/:idDetailed view of a single work item with its constituent commits

Built with intelligence, not surveillance.