Reconcile user-only prompt history with the latest repository UI
Hop-State: A_06FN73JKSZ95VEQCEXG6QB8 Hop-Proposal: R_06FN73GTTTTQ8WWHM30TQB8 Hop-Task: T_06FN6ZANP5V1SKQWZBP9QZR Hop-Attempt: AT_06FN739WSM7FS84CT05X588
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "P_06FN6ZANP4X2ZDEZBGMPH10",
|
||||||
|
"task_id": "T_06FN6ZANP5V1SKQWZBP9QZR",
|
||||||
|
"attempt_id": "AT_06FN6ZANP74SVA7HQZJVW9R",
|
||||||
|
"state_id": "P_06FN6ZANP4X2ZDEZBGMPH10",
|
||||||
|
"prompt": "why are there things in this list that arent prompts that i sent? it seems that each one that says \"active\" next to it isnt a prompt i sent",
|
||||||
|
"agent_name": "codex",
|
||||||
|
"status": "proposed",
|
||||||
|
"created_at": "2026-07-11T23:22:30.705202Z",
|
||||||
|
"metadata": {
|
||||||
|
"source_tree": "91a1a831db7db788d17d79d591fd78d57f90b814",
|
||||||
|
"git_commit": "a472191bada39b250ed4082487d36c692d547ea5",
|
||||||
|
"attempt_head": "C_06FN735G153QVVDDEF4J670",
|
||||||
|
"attempt_head_kind": "checkpoint"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"id": "P_06FN6ZT6X3MQTBCQK35GPER",
|
||||||
|
"task_id": "T_06FN6ZANP5V1SKQWZBP9QZR",
|
||||||
|
"attempt_id": "AT_06FN6ZANP74SVA7HQZJVW9R",
|
||||||
|
"state_id": "P_06FN6ZT6X3MQTBCQK35GPER",
|
||||||
|
"prompt": "we dont need to show internal agent instructions at all. also why do all the agent responses say \"Roll completed agent sessions onto the latest accepted state\"",
|
||||||
|
"agent_name": "codex",
|
||||||
|
"status": "proposed",
|
||||||
|
"response_summary": "Hide internal prompt states and label proposal outcomes accurately",
|
||||||
|
"created_at": "2026-07-11T23:24:37.992663Z",
|
||||||
|
"metadata": {
|
||||||
|
"source_tree": "91a1a831db7db788d17d79d591fd78d57f90b814",
|
||||||
|
"git_commit": "641ef9e42d6e066f7a4be1c652fb2b3effdc1490",
|
||||||
|
"attempt_head": "C_06FN735G153QVVDDEF4J670",
|
||||||
|
"attempt_head_kind": "checkpoint"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,6 +29,9 @@ docker compose --env-file "$env_file" cp \
|
|||||||
docker compose --env-file "$env_file" cp \
|
docker compose --env-file "$env_file" cp \
|
||||||
deploy/gitea/public/assets/js/hop-native.js \
|
deploy/gitea/public/assets/js/hop-native.js \
|
||||||
gitea:/data/gitea/public/assets/js/hop-native-v12.js
|
gitea:/data/gitea/public/assets/js/hop-native-v12.js
|
||||||
|
docker compose --env-file "$env_file" cp \
|
||||||
|
deploy/gitea/public/assets/js/hop-native.js \
|
||||||
|
gitea:/data/gitea/public/assets/js/hop-native-v13.js
|
||||||
docker compose --env-file "$env_file" cp \
|
docker compose --env-file "$env_file" cp \
|
||||||
deploy/gitea/public/assets/css/hop-home.css \
|
deploy/gitea/public/assets/css/hop-home.css \
|
||||||
gitea:/data/gitea/public/assets/css/hop-home.css
|
gitea:/data/gitea/public/assets/css/hop-home.css
|
||||||
|
|||||||
@@ -217,7 +217,7 @@
|
|||||||
record.append(makeElement('h2', '', 'Captured request'));
|
record.append(makeElement('h2', '', 'Captured request'));
|
||||||
record.append(makeElement('pre', '', prompt.prompt));
|
record.append(makeElement('pre', '', prompt.prompt));
|
||||||
if (prompt.response_summary) {
|
if (prompt.response_summary) {
|
||||||
record.append(makeElement('h2', '', 'Agent outcome'));
|
record.append(makeElement('h2', '', 'Proposal outcome'));
|
||||||
record.append(makeElement('div', 'hop-prompt__response', prompt.response_summary));
|
record.append(makeElement('div', 'hop-prompt__response', prompt.response_summary));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,7 +283,9 @@
|
|||||||
if (!response.ok) throw new Error('Could not load a published prompt record');
|
if (!response.ok) throw new Error('Could not load a published prompt record');
|
||||||
return response.json();
|
return response.json();
|
||||||
}));
|
}));
|
||||||
return prompts.sort((left, right) => String(right.created_at).localeCompare(String(left.created_at)));
|
return prompts
|
||||||
|
.filter((prompt) => prompt.status !== 'active' && prompt.status !== 'running')
|
||||||
|
.sort((left, right) => String(right.created_at).localeCompare(String(left.created_at)));
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@@ -307,7 +309,7 @@
|
|||||||
heading.append(
|
heading.append(
|
||||||
makeElement('p', 'hop-prompts__eyebrow', 'Hop causal record'),
|
makeElement('p', 'hop-prompts__eyebrow', 'Hop causal record'),
|
||||||
makeElement('h1', '', 'Prompts'),
|
makeElement('h1', '', 'Prompts'),
|
||||||
makeElement('p', 'hop-prompts__lede', 'Review what was requested, which agent acted, and the result it reported. Every entry is tied to the task, attempt, and state that produced it.'),
|
makeElement('p', 'hop-prompts__lede', 'Review what you requested, which agent acted, and the proposal that resulted. Internal agent instructions are not published.'),
|
||||||
);
|
);
|
||||||
heading.querySelector('h1').id = 'hop-prompts-title';
|
heading.querySelector('h1').id = 'hop-prompts-title';
|
||||||
const refresh = makeElement('button', 'ui button hop-prompts__refresh', 'Refresh');
|
const refresh = makeElement('button', 'ui button hop-prompts__refresh', 'Refresh');
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/hop-home.css?v=4">
|
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/hop-home.css?v=4">
|
||||||
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/hop-prompts.css?v=1">
|
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/hop-prompts.css?v=1">
|
||||||
<script src="{{AssetUrlPrefix}}/js/hop-native.js?v=12"></script>
|
<script src="{{AssetUrlPrefix}}/js/hop-native-v13.js?v=1"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user