opencode-manifold 0.4.2 → 0.4.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.
@@ -1,6 +1,78 @@
1
1
  # Manifold Workflow Skill
2
2
 
3
- This skill guides the Manifold agent through reading plans and dispatching tasks.
3
+ This skill guides the Manifold agent through reading plans, invoking decomposition, and dispatching tasks.
4
+
5
+ ## Assessing the Input
6
+
7
+ When the user points you to a document, first determine if it's already a granular task list.
8
+
9
+ ### What Counts as "Already a Task List"
10
+
11
+ A document is a granular task list if:
12
+ - Each item has a clear, actionable goal
13
+ - Each item is scoped for one developer sitting
14
+ - There is minimal ambiguity about what "done" looks like
15
+ - Items may have purity tags (`[pure]`, `[shell]`, `[mixed]`)
16
+
17
+ If the input meets these criteria, proceed directly to dispatch.
18
+
19
+ ### When to Invoke the Todo Agent
20
+
21
+ Invoke the Todo agent when the input is any of:
22
+ - A feature idea or spec (not yet broken into tasks)
23
+ - Meeting notes or email threads
24
+ - Architecture documents or design proposals
25
+ - A vague outline with high-level items
26
+ - Anything that requires interpretation before it becomes actionable
27
+
28
+ **How to invoke:**
29
+ - Call the Todo agent as a subtask
30
+ - Pass the plan document content to the Todo agent
31
+ - The Todo agent will decompose it into a structured task list
32
+ - The task list is written to `Manifold/plans/<slug>-tasks.md`
33
+
34
+ **User approval is REQUIRED** before any dispatch begins.
35
+
36
+ ### Todo Agent Output Format
37
+
38
+ The Todo agent produces a file like:
39
+
40
+ ```markdown
41
+ # Task List: <Plan Title>
42
+
43
+ **Source:** <original input description>
44
+ **Generated:** <YYYY-MM-DD>
45
+ **Total Tasks:** <number>
46
+
47
+ ---
48
+
49
+ ## Task 1: <title>
50
+
51
+ - **Description:** <what to do>
52
+ - **Purity:** <pure | shell | mixed>
53
+ - **Dependencies:** <none | task numbers>
54
+ - **Input Contract:** <what data/inputs needed>
55
+ - **Output Contract:** <what this produces>
56
+
57
+ ---
58
+ ```
59
+
60
+ ### Purity Tags in Dispatch
61
+
62
+ When dispatching tasks that have purity tags, include the tag in the description:
63
+
64
+ ```
65
+ dispatchTask({ task_number: 1, description: "[pure] Define cart item schema", plan_file: "Manifold/plans/my-plan-tasks.md" })
66
+ dispatchTask({ task_number: 2, description: "[shell] Wire cart endpoint to database", plan_file: "Manifold/plans/my-plan-tasks.md" })
67
+ ```
68
+
69
+ This allows the Clerk to use the purity tag when composing scoped prompts.
70
+
71
+ ### Dispatch Order with Purity Tags
72
+
73
+ - Always respect explicit dependencies
74
+ - When tasks are independent, prefer: `pure` → `mixed` → `shell`
75
+ - This ensures the deterministic core is built before IO wiring depends on it
4
76
 
5
77
  ## Reading Any-Format Plans
6
78
 
@@ -48,26 +120,16 @@ AUTH:
48
120
  - session management
49
121
  ```
50
122
 
51
- ### How to Extract Tasks
123
+ ### How to Extract Tasks (when NOT using Todo agent)
124
+
125
+ For inputs that are close to a task list but need minor cleanup:
52
126
 
53
127
  1. **Identify the goal** — What is the plan trying to accomplish?
54
128
  2. **Find discrete units** — What can be done independently?
55
129
  3. **Check for dependencies** — Does order matter? Note it.
56
130
  4. **Assess completeness** — Can you act on this, or is more info needed?
57
131
 
58
- ### When the Plan Is Too Vague
59
-
60
- If you can't identify concrete tasks:
61
-
62
- **Option A: Subtask to Plan Agent**
63
- - Call the plan agent to create a structured task list
64
- - User MUST approve the generated list before work begins
65
- - Don't start working until approval
66
-
67
- **Option B: Ask the User**
68
- - Reply asking for clarification
69
- - Be specific about what's unclear
70
- - Example: "I can see we need auth, but can you break down what 'auth middleware' means? Do we need login, registration, password reset?"
132
+ If extraction is straightforward, do it directly. If it requires significant interpretation, invoke the Todo agent.
71
133
 
72
134
  ## Dispatching Tasks
73
135
 
@@ -78,13 +140,13 @@ dispatchTask({ task_number, description, plan_file })
78
140
  ```
79
141
 
80
142
  - `task_number`: Sequential number (1, 2, 3...)
81
- - `description`: One-line description of the task
82
- - `plan_file`: Path to the original plan document
143
+ - `description`: One-line description (include purity tag if available)
144
+ - `plan_file`: Path to the plan document
83
145
 
84
146
  ### Order of Dispatch
85
147
 
86
148
  - Dispatch tasks in dependency order
87
- - If tasks are independent, dispatch in any order
149
+ - When independent, prefer pure mixed → shell
88
150
  - Wait for each task to complete before dispatching the next
89
151
 
90
152
  ## Session Resumption
@@ -72,7 +72,15 @@ Example:
72
72
  For each file touched, update or create `Manifold/graph/<graph-name>.md`:
73
73
 
74
74
  ```markdown
75
- # <original-file-path>
75
+ ---
76
+ filePath: <original-file-path>
77
+ calls:
78
+ - <files this file calls>
79
+ dependsOn:
80
+ - <files this file depends on>
81
+ tasksThatEdited:
82
+ - <task-id>
83
+ ---
76
84
 
77
85
  ## Calls
78
86
  - <files this file calls>
@@ -85,11 +93,13 @@ For each file touched, update or create `Manifold/graph/<graph-name>.md`:
85
93
  - [[<other-task-id>]]
86
94
  ```
87
95
 
96
+ **IMPORTANT:** Only update the `Tasks That Edited` section and the `tasksThatEdited` frontmatter field. The `Calls` and `Depends On` sections are populated automatically from the codebase index — do NOT manually edit them.
97
+
88
98
  ### Graph Filename Convention
89
99
 
90
- Replace `/` and `.` with `_`, append `.md`:
91
- - `src/middleware/auth.ts` → `src_middleware_auth_ts.md`
92
- - `src/utils/helpers.ts` → `src_utils_helpers_ts.md`
100
+ Replace `/` with `__SL__` and `.` with `__DT__`, append `.md`:
101
+ - `src/middleware/auth.ts` → `src__SL__middleware__SL__auth__DT__ts.md`
102
+ - `src/utils/helpers.ts` → `src__SL__utils__SL__helpers__DT__ts.md`
93
103
 
94
104
  ## Status Values
95
105
 
@@ -46,13 +46,12 @@ This skill guides the Clerk on how to search the wiki for prior context.
46
46
  `Manifold/graph/<graph-name>.md` tracks file relationships.
47
47
 
48
48
  **What they contain:**
49
- - `## Calls` what this file uses
50
- - `## Depends On` what this file is used by
51
- - `## Tasks That Edited` — which tasks modified this file
49
+ - YAML frontmatter with `filePath`, `calls`, `dependsOn`, `tasksThatEdited` (source of truth for programmatic access)
50
+ - Rendered markdown body with `## Calls`, `## Depends On`, `## Tasks That Edited` sections (for Obsidian graph view)
52
51
 
53
52
  **How to use:**
54
53
  1. Find graph files relevant to your task (from codebase search)
55
- 2. Read them to understand dependencies
54
+ 2. Read them to understand dependencies (use frontmatter for structured data)
56
55
  3. Check "Tasks That Edited" for prior work on those files
57
56
  4. Read relevant task files for context
58
57