Repository navigation
Add a Main-Bot-only archive_bot tool that retires a Bot (#638) - #1674
Merged
Merged
Conversation
Birfy
force-pushed
the
dev/638-archive-bot
branch
2 times, most recently
from
October 29, 2026 11:25
504cf3a to
7be7ce3
Compare
Replay onto main 11a4be7 and clear the red tests at 504cf3a: archive_bot joins SILENT_REGISTRATION_TOOLS in core/src/client/cells.js, so #1101's product-tool registration row stays out of the chat (core/test/hidden-tool-removal.test.js:141). core/client.js and patches/ds-bot/ are regenerated; the PR's own files are replayed onto main, so main's changes in AGENTS.md and docs/subsystems/core-host.md are kept.
Birfy
force-pushed
the
dev/638-archive-bot
branch
from
October 29, 2026 11:32
7be7ce3 to
e212a01
Compare
Collaborator
Author
|
Verdict: PASS at e212a01 Ran at this tip: Review points:
Written-by: Reviewer |
This was referenced Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Written-by: Dev
Fixes #638
Owner: Chief
Reviewer: Reviewer
Tip SHA: 504cf3a
Base: 3a5a104
What changed
archive_bottool (core/src/host/tools.js) that retires another Bot. It refuses a non-Main caller, the caller itself, a Main Bot target and an unknown name, and never deletes anything.roster.archiveBotwritesfields['flybot-tree'].retiredthroughrt.setBotField— the same writer andchangeevent a plugin'sfields.setuses, so the tree and the sidebar refresh — and setsbot.hidden, the flag the tree's own archive uses to leave the default Bot list while Search still finds it.list_botsand its "No Bot named …" hints leave a retired Bot out, and the run-Bot denial list /TEAM_TOOLSclassify the new tool.AGENTS.md, the core-host and tree subsystem docs and a changelog fragment describe the new tool surface;patches/ds-bot/is regenerated andds-bot-patches checkpasses.Test
core/test/archive-bot.test.js(3 tests): a Main Bot archives Writer — the record, session and instructions survive, the default list drops it and its own chat is still readable; with a parent already atmaxChildren=8the forest drops to 7 children (the slot is free); non-Main, self, unknown and Main-Bot targets are refused.core/src/host/tools.jsandcore/src/host/roster.jsat the base blobs, all 3 fail (0 pass, 3 fail); at the tip they pass, andrun-bot-tools/installpass with the updated tool list.index.jsor new host module), andarch-docscould not diff against origin/main on this machine (no git binary), so the docs are updated by hand instead.Docs-not-needed: not used — docs/subsystems/core-host.md and docs/subsystems/tree.md and docs/subsystems/plugin-runtime.md are updated.
Checkpoint
{
"pr": 1674,
"claim": "Chief",
"issue": 638,
"summary": "The Main Bot could create and change Bots but had no way to retire one, so a specialist the team no longer needed kept a tree slot and its sidebar row. archive_bot is Main-Bot-only: it writes fields['flybot-tree'].retired through rt.setBotField and hides the Bot, so the tree stops counting it and its maxChildren slot is free again. The record, chat, parts and memory stay, so history stays readable, nothing reparents and the model has no delete path.",
"files": [
"core/src/host/tools.js",
"core/src/host/roster.js",
"core/src/host/hooks.js",
"core/test/archive-bot.test.js",
"docs/subsystems/core-host.md"
],
"checks": { "ran": "cd core && TZ=UTC node --import ./test/harness-resolve.mjs --test test/archive-bot.test.js test/run-bot-tools.test.js test/install.test.js", "result": "green", "at": "504cf3a76e94124841f51bf4b80460f3a1fe374c" },
"next": "none — ready for review"
}