Say "settled result" wherever the routing text still said "finished root"

The first review wave read the candidate and found four sentences that
described the door the way it was: the missing-selector error and the
pending-promote refusal told the model to name a finished root, the room
manifest's docstring said the predicate admits a settled root, and the
last-result lookup's docstring said a child is never the room's
continuation because the promote door refuses it. The handler continues any
settled result, a helper's included, and the hint offers roots only; the
sentences now say that. Wording only, no behaviour change.

Co-authored-by: Ouroboros <311266734+ouroboros-agent@users.noreply.github.com>
This commit is contained in:
Anton Razzhigaev 2026-09-24 07:24:58 +03:00
parent 02f865260c
commit de7e191ffc
3 changed files with 6 additions and 6 deletions

View file

@ -249,10 +249,10 @@ def _cancel_state_facts(ctx: Any, task_id: str) -> Dict[str, Any]:
def _project_routing_manifest(ctx: Any, project_id: str) -> Dict[str, Any]:
"""The room's bounded HINT for a "continue this work" decision: the project's
recent ROOT results and the roots still live in it, each with the small typed
facts that separate the two choices - a finished root is promote's predecessor,
facts that separate the two choices - a settled root is promote's predecessor,
a live one is ``steer_task``.
A hint, never the door: promote's predicate admits any settled root, listed
A hint, never the door: promote's predicate admits any settled result, listed
or not, of any project (ch. 10), so this window may be bounded without
deciding what the room can continue. Until it existed a room saw exactly ONE
candidate, the registry pointer, so a room whose pointer had moved could not
@ -281,7 +281,7 @@ def _not_a_root_result(row: Dict[str, Any]) -> bool:
def _latest_project_task_result(ctx: Any, project_id: str) -> Optional[Dict[str, Any]]:
"""Newest ROOT task result bound to ``project_id`` (a child's is never the room's
continuation: the promote door refuses it, ``_is_child_result``) WITHOUT replaying the whole
last-result pointer: the hint offers roots only, ``_is_child_result``) WITHOUT replaying the whole
store (DEVELOPMENT "Projection over replay"). The registry row's durable
``last_task_result_id`` pointer (stamped at project-task finalization) is
read FIRST — one direct file fetch, immune to how many newer foreign

View file

@ -38,7 +38,7 @@ def _predecessor_selector_error(value: Any, tool_name: str) -> str:
if value is _MISSING_PREDECESSOR_SELECTOR or value is None:
return (
f"⚠️ TOOL_ARG_ERROR ({tool_name}): predecessor_task_id is required; "
"pass an empty string for fresh work or the id of a finished root result to continue it"
"pass an empty string for fresh work or the id of a settled result to continue it"
)
return ""
@ -126,7 +126,7 @@ def _predecessor_door_refusal(result: Dict[str, Any]) -> str:
status = str(result.get("status") or "")
if is_emitted_admission_stub(result):
return ("the selected predecessor is a promote whose admission is still pending, not a "
"result; read get_task_result on it, and name a finished root instead")
"result; read get_task_result on it, and name a settled result instead")
if status not in SETTLED_STATUSES:
return (
f"the selected predecessor is still live (status {status or 'unknown'}); "

View file

@ -459,7 +459,7 @@ def test_only_a_root_finalization_moves_the_projects_pointer(tmp_path):
def test_the_self_heal_scan_never_offers_or_stamps_a_child(tmp_path):
"""The lookup's fallback scan is the pointer's SECOND writer: with no pointer
yet and a child as the project's newest result, it answers with the newest ROOT
and stamps that, never the child the door would refuse."""
and stamps that, never the child the hint does not offer."""
import os
import server