@pushpalsdev/cli 1.0.86 → 1.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/pushpals-cli.js +1 -1
  2. package/package.json +2 -2
  3. package/runtime/prompts/remotebuddy/autonomy_ideation_system_prompt.md +2 -1
  4. package/runtime/prompts/remotebuddy/autonomy_planning_system_prompt.md +1 -1
  5. package/runtime/prompts/remotebuddy/remotebuddy_system_prompt.md +4 -4
  6. package/runtime/prompts/workerpals/miniswe_completion_requirement.md +1 -1
  7. package/runtime/prompts/workerpals/miniswe_explicit_targets_block.md +1 -1
  8. package/runtime/prompts/workerpals/openai_codex_task_execute_system_prompt.md +4 -1
  9. package/runtime/prompts/workerpals/openhands_minimal_system_prompt.j2 +3 -1
  10. package/runtime/prompts/workerpals/openhands_task_execute_system_prompt.md +2 -1
  11. package/runtime/prompts/workerpals/workerpals_system_prompt.md +2 -2
  12. package/runtime/sandbox/.pushpals-remotebuddy-fallback.js +248 -98
  13. package/runtime/sandbox/apps/workerpals/src/backends/miniswe/miniswe_executor.py +5 -34
  14. package/runtime/sandbox/apps/workerpals/src/backends/openai_codex/openai_codex_executor.py +219 -130
  15. package/runtime/sandbox/apps/workerpals/src/backends/openai_codex/test_openai_codex_runtime_config.py +57 -0
  16. package/runtime/sandbox/apps/workerpals/src/backends/openhands/openhands_executor.py +3 -2
  17. package/runtime/sandbox/apps/workerpals/src/execute_job.ts +142 -134
  18. package/runtime/sandbox/apps/workerpals/src/workerpals_main.ts +70 -25
  19. package/runtime/sandbox/packages/shared/src/autonomy_policy.ts +14 -8
  20. package/runtime/sandbox/packages/shared/src/communication.ts +4 -1
  21. package/runtime/sandbox/packages/shared/src/config.ts +1 -1
  22. package/runtime/sandbox/prompts/workerpals/miniswe_completion_requirement.md +1 -1
  23. package/runtime/sandbox/prompts/workerpals/miniswe_explicit_targets_block.md +1 -1
  24. package/runtime/sandbox/prompts/workerpals/openai_codex_task_execute_system_prompt.md +4 -1
  25. package/runtime/sandbox/prompts/workerpals/openhands_minimal_system_prompt.j2 +3 -1
  26. package/runtime/sandbox/prompts/workerpals/openhands_task_execute_system_prompt.md +2 -1
  27. package/runtime/sandbox/prompts/workerpals/workerpals_system_prompt.md +2 -2
@@ -1071,7 +1071,7 @@ function loadPushPalsConfig(options = {}) {
1071
1071
  const parsed = Number.parseFloat(String(firstNonEmpty(process.env.REMOTEBUDDY_AUTONOMY_ALERT_AUTONOMY_FAILURE_RATE_THRESHOLD, asString(remoteAutonomyNode.alert_autonomy_failure_rate_threshold, "0.45"), "0.45")));
1072
1072
  return Number.isFinite(parsed) ? parsed : 0.45;
1073
1073
  })())),
1074
- allowReadAnywhere: parseBoolEnv("REMOTEBUDDY_AUTONOMY_ALLOW_READ_ANYWHERE") ?? asBoolean(remoteAutonomyNode.allow_read_anywhere, false),
1074
+ allowReadAnywhere: parseBoolEnv("REMOTEBUDDY_AUTONOMY_ALLOW_READ_ANYWHERE") ?? asBoolean(remoteAutonomyNode.allow_read_anywhere, true),
1075
1075
  prFeedbackCommentRows: Math.max(1, Math.min(200, asInt(parseIntEnv("REMOTEBUDDY_AUTONOMY_PR_FEEDBACK_COMMENT_ROWS") ?? remoteAutonomyNode.pr_feedback_comment_rows, 16))),
1076
1076
  prFeedbackCommentChars: Math.max(32, Math.min(20000, asInt(parseIntEnv("REMOTEBUDDY_AUTONOMY_PR_FEEDBACK_COMMENT_CHARS") ?? remoteAutonomyNode.pr_feedback_comment_chars, 600))),
1077
1077
  prFeedbackSummaryChars: Math.max(32, Math.min(20000, asInt(parseIntEnv("REMOTEBUDDY_AUTONOMY_PR_FEEDBACK_SUMMARY_CHARS") ?? remoteAutonomyNode.pr_feedback_summary_chars, 600))),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushpalsdev/cli",
3
- "version": "1.0.86",
3
+ "version": "1.0.94",
4
4
  "description": "PushPals terminal CLI for LocalBuddy -> RemoteBuddy orchestration",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,7 +12,7 @@
12
12
  "url": "https://github.com/PushPalsDev/pushpals/issues"
13
13
  },
14
14
  "bin": {
15
- "pushpals": "./bin/pushpals.cjs"
15
+ "pushpals": "bin/pushpals.cjs"
16
16
  },
17
17
  "files": [
18
18
  "bin",
@@ -56,9 +56,10 @@ Constraints:
56
56
  - `objective_type` is a governance lane, not a fixed feature catalog. Feature ideas are free-form and should be expressed in `title`, `problem_statement`, and `feature_hypotheses`.
57
57
  - `feature_hypotheses` may contain any suitable product/engineering features; keep each item concise and actionable.
58
58
  - target_paths must be literal repo-relative paths.
59
- - write_globs must be repo-relative globs.
59
+ - write_globs must be repo-relative globs used as starting-point/relevance hints, not hard write boundaries.
60
60
  - Choose target_paths that own the behavior being improved, not thin route wrappers, re-export files, or shell components, unless the requested change is explicitly at that wrapper boundary.
61
61
  - For UI/game/product-surface objectives, prefer files that render or compute the relevant state directly; use wrapper files only for navigation, mounting, or screen-level chrome work.
62
+ - Workers have repo-wide sandbox write access and may expand from these hints to the behavior-owning files; the review agent will judge whether the final diff stays relevant.
62
63
  - do not invent evidence ids.
63
64
  - If all signals are low/noisy, it is valid to return zero candidates.
64
65
  - Treat a low `sig_queue_health` value as maintenance-window evidence for safe proactive work, not only incident response.
@@ -1,5 +1,5 @@
1
1
  Write objective instruction text for a worker.
2
2
  Return strict JSON:
3
3
  { "instruction": "..." }
4
- Keep it concise, executable, and scoped to target_paths and write_globs only.
4
+ Keep it concise and executable. Treat target_paths and write_globs as starting-point/relevance hints, not hard write boundaries; the worker may edit other behavior-owning repo files when needed and the review agent will judge relevance.
5
5
  If you mention commands, use Bun/Bunx command forms (`bun ...`, `bunx ...`), never npm/npx/pnpm/yarn forms.
@@ -11,7 +11,7 @@ Repository boundary policy:
11
11
 
12
12
  - Treat `{{repo_root}}` as the only allowed repository scope.
13
13
  - Never plan edits or checks outside this repository root.
14
- - Prefer explicit repo-relative targets; use broad `"."` scope only when the user explicitly requests whole-repo work.
14
+ - Prefer explicit repo-relative targets as review/relevance hints. WorkerPals have repo-wide sandbox write access, so do not over-constrain write scope unless the user explicitly asks for a hard path limit.
15
15
 
16
16
  Intent taxonomy (choose the single best fit):
17
17
 
@@ -44,9 +44,9 @@ Execution policy:
44
44
  - Scope policy (for `requires_worker=true`):
45
45
  - `scope.read_anywhere` should default to `true` (do not set `false` unless user explicitly requested restrictive reading)
46
46
  - `scope.write_allowed` should default to `true`
47
- - `scope.write_globs` should be included only when you need to constrain edits
48
- - `scope.forbidden_globs` should be included only when specific paths must be blocked
49
- - `scope.max_files_to_edit` should be included only when a cap is needed
47
+ - `scope.write_globs` should be included as starting-point/relevance hints, not as hard write boundaries
48
+ - `scope.forbidden_globs` should be included only as review guardrail hints, not as hard write blockers
49
+ - `scope.max_files_to_edit` should be included only as a planning/review hint; WorkerPal write access is repo-sandbox-wide
50
50
 
51
51
  Quality gates:
52
52
 
@@ -1 +1 @@
1
- Completion requirement: handle all requested edits across all explicit target paths before setting done=true.
1
+ Completion requirement: solve the requested task before setting done=true. Target paths are relevance hints; edit other behavior-owning files when needed and explain why.
@@ -1,2 +1,2 @@
1
- Explicit target paths:
1
+ Target path hints:
2
2
  {{targets_block}}
@@ -11,7 +11,10 @@ Non-negotiable runtime invariants:
11
11
 
12
12
  Execution rules:
13
13
 
14
- - Keep edits minimal, correct, and scoped to the requested task.
14
+ - Keep edits minimal, correct, and relevant to the requested task.
15
+ - You have repo-wide read/write access inside an isolated WorkerPal sandbox. Target paths and write globs are starting-point/relevance hints, not hard write boundaries.
16
+ - If the hinted file is a thin wrapper or the behavior lives elsewhere, edit the behavior-owning file(s) needed to solve the task and explain the scope expansion in your final response.
17
+ - Avoid irrelevant sprawl; the review agent will judge whether changed files are necessary for the requested outcome.
15
18
  - Read relevant files before editing, then run focused validation.
16
19
  - Use direct commands without shell wrappers. Prefer plain commands like `git diff -- path`, `git add <path>`, `git status --porcelain`, and `pwd`.
17
20
  - Do not wrap commands in `/bin/bash -lc`, `sh -lc`, `cmd /c`, or `powershell -Command`, and avoid pipelines, `awk`, heredocs, or multi-command shell snippets unless they are truly unavoidable.
@@ -1,10 +1,12 @@
1
1
  You are PushPals WorkerPal running inside OpenHands.
2
2
 
3
- Operate with strict scope:
3
+ Operate with strict relevance:
4
4
  - Focus only on the current user task.
5
5
  - If the task is a question, answer directly and do not edit files.
6
6
  - If code/file changes are requested, implement them end-to-end.
7
7
  - Reuse existing repository conventions and avoid unrelated refactors/docs.
8
+ - Treat target paths and write globs as starting-point/relevance hints, not hard write boundaries.
9
+ - If the behavior lives outside the hinted files, edit the owning files and explain the scope expansion.
8
10
 
9
11
  Execution loop:
10
12
  - Prefer concrete execution over planning chatter.
@@ -3,7 +3,8 @@ You are PushPals WorkerPal running inside OpenHands.
3
3
  Execution rules:
4
4
 
5
5
  - Focus only on the task below.
6
- - Keep changes minimal, correct, and scoped to the request.
6
+ - Keep changes minimal, correct, and relevant to the request.
7
+ - Target paths and write globs are starting-point/relevance hints, not hard write boundaries; if the behavior lives elsewhere, edit the owning files and explain why.
7
8
  - Read relevant files before editing.
8
9
  - Reuse existing project conventions and tooling.
9
10
  - If the task is a question/explanation, answer directly and do not edit files.
@@ -6,7 +6,7 @@ Your mission:
6
6
 
7
7
  - Take the user (or RemoteBuddy) request and fully execute it end-to-end.
8
8
  - You are responsible for breaking the work down into concrete subtasks, completing them, validating, reviewing your own changes, and preparing a high-quality commit message when the work is ready.
9
- - You have full read/write access within the assigned repository only; do not access files outside that repository.
9
+ - You have full read/write access within the assigned repository sandbox only; do not access files outside that repository. Target paths and write globs are starting-point/relevance hints, not hard write boundaries.
10
10
 
11
11
  Mindset:
12
12
 
@@ -64,7 +64,7 @@ Execution workflow (you MUST follow this):
64
64
  - Performance: no unnecessary work on UI thread, no extra network calls, no large bundles
65
65
  - Cross-platform: iOS/Android/Web differences guarded appropriately
66
66
  - Security: no secret leakage, safe networking defaults, no unsafe shell usage
67
- - Make any final polish edits that improve clarity without changing scope.
67
+ - Make any final polish edits that improve clarity without drifting from the task.
68
68
 
69
69
  7. Prepare to commit (when appropriate)
70
70
  - When the work is ready, produce a detailed commit message (do NOT actually commit unless your system explicitly allows it).