chore(pbnj): convert to submodule of combined PMOVES-pinokio fork - #2175
Conversation
…pbnj/pinokio/api -> pbnj/api)
|
Warning Review limit reached
Next review available in: 23 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (7)
📒 Files selected for processing (90)
✨ Finishing Touches🧪 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 |
… conflict) Conflict: main added PMOVES-OpenRoom, Pmoves-pretext, PMOVES-Spark-VSS submodule entries after the pbnj-conversion commit was made. Resolved by taking main's .gitmodules content (with the new submodule entries) and appending the pbnj entry at the end. The pbnj/ tree from main (94 loose files) is correctly removed; pbnj is staged as a submodule gitlink (160000) pointing at 40a6295. Resolves mergeability for PR #2175 (pbnj-meta-submodule conversion).
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a13b329e88
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ### 2. Configure PBNJ Launchers | ||
|
|
||
| PBNJ launcher configs are at `pbnj/pinokio/api/pmoves-services/`. | ||
| PBNJ launcher configs are at `pbnj/api/pmoves-services/`. |
There was a problem hiding this comment.
Migrate executable PBNJ references to the new layout
When the demo room is launched through P7/Hermes or .claude/skills/demo-room, the migration leaves executable references at the removed pbnj/pinokio/api/pmoves-pbnj/demo.js path (pmoves/config/rooms/demo.room.extras.json:8 and .claude/skills/demo-room/SKILL.md:43,72). Since this change establishes pbnj/api/* as the replacement layout, those flows can no longer find demo.js; update the runtime and skill references along with the runbook paths.
AGENTS.md reference: AGENTS.md:L7-L7
Useful? React with 👍 / 👎.
|
Marked ready for review. Resolved one .gitmodules merge conflict that came up when 123 main commits landed between the branch's creation (2026-07-21) and now — main added PMOVES-OpenRoom, Pmoves-pretext, and PMOVES-Spark-VSS submodule entries. Resolution: kept main's .gitmodules (with the three new entries) and appended the pbnj entry at the end. The 80-file pbnj/ tree deletion applies cleanly (no main changes to those files since 2026-07-21). CI: green except \ riage\ which is the pre-existing Bun runtime bug (unrelated to this PR's diff). The PR is otherwise mergeable. |
…lves recurring triage BLOCKED) (#2302) * docs(trail): sign creator-collab + pbnj lane merges (2026-07-30) - creator-collab lane SHIPS at 7/7 (PR #2293 squash 4c1c384) - pbnj-meta-submodule conversion lands (PR #2175 squash e094d95) - cron self-disarm path: state file on main now shows ship_count=7, status=complete, closing_summary posted; operator paused the creator-collab cron from the Mavis UI (mavis CLI is broken for the command-line disarm path; not blocking the lane SHIP) Next: pmoves-pinokio fork sync to P8 + pinokio_bridge default-up + supabase stack default-up + claude-review/triage Bun CI fix. * docs(trail): queued lanes plan post creator-collab SHIP (2026-07-30) 4 queued follow-on lanes ranked by impact: 1. pmoves-pinokio fork sync to P8 (no-op, gitlink already at HEAD) 2. pinokio_bridge default-up (high impact, slice 2-7 actually exercisable) 3. supabase stack default-up (real-running fix for pmoves-ui degraded) 4. claude-review + triage Bun runtime CI bug (meta-blocker for all PRs) Operator said 'proceed though all 4 update AGNOTE first to track lanes'. * fix(workflows): swap claude-code-action OAuth to direct API key Root cause: CLAUDE_CODE_OAUTH_TOKEN (Pro/Max subscription) is expired. The action's Claude API call returns result is_error:true after ~17s, exits 1, and the workflow's triage check fails with BLOCKED. The action's own dependencies install fine (Bun 1.3.14 cache hit; the claude-code-action runtime is healthy) — the failure is downstream, in the OAuth-authenticated Claude API call. Fix: swap claude_code_oauth_token for anthropic_api_key on all 3 workflows that use anthropics/claude-code-action@be7b93b: - .github/workflows/review-comment-monitor.yml (actively failing) - .github/workflows/claude-code-review.yml (if: false, preventative) - .github/workflows/review-autofix.yml (opt-in via pr-trim:auto) ANTHROPIC_API_KEY is the direct API key, rotated 2026-02-27, and is the persistent credential. The previous OAuth token is the Pro/Max subscription credential which expires; if the operator re-enables OAuth later they can swap back. Validation: the next pull_request_review event from a trusted bot reviewer will be the live test. --------- Co-authored-by: Shaela Bello <slbello@uncg.edu>
…p (creator-collab slices 2+3) (#2300) * docs(trail): sign creator-collab + pbnj lane merges (2026-07-30) - creator-collab lane SHIPS at 7/7 (PR #2293 squash 4c1c384) - pbnj-meta-submodule conversion lands (PR #2175 squash e094d95) - cron self-disarm path: state file on main now shows ship_count=7, status=complete, closing_summary posted; operator paused the creator-collab cron from the Mavis UI (mavis CLI is broken for the command-line disarm path; not blocking the lane SHIP) Next: pmoves-pinokio fork sync to P8 + pinokio_bridge default-up + supabase stack default-up + claude-review/triage Bun CI fix. * docs(trail): queued lanes plan post creator-collab SHIP (2026-07-30) 4 queued follow-on lanes ranked by impact: 1. pmoves-pinokio fork sync to P8 (no-op, gitlink already at HEAD) 2. pinokio_bridge default-up (high impact, slice 2-7 actually exercisable) 3. supabase stack default-up (real-running fix for pmoves-ui degraded) 4. claude-review + triage Bun runtime CI bug (meta-blocker for all PRs) Operator said 'proceed though all 4 update AGNOTE first to track lanes'. * feat(compose+make): wire nats_event_bus + pinokio_bridge to default-up (creator-collab slices 2+3) Slice 2 (pinokio_bridge) and slice 3 (nats_event_bus) of the creator-collab lane shipped the service code + tests + skill frontmatter on 2026-07-28 but never landed in any docker-compose file. The only way to run them was manual uvicorn (which is what slice 7's E2E evidence did). This lane closes that gap. What this lane ships: 1. pmoves/docker-compose.apps.yml (+104 lines) - nats_event_bus service (port 8131, fail-closed token, depends on nats, profiles=[apps, pinokio]) - pinokio_bridge service (port 8130, fail-closed token, bind-mounts \, user=1000:1000, depends on nats + nats_event_bus, profiles=[apps, pinokio]) 2. pmoves/Makefile (+44 lines) - up-pinokio target brings up both via 'docker compose --profile apps --profile pinokio up -d' - nats-event-bus-smoke + pinokio-bridge-smoke targets (handles 503 with pterm-not-found hint gracefully) - up-creator-collab + bringup-creator-collab aliases 3. pmoves/env.shared.example (+22 lines) - 7 new env vars documented (NATS_EVENT_BUS_TOKEN, PMOVES_BRIDGE_TOKEN, PINOKIO_BRIDGE_PORT, etc) Why profile=apps/pinokio (not the default 'up'): - the operator's default stack intentionally excludes the Pinokio dependency chain (you need pterm on the host) - bringing it up requires 'make up-pinokio' explicitly - /apps profile keeps the apps tier; /pinokio profile isolates the Pinokio dependency for selective bring-up Validation: - YAML parse OK: 7 services in apps.yml (wger, wger-db, wger-nats-bridge, botz-gateway, pmoves-yt, nats_event_bus, pinokio_bridge) - 'make -n up-pinokio' expands cleanly (env vars must be set in env.shared for real boot) - 171/171 service tests still green (no code changes to the services themselves, only compose + make wiring) * fix(compose): move nats_event_bus + pinokio_bridge into source (fixes overlay drift gate) #2300's two creator-collab services were added only to the GENERATED overlay docker-compose.apps.yml, never to the source docker-compose.yml. CI regenerates overlays from source (split_compose.py) and fails the drift gate because the regen wipes the hand-added services (99 deletions). Proper fix (overlays are generated, runtime reads source): - docker-compose.yml: add both service blocks in the source, placed right after pmoves-yt (an apps-group service) so ruamel attaches the leading comment to an apps-tier node — keeps it in apps.yml instead of leaking into workers.yml. - split_compose.py: register nats_event_bus + pinokio_bridge in SERVICE_GROUPS ["apps"] so the regen routes them to apps.yml (else they fall into core). - docker-compose.apps.yml: regenerated — byte-identical to what CI produces, so the drift gate now passes (apps.yml is the only overlay that changes). Verified: split_compose regen leaves ONLY apps.yml changed (7 services, both present); CI-parity `docker compose config --quiet` on source passes (the :? bus/ bridge token guards are satisfied by env.shared.example's non-empty defaults). Merge of origin/main also carried in (cipher gitlink current, AGNOTE register conflict resolved as union) so the submodule-gitlink-gate passes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(compose): canonical PMOVES_NETWORKS wiring for the two new services The Validate-Compose job runs inject_pmoves_networks.py --check BEFORE the split gate. It failed because pinokio_bridge carried a mid-service comment (between environment: and ports:) that the injector's canonical serialization drops, so committed != canonical. Ran the injector (removes that comment; PMOVES_NETWORKS values were already correct) and re-split. The 503/fail-closed note it removed is already stated in the service's leading comment block. Verified: inject_pmoves_networks.py --check now reports "in sync (99 services)"; split regen leaves only apps.yml changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Shaela Bello <slbello@uncg.edu> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
- creator-collab lane SHIPS at 7/7 (PR #2293 squash 4c1c384) - pbnj-meta-submodule conversion lands (PR #2175 squash e094d95) - cron self-disarm path: state file on main now shows ship_count=7, status=complete, closing_summary posted; operator paused the creator-collab cron from the Mavis UI (mavis CLI is broken for the command-line disarm path; not blocking the lane SHIP) Next: pmoves-pinokio fork sync to P8 + pinokio_bridge default-up + supabase stack default-up + claude-review/triage Bun CI fix.
Convert
pbnj/to a submodule of the combined PMOVES-pinokio forkReplaces the 80 loose tracked files under
pbnj/with a single submodule →POWERFULMOVES/PMOVES-pinokio(branchPMOVES.AI-Edition-Hardened), aligningpbnj/with the fork-as-submodule fleet pattern. Launcher paths shift frompbnj/pinokio/api/*topbnj/api/*.What changed
pbnj/(80 loose files) → submodule gitlink atpbnj→PMOVES-pinokio@40a6295.pbnj/pinokio/api/→pbnj/api/):deploy/runbooks/pinokio-pbnj-install.md(4),.hermes/plans/…p8-launcher-mesh-plan.md(4, local-only — not included in this commit; it stays untracked).The combined fork this points at
PMOVES-pinokio(hardened) is the aggregator: the Pinokio app + 10 in-treeapi/pmoves-*launchers + submodulesapi/pmoves-claude-code(PMOVES-claude-code),plugin/code(POWERFULMOVES/code, a fork ofpinokiocomputer/codewith theclaudeplugin repointed at PMOVES-claude-code, plus the relocatedpmoves-codex), andsources/pmoves-crush(PMOVES-crush) surfaced via a thinapi/pmoves-crushdelegate.Design / plan
docs/superpowers/specs/2026-07-20-pmoves-combined-pinokio-customization-design.mddocs/superpowers/plans/2026-07-20-combined-pinokio-customization.mdNotes for reviewers
pbnjhas nested submodules;git submodule update --init --recursivepulls the combined Pinokio fork + its three children.claudeplugin launches vanillanpx @anthropic-ai/claude-codewithCLAUDE_CONFIG_DIRpointed at PMOVES-claude-code (the CLI is a closed npm bundle; customization is via the extension surface)..wavhistorical blob in the Pinokio fork history (BFG cleanup); PMOVES-claude-code deep-integration content is a separate spec.🤖 Generated with Claude Code