Skip to content

chore: clean public repository artifacts - #303

Merged
100yenadmin merged 2 commits into
mainfrom
codex/public-hygiene-20260529
May 29, 2026
Merged

chore: clean public repository artifacts#303
100yenadmin merged 2 commits into
mainfrom
codex/public-hygiene-20260529

Conversation

@100yenadmin

@100yenadmin 100yenadmin commented May 29, 2026

Copy link
Copy Markdown
Member

Summary

  • remove local-only CLAUDE.md and ignore future local operator/agent artifacts
  • remove tracked generated qa/runs screenshots/reports and ignore future QA run outputs
  • replace tracked machine-specific qa/qa.mcp.json with portable qa/qa.mcp.example.json
  • sanitize public docs/config comments that referenced local machine paths or local-only operating notes

Validation

  • pwd
  • python3 -m json.tool qa/qa.mcp.example.json
  • bash -n qa/run_duo.sh qa/play_human.sh qa/run_combat_sprint.sh qa/run_party.sh qa/run_qa.sh script/unblock_native_app.sh
  • python3 -m py_compile scripts/license_check.py tools/ingest/private_compendium_sidecar.py viewer/server.py servers/engine/server.py servers/voice/playtest_voice.py servers/voice/smoke_test.py
  • python3 scripts/license_check.py
  • UV_PROJECT_ENVIRONMENT=/Volumes/LEXAR/Codex/worldos-public-hygiene-engine-venv-20260529 uv run --directory servers/engine python -m pytest tests/test_private_compendium_sidecar.py -q -p no:xdist
  • git diff --check
  • git diff --cached --check
  • git ls-files -ci --exclude-standard
  • public path scan for local machine/session-note references
  • tracked artifact check for CLAUDE.md, qa/qa.mcp.json, and qa/runs

Summary by CodeRabbit

  • Documentation
    • Updated runbooks and guides for more generic, portable workflows; removed deprecated docs and clarified QA/merge/test guidance (CI-first, focused local single-process tests).
  • Configuration & Build
    • Switched defaults to relative/home-directory paths and standardized QA/MCP templates for easier local runs.
  • Chores
    • Broadened license checks to block private-compendium commits, cleaned QA artifacts, and updated tooling/docs for the WorldOS desktop app.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 29, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c1718270-3d7d-47d3-a32a-6f66115ae458

📥 Commits

Reviewing files that changed from the base of the PR and between 084cac4 and ff375ae.

📒 Files selected for processing (3)
  • WorldOS-RUNBOOK.md
  • qa/run_duo.sh
  • script/unblock_native_app.sh
🚧 Files skipped from review as they are similar to previous changes (3)
  • qa/run_duo.sh
  • script/unblock_native_app.sh
  • WorldOS-RUNBOOK.md

📝 Walkthrough

Walkthrough

This PR modernizes the WorldOS repository's development environment to support portable checkouts from any location by replacing hardcoded absolute paths (primarily from /Volumes/LEXAR) with home-directory-based defaults and relative paths. It simultaneously updates MCP configuration templating strategy, refines operational guidance to reflect new test policies, and performs cleanup of legacy documentation and test artifacts.

Changes

Portable checkout environment

Layer / File(s) Summary
MCP configuration template and script updates
qa/qa.mcp.example.json, qa/run_*.sh
All five QA orchestration scripts (run_combat_sprint.sh, run_duo.sh, run_party.sh, run_qa.sh, play_human.sh) are updated to source the portable qa.mcp.example.json template (with relative paths) instead of qa.mcp.json, and inject per-run state directories and worktree-local server directory overrides via inline Python patching.
Private compendium home-directory defaults
tools/ingest/private_compendium_sidecar.py, tools/ingest/README.md, docs/PRIVATE_COMPENDIUM_SIDECAR.md
Default sidecar roots switch from /Volumes/LEXAR/worldos-private-compendium to ~/.worldos/private-compendium (WorldOS) and ~/.clawdnd/private-compendium (legacy), with documentation and env var references updated accordingly.
Operational guidance for portable dev environment
WorldOS-RUNBOOK.md, .claude/skills/worldos-dev/SKILL.md, CHANGELOG.md
Dev loop guidance is refined to emphasize GitHub CI for broad validation plus focused single-process local tests (retaining -p no:xdist), session notes are treated as private working artifacts, resume checklists reference relative worktree paths instead of /Volumes/..., and repo portability notes are generalized.
Application startup and environment setup
script/unblock_native_app.sh, servers/voice/playtest_voice.py, servers/voice/smoke_test.py
The native app startup script now targets WorldOS and auto-detects the repo via WORLDOS_REPO env var fallback chain, and voice server documentation defaults HF_HOME to $HOME/.cache/huggingface instead of a fixed external disk mount.
License gating and repository ignores
.gitignore, scripts/license_check.py
.gitignore is expanded to exclude QA run output directories and local operator/agent configuration files, and the license gate adds worldos-private-compendium/ to the forbidden prefix list to prevent accidental commits.
UI audit documentation path normalization
docs/ui-audit/MASTER_TRACKER.md, docs/ui-audit/screens/character.md, docs/ui-audit/screens/launcher.md, docs/ui-audit/screens/table.md, docs/ui-audit/screenshots/README.md
Hardcoded local filesystem paths are removed from audit evidence and session reference sections; screenshot regeneration instructions switch to mktemp -d and $PWD instead of fixed paths.
Code comment and docstring refinements
servers/engine/server.py, viewer/server.py
Clarifies that using canon NPCs/companions as PCs is a documented QA path, and explains how ingested artwork paths are re-anchored for portability across repository clones/moves.
Cleanup and test artifact removal
CLAUDE.md, qa/runs/, qa/SCORECARD.md
Removes the obsolete CLAUDE.md file, clears screen coverage data from two old QA sweep runs, and updates the ow-fix-011115 scorecard entry description to reflect the new MCP template approach.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

Poem

🐰 A rabbit hops through paths once carved in stone,

Now nuzzles ~/.worldos as a cozy home;
No /Volumes/LEXAR to slow our run —
Portable checkouts: WorldOS for everyone!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore: clean public repository artifacts' clearly and concisely summarizes the main objective of the PR: removing local-only files and machine-specific artifacts from the public repository.
Description check ✅ Passed The PR description includes a clear Summary section listing all major changes, a Validation section with comprehensive checks run, but is missing the Licensing/CLA section required by the template.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
script/unblock_native_app.sh (1)

35-35: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update stale operator-facing text to match WorldOS and primary env var.

These messages still reference CLAWDND_REPO/“ClawDnD” even though the script now targets WorldOS and prefers WORLDOS_REPO. Please align the error/help text so operators get the correct override variable and product name.

Proposed text-only cleanup
-if [ ! -d "$REPO" ]; then
-  err "repo not found at $REPO (set CLAWDND_REPO to override)"; exit 2
+if [ ! -d "$REPO" ]; then
+  err "repo not found at $REPO (set WORLDOS_REPO to override; CLAWDND_REPO is also supported)"; exit 2
 fi
@@
-step "Build + launch the ClawDnD app (prefers Developer ID, falls back to ad-hoc)"
+step "Build + launch the WorldOS app (prefers Developer ID, falls back to ad-hoc)"
@@
-  printf "\n  Open the ClawDnD window and click Resume / Forge a hero / Begin.\n  Engine 1385/1385 ✓ · viewer 90/90 ✓ · all 14 screens render polished.\n\n"
+  printf "\n  Open the WorldOS window and click Resume / Forge a hero / Begin.\n  Engine 1385/1385 ✓ · viewer 90/90 ✓ · all 14 screens render polished.\n\n"

Also applies to: 55-55, 75-75

🤖 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 `@script/unblock_native_app.sh` at line 35, Update the operator-facing
error/help text to reference the correct product name and env var: replace
occurrences of 'CLAWDND_REPO' and "ClawDnD" with 'WORLDOS_REPO' and "WorldOS" in
the err messages that mention the repo override (e.g., the err call that
currently reads 'repo not found at $REPO (set CLAWDND_REPO to override)'; exit 2
and the similar err/help strings found later in the script). Keep the same err
function and $REPO usage, just change the literal text to mention WORLDOS_REPO
and WorldOS so operators see the right override variable and product name.
🤖 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 `@qa/run_duo.sh`:
- Line 41: The script currently rewrites package paths by unconditionally
substituting "/servers/" which duplicates segments for relative values like
"servers/engine"; update the normalization logic in run_duo.sh so it first
normalizes the extracted --directory value (trim any leading "./"), then build
the final path by: if the value already contains "/servers/" use it as-is
relative to ROOT, else if it starts with "servers/" join as "$ROOT/<dir>" (not
"$ROOT/servers/<dir>"), and otherwise prepend "$ROOT/servers/<dir>" — apply the
same fix to both places that handle the package directory extraction/rewrite
where the "/servers/" replacement is performed.

In `@WorldOS-RUNBOOK.md`:
- Around line 172-174: The phrase "gh pr merge --squash --admin" in the merge
flow description should be updated to match the CI-first policy; locate the
occurrences of that exact token/command (appearing in the lines that read "gh pr
merge --squash --admin") and replace them with wording that instructs to merge
via the normal PR path after CI checks pass (e.g., "merge after checks pass /
use the standard PR merge flow") and remove the explicit --admin bypass; apply
the same change to the other occurrence noted (also referenced around lines
392-393).

---

Outside diff comments:
In `@script/unblock_native_app.sh`:
- Line 35: Update the operator-facing error/help text to reference the correct
product name and env var: replace occurrences of 'CLAWDND_REPO' and "ClawDnD"
with 'WORLDOS_REPO' and "WorldOS" in the err messages that mention the repo
override (e.g., the err call that currently reads 'repo not found at $REPO (set
CLAWDND_REPO to override)'; exit 2 and the similar err/help strings found later
in the script). Keep the same err function and $REPO usage, just change the
literal text to mention WORLDOS_REPO and WorldOS so operators see the right
override variable and product name.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 42595442-1920-434e-8460-fae2a7863c6d

📥 Commits

Reviewing files that changed from the base of the PR and between a3a7bf6 and 084cac4.

⛔ Files ignored due to path filters (32)
  • qa/runs/sweep-20260528-225614/shots/acts.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/bestiary.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/character.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/combat.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/create.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/dialogue.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/forge.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/inventory.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/journal.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/launcher.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/map.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/merchant.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/relations.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/seed.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/settings.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-225614/shots/table.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/acts.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/bestiary.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/character.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/combat.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/create.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/dialogue.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/forge.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/inventory.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/journal.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/launcher.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/map.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/merchant.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/relations.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/seed.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/settings.png is excluded by !**/*.png
  • qa/runs/sweep-20260528-233434/shots/table.png is excluded by !**/*.png
📒 Files selected for processing (30)
  • .claude/skills/worldos-dev/SKILL.md
  • .gitignore
  • CHANGELOG.md
  • CLAUDE.md
  • WorldOS-RUNBOOK.md
  • docs/PRIVATE_COMPENDIUM_SIDECAR.md
  • docs/ui-audit/MASTER_TRACKER.md
  • docs/ui-audit/screens/character.md
  • docs/ui-audit/screens/launcher.md
  • docs/ui-audit/screens/table.md
  • docs/ui-audit/screenshots/README.md
  • qa/SCORECARD.md
  • qa/play_human.sh
  • qa/qa.mcp.example.json
  • qa/run_combat_sprint.sh
  • qa/run_duo.sh
  • qa/run_party.sh
  • qa/run_qa.sh
  • qa/runs/sweep-20260528-225614/screen_coverage.json
  • qa/runs/sweep-20260528-225614/screen_coverage.md
  • qa/runs/sweep-20260528-233434/screen_coverage.json
  • qa/runs/sweep-20260528-233434/screen_coverage.md
  • script/unblock_native_app.sh
  • scripts/license_check.py
  • servers/engine/server.py
  • servers/voice/playtest_voice.py
  • servers/voice/smoke_test.py
  • tools/ingest/README.md
  • tools/ingest/private_compendium_sidecar.py
  • viewer/server.py
💤 Files with no reviewable changes (5)
  • qa/runs/sweep-20260528-233434/screen_coverage.json
  • qa/runs/sweep-20260528-225614/screen_coverage.md
  • CLAUDE.md
  • qa/runs/sweep-20260528-225614/screen_coverage.json
  • qa/runs/sweep-20260528-233434/screen_coverage.md

Comment thread qa/run_duo.sh
Comment thread WorldOS-RUNBOOK.md
@100yenadmin
100yenadmin merged commit c03a7f7 into main May 29, 2026
7 checks passed
@100yenadmin
100yenadmin deleted the codex/public-hygiene-20260529 branch May 29, 2026 17:01
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