pi-oracle 0.6.17 → 0.7.0

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.
@@ -1,38 +1,40 @@
1
1
  ---
2
- description: Continue an earlier oracle job in the same ChatGPT thread
2
+ description: Continue an earlier oracle job in the same provider thread
3
3
  ---
4
4
  You are preparing an `/oracle-followup` job.
5
5
 
6
6
  Do not answer the user's request directly yet.
7
7
 
8
8
  Required workflow:
9
- 1. Call `oracle_preflight` immediately.
10
- 2. If `oracle_preflight` reports `ready: false`, stop before any expensive prep. Do not read files, search the codebase, or prepare archive inputs first. If the blocker is an auth seed or stale-auth issue that `oracle_auth` can repair, call `oracle_auth` once, rerun `oracle_preflight`, and continue only if it becomes `ready: true`. Otherwise stop immediately and report the blocking issue plus the suggested next step.
11
- 3. Parse the user request as `<job-id> <follow-up request>`.
12
- 4. If the request does not include both a prior oracle job id and a follow-up request, stop and report: `Usage: /oracle-followup <job-id> <request>. Find the job id in the earlier oracle response or via /oracle-status.`
13
- 5. Treat the parsed job id as `followUpJobId` for `oracle_submit`.
14
- 6. Understand whether the follow-up request is explicitly narrow or genuinely broad.
15
- 7. Gather enough repo context to choose archive inputs and write a strong oracle prompt. Bias toward context-rich submissions when they fit within the 250 MB archive ceiling.
16
- 8. If the follow-up request is explicit and narrow, start from the directly relevant area but still include nearby files, tests, docs, configs, and adjacent modules when they may improve answer quality. Keep the archive tightly minimal only when the user explicitly asks for that, privacy/sensitivity requires it, or size pressure forces it.
17
- 9. If the follow-up request is broad, architectural, release-oriented, or otherwise repo-wide, gather broader context and usually archive `.`.
18
- 10. Choose archive inputs for the follow-up oracle job.
19
- 11. Craft a concise but complete follow-up prompt for ChatGPT web.
20
- 12. Call `oracle_submit` with the prompt, exact archive inputs, and the parsed `followUpJobId`.
21
- 13. Stop immediately after dispatching the oracle job.
9
+ 1. Parse the user request as `<job-id> <follow-up request>`.
10
+ 2. If the request does not include both a prior oracle job id and a follow-up request, stop and report: `Usage: /oracle-followup <job-id> <request>. Find the job id in the earlier oracle response or via /oracle-status.`
11
+ 3. Same-thread follow-ups cannot switch providers. If the user asks to move a ChatGPT thread to Grok or a Grok thread to ChatGPT, stop and tell them to start a new `/oracle` job instead.
12
+ 4. Call `oracle_preflight` immediately with the parsed `followUpJobId` so readiness checks use the prior job's provider.
13
+ 5. If `oracle_preflight` reports `ready: false`, stop before any expensive prep. Do not read files, search the codebase, or prepare archive inputs first. If the blocker is an auth seed or stale-auth issue that `oracle_auth` can repair, call `oracle_auth` once for the provider reported by preflight, rerun `oracle_preflight` with the same `followUpJobId`, and continue only if it becomes `ready: true`. Otherwise stop immediately and report the blocking issue plus the suggested next step.
14
+ 6. Treat the parsed job id as `followUpJobId` for `oracle_submit`.
15
+ 7. Understand whether the follow-up request is explicitly narrow or genuinely broad.
16
+ 8. Gather enough repo context to choose archive inputs and write a strong oracle prompt. Bias toward context-rich submissions when they fit within the provider archive ceiling: 250 MB for ChatGPT, 200 MiB for Grok.
17
+ 9. If the follow-up request is explicit and narrow, start from the directly relevant area but still include nearby files, tests, docs, configs, and adjacent modules when they may improve answer quality. Keep the archive tightly minimal only when the user explicitly asks for that, privacy/sensitivity requires it, or size pressure forces it.
18
+ 10. If the follow-up request is broad, architectural, release-oriented, or otherwise repo-wide, gather broader context and usually archive `.`.
19
+ 11. Choose archive inputs for the follow-up oracle job.
20
+ 12. Craft a concise but complete follow-up prompt for the selected web provider.
21
+ 13. Call `oracle_submit` with the prompt, exact archive inputs, and the parsed `followUpJobId`.
22
+ 14. Stop immediately after dispatching the oracle job.
22
23
 
23
- Oracle model (`oracle_submit`):
24
+ Oracle provider/model (`oracle_submit`):
25
+ - Follow-ups normally continue on the prior job's provider. If the user explicitly says to use Grok, pass **`provider: "grok"`**. Grok currently supports only **`mode: "heavy"`**.
24
26
  - To choose a specific ChatGPT model, pass **`preset`** with one of the allowed ids from the canonical preset registry.
25
27
  - Matching human-readable preset labels and common hyphen/space variants are also accepted and normalized automatically, but prefer canonical ids when readily available.
26
28
  - **Or** omit **`preset`** entirely to use the configured default model (from oracle config).
27
- - **`preset`** is the only model-selection parameter on `oracle_submit`. Do not pass `modelFamily`, `effort`, or `autoSwitchToThinking`.
29
+ - For ChatGPT, **`preset`** is the only model-selection parameter. Do not pass `modelFamily`, `effort`, or `autoSwitchToThinking`.
28
30
  - If unsure, omit **`preset`** and use the configured default. Ask the user about model choice only when they explicitly want model control or the choice would materially change the result.
29
31
 
30
32
  Rules:
31
33
  - Use `oracle_preflight` before any expensive `/oracle-followup` preparation so missing persisted-session or local auth/config blockers fail fast.
32
- - If the immediately preceding oracle run for this follow-up failed because ChatGPT login is required, the worker said to rerun `/oracle-auth`, or stale auth clearly blocked execution, call `oracle_auth` once and then retry the follow-up submission once. Do not loop auth refreshes.
33
- - This prompt exists so normal users can continue the same ChatGPT thread without manually constructing `followUpJobId` tool calls.
34
+ - If the immediately preceding oracle run for this follow-up failed because ChatGPT/Grok login is required, the worker said to rerun `/oracle-auth`, or stale auth clearly blocked execution, call `oracle_auth` once and then retry the follow-up submission once. For Grok, pass `provider: "grok"` to `oracle_auth`. Do not loop auth refreshes.
35
+ - This prompt exists so normal users can continue the same provider thread without manually constructing `followUpJobId` tool calls.
34
36
  - Always include an archive. Do not submit without context files.
35
- - By default, prefer context-rich archives up to the 250 MB ceiling because more relevant context is usually better than less. For broad or unclear follow-up requests, include the whole repository by passing `.`. Default archive exclusions apply automatically, including common bulky outputs and obvious credentials/private data like `.env` files, key material, credential dotfiles, local database files, and nested `secrets/` directories anywhere in the repo.
37
+ - By default, prefer context-rich archives up to the provider ceiling because more relevant context is usually better than less. The ceiling is 250 MB for ChatGPT and 200 MiB for Grok. For broad or unclear follow-up requests, include the whole repository by passing `.`. Default archive exclusions apply automatically, including common bulky outputs and obvious credentials/private data like `.env` files, key material, credential dotfiles, local database files, and nested `secrets/` directories anywhere in the repo.
36
38
  - Only limit file selection if the user explicitly requests a tight archive, if privacy/sensitivity requires it, or if the archive would otherwise exceed the size limit after exclusions/pruning.
37
39
  - For targeted follow-ups, still include directly related surrounding files, tests, docs, configs, and adjacent modules when they may improve answer quality. Do not default to a one-file archive just because the user mentioned one file, one function, or one stack trace.
38
40
  - Do not keep exploring once you already have enough context to submit well.
package/prompts/oracle.md CHANGED
@@ -1,34 +1,36 @@
1
1
  ---
2
- description: Prepare and dispatch a ChatGPT web oracle job
2
+ description: Prepare and dispatch a ChatGPT or Grok web oracle job
3
3
  ---
4
4
  You are preparing an /oracle job.
5
5
 
6
6
  Do not answer the user's request directly yet.
7
7
 
8
8
  Required workflow:
9
- 1. Call `oracle_preflight` immediately.
10
- 2. If `oracle_preflight` reports `ready: false`, stop before any expensive prep. Do not read files, search the codebase, or prepare archive inputs first. If the blocker is an auth seed or stale-auth issue that `oracle_auth` can repair, call `oracle_auth` once, rerun `oracle_preflight`, and continue only if it becomes `ready: true`. Otherwise stop immediately and report the blocking issue plus the suggested next step.
9
+ 1. Call `oracle_preflight` immediately. If the user says to use Grok, pass `provider: "grok"` to `oracle_preflight`.
10
+ 2. If `oracle_preflight` reports `ready: false`, stop before any expensive prep. Do not read files, search the codebase, or prepare archive inputs first. If the blocker is an auth seed or stale-auth issue that `oracle_auth` can repair, call `oracle_auth` once with the same provider, rerun `oracle_preflight` with the same provider, and continue only if it becomes `ready: true`. Otherwise stop immediately and report the blocking issue plus the suggested next step.
11
11
  3. Understand the request and decide whether it is explicitly narrow or genuinely broad.
12
- 4. Gather enough repo context to choose archive inputs and write a strong oracle prompt. Bias toward context-rich submissions when they fit within the 250 MB archive ceiling.
12
+ 4. Gather enough repo context to choose archive inputs and write a strong oracle prompt. Bias toward context-rich submissions when they fit within the provider archive ceiling: 250 MB for ChatGPT, 200 MiB for Grok.
13
13
  5. If the user scope is explicit and narrow, start from the directly relevant area but still include nearby files, tests, docs, configs, and adjacent modules when they may improve answer quality. Keep the archive tightly minimal only when the user explicitly asks for that, privacy/sensitivity requires it, or size pressure forces it.
14
14
  6. If the request is broad, architectural, release-oriented, or otherwise repo-wide, gather broader context and usually archive `.`.
15
15
  7. Choose archive inputs for the oracle job.
16
- 8. Craft a concise but complete oracle prompt for ChatGPT web.
16
+ 8. Craft a concise but complete oracle prompt for the selected web provider.
17
17
  9. Call `oracle_submit` with the prompt and exact archive inputs.
18
18
  10. Stop immediately after dispatching the oracle job.
19
19
 
20
- Oracle model (`oracle_submit`):
20
+ Oracle provider/model (`oracle_submit`):
21
+ - If the user says to use Grok (for example “Use the oracle to Grok about ...”), pass **`provider: "grok"`**. Grok currently supports only **`mode: "heavy"`**; omit `mode` unless the user explicitly says Heavy.
22
+ - Otherwise omit **`provider`** to use the configured default provider, or pass **`provider: "chatgpt"`** only when needed for clarity.
21
23
  - To choose a specific ChatGPT model, pass **`preset`** with one of the allowed ids from the canonical preset registry.
22
24
  - Matching human-readable preset labels and common hyphen/space variants are also accepted and normalized automatically, but prefer canonical ids when readily available.
23
25
  - **Or** omit **`preset`** entirely to use the configured default model (from oracle config).
24
- - **`preset`** is the only model-selection parameter on `oracle_submit`. Do not pass `modelFamily`, `effort`, or `autoSwitchToThinking`.
26
+ - For ChatGPT, **`preset`** is the only model-selection parameter. Do not pass `modelFamily`, `effort`, or `autoSwitchToThinking`.
25
27
  - If unsure, omit **`preset`** and use the configured default. Ask the user about model choice only when they explicitly want model control or the choice would materially change the result.
26
28
 
27
29
  Rules:
28
30
  - Use `oracle_preflight` before any expensive `/oracle` preparation so missing persisted-session or local auth/config blockers fail fast.
29
- - If the immediately preceding oracle run for this request failed because ChatGPT login is required, the worker said to rerun `/oracle-auth`, or stale auth clearly blocked execution, call `oracle_auth` once and then retry the oracle submission once. Do not loop auth refreshes.
31
+ - If the immediately preceding oracle run for this request failed because ChatGPT/Grok login is required, the worker said to rerun `/oracle-auth`, or stale auth clearly blocked execution, call `oracle_auth` once and then retry the oracle submission once. For Grok, pass `provider: "grok"` to `oracle_auth`. Do not loop auth refreshes.
30
32
  - Always include an archive. Do not submit without context files.
31
- - By default, prefer context-rich archives up to the 250 MB ceiling because more relevant context is usually better than less. For broad or unclear requests, include the whole repository by passing `.`. Default archive exclusions apply automatically, including common bulky outputs and obvious credentials/private data like `.env` files, key material, credential dotfiles, local database files, and nested `secrets/` directories anywhere in the repo.
33
+ - By default, prefer context-rich archives up to the provider ceiling because more relevant context is usually better than less. The ceiling is 250 MB for ChatGPT and 200 MiB for Grok. For broad or unclear requests, include the whole repository by passing `.`. Default archive exclusions apply automatically, including common bulky outputs and obvious credentials/private data like `.env` files, key material, credential dotfiles, local database files, and nested `secrets/` directories anywhere in the repo.
32
34
  - Only limit file selection if the user explicitly requests a tight archive, if privacy/sensitivity requires it, or if the archive would otherwise exceed the size limit after exclusions/pruning.
33
35
  - For targeted asks, still include directly related surrounding files, tests, docs, configs, and adjacent modules when they may improve answer quality. Do not default to a one-file archive just because the user mentioned one file, one function, or one stack trace.
34
36
  - Do not keep exploring once you already have enough context to submit well.