-
Notifications
You must be signed in to change notification settings - Fork 668
Add on-demand GPT goal delegation to pstack #356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| --- | ||
| name: goal | ||
| description: Run an explicit goal with on-demand subagents. Use when the user sets a goal and asks to delegate tasks, or requests the cost-efficient GPT agent tree. Own integration and verification at the root. | ||
| --- | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Goal skill allows model auto-invocationMedium Severity · Bugbot Rules The new Triggered by learned rule: pstack disable-model-invocation: coordinators yes, setup-pstack no Reviewed by Cursor Bugbot for commit 9551634. Configure here. |
||
|
|
||
| # Goal | ||
|
|
||
| Split useful work. Spawn only roles that advance the goal. | ||
|
|
||
| ## Model selection | ||
|
|
||
| Use these defaults for this workflow. Explicit user choices and configured `goal` roles override this table. Other workflow model defaults do not override it. | ||
|
|
||
| | Role | Model | Reasoning effort | Responsibility | | ||
| | --- | --- | --- | --- | | ||
| | goal root | gpt-6-astra | medium | Scope, delegate, integrate, verify | | ||
| | goal explorer | gpt-5.6-luna | max | Bounded repository investigation | | ||
| | goal worker | gpt-5.6-sol | high | Implementation and relevant tests | | ||
| | goal researcher | gpt-5.6-luna | max | Focused lookup with sources | | ||
| | goal reviewer | gpt-6-astra | xhigh | Independent review when justified | | ||
|
|
||
| Check the session's available models and spawn schema before dispatch. In Codex `collaboration.spawn_agent`, pass `model` and `reasoning_effort` separately, with `fork_turns: "none"` and a self-contained brief. Full-history forks cannot accept overrides. In a `Task` harness, use its supported model selection fields and only confirmed model identifiers. Never invent a slug by appending the effort. If a requested model or effort is unavailable, report it and request a replacement before dispatching that role. Continue independent local work meanwhile. Never substitute Sonnet. | ||
|
|
||
| The root row is a session preference. A skill cannot change the running root's model or effort. Report any known mismatch and continue on the current root unless the user requires an exact match. Do not spawn a second orchestrator to simulate switching the root. | ||
|
|
||
| ## Run the goal | ||
|
|
||
| 1. State the outcome, constraints, and smallest checks that will prove completion. When the user explicitly requests a persistent goal, use the harness goal tool if available. Reuse an existing active goal that already covers the work. Set a token budget only when the user supplies one. Without a goal tool, track the objective in the current plan and state that it is session-local. | ||
| 2. Identify independent tasks with concrete outputs. Keep short or tightly coupled work at the root. Spawn an explorer for an unanswered repository question, a researcher for external facts, or a worker for an implementation unit. A task needing only implementation gets no automatic explorer or researcher. Respect the harness concurrency limit and reserve useful integration or investigation work for the root. | ||
| 3. Give each child the objective, relevant paths, permitted writes, constraints, dependencies, completion check, and expected report. Require evidence, unresolved questions, and changed paths where applicable. Explorers and researchers are read-only. Workers own disjoint files or isolated worktrees. Children return to the root without spawning descendants unless the root explicitly assigns further delegation. | ||
| 4. Collect completions as they arrive and unblock dependent work. Read the actual diff or cited evidence before accepting a report. Reuse a worker for a correction with a refreshed brief. After repeated failure, reassess the premise or narrow the task before spending another attempt. Stop obsolete children when the goal changes. | ||
| 5. Integrate at the root and run the selected checks against the combined result. Root edits are allowed. Worker self-reports do not establish completion. For this workflow, this delegation policy replaces mandatory feature fan-out, automatic arena panels, and the long-running Orchestrate coordinator's prohibition on editing code. Explicitly requested specialist workflows still apply. | ||
| 6. Request the reviewer only for a concrete unresolved risk, such as concurrent state changes, a security boundary, conflicting evidence, or a user-requested independent review. Name the risk first. Give the reviewer the objective, constraints, final diff, and raw evidence without the worker's verdict. Require findings with file references and a way to verify each claim. Resolve supported findings and rerun affected checks. | ||
| 7. Complete the authorized delivery only after the outcome and checks pass. Mark a persistent goal complete only then, using the harness's goal lifecycle rules. Report the result, evidence, material limits, and remaining action. If blocked, preserve the outstanding work and name the missing input without claiming completion. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,6 +5,10 @@ description: Configure which models pstack uses per role. Detects your available | |
|
|
||
| # Setup pstack | ||
|
|
||
| For the cost-efficient GPT goal workflow, use the [goal skill](../goal/SKILL.md). Its table owns the default goal roles and reasoning efforts. An explicit request for that tree already selects those defaults; ask only about unavailable choices. Keep goal overrides separate from the other roles below. Store model and effort separately, for example `goal worker: gpt-5.6-sol` and `goal worker effort: high`. In Cursor, include those lines in the rule below. In other harnesses, use their existing always-loaded instruction file and name the target before editing. Preserve unrelated instructions. If no override is needed, the goal skill's defaults suffice. Root settings describe the desired session and do not change a running model. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Setup prose joins clauses with semicolonLow Severity · Bugbot Rules New Triggered by learned rule: pstack skill prose follows unslop punctuation Reviewed by Cursor Bugbot for commit 9551634. Configure here. |
||
|
|
||
| For goal-only setup, validate the requested models and efforts, apply any requested overrides, report the result, and stop. The steps below configure the other roles. | ||
|
|
||
| Write `~/.cursor/rules/pstack-models.mdc`, an always-applied rule that sets pstack's model per role. | ||
|
|
||
| ## Steps | ||
|
|
@@ -27,7 +31,7 @@ Every real slug written must be in the detected set. `inherit-parent` and `auto` | |
|
|
||
| ### 5. Write the rule | ||
|
|
||
| Write `~/.cursor/rules/pstack-models.mdc` with `alwaysApply: true` and one line per role, using the same labels poteto-mode uses. Overwrite the whole file so re-runs stay idempotent. Shape: | ||
| Write `~/.cursor/rules/pstack-models.mdc` with `alwaysApply: true` and one line per role, using the same labels poteto-mode uses. Preserve existing `goal` model and effort lines unless the user changes or removes them. Include selected goal overrides alongside the roles below when rewriting the file so re-runs stay idempotent. Shape: | ||
|
|
||
| ``` | ||
| --- | ||
|
|
||


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inventory omits the goal skill
Medium Severity · Bugbot Rules
The new
goalskill is missing from the README skills table.Goal with subagentsalso landed in the poteto-mode playbook list without aplaybooks/file or a matching README table row, so inventory surfaces no longer match the tree. Matching that entry then asks the agent to open a playbook file and copy its steps verbatim, which cannot succeed.Additional Locations (2)
pstack/skills/poteto-mode/SKILL.md#L137-L138pstack/README.md#L52-L77Triggered by learned rule: pstack inventory counts must match the skill/playbook tree
Reviewed by Cursor Bugbot for commit 9551634. Configure here.