Clarify successful prompts as completed and separately mark applied outcomes

Hop-State: A_06FN85YPYQ2HNCW0BRXPP2R
Hop-Proposal: R_06FN85X5B35QSZJG8ZRDM7G
Hop-Task: T_06FN84AZZXE6KYXF74S8CC8
Hop-Attempt: AT_06FN84AZZW55WFZ0YRCWJW0
This commit is contained in:
Hop
2026-07-11 19:11:16 -07:00
parent b53d730a56
commit 7208b63357
5 changed files with 89 additions and 5 deletions
@@ -0,0 +1,16 @@
{
"id": "P_06FN84AZZY5522SG2JM2ZG0",
"task_id": "T_06FN84AZZXE6KYXF74S8CC8",
"attempt_id": "AT_06FN84AZZW55WFZ0YRCWJW0",
"state_id": "P_06FN84AZZY5522SG2JM2ZG0",
"prompt": "# Files mentioned by the user:\n\n## Screenshot 2026-07-11 at 7.02.34 PM.png: /Users/christopher/Desktop/Screenshot 2026-07-11 at 7.02.34 PM.png\n\n## My request for Codex:\nwhy do most of my prompts show as \"accepted\" and not \"completed\" even tho they were complete?",
"agent_name": "codex",
"status": "proposed",
"created_at": "2026-07-12T02:04:12.671481Z",
"metadata": {
"source_tree": "4e36b4521e738fed9e1132ca887716e852bdd6cc",
"git_commit": "077035fa84d8515d1b9e858b8555992ba3f13ad5",
"attempt_head": "C_06FN85TW1YN1Q81935DHM9G",
"attempt_head_kind": "checkpoint"
}
}
@@ -0,0 +1,16 @@
{
"id": "P_06FN850DXWYW6XGK206YBFG",
"task_id": "T_06FN84AZZXE6KYXF74S8CC8",
"attempt_id": "AT_06FN84AZZW55WFZ0YRCWJW0",
"state_id": "P_06FN850DXWYW6XGK206YBFG",
"prompt": "thats even more confusing, because a bunch of my prompts say completed and wouldnt get the checkmark even though they were done. wtf",
"agent_name": "codex",
"status": "proposed",
"created_at": "2026-07-12T02:07:08.271882Z",
"metadata": {
"source_tree": "4e36b4521e738fed9e1132ca887716e852bdd6cc",
"git_commit": "de8dbcc63dbbb93fb6e9b89a9a31ff4032a07695",
"attempt_head": "C_06FN85TW1YN1Q81935DHM9G",
"attempt_head_kind": "checkpoint"
}
}
@@ -0,0 +1,17 @@
{
"id": "P_06FN85EM0BXESEPJXYW4CMR",
"task_id": "T_06FN84AZZXE6KYXF74S8CC8",
"attempt_id": "AT_06FN84AZZW55WFZ0YRCWJW0",
"state_id": "P_06FN85EM0BXESEPJXYW4CMR",
"prompt": "ok implement",
"agent_name": "codex",
"status": "proposed",
"response_summary": "Clarify successful prompts as completed and separately mark applied outcomes",
"created_at": "2026-07-12T02:09:04.514496Z",
"metadata": {
"source_tree": "4e36b4521e738fed9e1132ca887716e852bdd6cc",
"git_commit": "0e1244afdd0162d8bfa57e19188d36bb205bc2f0",
"attempt_head": "C_06FN85TW1YN1Q81935DHM9G",
"attempt_head_kind": "checkpoint"
}
}
+30 -3
View File
@@ -105,8 +105,12 @@
}
.hop-prompt__meta {
align-items: center;
color: var(--color-text-light-2);
display: flex;
font-size: 0.82rem;
flex-wrap: wrap;
justify-content: flex-end;
text-align: right;
}
@@ -115,10 +119,23 @@
color: var(--color-text-light-2);
display: inline-flex;
gap: 0.4rem;
margin-right: 0.55rem;
}
.hop-prompt__status::before {
.hop-prompt__status-icon {
align-items: center;
background: var(--color-green);
border-radius: 50%;
color: var(--color-body);
display: inline-flex;
font-size: 0.65rem;
font-weight: 700;
height: 1rem;
justify-content: center;
line-height: 1;
width: 1rem;
}
.hop-prompt__status:not([data-status="completed"])::before {
background: var(--color-text-light-3);
border-radius: 50%;
content: "";
@@ -126,11 +143,21 @@
width: 0.45rem;
}
.hop-prompt__status[data-status="completed"]::before { background: var(--color-green); }
.hop-prompt__status[data-status="failed"]::before { background: var(--color-red); }
.hop-prompt__status[data-status="cancelled"]::before { background: var(--color-orange); }
.hop-prompt__status[data-status="running"]::before { background: var(--color-primary); }
.hop-prompt__applied {
border: 1px solid var(--color-secondary-dark-2);
border-radius: var(--border-radius);
color: var(--color-text);
font-size: 0.72rem;
font-weight: 600;
line-height: 1.4;
margin: 0 0.55rem;
padding: 0.05rem 0.38rem;
}
.hop-prompt__body {
border-top: 1px solid var(--color-secondary);
display: grid;
+10 -2
View File
@@ -246,9 +246,17 @@
const request = makeElement('div', 'hop-prompt__request', prompt.prompt);
request.title = prompt.prompt;
const meta = makeElement('div', 'hop-prompt__meta');
const status = makeElement('span', 'hop-prompt__status', prompt.status || 'running');
status.dataset.status = prompt.status || 'running';
const rawStatus = prompt.status || 'running';
const successful = rawStatus === 'completed' || rawStatus === 'accepted';
const status = makeElement('span', 'hop-prompt__status', successful ? 'Completed' : rawStatus);
status.dataset.status = successful ? 'completed' : rawStatus;
if (successful) status.prepend(makeElement('span', 'hop-prompt__status-icon', '✓'));
meta.append(status);
if (rawStatus === 'accepted') {
const applied = makeElement('span', 'hop-prompt__applied', 'Applied');
applied.title = 'This prompt\'s changes were accepted into the shared repository state';
meta.append(applied);
}
const agent = [prompt.agent_name, prompt.agent_model].filter(Boolean).join(' · ');
meta.append(document.createTextNode(agent || formatTime(prompt.created_at)));
summary.append(request, meta);