@@ -4029,20 +4029,20 @@ def button_legend():
40294029 rows = [
40304030 ("Save",
40314031 "reviewed", False,
4032- "Saves what was typed. Decides nothing .",
4033- "Park a half-finished review ."),
4032+ "Saves entered text. No verdict recorded .",
4033+ "For incomplete reviews ."),
40344034 ("Suggest & next →",
40354035 "suggested", True,
4036- "Hands it over — the decision is given up .",
4036+ "Transfers the decision to another owner .",
40374037 "Needs <b>Suggested to</b> (a person) or <b>Reassign to</b> (an agent)."),
40384038 ("Re-review",
40394039 "pending", False,
40404040 "Re-opens a decided transcript.",
40414041 "Verdict fields clear. Round 2 means someone decided before — read theirs first."),
40424042 ("Mark reviewed & next →",
40434043 "reviewed", True,
4044- "Verdict recorded .",
4045- "Blocked while a hand-off is set."),
4044+ "Records the verdict .",
4045+ "Unavailable while a hand-off is set."),
40464046 ]
40474047 out = ["<details class=card><summary>"
40484048 "<span class=info aria-hidden=true>i</span>"
@@ -4114,11 +4114,9 @@ def detail_page(rel):
41144114 # and all of it above the transcript the reviewer had come to read. The defaults do not
41154115 # need explaining if they are correct, and the rest is on the buttons' own legend.
41164116 banner = ("<div class='bar bnr-ok'>"
4117- "Review exchanges and put a correction below each. Then fill out the "
4118- "<b>Summary</b> section for overall changes and suggestions. If the transcript "
4119- "is good as-is and no changes are necessary, set <b>Answer verdict = good</b> "
4120- "(optional) and click <b>Mark reviewed & next →</b> to proceed to the "
4121- "next transcript."
4117+ "Add a correction under each exchange, then complete the <b>Summary</b>. "
4118+ "If no change is required, set <b>Answer verdict = good</b> and select "
4119+ "<b>No changes & next →</b>."
41224120 "</div>")
41234121 elif (fm.get("review_status") or "") == "suggested":
41244122 # Nothing here is a verdict yet. Say so loudly, or the owner reads a filled-in form
@@ -4166,9 +4164,8 @@ def detail_page(rel):
41664164 pi, pp = doc_popover("proposed_fix")
41674165 parts.append(
41684166 "<h2 class=sec style='margin-top:var(--forge-spacing-large)'>Summary</h2>"
4169- "<p class=sub style='margin:0 0 12px'>Fill this in after reading the exchanges above. "
4170- "The prose is the valuable part — the fields underneath just classify it so the "
4171- "right person picks it up.</p>"
4167+ "<p class=sub style='margin:0 0 12px'>Complete after reviewing the exchanges. "
4168+ "Prose carries the substance; the fields route it.</p>"
41724169 f"<div class=card><div class=fld>"
41734170 f"<label>Overall suggestions and comments{pi}"
41744171 f"<span class=trigtag>triggers changes</span></label>{pp}"
@@ -5372,9 +5369,8 @@ def grp(label, rows):
53725369 "<div class=hint>Sending in covers all of these. Discarding rewinds to just before the "
53735370 "save selected, and always leaves a recovery point.</div></details>")
53745371 else:
5375- saves_html = ("<div class=saves><span class=hint>Nothing saved and unsent — either "
5376- "not yet saved this sitting, or everything is already sent "
5377- "in.</span></div>")
5372+ saves_html = ("<div class=saves><span class=hint>Nothing saved and unsent."
5373+ "</span></div>")
53785374 # The change list now lives INSIDE the state bar, collapsed. It was a permanently-open
53795375 # panel between the "Publish your reviews" heading and Part 1, so the first actual step
53805376 # started well down the page - and the list is reference material, not something you act on.
@@ -7852,11 +7848,9 @@ def _eval_optin(spent=False):
78527848 "<label class=evalrow><input type=checkbox id=doeval checked>"
78537849 "<span><b>Include Eval Review</b></span></label>"
78547850 f"<div class=hint style='margin:6px 0 0 26px'>"
7855- f"Asks the agents this batch's {n_q} question(s) against the {len(files)} changed "
7856- f"file(s). <b>~{mins} min.</b><br>"
7857- "<b>The candidate content STAYS live in Foundry afterwards</b> so other "
7858- "phrasings can be tried on Eval Review — best done off-hours. It comes down on "
7859- "Remove evals or send the batch in. Required before a change request.</div></div>")
7851+ f"{n_q} question(s) against {len(files)} changed file(s). <b>~{mins} min.</b><br>"
7852+ "Content stays live in Foundry until removed or sent. Best outside business hours. "
7853+ "Required before a change request.</div></div>")
78607854
78617855
78627856def _router_warning():
@@ -8154,12 +8148,11 @@ def eval_review_page():
81548148 + "<p class=sub style='margin:0' id=evstate>"
81558149 + (f"<b>All {n_tot} approved.</b> Ready to send in."
81568150 if all_ok else
8157- f"<b>{n_ok} of {n_tot} approved.</b> Tick the ones whose answer is right — the "
8158- "send needs all of them.")
8151+ f"<b>{n_ok} of {n_tot} approved.</b> All must be approved before sending.")
81598152 + "</p>"
81608153 + f"<p class=sub style='margin:4px 0 0'><code>{html.escape(when)}</code> · "
8161- f"{len(files)} file(s) · {n_q} question(s) · <b>Match %</b> is word overlap "
8162- "with the correction, a hint not a verdict .</p>"
8154+ f"{len(files)} file(s) · {n_q} question(s) · <b>Match %</b> is word "
8155+ "overlap, indicative only .</p>"
81638156 + "<div class=stepacts style='margin-top:10px'>"
81648157 + "<button class=sec onclick=\"evAll(1)\">Approve all</button>"
81658158 + "<button class=sec onclick=\"evAll(0)\">Clear all</button>"
@@ -8266,9 +8259,8 @@ def eval_review_page():
82668259 f"<textarea class=evnowbox oninput='evNowEdited(this)' "
82678260 f"data-orig=\"{html.escape(latest.get('answer') or '')}\">"
82688261 f"{html.escape(latest.get('answer') or '(no answer returned)')}</textarea>"
8269- "<div class=hint style='margin:5px 0 0'>To improve response type comments in "
8270- "<code>{{ }}</code> inside Now and click <b>Copy prompt</b> to pass to an AI for "
8271- "further refine content.</div>"
8262+ "<div class=hint style='margin:5px 0 0'>Mark defects inline as "
8263+ "<code>{{ }}</code>, then <b>Copy prompt</b> for an AI-enabled terminal.</div>"
82728264 # DIRECTLY UNDER THE INSTRUCTION THAT NAMES THEM, inside the Now column. They began
82738265 # ABOVE the box, which pushed this column down and left the two compared panes
82748266 # starting at different heights; moving them to the card's bottom fixed that but
@@ -8294,8 +8286,7 @@ def eval_review_page():
82948286 "<div class=card><h3>When finished</h3>"
82958287 + ("<p class=sub>Sending in opens the change request(s); merging publishes to Foundry.</p>"
82968288 if all_ok else
8297- "<p class=sub>If an answer is wrong, put the batch back to pending — the "
8298- "corrections are kept.</p>")
8289+ "<p class=sub>If an answer is wrong, return the batch to pending. Corrections are kept.</p>")
82998290 + "<div class=stepacts>"
83008291 + (f"<button id=evsend onclick=\"evSend(this)\">Send the batch in</button>"
83018292 if all_ok else
@@ -8476,7 +8467,7 @@ def step(desc, inner):
84768467 # which put it below a rule and read as a caption for the label field rather than as what
84778468 # this card is for. (The line that used to sit here described publishing and had been
84788469 # duplicated from the other card - see #75.)
8479- "<p class=sub>A local checkpoint that can be returned to. Nothing is shared yet .</p>"
8470+ "<p class=sub>Local checkpoint. Not shared.</p>"
84808471 + step(
84818472 "",
84828473 # Empty by DEFAULT, not prefilled. A prefilled box asks to be read, edited and
@@ -8487,15 +8478,15 @@ def step(desc, inner):
84878478 "<input id=cmsg value='' placeholder='e.g. identity transcripts, first pass'>"
84888479 "<div class=stepacts>"
84898480 "<button class=sec onclick=\"gitDo('commit')\">Save progress</button>"
8490- "<button class=sec onclick=\"gitDo('diff')\">Show me exactly what changed </button>"
8481+ "<button class=sec onclick=\"gitDo('diff')\">View pending changes </button>"
84918482 "</div>" + "<div id=githist>" + saves_html + "</div>")
84928483 + "</div>"
84938484 # The honest division of labour, stated where it is acted on: a verdict is not the
84948485 # deliverable. The knowledge file that stops the agent repeating that answer is, and
84958486 # writing it is the ONE job here that needs an assistant.
84968487 + "<div class=card>"
84978488 + "<h3>Publish reviewed transcripts</h3>"
8498- + "<p class=sub>Publishing needs an assistant for the knowledge files; the rest is buttons .</p>"
8489+ + "<p class=sub>Requires an AI-enabled terminal with access to the affected files .</p>"
84998490 + step("",
85008491 "<ol class=prog id=prog>"
85018492 + ai_stage
@@ -8542,10 +8533,10 @@ def step(desc, inner):
85428533
85438534 "<details class=card><summary>"
85448535 "<span class=info aria-hidden=true>i</span>"
8545- "<h3>Worth knowing </h3>"
8536+ "<h3>Reference </h3>"
85468537 "<span class=chev aria-hidden=true></span></summary>"
85478538 "<ul class=sub style='margin:10px 0 0 20px;padding:0'>"
8548- "<li>A review with nothing to fix is still worth sending .</li>"
8539+ "<li>Reviews with no changes should still be submitted .</li>"
85498540 "<li>Writing what <i>should</i> have been said is the valuable part — a knowledge-file "
85508541 "change is not required.</li>"
85518542 "<li>Suggestions handed to someone else need sending in too; that is how they reach "
@@ -8557,14 +8548,12 @@ def step(desc, inner):
85578548 # stage of it - numbering it first implied you were meant to pass through it every time,
85588549 # and made the first thing on the publish page a way to throw work away.
85598550 "<div class='card dangerzone'>"
8560- "<h3>Something went wrong? </h3>"
8551+ "<h3>Recovery </h3>"
85618552 "<p class=sub>Not part of the normal flow — only for undoing.</p>"
85628553 "<div class=dzrow><div>"
85638554 "<b>Reset unsaved edits</b>"
8564- "<div class=sub>Puts edited transcripts back to their last saved state. Only touches "
8565- "edits not yet saved; anything already saved is untouched, and newly synced "
8566- "conversations are left alone. Undoable — the edits are set aside rather than deleted, "
8567- "and the output explains how to put them back.</div>"
8555+ "<div class=sub>Reverts unsaved transcript edits. Saved work and newly synced "
8556+ "conversations are untouched. Recoverable — edits are set aside, not deleted.</div>"
85688557 "</div><div class=dzact>"
85698558 "<button class=sec onclick='resetUnsaved(this)'>Reset unsaved edits</button>"
85708559 "</div></div></div>")
0 commit comments