Open
Conversation
Establish the Go module, protobuf contract, config/DB layers, and gRPC skeleton for nightshiftd per RFC #113. All 12 RPCs return Unimplemented. - Proto: nightshift.runtime.v1.AgentRuntime with buf codegen - Config: TOML structs matching RFC defaults, Duration type - DB: SQLite with WAL, agents/runs/run_events tables - Server: gRPC stub embedding UnimplementedAgentRuntimeServer - Main: boot sequence with config, slog, DB, Unix socket, signal handling Closes #115 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1: Add container_id column migration to runs table, InsertEvent, UpdateRunContainerID, ListRunsByAgentID, and ListActiveRuns DB methods with tests. Phase 2: Add agent HTTP client implementing health checks, run dispatch, and SSE event streaming for communicating with agent containers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace cio.NullIO with log-capturing streams so container output is visible in daemon logs. Log task exit codes on both normal exit and SIGKILL timeout paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand the ParseImageLabels switch so image authors can use the explicit runtime names in addition to "container" and "vm". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add ExportImage/ImportImage to the containerd Client interface and implement ImageBridge to automatically export images from runc-containerd and import them into firecracker-containerd with devmapper unpack. Also normalizes image refs throughout the client (short names like "foo/bar:latest" → "docker.io/foo/bar:latest") and passes vCPU/memory configuration to Firecracker VM creation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add env_json column to runs table so CreateRunRequest.env is persisted. The orchestrator now unmarshals run env and merges it with the agent config env (run-scoped values take precedence), then passes the merged map to both the container environment and the agent /run HTTP request. This allows callers to pass secrets like ANTHROPIC_API_KEY at run creation time rather than baking them into the agent config. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add a Claude Agent SDK example that implements the Agent Instance Protocol using aiohttp and claude-agent-sdk with bypassPermissions mode. Includes Dockerfile with Node.js for SDK runtime, non-root user, and nightshift image labels. README documents firecracker DNS and NAT setup for operators. Also fix echo-agent README grpcurl examples to include proto import path (server has no gRPC reflection). Co-Authored-By: Claude Opus 4.6 <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.
No description provided.