Skip to content

feat(summary): topics span repositories; projects say when they were last active - #10

Merged
MilosMosovsky merged 1 commit into
mainfrom
feat/summary-shared-topics
Nov 6, 2026
Merged

MilosMosovsky merged 1 commit into
mainfrom
feat/summary-shared-topics

Conversation

@MilosMosovsky

@MilosMosovsky MilosMosovsky commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

The same work done from different repositories showed up as separate topics. For example, an infrastructure change made for a feature in an application repository got a topic in each repository. This happened because a session could only be filed under a topic of its own project.

Shared topics

  • Classification now offers this project's topics first, then the visible topics of every other project. A session can join a topic another project started.
  • A topic lives in the project it started in. Its sessions' assignments are stored with that project only, and moving a session to another topic drops the old assignment.
  • The page shows the topic once, with "also in " naming the other projects.
  • Briefs now run after all classification, so they see a topic's sessions from every project. The brief input names each session's project.
  • No migration: the topics.json format is unchanged.

Times

  • The project list shows when each project was last active ("10 minutes ago") and is ordered by it. Last activity counts sessions and visible carried-over topics.
  • Topics say "last active 10 minutes ago" instead of "0 days".
  • ago and the new long form, agoWords, now share one formatter.
  • "also in" uses project names from names.json. That way a project with no topics of its own left still shows its name.

Testing

  • go vet and go test ./... pass.
  • New test TestSummaryTopicsSpanProjects (generic acme/api and acme/infra fixtures; the folder-naming fixtures in the corpus test are now generic too): another project's topic is offered to classification, the session joins it, the brief sees all sessions, the assignment is kept only with the topic, and a later move drops it.
  • A live dev run on real sessions showed topics with "also in ", project times from "3 minutes ago" to "3 days ago" in the right order, and no errors.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NtvhFvhWywmqE7ZEmKxLJy

…last active

Classification offers every project's topics, so a session joins work that
another repository started instead of duplicating it. A topic lives in the
project it started in, keeps its sessions' assignments there only, and is
shown once with "also in" naming the other projects; briefs run after all
classification so they see every project's sessions.

The project list shows and sorts by last activity ("10 minutes ago"), and
topics say "last active 10 minutes ago" instead of whole days.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NtvhFvhWywmqE7ZEmKxLJy
@MilosMosovsky
MilosMosovsky force-pushed the feat/summary-shared-topics branch from f01b0a9 to 4ba9879 Compare November 6, 2026 16:05
@MilosMosovsky
MilosMosovsky merged commit 89a8f09 into main Nov 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant