Skip to content

feat(docker): add Runtime Execution Layer with language-specific containers#6

Merged
aWN4Y25pa2EK merged 4 commits intomasterfrom
feat/runtime-execution-layer
Jan 9, 2026
Merged

feat(docker): add Runtime Execution Layer with language-specific containers#6
aWN4Y25pa2EK merged 4 commits intomasterfrom
feat/runtime-execution-layer

Conversation

@aWN4Y25pa2EK
Copy link
Member

@aWN4Y25pa2EK aWN4Y25pa2EK commented Jan 9, 2026

Summary

  • Add 6 Docker containers for HCA autonomous code execution (base, rust, typescript, python, generic, infrastructure)
  • Each container extends common base image with OpenCode pre-configured for autonomous operation
  • Add SKILL.md templates defining capabilities and allowed tools per runtime
  • Update ARCHITECTURE.md with Runtime Execution Layer documentation and RuntimeCoordinatorHolon specification

Container Details

Runtime Port Key Tools
Base - OpenCode 1.1.8, ast-grep 0.40, ripgrep, jq, yq, fd
Rust 4100 rustc 1.92, cargo, clippy, nextest, sqlx-cli
TypeScript 4101 Bun 1.3.5, Node 20, tsc, vitest, eslint, biome
Python 4102 Python 3.11, uv 0.9, pytest, ruff, mypy
Generic 4103 markdownlint, prettier, pandoc, aspell
Infrastructure 4104 kubectl 1.35, helm 3.19, helmfile 1.2, kustomize

Relates to

  • ARDGBL-1073 (Runtime Execution Layer)
  • ARDGBL-1074-1080 (Individual container subtasks)

Test plan

  • All 6 container images built successfully
  • Verified tool versions in each container
  • Push images to ghcr.io/ardaglobal/
  • CI/CD pipeline for automated builds

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Expanded architecture with a Runtime Coordinator, Runtime Execution Layer, container registry, routing, port mappings, SKILL mappings, build/run guidance, and roadmap/telemetry notes
    • Added per-runtime READMEs and SKILL guides with quick-start and usage notes
  • New Features

    • Added runtime containers for Rust, TypeScript, Python, Generic, and Infrastructure plus a shared runtime base image and entrypoint/config defaults
  • Chores

    • CI workflow to build and publish multi-arch runtime images

✏️ Tip: You can customize this high-level summary in your review settings.

…ainers

Add 6 Docker containers for HCA autonomous code execution:
- Base: OpenCode 1.1.8, ast-grep, ripgrep, jq, yq, fd, python3
- Rust: rustc 1.92, cargo, clippy, nextest, sqlx-cli
- TypeScript: Bun 1.3.5, Node 20, tsc, vitest, eslint, biome
- Python: Python 3.11, uv 0.9, pytest, ruff, mypy
- Generic: markdownlint, prettier, pandoc, aspell
- Infrastructure: kubectl 1.35, helm 3.19, helmfile 1.2, kustomize

Each container includes SKILL.md templates defining capabilities and
allowed tools for OpenCode autonomous operation.

Updates ARCHITECTURE.md with Runtime Execution Layer documentation
including RuntimeCoordinatorHolon specification and routing logic.

Relates to: ARDGBL-1073

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Jan 9, 2026

📝 Walkthrough

Walkthrough

Adds a Runtime Coordinator holon and a Runtime Execution Layer with five language-specific runtime containers (Rust, TypeScript, Python, Generic, Infrastructure), container images/CI, SKILL.md definitions, routing and port mappings, updated architecture docs/diagrams, and related Dockerfiles and entry/config files.

Changes

Cohort / File(s) Summary
Architecture & MVP docs
impl/mvp/ARCHITECTURE.md
Adds Runtime Coordinator to holon hierarchy and ARCH diagram; inserts Runtime Containers subgraph, routing flow, new anchors, and roadmap notes.
Opencode reasoning docs
impl/mvp/docker/opencode/README.md
Replaces ASCII diagram with reasoning-worker focus; documents PRIMARY/BATCH/PREMIUM ports and references Runtime Containers; adds quick-start build/run instructions.
Runtime registry & orchestration docs
impl/mvp/docker/runtimes/README.md, impl/mvp/docker/runtimes/config/runtime-containers.yaml*
New README describing runtime container design, registry mappings, build/run guidance, SKILL.md placement, container build order and TODOs.
Container base image & config
impl/mvp/docker/runtimes/base/Dockerfile, impl/mvp/docker/runtimes/base/entrypoint.sh, impl/mvp/docker/runtimes/base/opencode-config.json
New HCA runtime base image, entrypoint handling GITHUB_TOKEN/git config and OPENCODE_CONFIG_CONTENT, healthcheck, defaults, opencode user layout, and exposed port.
Runtime images & skills
impl/mvp/docker/runtimes/*/Dockerfile, impl/mvp/docker/runtimes/*/SKILL.md
(rust, typescript, python, generic, infrastructure)
Adds five runtime Dockerfiles extending base, each installing language/toolchain, copying SKILL.md, setting labels/ports, and documenting workflows and detection signals.
Container build CI
.github/workflows/docker-runtimes.yml
New GitHub Actions workflow to build/push multi-arch base and per-runtime images with caching, tagging, matrixed runtime builds, and summary outputs.
Minor code formatting & small logic tweak
impl/mvp/src/**
impl/mvp/src/holons/adk/openrouter-llm.ts, .../handlers.ts, .../tools/*, .../holons/*, .../artifacts/schemas.ts, .../config.ts
Predominantly formatting/reflow edits across many TS files; one control-flow tweak in geminiToOpenAI to emit function responses as tool messages and continue. No public API signature changes.

Sequence Diagram(s)

sequenceDiagram
    actor Issue as Incoming Issue
    participant RC as Runtime Coordinator
    participant Detector as Project Detector
    participant Registry as Container Registry
    participant Container as Runtime Container
    participant OpenRouter as OpenRouter/OpenCode

    Issue->>RC: Submit task / description
    RC->>Detector: Analyze description, extract project markers
    Detector-->>RC: Detected language/runtime
    RC->>Registry: Lookup matching container (ports 4100–4104)
    Registry-->>RC: Return chosen container endpoint
    RC->>Container: Route issue + SKILL to chosen runtime
    Container->>OpenRouter: Invoke toolchain / external LLMs
    OpenRouter-->>Container: Return execution results
    Container-->>Issue: Deliver results / artifacts
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

"🐰
I sniff the bytes and guide each call,
Five runtimes ready in a Docker hall,
Skills in pockets, ports all aligned,
I hop through routes that I designed,
A happy rabbit cheers this sprawl!"


📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between 241bac7 and 2a4ccf7.

📒 Files selected for processing (1)
  • .github/workflows/docker-runtimes.yml

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

aWN4Y25pa2EK and others added 2 commits January 9, 2026 18:37
- Fix unnecessary regex escape characters in cursor-reviewer.ts
- Fix unnecessary regex escape characters in github-client.ts
- Run prettier on all TypeScript files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add docker-runtimes.yml workflow for automated multi-platform builds
- Build base image first, then all runtime images in parallel
- Support for linux/amd64 and linux/arm64 platforms
- Add BASE_IMAGE build arg to all runtime Dockerfiles for CI compatibility
- Trigger on push/PR to master when runtime files change
- Generate build summaries with pull/run commands

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@openhands-ai
Copy link

openhands-ai bot commented Jan 9, 2026

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Build HCA Runtime Containers

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #6 at branch `feat/runtime-execution-layer`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

- Use digest-based image references (immutable, immediately available)
- Add registry availability check with retry loop (30 attempts, 10s each)
- Skip runtime builds on PRs (base isn't pushed, so runtimes can't build)
- Add separate PR validation summary
- Pass base image digest to runtime builds via BASE_IMAGE arg

Fixes issue where runtime builds failed because base image wasn't
propagated in registry yet after push.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@aWN4Y25pa2EK aWN4Y25pa2EK merged commit b890723 into master Jan 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant