oh-my-opencode-lite 0.1.3 → 0.1.4

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.
@@ -4,8 +4,8 @@ interface ComposeAgentPromptOptions {
4
4
  customAppendPrompt?: string;
5
5
  placeholders?: Record<string, string | number | undefined>;
6
6
  }
7
- export declare const QUESTION_PROTOCOL = "<questions>\nUse the `question` tool for blocking decisions. NEVER ask in plain text.\nPut the recommended option first with \"(Recommended)\". Short headers (<=30 chars).\nAfter calling question, STOP \u2014 do not continue execution.\n</questions>";
8
- export declare const SUBAGENT_RULES = "- Do not call thoth-mem session or prompt tools \u2014 memory is orchestrator-owned.\n- Use `question` tool for blocking decisions, never plain text.";
7
+ export declare const QUESTION_PROTOCOL = "<questions>\nUse the `question` tool for blocking decisions. NEVER ask in plain text.\n\nAsk only when one of these is true:\n1. The request is ambiguous in a way that materially changes the result AND you cannot resolve it by reading the codebase.\n2. The action is destructive/irreversible, touches production, or changes security posture.\n3. You need a secret, credential, or value that cannot be inferred.\n\nWhen you must ask: do all non-blocked work first, then ask exactly one targeted question. Include your recommended default and state what changes based on the answer.\nPut the recommended option first with \"(Recommended)\". Short headers (<=30 chars).\nAfter calling question, STOP \u2014 do not continue execution.\n</questions>";
8
+ export declare const SUBAGENT_RULES = "- Do not call ANY thoth-mem tools \u2014 memory is exclusively orchestrator-owned.\n- Do not call `todowrite` \u2014 task progress tracking is exclusively orchestrator-owned.\n- Use `question` tool for blocking decisions, never plain text.";
9
9
  export declare const RESPONSE_BUDGET = "Your response returns to an expensive orchestrator model. Be ruthlessly concise:\n- Return insights and conclusions, NEVER raw file contents or full code blocks.\n- Structured results (status, summary, files, issues) over prose.\n- If the orchestrator needs more detail, it will ask in a follow-up.";
10
10
  export declare function appendPromptSections(...sections: Array<string | undefined>): string;
11
11
  export declare function replacePromptPlaceholders(template: string, placeholders?: Record<string, string | number | undefined>): string;
package/dist/index.js CHANGED
@@ -17361,10 +17361,18 @@ function getAgentOverride(config2, name) {
17361
17361
  // src/agents/prompt-utils.ts
17362
17362
  var QUESTION_PROTOCOL = `<questions>
17363
17363
  Use the \`question\` tool for blocking decisions. NEVER ask in plain text.
17364
+
17365
+ Ask only when one of these is true:
17366
+ 1. The request is ambiguous in a way that materially changes the result AND you cannot resolve it by reading the codebase.
17367
+ 2. The action is destructive/irreversible, touches production, or changes security posture.
17368
+ 3. You need a secret, credential, or value that cannot be inferred.
17369
+
17370
+ When you must ask: do all non-blocked work first, then ask exactly one targeted question. Include your recommended default and state what changes based on the answer.
17364
17371
  Put the recommended option first with "(Recommended)". Short headers (<=30 chars).
17365
17372
  After calling question, STOP \u2014 do not continue execution.
17366
17373
  </questions>`;
17367
- var SUBAGENT_RULES = `- Do not call thoth-mem session or prompt tools \u2014 memory is orchestrator-owned.
17374
+ var SUBAGENT_RULES = `- Do not call ANY thoth-mem tools \u2014 memory is exclusively orchestrator-owned.
17375
+ - Do not call \`todowrite\` \u2014 task progress tracking is exclusively orchestrator-owned.
17368
17376
  - Use \`question\` tool for blocking decisions, never plain text.`;
17369
17377
  var RESPONSE_BUDGET = `Your response returns to an expensive orchestrator model. Be ruthlessly concise:
17370
17378
  - Return insights and conclusions, NEVER raw file contents or full code blocks.
@@ -17675,7 +17683,7 @@ You are the orchestrator for oh-my-opencode-lite.
17675
17683
  <rules>
17676
17684
  You are delegate-first.
17677
17685
 
17678
- NEVER request or read the full content of any source file. Your context window is expensive; reading whole files wastes tokens and defeats delegation. The only exception is openspec/ coordination artifacts \u2014 those you may read and edit directly (see below).
17686
+ NEVER read or write any file in the workspace \u2014 delegate all file operations. The only permitted file operations are on openspec/ coordination artifacts (see below). Reading a non-openspec file is an emergency-only last resort when delegation is genuinely impossible; it must remain exceptional.
17679
17687
  Delegate all inspection, writing, searching, debugging, and verification.
17680
17688
 
17681
17689
  Never build after changes.
@@ -17770,7 +17778,7 @@ Routing tiebreakers:
17770
17778
  1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
17771
17779
  2. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
17772
17780
  3. Plan-review gate (see "Plan Review Gate" below).
17773
- 4. Proceed to execution: dispatch @deep or @quick with skill \`sdd-apply\` per task.
17781
+ 4. Execute tasks: load skill \`executing-plans\` and follow it for the full execution loop. For each task: follow the \`<progress>\` protocol for state tracking, use the 6-part dispatch envelope from \`executing-plans\` (TASK, CONTEXT, REQUIREMENTS, BOUNDARIES, VERIFICATION, RETURN ENVELOPE), dispatch @deep or @quick with skill \`sdd-apply\`, and follow the escalation policy on failure.
17774
17782
 
17775
17783
  ## Pipeline: Full SDD (propose -> spec -> design -> tasks)
17776
17784
  1. Dispatch @deep with skill \`sdd-propose\`. Wait for result. Verify artifact was persisted.
@@ -17778,7 +17786,7 @@ Routing tiebreakers:
17778
17786
  3. Dispatch @deep with skill \`sdd-design\`. Wait for result. Verify artifact was persisted.
17779
17787
  4. Dispatch @deep with skill \`sdd-tasks\`. Wait for result. Verify artifact was persisted.
17780
17788
  5. Plan-review gate (see "Plan Review Gate" below).
17781
- 6. Proceed to execution: dispatch @deep or @quick with skill \`sdd-apply\` per task.
17789
+ 6. Execute tasks: load skill \`executing-plans\` and follow it for the full execution loop. For each task: follow the \`<progress>\` protocol for state tracking, use the 6-part dispatch envelope from \`executing-plans\` (TASK, CONTEXT, REQUIREMENTS, BOUNDARIES, VERIFICATION, RETURN ENVELOPE), dispatch @deep or @quick with skill \`sdd-apply\`, and follow the escalation policy on failure.
17782
17790
 
17783
17791
  ## Plan Review Gate
17784
17792
  After tasks are generated, use \`question\` to ask the user:
@@ -17826,9 +17834,11 @@ Sub-agents own phase execution and artifact persistence. You own sequencing, pro
17826
17834
  </sdd-dispatch>
17827
17835
 
17828
17836
  <progress>
17829
- - For multi-step work, maintain two layers: todowrite plus the persistent SDD artifact when SDD is active.
17830
- - Before dispatch, MUST mark the task in progress in every active layer.
17831
- - After each result, MUST immediately mark completed/skipped/failed in every active layer before the next dispatch.
17837
+ - You are the ONLY agent responsible for task progress. Sub-agents NEVER call \`todowrite\`.
17838
+ - For multi-step work, maintain two layers: todowrite (visual UI for user) plus the persistent SDD artifact when SDD is active.
17839
+ - Before dispatch: MUST mark the task in progress in every active layer.
17840
+ - After result: MUST immediately mark completed in every active layer before the next dispatch.
17841
+ - On error or blocker: mark as skipped and document the reason inline before continuing.
17832
17842
  - Use one in-progress todo for sequential work; multiple only for truly parallel launches.
17833
17843
  - Keep todowrite top-level and lean. Skip it for trivial one-step work.
17834
17844
  </progress>
@@ -17986,7 +17996,7 @@ var BUILTIN_PERMISSION_PRESETS = {
17986
17996
  lsp: "allow",
17987
17997
  skill: "allow",
17988
17998
  question: "allow",
17989
- todowrite: "allow",
17999
+ todowrite: "deny",
17990
18000
  external_directory: {
17991
18001
  "~/.config/opencode/skills/**": "allow"
17992
18002
  }
@@ -18001,12 +18011,30 @@ var BUILTIN_PERMISSION_PRESETS = {
18001
18011
  question: "allow",
18002
18012
  codesearch: "allow",
18003
18013
  lsp: "allow",
18004
- todowrite: "allow",
18014
+ todowrite: "deny",
18005
18015
  external_directory: {
18006
18016
  "~/.config/opencode/skills/**": "allow"
18007
18017
  }
18008
18018
  },
18009
- deep: "allow"
18019
+ deep: {
18020
+ read: "allow",
18021
+ edit: "allow",
18022
+ glob: "allow",
18023
+ grep: "allow",
18024
+ list: "allow",
18025
+ bash: "allow",
18026
+ codesearch: "allow",
18027
+ lsp: "allow",
18028
+ skill: "allow",
18029
+ question: "allow",
18030
+ webfetch: "allow",
18031
+ websearch: "allow",
18032
+ todowrite: "deny",
18033
+ task: "deny",
18034
+ external_directory: {
18035
+ "~/.config/opencode/skills/**": "allow"
18036
+ }
18037
+ }
18010
18038
  };
18011
18039
  function normalizeModelArray(model) {
18012
18040
  return model.map((entry) => typeof entry === "string" ? { id: entry } : entry);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-opencode-lite",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Delegate-first OpenCode plugin with seven agents, thoth-mem persistence, and bundled SDD skills.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: requirements-interview
3
- description: >
4
- Mandatory step-0 requirements discovery for non-trivial work before any
5
- implementation or SDD routing decisions.
3
+ description: Mandatory step-0 requirements discovery for non-trivial work before any implementation or SDD routing decisions.
6
4
  metadata:
7
5
  author: oh-my-opencode-lite
8
6
  version: '1.0'