from workflow_graph import STEP_COPY EXAMPLES = { "Paper 1": "https://arxiv.org/abs/2208.00329", # AveriTeC demo hidden from the picker for now. # "Paper 2 (AveriTeC)": "https://arxiv.org/abs/2505.17978", "Paper 2": "https://arxiv.org/abs/2211.08788", } # System Run setting picker labels (match SciPaths Dev case-study report). SYSTEM_RUN_METHODS = { "Parametric - LLM Only": "codeagent_parametric", "Websearch Deep - LLM + Web Search + Crawl": "codeagent_websearch_deep", } TAB_NAMES = [ "Run", "Clusters", "Decomposition", ] APP_VIEWS = [ "Annotation Process", "System Run", ] # Left-nav items (mina-style icon + label rows). Icons use Streamlit Material symbols. APP_NAV = [ { "view": "Annotation Process", "icon": ":material/account_tree:", }, { "view": "System Run", "icon": ":material/play_circle:", }, ] METHOD_NOTES = { "Pipeline scope": "Runs steps 0, 1, 2, 3, 4, 5, 6, and 8, then launches cluster-first two-pass annotation.", "Input": "Accepts a single arXiv URL or arXiv ID.", "Cluster-first annotation": "Uses all refined downstream USES/EXTENDS clusters to derive target contributions, then decomposes each target contribution separately.", "Stopping rule": "If no valid downstream usage clusters remain after refinement and filtering, annotation is skipped.", } DISPLAY_STEPS = [1, 2, 3, 4, 5, 6, 7, 8] def pipeline_steps_markdown() -> str: return "\n".join(f"{idx}. {STEP_COPY[idx]}" for idx in DISPLAY_STEPS)