feat: implement v1 control enforcement CLI and terminal UI#9
Merged
Conversation
Dead code with zero consumers. Git history serves as archive. Removes: server.go, ui.go, packages/, sdk/, examples/, api/, codegen Makefile targets, package.json. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Injectable config with no mutable global state. DefaultPaths() resolves ~/.agentctl/, NewPaths() for tests. LoadPolicy() returns error on malformed YAML instead of silently falling back. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…cement - Add Workspace field to RequestContext (populated from cwd) - Evaluate write_file block_patterns against file paths - Deny access_secret when TTL exceeds max_ttl - Empty allowed_domains list now means deny-all (nil = no restriction) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace global path helpers and env var lookups with injected config.Paths. Hook fails open on malformed policy. Stub commands added for attach, detach, doctor, ui. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Integration test uses HOME=tempdir for subprocess isolation. Policy loaded from ~/.agentctl/policy.yaml inside fake home. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Attach/detach/status for Claude Code PreToolUse hook. Idempotent, preserves existing settings. Codex stubs included. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Attach/detach/status for Codex MCP server entry. Reads and writes ~/.codex/config.toml, preserves existing config. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
attachanddetachcommands for Claude Code and Codex with~/.agentctl/bootstrapdoctorhealth checks for global policy, trace and approval stores, and per-agent status~/.agentctl/policy.yamlmodel and delete the old repo-root policy fileTesting
make buildmake testmake lintHOME=/tmp/agentctl-smokeforattach claude-code,attach codex,gate,doctor, anduiNotes
go.modnow carries the Bubble Tea dependency set for the new terminal UIgo.modviaactions/setup-go