Remove Docker container environment - #7
Conversation
📝 WalkthroughWalkthroughThe PR replaces the container-based runtime with a unified ChangesUnified Pi sandbox runtime
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/plans/remove-container-runtime.md:
- Around line 197-205: Update the leftover-reference checks in the plan to
exclude .claude/plans/remove-container-runtime.md, or the .claude/plans
directory, from both grep and git grep searches. Preserve the existing
exclusions and expected results while ensuring intentional references in the
tracked plan do not affect either assertion.
- Around line 207-211: Update the optional end-to-end verification around make
wiki and sbx exec pi-kit so it never echoes OPENROUTER_API_KEY or exposes its
value; replace the shell command with a non-secret assertion that verifies the
proxy-managed sentinel behavior without printing the credential.
- Around line 192-195: Update the validation commands in the plan to run bash -n
separately for each script, using a loop over scripts/compile-wiki.sh,
scripts/bash.sh, and scripts/validate-spec.sh so every file is parsed
independently.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 7ebfaf79-2730-44f0-9a2d-d50f68bcd922
📒 Files selected for processing (2)
.claude/plans/remove-container-runtime.md.coderabbit.yaml
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh`:
- Line 15: Update the bundle initialization in lint-okf.sh so its default path
is derived from the script location via BASH_SOURCE[0], rather than the caller’s
working directory. Normalize the resulting workspace/bundle path before passing
it to okf-lint, while preserving any explicitly supplied bundle argument.
In `@pi/README.md`:
- Around line 63-72: Update the gateway secret setup example around sbx secret
set-custom so the API key is not passed through --value or exposed in process
arguments. Use a supported stdin, file-descriptor, or secret-store input method;
if the pinned sbx CLI provides none, replace the command with a
trusted-host-only fallback and require rotating the key after setup.
In `@README.md`:
- Around line 48-51: Resolve the repository-map contradiction between README.md
and AGENTS.md by making both documents consistently describe md/ as tracked
source content and okf/ as ignored except for okf/.okflintrc.json. Update the
conflicting AGENTS.md guidance while preserving the existing generated-output
behavior for okf/.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: fe4897cc-16b9-42a5-b317-4b8bd1293a3b
⛔ Files ignored due to path filters (1)
pdf2md/README.mdis excluded by!pdf2md/**
📒 Files selected for processing (27)
.claude/plans/remove-container-runtime.md.coderabbit.yaml.cspell.json.github/workflows/ci.yml.hadolint.yamlAGENTS.mdMakefileREADME.mdpi/README.mdpi/container/Dockerfilepi/container/agent/AGENTS.mdpi/container/agent/skills/compile-wiki/SKILL.mdpi/container/compose.yamlpi/files/home/.pi/agent/AGENTS.mdpi/files/home/.pi/agent/models.jsonpi/files/home/.pi/agent/settings.jsonpi/files/home/.pi/agent/skills/compile-wiki/SKILL.mdpi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.shpi/sandbox/files/home/.pi/agent/models.jsonpi/sandbox/files/home/.pi/agent/settings.jsonpi/spec.yamlscripts/bash-container.shscripts/bash.shscripts/compile-wiki-container.shscripts/compile-wiki.shscripts/validate-spec.shweb2md/README.md
💤 Files with no reviewable changes (11)
- pi/sandbox/files/home/.pi/agent/settings.json
- .cspell.json
- pi/container/agent/AGENTS.md
- pi/container/agent/skills/compile-wiki/SKILL.md
- pi/sandbox/files/home/.pi/agent/models.json
- pi/container/compose.yaml
- .coderabbit.yaml
- scripts/compile-wiki-container.sh
- scripts/bash-container.sh
- .hadolint.yaml
- pi/container/Dockerfile
🚧 Files skipped from review as they are similar to previous changes (1)
- .claude/plans/remove-container-runtime.md
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh`:
- Line 15: Update the bundle initialization in lint-okf.sh so its default path
is derived from the script location via BASH_SOURCE[0], rather than the caller’s
working directory. Normalize the resulting workspace/bundle path before passing
it to okf-lint, while preserving any explicitly supplied bundle argument.
In `@pi/README.md`:
- Around line 63-72: Update the gateway secret setup example around sbx secret
set-custom so the API key is not passed through --value or exposed in process
arguments. Use a supported stdin, file-descriptor, or secret-store input method;
if the pinned sbx CLI provides none, replace the command with a
trusted-host-only fallback and require rotating the key after setup.
In `@README.md`:
- Around line 48-51: Resolve the repository-map contradiction between README.md
and AGENTS.md by making both documents consistently describe md/ as tracked
source content and okf/ as ignored except for okf/.okflintrc.json. Update the
conflicting AGENTS.md guidance while preserving the existing generated-output
behavior for okf/.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: fe4897cc-16b9-42a5-b317-4b8bd1293a3b
⛔ Files ignored due to path filters (1)
pdf2md/README.mdis excluded by!pdf2md/**
📒 Files selected for processing (27)
.claude/plans/remove-container-runtime.md.coderabbit.yaml.cspell.json.github/workflows/ci.yml.hadolint.yamlAGENTS.mdMakefileREADME.mdpi/README.mdpi/container/Dockerfilepi/container/agent/AGENTS.mdpi/container/agent/skills/compile-wiki/SKILL.mdpi/container/compose.yamlpi/files/home/.pi/agent/AGENTS.mdpi/files/home/.pi/agent/models.jsonpi/files/home/.pi/agent/settings.jsonpi/files/home/.pi/agent/skills/compile-wiki/SKILL.mdpi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.shpi/sandbox/files/home/.pi/agent/models.jsonpi/sandbox/files/home/.pi/agent/settings.jsonpi/spec.yamlscripts/bash-container.shscripts/bash.shscripts/compile-wiki-container.shscripts/compile-wiki.shscripts/validate-spec.shweb2md/README.md
💤 Files with no reviewable changes (11)
- pi/sandbox/files/home/.pi/agent/settings.json
- .cspell.json
- pi/container/agent/AGENTS.md
- pi/container/agent/skills/compile-wiki/SKILL.md
- pi/sandbox/files/home/.pi/agent/models.json
- pi/container/compose.yaml
- .coderabbit.yaml
- scripts/compile-wiki-container.sh
- scripts/bash-container.sh
- .hadolint.yaml
- pi/container/Dockerfile
🚧 Files skipped from review as they are similar to previous changes (1)
- .claude/plans/remove-container-runtime.md
🛑 Comments failed to post (1)
pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh (1)
15-15: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
Resolve the default bundle path independently of the caller's working directory.
Line 15 sets the default to
./okf. Running the documented script from another directory reports a missing bundle even when the repository containsokf/.Derive the workspace path from
BASH_SOURCE[0], or require and normalize an absolute bundle path before invokingokf-lint.As per path instructions, shell scripts must resolve paths independently of the caller's working directory.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh` at line 15, Update the bundle initialization in lint-okf.sh so its default path is derived from the script location via BASH_SOURCE[0], rather than the caller’s working directory. Normalize the resulting workspace/bundle path before passing it to okf-lint, while preserving any explicitly supplied bundle argument.Source: Path instructions
Removes the Docker Compose Pi runtime, leaving the Docker Sandbox (sbx) kit as
the only way to compile a wiki. Flattens the kit to
pi/, drops the now-deadhadolint toolchain, and rewrites the documentation around a single runtime.
Added
pi/README.md, covering model configuration, switching to another provider,and the two failure modes worth checking first. Moved out of
README.md.README.mdlisting what sits in the repo root.README.md..claude/plans/remove-container-runtime.md, the plan this branch implements..cursor/plans/**and.claude/plans/**from review.
Changed
pi/sandbox/topi/.spec.yamlandfiles/are now one level up. The
files/level is fixed by the Sandbox Kit schemaand could not be flattened further.
make wiki-sandboxis nowmake wiki. With one runtime left there isnothing to disambiguate against.
-sandboxsuffix:compile-wiki-sandbox.sh→scripts/compile-wiki.sh,bash-sandbox.sh→scripts/bash.sh.README.mdrewritten as a landing page, 280 → 156 lines, with the deepreference material moved to
pi/README.md.AGENTS.mdrewritten for a single runtime; the "keep both config copies insync by hand" instruction is gone, since there is only one copy.
pdf2md/README.mdandweb2md/README.mdabsorbed the sections that used tolive in the root
README.md.Lint (markdownlint, shellcheck, ruff).Removed
pi/container/in full:Dockerfile,compose.yaml, and its own copies ofAGENTS.md,models.json,settings.jsonandskills/compile-wiki/SKILL.md.scripts/bash-container.shandscripts/compile-wiki-container.sh.make wiki-containertarget. Removed outright rather than deprecated —no alias is kept.
.hadolint.yaml, themake lintinvocation, thepinned-binary install step in CI, and the CodeRabbit
hadolinttool entryplus its
**/Dockerfileand**/compose.yamlreview instructions. TheDockerfile it existed for is gone.
containerisedandhadolintfrom.cspell.json.OPENROUTER_API_KEYno longer needs to beexported into a host shell to compile a wiki. The remaining runtime takes it
from
sbx secret, proxy-managed, so the key never enters the VM.Fixed
README.mdclaimed that bothmd/andokf/were gitignored. Onlyokf/is — the
md/*rule in.gitignoreis commented out andmd/GoogleStyleGuide.mdhas been tracked since the initial commit. The textnow describes what the repo actually does.
Summary by CodeRabbit
make wikiand removed the separate container-based workflow.