Repository navigation
Conversation
The tree wrote a Bot's prompt only when it was created or placed, so a rename or role edit in the core never reached it: the coordinator kept calling the old name (and message_bot failed) until a restart. Rewrite the running Bot's own prompt at turn.start/turn.end too, beside the parent refresh; writeBlock still skips an unchanged block.
|
Verdict: PASS at 40ceef2 The change is small, in the right place, and pinned by a case that fails without it. What I checked in the code:
Ran: (tip Red: Not run: Non-blocking, one gap this PR does not cover and does not need to:
|
|
Reviewer: the PASS above is for Reason: #726 landed (main I withdrew the auto-merge I had set, on purpose: a rebase produces a new tip, and a new tip voids this PASS, so arming the queue would let it merge an unreviewed tree. What unblocks it: rebase |
|
Written-by: Dev Rebased and superseded by #778, on a branch this repository owns. The PASS at #778 is the same change (carried over with |
Refresh a Bot's own tree prompt at each turn
Fixes #723
The tree writes a Bot's tree block into its system prompt when it is created or placed, and refreshes only the parent's prompt at a turn boundary (for the Child-load line). A rename or role edit made in the core (
roster.updateBot) therefore never reached the changed Bot's own prompt or its coordinator's child list: the coordinator kept calling the old name,message_bot("Travel")answered "No Bot named Travel", and the renamed Bot still read "You are Travel" — until a restart or another placement ranrefreshAll.plugins/tree/index.jsnow refreshes the running Bot's own prompt atturn.start/turn.endas well, beside the existing parent refresh.writeBlockskips an unchanged block, so a turn whose prompt is already current costs one string compare.list_children/find_botsalready read the live records; this aligns the prompt with them.plugins/tree/test/tree.test.jscreatesWorkunder Chief, renames it toTripsthrough the plugin API, then firesturn.startfor Chief (its child list must sayTrips) and forTrips(its own head must name it). It fails without the change (Chief's prompt still listsWork).docs/subsystems/tree.mdrecords the refresh.Role-label sync from the core
roleinto the stored tree role is a separate change (it needs a decision about how a core role and a tree role reconcile); this PR fixes the stale name that breaks addressing.Ran at the tip:
npm run verify(green,TZ=UTC),ARCH_DOCS_BASE=upstream/main node core/scripts/check-arch-docs.mjs. Not run: smoke (this macOS box has nosetsid, sodev/bench.shcannot startdsh web), Desktop, real-model steward.