Skip to content

A session can be titled on demand: POST /session/:sessionID/title - #12

Merged
TheFabFab merged 7 commits into
documentor-pgfrom
documentor-session-title
Oct 22, 2026
Merged

TheFabFab merged 7 commits into
documentor-pgfrom
documentor-session-title

Conversation

@TheFabFab

Copy link
Copy Markdown
Owner

POST /session/:sessionID/title runs opencode's title agent over the newest 1-50 real messages of a session on demand, with an optional compare-and-set on the current title. DocuMentor titles a project discussion before any turn, so opencode's first-turn title never runs for it; DocuMentor also offers Suggest a title on any chat.
The first-turn step (ensureTitle) and the route share one generateTitle. Input errors (child_session, no_messages, unknown_model) are a 400.
The fake model server (test/lib/llm-server.ts) serves a title request from a queued entry whose match fits it before the fixed "E2E Title" answer; the SDK is regenerated; documentor/FORK.md documents the changed upstream files.
Spec: docs/superpowers/specs/2026-10-22-session-title-on-demand-design.md in TheFabFab/KPG.

Local runs: prompt.test.ts 79 pass / 1 pre-existing skip, httpapi-session.test.ts 25/25, the OpenAPI/SDK tests 36/36, bun turbo typecheck and check:generated green.

🤖 Generated with Claude Code

TheFabFab and others added 6 commits October 22, 2026 13:00
…st-turn title core

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…nt no-op

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…mand title reads only its message window

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ages

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…model when the bound is missing

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Hey! Your PR title A session can be titled on demand: POST /session/:sessionID/title doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 72 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

…itle through the fake model

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@TheFabFab
TheFabFab merged commit 7dbe89e into documentor-pg Oct 22, 2026
5 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant