Skip to content

Commit 7ab507d

Browse files
JihaoXinclaude
andcommitted
Temp title from idea snippet, skip placeholder titles in deep research
Project creation: - Title auto-generated from idea's first ~80 chars (word boundary) - Fallback: "Untitled Project" if no idea Deep research: - Skip placeholder titles (ending with "...", "Untitled Project", etc.) when building research query — use idea content instead - Also reads "idea" field as fallback for "research_idea" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f4d7a5a commit 7ab507d

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

ark/deep_research.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,22 @@ def build_research_query(config: dict) -> str:
7171
venue = config.get("venue", "")
7272
venue_pages = config.get("venue_pages", "")
7373
goal_anchor = config.get("goal_anchor", "")
74-
research_idea = config.get("research_idea", "")
74+
research_idea = config.get("research_idea", "") or config.get("idea", "")
75+
76+
# Skip temporary/placeholder titles
77+
is_real_title = title and not title.endswith("...") and title not in ("Untitled Project", "Pending Deep Research")
7578

7679
query_parts = []
7780

78-
if title:
81+
if is_real_title:
7982
query_parts.append(
8083
f"I am writing an academic paper titled \"{title}\" "
8184
f"targeting {venue} conference."
8285
)
86+
elif venue:
87+
query_parts.append(
88+
f"I am writing an academic paper targeting {venue} conference."
89+
)
8390

8491
if research_idea:
8592
query_parts.append(

ark/webapp/routes.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -780,9 +780,16 @@ async def api_create_project(
780780
# Generate project ID: full UUID
781781
project_id = str(uuid.uuid4())
782782

783-
# Title: use provided title, or "Pending Deep Research" (will be auto-generated in Dev phase)
783+
# Title: use provided title, or extract from idea as temporary title
784+
if not title and idea:
785+
# Take first ~80 chars of idea, cut at word boundary
786+
snippet = idea[:80].strip()
787+
last_space = snippet.rfind(' ')
788+
if last_space > 40:
789+
snippet = snippet[:last_space]
790+
title = snippet + ("..." if len(idea) > len(snippet) else "")
784791
if not title:
785-
title = "Pending Deep Research"
792+
title = "Untitled Project"
786793

787794
pdir = _project_dir(settings, user.id, project_id)
788795
pdir.mkdir(parents=True, exist_ok=True)

0 commit comments

Comments
 (0)