File size: 1,256 Bytes
526950e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""Shared runtime constants for repo-relative paths and default model IDs."""
from __future__ import annotations

from pathlib import Path


REPO_ROOT = Path(__file__).resolve().parents[2]

DERIVED_STUDENT_CHAT_DIR = REPO_ROOT / "derived" / "student-chat"
TURN_LOG_PATH = DERIVED_STUDENT_CHAT_DIR / "turns.jsonl"
SESSION_CORE_JSON_PATH = DERIVED_STUDENT_CHAT_DIR / "session_core.json"
SESSIONS_DIR = DERIVED_STUDENT_CHAT_DIR / "sessions"

PROMPT_ROOT = REPO_ROOT / "prompts" / "student-chat"
DUKE_BRAND_DIR = REPO_ROOT / "content" / "duke-brand"
CHAT_EVAL_CONTENT_DIR = REPO_ROOT / "content" / "chat-eval"

DEFAULT_CLAUDE_MODEL = "claude-sonnet-5-5"
# This model thinks before it answers, and the thinking counts toward each
# call's max_tokens; effort sets how much it thinks.
DEFAULT_CLAUDE_EFFORT = "medium"

# Chat window limits: longest message accepted, answers run at once, and
# how many requests may wait before new ones are turned away.
CHAT_MAX_MESSAGE_CHARS = 4000
CHAT_CONCURRENCY_LIMIT = 4
CHAT_QUEUE_MAX_SIZE = 64
RECORDING_NOTICE = (
    "Chats are saved so the course team can improve this tutor. "
    "Please don't include personal information."
)
DEFAULT_JUDGE_MODEL = DEFAULT_CLAUDE_MODEL
DEFAULT_OFFERING_ID = "MGRECON780_Fall1_2025"