Repository navigation
fix(agents): unreadable lists start nothing, retitled sessions are found, agents:reset; claude-code additionalDirectories (agents 1.0.1, claude-code 1.8.0, devcontainer-cli 1.14.0) - #85
Merged
Conversation
…e-code additionalDirectories (agents 1.0.1, claude-code 1.8.0) agents-session-state-read, agents-list-on-demand-none, claude-additional-dirs: - agents 1.0.1: a failed list (any adapter exit but 3) is state "error" with the adapter's reason; resident start, --resume, --new and up start, wake and stop nothing and print how to resume by hand; on-demand --resume never becomes a new session; on-demand agents show running or none. New optional adapter verb "hint". - claude-code 1.8.0: agent-adapter-claude takes the JSON array among other lines, reads through files, retries once only after a timeout or an empty answer, and reports the call, exit code and the CLI's first line, with a wrapper hint on "unknown option"; resume on an unreadable list opens Claude's picker. New option additionalDirectories writes permissions.additionalDirectories into a managed-settings drop-in at build time (the user's settings untouched). - Tests for the office's wrapper failure, the retry rules and the option; mutation-checked. Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
Backlog and ledger since #84; agents-unreadable-list-fix names claude-code 1.8.0. Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
agents-session-state-read: the default and with_task scenarios hard-code the Feature version and still said 1.0.0 (CI on #85). Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
… 1.0.1, claude-code 1.8.0, devcontainer-cli 1.14.0) agents-retitle-check and the reset asked by the Operator: - agent-adapter-claude records each agent's session (job id and session id) in CLAUDE_CONFIG_DIR/agent-adapter-claude/agents.tsv (600) and looks it up there first, then by name and folder, because Claude Code retitles a background session after its first prompts; a live session always beats ended ones and start-bg refuses while the recorded one runs. No setting makes a name sticky. - agents reset <name>... | --all [--purge] [--include-unlisted] [--yes] [--force]: a dry run by default; stops an agent's duplicates (conversations kept), re-records, starts a resident with nothing running; --purge also removes the agent's ended sessions; only listed agents in their folders; refuses on uncommitted changes or inside a Claude Code session without --force. New optional adapter verbs record, session-stop, session-remove. - devcontainer-cli 1.14.0: devcontainer:agent:reset. - Tests for a retitled session, the reset's scope and refusals; mutation-checked. Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
agents-retitle-check: with no claude on PATH the adapter's list error read 'timeout: failed to run command'. It now says claude is not installed, and the agents with_claude_code scenario expects state error with that reason (CI on #85). Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
…e only a purge agents-retitle-check, the Operator's decision on the reset refusals (2026-10-28): stopping a session is refused while it is mid-turn (status busy or state working), not because its folder is dirty; uncommitted changes warn on a plain reset and refuse --purge; --force overrides both. New optional adapter verb session-busy (exit 3 = cannot tell, counted as not busy with a note). Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
ADR 0032 (extra working folders in managed settings) and ADR 0033 (the adapter remembers the session id; reset refusals as the Operator decided), accepted; backlog and ledger since #84. Co-Authored-By: Claude Opus 5.5 <claude-opus-5-5@noreply.invalid> Signed-off-by: devhost agent <devhost-agent@noreply.invalid>
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.
What
errorwith the reason; a resident is never started, woken or stopped on it, and the command prints how to resume by hand; on-demand--resumenever becomes a new session; on-demand agents showrunningornone. New optional adapter verbhint.agent-adapter-claudereads the JSON array among other lines, retries once only after a timeout or empty answer, and reports the call, exit code and Claude's first line, with a hint when a wrapper may be rewriting arguments. New optionadditionalDirectorieswritespermissions.additionalDirectoriesinto a managed-settings drop-in at build time, so a consumer needs no--add-dirwrapper (file access only: unlike--add-dir, the folder's CLAUDE.md and skills are not loaded).Why
A consuming repository's
claudewrapper put--add-dirbefore every argument, soclaude agents --jsonfailed; agents 1.0.0 treated the failed list as "cannot list" and started fresh sessions, losing their context. Reproduced against Claude Code 2.1.312.Checklist
Signed-off-by:, DCO) - automatic aftertask repo:setupversionbumped insrc/<id>/devcontainer-feature.json(semver): agents 1.0.1, claude-code 1.8.0install.shis idempotent and does not assume aremoteUsertest/<id>/test.sh,scenarios.json) andtask test FEATURE=<id>passes: unit tests pass (agents 142; claude-code adapter 51, additional dirs 18, live session 181); the new Docker scenarioadditional_directorieshas not run (no daemon in the devhost), CI is its first runtaskfile.ymlpresent and registered viainstallTaskfile(new Features)task lintpasses (in a clean worktree)NOTES.mdupdated if behaviour or options changed, andtask docsrun sosrc/<id>/README.mdis current🤖 Generated with Claude Code