Skip to content

Remove Docker container environment - #7

Merged
lars20070 merged 8 commits into
masterfrom
lars20070/morechanges
Aug 2, 2026
Merged

Remove Docker container environment#7
lars20070 merged 8 commits into
masterfrom
lars20070/morechanges

Conversation

@lars20070

@lars20070 lars20070 commented Aug 1, 2026

Copy link
Copy Markdown
Owner

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-dead
hadolint 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.
  • An overview table in README.md listing what sits in the repo root.
  • A link to the OKF specification from README.md.
  • .claude/plans/remove-container-runtime.md, the plan this branch implements.
  • CodeRabbit path filters excluding .cursor/plans/** and .claude/plans/**
    from review.

Changed

  • The kit root moved from pi/sandbox/ to pi/. spec.yaml and files/
    are now one level up. The files/ level is fixed by the Sandbox Kit schema
    and could not be flattened further.
  • make wiki-sandbox is now make wiki. With one runtime left there is
    nothing to disambiguate against.
  • The drivers lost their -sandbox suffix: compile-wiki-sandbox.sh
    scripts/compile-wiki.sh, bash-sandbox.shscripts/bash.sh.
  • README.md rewritten as a landing page, 280 → 156 lines, with the deep
    reference material moved to pi/README.md.
  • AGENTS.md rewritten for a single runtime; the "keep both config copies in
    sync by hand" instruction is gone, since there is only one copy.
  • pdf2md/README.md and web2md/README.md absorbed the sections that used to
    live in the root README.md.
  • CI: the lint job is now Lint (markdownlint, shellcheck, ruff).

Removed

  • The Docker Compose runtimepi/container/ in full: Dockerfile,
    compose.yaml, and its own copies of AGENTS.md, models.json,
    settings.json and skills/compile-wiki/SKILL.md.
  • scripts/bash-container.sh and scripts/compile-wiki-container.sh.
  • The make wiki-container target. Removed outright rather than deprecated —
    no alias is kept.
  • hadolint, everywhere: .hadolint.yaml, the make lint invocation, the
    pinned-binary install step in CI, and the CodeRabbit hadolint tool entry
    plus its **/Dockerfile and **/compose.yaml review instructions. The
    Dockerfile it existed for is gone.
  • containerised and hadolint from .cspell.json.
  • With the Compose path gone, OPENROUTER_API_KEY no longer needs to be
    exported 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.md claimed that both md/ and okf/ were gitignored. Only okf/
    is — the md/* rule in .gitignore is commented out and
    md/GoogleStyleGuide.md has been tracked since the initial commit. The text
    now describes what the repo actually does.

Summary by CodeRabbit

  • New Features
    • Added a unified Pi sandbox kit with provider and model configuration, troubleshooting guidance, and wiki compilation support.
    • Added documentation for PDF and website Markdown helpers.
  • Documentation
    • Updated setup, usage, linting, validation, and development instructions.
    • Clarified sandbox paths, configuration behavior, credential handling, and deterministic scraper output.
  • Refactor
    • Consolidated wiki generation under make wiki and removed the separate container-based workflow.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR replaces the container-based runtime with a unified pi/ sandbox kit. It updates build scripts, CI, linting, agent configuration, provider settings, documentation, and migration checks.

Changes

Unified Pi sandbox runtime

Layer / File(s) Summary
Consolidate the sandbox runtime
.claude/plans/remove-container-runtime.md, pi/spec.yaml, scripts/*.sh
The plan removes container-specific components and relocates the sandbox kit and drivers to pi/. Scripts and validation now use the new paths.
Configure the Pi agent workflow
pi/files/home/.pi/agent/*
The kit adds provider settings, maintainer instructions, the compile-wiki skill, and an okf-lint wrapper.
Update build and validation tooling
Makefile, .github/workflows/ci.yml, .coderabbit.yaml, .cspell.json
Make, CI, review filters, and spell-checking remove container and Hadolint references. The wiki target uses the unified script.
Align project documentation
README.md, AGENTS.md, pi/README.md, web2md/README.md
Documentation describes the unified runtime, updated paths, provider configuration, scraper helpers, and generated Markdown behavior.
Define migration verification
.claude/plans/remove-container-runtime.md
The plan records lint, test, kit validation, syntax, reference-search, optional end-to-end, and CI checks.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title starts with the imperative verb "Remove," names the Docker container environment, and is 35 characters long.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lars20070/morechanges

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.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 60dae2f and e545acb.

📒 Files selected for processing (2)
  • .claude/plans/remove-container-runtime.md
  • .coderabbit.yaml

Comment thread .claude/plans/remove-container-runtime.md
Comment thread .claude/plans/remove-container-runtime.md Outdated
Comment thread .claude/plans/remove-container-runtime.md
@lars20070 lars20070 changed the title More changes Remove Docker container environment Aug 1, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between e545acb and e52e8b6.

⛔ Files ignored due to path filters (1)
  • pdf2md/README.md is excluded by !pdf2md/**
📒 Files selected for processing (27)
  • .claude/plans/remove-container-runtime.md
  • .coderabbit.yaml
  • .cspell.json
  • .github/workflows/ci.yml
  • .hadolint.yaml
  • AGENTS.md
  • Makefile
  • README.md
  • pi/README.md
  • pi/container/Dockerfile
  • pi/container/agent/AGENTS.md
  • pi/container/agent/skills/compile-wiki/SKILL.md
  • pi/container/compose.yaml
  • pi/files/home/.pi/agent/AGENTS.md
  • pi/files/home/.pi/agent/models.json
  • pi/files/home/.pi/agent/settings.json
  • pi/files/home/.pi/agent/skills/compile-wiki/SKILL.md
  • pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh
  • pi/sandbox/files/home/.pi/agent/models.json
  • pi/sandbox/files/home/.pi/agent/settings.json
  • pi/spec.yaml
  • scripts/bash-container.sh
  • scripts/bash.sh
  • scripts/compile-wiki-container.sh
  • scripts/compile-wiki.sh
  • scripts/validate-spec.sh
  • web2md/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

Comment thread pi/README.md
Comment thread README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between e545acb and e52e8b6.

⛔ Files ignored due to path filters (1)
  • pdf2md/README.md is excluded by !pdf2md/**
📒 Files selected for processing (27)
  • .claude/plans/remove-container-runtime.md
  • .coderabbit.yaml
  • .cspell.json
  • .github/workflows/ci.yml
  • .hadolint.yaml
  • AGENTS.md
  • Makefile
  • README.md
  • pi/README.md
  • pi/container/Dockerfile
  • pi/container/agent/AGENTS.md
  • pi/container/agent/skills/compile-wiki/SKILL.md
  • pi/container/compose.yaml
  • pi/files/home/.pi/agent/AGENTS.md
  • pi/files/home/.pi/agent/models.json
  • pi/files/home/.pi/agent/settings.json
  • pi/files/home/.pi/agent/skills/compile-wiki/SKILL.md
  • pi/files/home/.pi/agent/skills/compile-wiki/scripts/lint-okf.sh
  • pi/sandbox/files/home/.pi/agent/models.json
  • pi/sandbox/files/home/.pi/agent/settings.json
  • pi/spec.yaml
  • scripts/bash-container.sh
  • scripts/bash.sh
  • scripts/compile-wiki-container.sh
  • scripts/compile-wiki.sh
  • scripts/validate-spec.sh
  • web2md/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 contains okf/.

Derive the workspace path from BASH_SOURCE[0], or require and normalize an absolute bundle path before invoking okf-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

@lars20070
lars20070 merged commit 17abff0 into master Aug 2, 2026
4 checks passed
@lars20070
lars20070 deleted the lars20070/morechanges branch August 2, 2026 14:49
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