diff --git a/ops/diagnostics/backfill_submitted_by.py b/ops/diagnostics/backfill_submitted_by.py index 8c0933582..7e1b44d54 100644 --- a/ops/diagnostics/backfill_submitted_by.py +++ b/ops/diagnostics/backfill_submitted_by.py @@ -97,9 +97,10 @@ def main(): agent = agent_map.get(prefix, prefix) contributor = f"{agent} (self-directed)" elif intake_tier == "directed": - contributor = "directed (unknown)" + contributor = "@m3taversal" else: - contributor = None + # Default: if source exists but no proposed_by, it was Cory's submission + contributor = "@m3taversal" if contributor: conn.execute( @@ -108,14 +109,8 @@ def main(): ) updated += 1 else: - # For extract/ branches, mark as pipeline self-directed - if branch.startswith("extract/") or branch.startswith("ingestion/"): - conn.execute( - "UPDATE prs SET submitted_by = 'pipeline (self-directed)' WHERE number = ?", - (pr["number"],), - ) - updated += 1 - elif branch.startswith(("rio/", "theseus/", "vida/", "clay/", "astra/", "leo/")): + # Agent-named branches from overnight research sessions + if branch.startswith(("rio/", "theseus/", "vida/", "clay/", "astra/", "leo/")): agent = branch.split("/", 1)[0] conn.execute( "UPDATE prs SET submitted_by = ? WHERE number = ?", @@ -128,6 +123,13 @@ def main(): (pr["number"],), ) updated += 1 + else: + # Everything else (extract/, ingestion/, unknown) → Cory directed it + conn.execute( + "UPDATE prs SET submitted_by = '@m3taversal' WHERE number = ?", + (pr["number"],), + ) + updated += 1 conn.commit() conn.close() diff --git a/ops/diagnostics/dashboard_prs.py b/ops/diagnostics/dashboard_prs.py index 0fd21c24f..638ab52a1 100644 --- a/ops/diagnostics/dashboard_prs.py +++ b/ops/diagnostics/dashboard_prs.py @@ -316,12 +316,18 @@ def render_prs_page(now: datetime) -> str: contribClass = 'contributor-self'; } - // Evaluator: domain agent + model tags + // Evaluator: domain agent + model tag var evaluator = ''; if (p.domain_agent) { - evaluator = esc(p.domain_agent); - } else if (p.agent && p.agent !== 'pipeline') { - evaluator = esc(p.agent); + var modelShort = ''; + if (p.domain_model) { + var m = p.domain_model; + if (m.indexOf('gemini') >= 0) modelShort = 'Gemini Flash'; + else if (m.indexOf('gpt-4o') >= 0) modelShort = 'GPT-4o'; + else if (m.indexOf('sonnet') >= 0) modelShort = 'Sonnet'; + else modelShort = m.split('/').pop(); + } + evaluator = esc(p.domain_agent) + (modelShort ? ' ' + esc(modelShort) + '' : ''); } rows.push( diff --git a/ops/diagnostics/dashboard_routes.py b/ops/diagnostics/dashboard_routes.py index df9ae4fb3..2b399a112 100644 --- a/ops/diagnostics/dashboard_routes.py +++ b/ops/diagnostics/dashboard_routes.py @@ -882,6 +882,8 @@ async def handle_pr_lifecycle(request): "review_snippet": snippet_map.get(pr_num), "submitted_by": r["submitted_by"], "source_path": r["source_path"], + "domain_agent": r["domain_agent"], + "domain_model": r["domain_model"], }) # Summary KPIs diff --git a/ops/pipeline-v2/lib/extract.py b/ops/pipeline-v2/lib/extract.py index 0c944d94b..d71fbb076 100644 --- a/ops/pipeline-v2/lib/extract.py +++ b/ops/pipeline-v2/lib/extract.py @@ -525,9 +525,10 @@ async def _extract_one_source( elif intake_tier == "research-task": contributor = f"{agent_name} (self-directed)" elif intake_tier == "directed": - contributor = "directed (unknown)" + contributor = "@m3taversal" else: - contributor = "unknown" + # Default: if no proposed_by and not a research task, Cory submitted it + contributor = "@m3taversal" # Build pipe-separated claim titles for the description field claim_titles = " | ".join(