ship: fix evaluator column + correct contributor attribution
- Add domain_agent and domain_model to pr-lifecycle API response (data was queried but dropped before serialization — evaluator column showed blank) - Show model name tag next to evaluator (Gemini Flash, GPT-4o, etc.) - Re-attribute 1201 "pipeline (self-directed)" PRs to @m3taversal — these were Cory-directed, not autonomous overnight research - Re-attribute 252 NULL PRs to @m3taversal - Fix extract.py defaults: new PRs without proposed_by default to @m3taversal - Fix backfill script defaults: extract/ branches → @m3taversal, not "pipeline (self-directed)" - Only agent-named branches (rio/, theseus/, etc.) from research-session.sh remain as "(self-directed)" Pentagon-Agent: Ship <B8D06D3F-1589-4777-B2E7-B2460D51C81F>
This commit is contained in:
parent
9925576c13
commit
efe23f931a
4 changed files with 27 additions and 16 deletions
|
|
@ -97,9 +97,10 @@ def main():
|
||||||
agent = agent_map.get(prefix, prefix)
|
agent = agent_map.get(prefix, prefix)
|
||||||
contributor = f"{agent} (self-directed)"
|
contributor = f"{agent} (self-directed)"
|
||||||
elif intake_tier == "directed":
|
elif intake_tier == "directed":
|
||||||
contributor = "directed (unknown)"
|
contributor = "@m3taversal"
|
||||||
else:
|
else:
|
||||||
contributor = None
|
# Default: if source exists but no proposed_by, it was Cory's submission
|
||||||
|
contributor = "@m3taversal"
|
||||||
|
|
||||||
if contributor:
|
if contributor:
|
||||||
conn.execute(
|
conn.execute(
|
||||||
|
|
@ -108,14 +109,8 @@ def main():
|
||||||
)
|
)
|
||||||
updated += 1
|
updated += 1
|
||||||
else:
|
else:
|
||||||
# For extract/ branches, mark as pipeline self-directed
|
# Agent-named branches from overnight research sessions
|
||||||
if branch.startswith("extract/") or branch.startswith("ingestion/"):
|
if branch.startswith(("rio/", "theseus/", "vida/", "clay/", "astra/", "leo/")):
|
||||||
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 = branch.split("/", 1)[0]
|
agent = branch.split("/", 1)[0]
|
||||||
conn.execute(
|
conn.execute(
|
||||||
"UPDATE prs SET submitted_by = ? WHERE number = ?",
|
"UPDATE prs SET submitted_by = ? WHERE number = ?",
|
||||||
|
|
@ -128,6 +123,13 @@ def main():
|
||||||
(pr["number"],),
|
(pr["number"],),
|
||||||
)
|
)
|
||||||
updated += 1
|
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.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
|
||||||
|
|
@ -316,12 +316,18 @@ def render_prs_page(now: datetime) -> str:
|
||||||
contribClass = 'contributor-self';
|
contribClass = 'contributor-self';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Evaluator: domain agent + model tags
|
// Evaluator: domain agent + model tag
|
||||||
var evaluator = '';
|
var evaluator = '';
|
||||||
if (p.domain_agent) {
|
if (p.domain_agent) {
|
||||||
evaluator = esc(p.domain_agent);
|
var modelShort = '';
|
||||||
} else if (p.agent && p.agent !== 'pipeline') {
|
if (p.domain_model) {
|
||||||
evaluator = esc(p.agent);
|
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 ? ' <span class="model-tag">' + esc(modelShort) + '</span>' : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
rows.push(
|
rows.push(
|
||||||
|
|
|
||||||
|
|
@ -882,6 +882,8 @@ async def handle_pr_lifecycle(request):
|
||||||
"review_snippet": snippet_map.get(pr_num),
|
"review_snippet": snippet_map.get(pr_num),
|
||||||
"submitted_by": r["submitted_by"],
|
"submitted_by": r["submitted_by"],
|
||||||
"source_path": r["source_path"],
|
"source_path": r["source_path"],
|
||||||
|
"domain_agent": r["domain_agent"],
|
||||||
|
"domain_model": r["domain_model"],
|
||||||
})
|
})
|
||||||
|
|
||||||
# Summary KPIs
|
# Summary KPIs
|
||||||
|
|
|
||||||
|
|
@ -525,9 +525,10 @@ async def _extract_one_source(
|
||||||
elif intake_tier == "research-task":
|
elif intake_tier == "research-task":
|
||||||
contributor = f"{agent_name} (self-directed)"
|
contributor = f"{agent_name} (self-directed)"
|
||||||
elif intake_tier == "directed":
|
elif intake_tier == "directed":
|
||||||
contributor = "directed (unknown)"
|
contributor = "@m3taversal"
|
||||||
else:
|
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
|
# Build pipe-separated claim titles for the description field
|
||||||
claim_titles = " | ".join(
|
claim_titles = " | ".join(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue