solveos-cli 0.1.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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +194 -0
  3. package/agents/solveos-build-validator.md +183 -0
  4. package/agents/solveos-debugger.md +226 -0
  5. package/agents/solveos-executor.md +187 -0
  6. package/agents/solveos-plan-validator.md +200 -0
  7. package/agents/solveos-planner.md +190 -0
  8. package/agents/solveos-researcher.md +152 -0
  9. package/agents/solveos-reviewer.md +263 -0
  10. package/commands/solveos/archive.md +106 -0
  11. package/commands/solveos/build.md +170 -0
  12. package/commands/solveos/fast.md +85 -0
  13. package/commands/solveos/new-cycle.md +165 -0
  14. package/commands/solveos/new.md +142 -0
  15. package/commands/solveos/next.md +86 -0
  16. package/commands/solveos/plan.md +139 -0
  17. package/commands/solveos/quick.md +109 -0
  18. package/commands/solveos/research.md +117 -0
  19. package/commands/solveos/review.md +198 -0
  20. package/commands/solveos/ship.md +129 -0
  21. package/commands/solveos/status.md +78 -0
  22. package/commands/solveos/validate-build.md +155 -0
  23. package/commands/solveos/validate-plan.md +115 -0
  24. package/dist/bin/install.d.ts +11 -0
  25. package/dist/bin/install.d.ts.map +1 -0
  26. package/dist/bin/install.js +158 -0
  27. package/dist/bin/install.js.map +1 -0
  28. package/dist/hooks/brief-anchor.d.ts +68 -0
  29. package/dist/hooks/brief-anchor.d.ts.map +1 -0
  30. package/dist/hooks/brief-anchor.js +236 -0
  31. package/dist/hooks/brief-anchor.js.map +1 -0
  32. package/dist/hooks/context-monitor.d.ts +70 -0
  33. package/dist/hooks/context-monitor.d.ts.map +1 -0
  34. package/dist/hooks/context-monitor.js +166 -0
  35. package/dist/hooks/context-monitor.js.map +1 -0
  36. package/dist/lib/artifacts.d.ts +63 -0
  37. package/dist/lib/artifacts.d.ts.map +1 -0
  38. package/dist/lib/artifacts.js +382 -0
  39. package/dist/lib/artifacts.js.map +1 -0
  40. package/dist/lib/config.d.ts +10 -0
  41. package/dist/lib/config.d.ts.map +1 -0
  42. package/dist/lib/config.js +29 -0
  43. package/dist/lib/config.js.map +1 -0
  44. package/dist/lib/runtime-adapters/claude-code.d.ts +18 -0
  45. package/dist/lib/runtime-adapters/claude-code.d.ts.map +1 -0
  46. package/dist/lib/runtime-adapters/claude-code.js +125 -0
  47. package/dist/lib/runtime-adapters/claude-code.js.map +1 -0
  48. package/dist/lib/runtime-adapters/cursor.d.ts +18 -0
  49. package/dist/lib/runtime-adapters/cursor.d.ts.map +1 -0
  50. package/dist/lib/runtime-adapters/cursor.js +113 -0
  51. package/dist/lib/runtime-adapters/cursor.js.map +1 -0
  52. package/dist/lib/runtime-adapters/gemini-cli.d.ts +18 -0
  53. package/dist/lib/runtime-adapters/gemini-cli.d.ts.map +1 -0
  54. package/dist/lib/runtime-adapters/gemini-cli.js +127 -0
  55. package/dist/lib/runtime-adapters/gemini-cli.js.map +1 -0
  56. package/dist/lib/runtime-adapters/opencode.d.ts +14 -0
  57. package/dist/lib/runtime-adapters/opencode.d.ts.map +1 -0
  58. package/dist/lib/runtime-adapters/opencode.js +109 -0
  59. package/dist/lib/runtime-adapters/opencode.js.map +1 -0
  60. package/dist/lib/runtime-detect.d.ts +22 -0
  61. package/dist/lib/runtime-detect.d.ts.map +1 -0
  62. package/dist/lib/runtime-detect.js +73 -0
  63. package/dist/lib/runtime-detect.js.map +1 -0
  64. package/dist/lib/security.d.ts +88 -0
  65. package/dist/lib/security.d.ts.map +1 -0
  66. package/dist/lib/security.js +230 -0
  67. package/dist/lib/security.js.map +1 -0
  68. package/dist/types.d.ts +224 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js +31 -0
  71. package/dist/types.js.map +1 -0
  72. package/dist/workflows/state-machine.d.ts +55 -0
  73. package/dist/workflows/state-machine.d.ts.map +1 -0
  74. package/dist/workflows/state-machine.js +271 -0
  75. package/dist/workflows/state-machine.js.map +1 -0
  76. package/dist/workflows/wave-executor.d.ts +112 -0
  77. package/dist/workflows/wave-executor.d.ts.map +1 -0
  78. package/dist/workflows/wave-executor.js +496 -0
  79. package/dist/workflows/wave-executor.js.map +1 -0
  80. package/package.json +58 -0
  81. package/templates/build-validation.md +82 -0
  82. package/templates/config-default.json +21 -0
  83. package/templates/plan-brief.md +106 -0
  84. package/templates/plan-validation-log.md +77 -0
  85. package/templates/post-ship-review.md +75 -0
  86. package/templates/pre-ship-review.md +56 -0
  87. package/templates/research-summary.md +30 -0
@@ -0,0 +1,109 @@
1
+ ---
2
+ description: Lightweight workflow — minimal Plan Brief + immediate Build, skip all gates
3
+ ---
4
+
5
+ # /solveos:quick — Quick Cycle (Plan + Build, No Gates)
6
+
7
+ A lightweight path for tasks where you know the problem, know the solution, and the cost of being slightly wrong is low. Combines planning and building into a single session with minimal overhead.
8
+
9
+ ```
10
+ Rigor Spectrum:
11
+ /solveos:fast → /solveos:quick → Full workflow (/solveos:new → plan → build → ship)
12
+ No process ▶ Light process Full process
13
+ No artifacts Minimal artifacts Full artifacts
14
+ Inline Plan + Build All phases + gates
15
+ ```
16
+
17
+ ## When to Use This
18
+
19
+ - You understand the problem well
20
+ - The solution is straightforward
21
+ - The cost of being slightly wrong is low (easy to fix later)
22
+ - You don't need research, plan validation, build validation, or review
23
+
24
+ **When NOT to use this:** If the task is complex, ambiguous, high-stakes, or involves unfamiliar territory — use the full workflow (`/solveos:new` → `/solveos:plan` → `/solveos:build` → `/solveos:ship`) instead.
25
+
26
+ ## Step 1: Initialize (if needed)
27
+
28
+ 1. If `.solveos/` does not exist, create the directory structure:
29
+ - `.solveos/`, `.solveos/research/`, `.solveos/validations/`, `.solveos/reviews/`, `.solveos/history/`, `.solveos/notes/`
30
+ - Write default `config.json`
31
+ 2. If `.solveos/` already exists, read `.solveos/STATE.md`:
32
+ - If a cycle is already in progress (not `INIT` or `CYCLE_COMPLETE`), warn the user: "A cycle is already in progress (state: {state}). Running `/solveos:quick` will start a new cycle. Continue?"
33
+ - If `CYCLE_COMPLETE`, start a new cycle normally
34
+
35
+ ## Step 2: Create Minimal Plan Brief
36
+
37
+ Create `.solveos/BRIEF.md` with only the essential fields. Ask the user (or infer from context):
38
+
39
+ ```markdown
40
+ # Plan Brief (Quick)
41
+
42
+ ## Problem
43
+
44
+ {What problem are we solving?}
45
+
46
+ ## Goal
47
+
48
+ {What does success look like?}
49
+
50
+ ## Success Criteria
51
+
52
+ - [ ] {Criterion 1}
53
+ - [ ] {Criterion 2}
54
+ ...
55
+ ```
56
+
57
+ **Omitted sections** (intentionally skipped for speed): Audience, Appetite, Constraints, Core Assumption, Rabbit Holes, Out of Scope.
58
+
59
+ If the user provides a natural language description of their task, extract Problem, Goal, and Success Criteria from it. Confirm with the user before proceeding.
60
+
61
+ ## Step 3: Update State — Skip All Gates
62
+
63
+ Update `.solveos/STATE.md`:
64
+
65
+ 1. Set `current_state: "BUILDING"`
66
+ 2. Record all skipped gates in the transitions log:
67
+ - `RESEARCH` (skipped)
68
+ - `PLAN_VALIDATION` (skipped)
69
+ 3. Update timestamp
70
+
71
+ The state transitions are: `INIT → PLANNING → BUILDING` (with RESEARCH and PLAN_VALIDATION recorded as skipped).
72
+
73
+ ## Step 4: Execute Build
74
+
75
+ Follow the same build process as `/solveos:build`:
76
+
77
+ 1. **Re-read the brief** — even the minimal version has Success Criteria to verify against
78
+ 2. **Decompose into units** — adjust for granularity setting in config (default: standard)
79
+ 3. **Execute units** using wave-based execution if multiple units, direct execution if single unit
80
+ 4. **Verify each unit** against the success criteria
81
+ 5. **For software domain:** create atomic git commits
82
+
83
+ ## Step 5: Quick Exit
84
+
85
+ After build is complete:
86
+
87
+ 1. Update `STATE.md`:
88
+ - Record skipped gates: `BUILD_VALIDATION`, `REVIEW_PRE_SHIP`, `REVIEW_POST_SHIP`
89
+ - Transition through: `BUILDING → READY_TO_SHIP → SHIPPED → CYCLE_COMPLETE`
90
+ 2. Present a brief summary:
91
+
92
+ ```
93
+ ## Quick Cycle Complete
94
+
95
+ **Units completed:** {n}/{total}
96
+ **Success criteria met:** {n}/{total}
97
+ **Gates skipped:** Research, Plan Validation, Build Validation, Pre-Ship Review, Post-Ship Review
98
+
99
+ All done. Run `/solveos:status` to review, or `/solveos:new-cycle` to start a new cycle.
100
+ ```
101
+
102
+ 3. Archive the cycle to `.solveos/history/cycle-{n}/`
103
+
104
+ ## AI Guidance
105
+
106
+ - Even in quick mode, verify against success criteria — that's the minimum quality bar
107
+ - If you discover the task is more complex than expected, suggest switching to full workflow: "This is getting complex. Consider running `/solveos:plan` for a full Plan Brief."
108
+ - Don't expand scope beyond the stated Goal and Success Criteria
109
+ - If the user didn't provide clear success criteria, ask for them — they're required even in quick mode
@@ -0,0 +1,117 @@
1
+ ---
2
+ description: Conduct bounded research on a specific question before planning
3
+ ---
4
+
5
+ # /solveos:research — Research Gate
6
+
7
+ You are running the **Research gate** of the solveOS cycle. Research helps you understand the problem space before committing to a plan. It is bounded — you research a specific question for a specific amount of time, then decide whether you know enough to plan.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. Check that `.solveos/` exists. If not: "No solveOS project found. Run `/solveos:new` first."
12
+ 2. Read `.solveos/STATE.md` to verify the current state allows research:
13
+ - Valid entry states: `INIT`, `PLANNING` (re-researching while planning)
14
+ - If state is `BUILDING` or later: "You're past the research stage. If you need to research mid-build, note it as a discovered task."
15
+ 3. Read `.solveos/config.json` to check if the research gate is enabled.
16
+ - If `gates.research` is `false`: "The research gate is disabled in your config. You can still run it — do you want to proceed?"
17
+
18
+ ## Step 1: Get a Specific Research Question
19
+
20
+ Ask the user:
21
+ > "What specific question do you need answered before you can plan?"
22
+
23
+ **Quality check the question:**
24
+ - If the question is vague ("tell me about X", "research Y"), push back:
25
+ > "That's broad. What specific thing do you need to know about X? What decision will this research inform?"
26
+ - If the question is a symptom, not a root cause, use the **Five Whys technique**:
27
+ > "Why is that important? What happens if you don't know this?"
28
+ Keep asking "why?" (up to 5 times) until you reach the real question.
29
+ - A good research question is specific enough that you could answer "yes, I know this" or "no, I don't."
30
+
31
+ **Examples of good questions:**
32
+ - "What are the latency characteristics of DynamoDB vs. PostgreSQL for our access pattern?"
33
+ - "How do other CLI tools install slash commands into OpenCode?"
34
+ - "What does the existing codebase use for configuration management?"
35
+
36
+ **Examples of bad questions:**
37
+ - "Tell me about databases" (too broad)
38
+ - "What should we build?" (that's planning, not research)
39
+ - "Is this a good idea?" (not answerable with research)
40
+
41
+ ## Step 2: Set a Time Limit
42
+
43
+ Ask the user:
44
+ > "How much time should I spend on this? (e.g., 10 minutes, 30 minutes, 1 hour)"
45
+
46
+ The time limit is a scope constraint. It prevents research from becoming an infinite rabbit hole. If the user says "as long as it takes," push back:
47
+ > "Research expands to fill available time. Pick a limit. You can always do another round."
48
+
49
+ ## Step 3: Conduct Research
50
+
51
+ Invoke the **solveos-researcher** agent behavior:
52
+
53
+ 1. State the question and time boundary clearly
54
+ 2. Investigate using available tools (read files, search codebase, fetch URLs)
55
+ 3. Focus on the specific question — don't go on tangents
56
+ 4. Track key findings as you go
57
+ 5. When time is up (or question is answered), stop and synthesize
58
+
59
+ ## Step 4: Write Research Summary
60
+
61
+ Write the output to `.solveos/research/{topic}-research.md` using the Research Summary template:
62
+
63
+ ```markdown
64
+ ## Research Summary
65
+
66
+ **Question:** {the specific question}
67
+ **Time spent:** {actual time}
68
+
69
+ ### Key Findings
70
+
71
+ - {finding 1}
72
+ - {finding 2}
73
+ - {finding 3}
74
+
75
+ ### Conclusions
76
+
77
+ - {what this means for the Plan Brief}
78
+
79
+ ### Open Questions / Remaining Unknowns
80
+
81
+ - {what you still don't know}
82
+
83
+ ### Decision
84
+
85
+ - [ ] I have enough information to write the Plan Brief
86
+ - [ ] I need more research: {what specifically}
87
+ ```
88
+
89
+ **Filename convention:** Use a descriptive, kebab-case topic name.
90
+ - Good: `dynamodb-vs-postgres-latency-research.md`
91
+ - Bad: `research-1.md`
92
+
93
+ ## Step 5: Update State
94
+
95
+ Update `.solveos/STATE.md`:
96
+ - If this is the first research: transition to `RESEARCHING`
97
+ - If the user is done researching (decision = "enough to plan"): state stays ready for `/solveos:plan`
98
+ - Update `updated_at` timestamp
99
+
100
+ If the research gate was previously marked as skipped (user went straight to planning, then came back), remove it from `gates_skipped`.
101
+
102
+ ## Step 6: Suggest Next Step
103
+
104
+ Present the decision to the user:
105
+
106
+ If **enough to plan**:
107
+ > "Research complete. Your findings are saved in `.solveos/research/{topic}-research.md`. Ready to plan: run `/solveos:plan`."
108
+
109
+ If **need more research**:
110
+ > "Research saved. You identified more questions to investigate. Run `/solveos:research` again with the next question."
111
+
112
+ ## Important Rules
113
+
114
+ - Multiple research sessions produce separate files — never overwrite previous research
115
+ - Research is scoped: one question per session, bounded by time
116
+ - Research informs planning but does not replace it — don't start solving during research
117
+ - If the user's question is really a planning question ("what should we build?"), redirect to `/solveos:plan`
@@ -0,0 +1,198 @@
1
+ ---
2
+ description: Run a pre-ship or post-ship review — holistic judgment before shipping, outcome measurement after
3
+ ---
4
+
5
+ # /solveos:review — Review Gate
6
+
7
+ You are running the **Review gate** of the solveOS cycle. This gate has two modes:
8
+
9
+ - **Pre-ship review:** A holistic judgment check before shipping. Asks whether the result actually solves the problem for the stated audience.
10
+ - **Post-ship review:** An outcome measurement after shipping. Measures success criteria against real-world results and generates feed-forward inputs for the next cycle.
11
+
12
+ The mode is auto-detected based on the current cycle state.
13
+
14
+ ## Prerequisites
15
+
16
+ 1. Check that `.solveos/` exists. If not: "No solveOS project found. Run `/solveos:new` first."
17
+ 2. Read `.solveos/STATE.md` to determine the mode:
18
+ - **Pre-ship mode** if state is: `BUILDING`, `VALIDATING_BUILD`, or `REVIEWING_PRE`
19
+ - **Post-ship mode** if state is: `SHIPPED` or `REVIEWING_POST`
20
+ - If state is `INIT` or `PLANNING`: "Nothing to review yet. Run `/solveos:build` first."
21
+ - If state is `CYCLE_COMPLETE`: "This cycle is already reviewed. Run `/solveos:new-cycle` to start the next one."
22
+ 3. Read `.solveos/BRIEF.md` — the Plan Brief is central to both review modes.
23
+ 4. Read `.solveos/config.json` to check if the review gate is enabled.
24
+ - For pre-ship: check `gates.review_pre_ship`
25
+ - For post-ship: check `gates.review_post_ship`
26
+ - If disabled: "The {mode} review gate is disabled in your config. You can still run it — do you want to proceed?"
27
+ 5. Read any existing validation and build artifacts for context.
28
+
29
+ ---
30
+
31
+ ## Pre-Ship Mode
32
+
33
+ ### Purpose
34
+
35
+ The pre-ship review is a **judgment check**, not a technical check. Build Validation asks "does it work?" — the pre-ship review asks "should we ship it?"
36
+
37
+ ### Step 1: Review Against the Plan Brief
38
+
39
+ Invoke the **solveos-reviewer** agent in pre-ship mode. Evaluate:
40
+
41
+ #### Does the result solve the problem stated in the Plan Brief?
42
+
43
+ - Re-read the **problem** field from the Plan Brief
44
+ - Does the built result actually address this problem?
45
+ - Or does it address a related but different problem?
46
+ - Has the problem itself changed since planning?
47
+
48
+ #### Would the named audience find this useful/usable/readable?
49
+
50
+ - Re-read the **audience** field from the Plan Brief
51
+ - Put yourself in the audience's position
52
+ - Would they understand it? Would they use it? Would they benefit from it?
53
+ - Is the quality level appropriate for this audience?
54
+
55
+ #### What is the weakest part of the result?
56
+
57
+ - Every piece of work has a weakest part. Name it explicitly.
58
+ - Is the weakest part in a critical path or a peripheral area?
59
+ - Would the audience notice the weakness?
60
+
61
+ #### Are you shipping because it's ready, or because you're tired?
62
+
63
+ - This is the most important question. Be honest.
64
+ - Sunk cost is not a reason to ship.
65
+ - "Good enough" is valid — but only if you can articulate why it's good enough for this audience.
66
+
67
+ ### Step 2: Write Pre-Ship Review
68
+
69
+ Write the output to `.solveos/validations/pre-ship-review.md` using the Pre-Ship Review template.
70
+
71
+ ### Step 3: Decide and Transition
72
+
73
+ Present the assessment to the user:
74
+
75
+ #### If ready to ship:
76
+
77
+ > "Pre-ship review complete. The result solves the stated problem for the stated audience.
78
+ >
79
+ > Weakest part: {description} — but it's acceptable because {reason}.
80
+ >
81
+ > Run `/solveos:ship` to ship."
82
+
83
+ Update `STATE.md`:
84
+ - Mark `REVIEW_PRE_SHIP` as a completed gate
85
+ - Transition to `READY_TO_SHIP`
86
+ - Update `updated_at`
87
+
88
+ #### If not ready:
89
+
90
+ > "Pre-ship review found concerns:
91
+ > - {concern}
92
+ >
93
+ > I recommend returning to Build to address these before shipping.
94
+ >
95
+ > Options:
96
+ > 1. Run `/solveos:build` to iterate
97
+ > 2. Ship anyway (you understand the risks)
98
+ >
99
+ > What would you like to do?"
100
+
101
+ Update `STATE.md`:
102
+ - If returning to Build: transition to `BUILDING`
103
+ - If shipping anyway: mark review as completed with accepted concerns
104
+ - Update `updated_at`
105
+
106
+ ---
107
+
108
+ ## Post-Ship Mode
109
+
110
+ ### Purpose
111
+
112
+ The post-ship review measures **real-world outcomes** against what was planned. It generates feed-forward inputs that inform the next cycle's Plan Brief. This is how solveOS learns.
113
+
114
+ ### When to Run (Timing Guidance)
115
+
116
+ Present timing guidance based on the domain in `config.json`:
117
+
118
+ | What shipped | When to review | Why |
119
+ |---|---|---|
120
+ | Software feature | After 1-2 weeks of real usage | Need real user data, not launch-day excitement |
121
+ | Article / content | After 3-7 days live | Engagement patterns stabilize after a few days |
122
+ | Strategy / decision | After first observable outcomes | Could be days or months depending on the decision |
123
+ | Internal tool | After first real use by the team | One real session reveals more than any preview |
124
+ | Quick experiment | Within 24-48 hours | The whole point was to learn fast |
125
+
126
+ > "This is a post-ship review. When are you running this relative to shipping?
127
+ > (For context: {timing guidance for this domain})"
128
+
129
+ ### Step 1: Measure Success Criteria
130
+
131
+ For each success criterion from the Plan Brief, measure the real-world result:
132
+
133
+ | # | Criterion | Result | Evidence |
134
+ |---|-----------|--------|----------|
135
+ | 1 | {criterion} | Met / Partially met / Not met | {what actually happened} |
136
+
137
+ ### Step 2: Reflect
138
+
139
+ #### What worked well?
140
+ - What decisions or approaches produced good outcomes?
141
+ - What would you repeat?
142
+
143
+ #### What didn't work?
144
+ - What decisions or approaches produced bad outcomes or unexpected problems?
145
+ - What would you do differently?
146
+
147
+ #### What single decision had the most impact?
148
+ - Positive or negative — name the one decision that mattered most.
149
+ - Why did it matter? What was the mechanism?
150
+
151
+ ### Step 3: Generate Feed-Forward Inputs
152
+
153
+ This is the critical output. These items become inputs to the next cycle:
154
+
155
+ #### New problems revealed
156
+ - What problems did shipping reveal that weren't visible before?
157
+ - Are these new problems, or were they latent problems that surfaced?
158
+
159
+ #### Deferred scope
160
+ - What was intentionally cut during this cycle that still matters?
161
+ - Should it be the next cycle, or is it no longer important?
162
+
163
+ #### Wrong assumptions
164
+ - What assumptions from the Plan Brief's **core assumption** turned out to be wrong?
165
+ - What did reality teach you that the plan didn't anticipate?
166
+
167
+ #### Open questions
168
+ - What questions remain unanswered?
169
+ - Would these benefit from a Research gate in the next cycle?
170
+
171
+ ### Step 4: Write Post-Ship Review
172
+
173
+ Write the output to `.solveos/reviews/cycle-{n}-review.md` where `{n}` is the current cycle number from `STATE.md`.
174
+
175
+ Use the Post-Ship Review template.
176
+
177
+ ### Step 5: Transition to Cycle Complete
178
+
179
+ > "Post-ship review complete. Feed-forward items saved for the next cycle.
180
+ >
181
+ > When you're ready to start the next cycle, run `/solveos:new-cycle` — it will pre-load these feed-forward items into your new Plan Brief.
182
+ >
183
+ > Or if this project is done, no further action needed."
184
+
185
+ Update `STATE.md`:
186
+ - Mark `REVIEW_POST_SHIP` as a completed gate
187
+ - Transition to `CYCLE_COMPLETE`
188
+ - Update `updated_at`
189
+
190
+ ---
191
+
192
+ ## Important Rules
193
+
194
+ - **Pre-ship review is judgment, not verification** — Build Validation checks criteria. Pre-ship review checks whether you *should* ship.
195
+ - **Post-ship review requires real data** — don't run it immediately after shipping. Wait for real-world feedback.
196
+ - **Feed-forward items are structured** — they should be specific enough that `/solveos:new-cycle` can load them as starting context.
197
+ - **Reviews persist across cycles** — the `.solveos/reviews/` directory is NOT cleared when a cycle is archived. Reviews are the memory layer.
198
+ - **The "are you tired?" question is real** — sunk cost shipping is the most common failure mode. Call it out honestly.
@@ -0,0 +1,129 @@
1
+ ---
2
+ description: Ship the current cycle — final check, confirm, archive
3
+ ---
4
+
5
+ # /solveos:ship — Ship Phase
6
+
7
+ You are entering the **Ship phase** of the solveOS cycle. Shipping means putting your work in front of reality — the only true validator.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. Check that `.solveos/` exists. If not: "No solveOS project found. Run `/solveos:new` first."
12
+ 2. Read `.solveos/STATE.md` to verify the current state allows shipping:
13
+ - Valid entry states: `READY_TO_SHIP`, `BUILDING` (skipping post-build gates), `REVIEWING_PRE` (review passed)
14
+ - If state is `INIT` or `PLANNING`: "Nothing to ship yet. Run `/solveos:build` first."
15
+ 3. Read `.solveos/BRIEF.md` — you need this for the final check.
16
+ 4. Read `.solveos/config.json` for domain settings.
17
+
18
+ ## Step 1: Final Brief Check (5 minutes)
19
+
20
+ Before shipping, do a final alignment check. Present each question to the user:
21
+
22
+ ### Success Criteria Review
23
+ Read the success criteria from `BRIEF.md` and check each one:
24
+
25
+ ```
26
+ ## Final Brief Check
27
+
28
+ Let's verify the build matches the plan:
29
+
30
+ Success Criteria:
31
+ - [ ] {criterion 1} — Was this met? (yes/no/partially)
32
+ - [ ] {criterion 2} — Was this met? (yes/no/partially)
33
+ ...
34
+ ```
35
+
36
+ For each criterion:
37
+ - **Met**: Mark as [x]
38
+ - **Partially met**: Note what's missing. Ask: "Ship with this gap, or fix first?"
39
+ - **Not met**: Flag clearly. Ask: "This criterion isn't met. Ship anyway, defer it, or fix first?"
40
+
41
+ ### Scope Check
42
+ > "Did any out-of-scope work sneak in? Is the output within the boundaries set by the brief?"
43
+
44
+ ### Brief Accuracy Check
45
+ > "Is the brief still accurate, or did it silently drift during the build? If it changed, note the differences."
46
+
47
+ ## Step 2: Define "Shipped"
48
+
49
+ Based on the domain from `.solveos/config.json`, explain what "shipped" means and how to verify it:
50
+
51
+ | Domain | What "Shipped" Means | Verification |
52
+ |--------|---------------------|--------------|
53
+ | `software` | Code is deployed or merged to the target branch. It's accessible to the audience named in the brief. | PR merged / deploy confirmed / feature flag enabled |
54
+ | `content` | Content is published and publicly accessible to the target audience. | URL is live / post is published / document is shared |
55
+ | `research` | Findings are shared with stakeholders. Conclusions are documented and accessible. | Report delivered / presentation given / document shared |
56
+ | `strategy` | Decision is communicated to stakeholders. Action plan is in place with owners and timelines. | Decision email sent / meeting held / plan documented with next steps |
57
+ | `general` | The output is delivered to the intended audience in the intended format. | Audience has received and can access the output |
58
+
59
+ Ask the user:
60
+ > "Based on your domain ({domain}), 'shipped' means: {definition}.
61
+ > Verification: {verification method}.
62
+ > Has this been done, or do you need to do it now?"
63
+
64
+ ## Step 3: Confirm Ship
65
+
66
+ This is a human decision. Never auto-ship.
67
+
68
+ > "Ready to ship? This will:
69
+ > 1. Mark this cycle as SHIPPED
70
+ > 2. Archive the Plan Brief and state to `.solveos/history/cycle-{cycle_number}/`
71
+ > 3. Clear the current brief and validations for the next cycle
72
+ >
73
+ > Confirm? (yes/no)"
74
+
75
+ If the user says no, suggest alternatives:
76
+ - "Run `/solveos:build` to continue working"
77
+ - "Run `/solveos:review` for a pre-ship review"
78
+ - "Run `/solveos:status` to see where things stand"
79
+
80
+ ## Step 4: Capture Learnings
81
+
82
+ Before archiving, spend 10 minutes capturing learnings. Ask:
83
+
84
+ > **What worked well in this cycle?**
85
+ > (Process, tools, decisions, approaches that you'd repeat)
86
+
87
+ > **What didn't work?**
88
+ > (Friction points, wrong assumptions, wasted effort)
89
+
90
+ > **What would you do differently next time?**
91
+ > (Specific changes to process, planning, or execution)
92
+
93
+ > **Any feed-forward items for the next cycle?**
94
+ > (Things that should be addressed next but are out of scope now)
95
+
96
+ Save these learnings as part of the archive.
97
+
98
+ ## Step 5: Archive and Transition
99
+
100
+ 1. Archive the current cycle:
101
+ - Copy `.solveos/BRIEF.md` to `.solveos/history/cycle-{n}/BRIEF.md`
102
+ - Copy `.solveos/STATE.md` to `.solveos/history/cycle-{n}/STATE.md`
103
+ - Copy `.solveos/validations/` to `.solveos/history/cycle-{n}/validations/`
104
+ - Write learnings to `.solveos/history/cycle-{n}/learnings.md`
105
+
106
+ 2. Clear current cycle artifacts:
107
+ - Remove `.solveos/BRIEF.md`
108
+ - Clear `.solveos/validations/` contents
109
+
110
+ 3. Update `.solveos/STATE.md`:
111
+ - Set `current_state` to `SHIPPED`
112
+ - Update `updated_at` timestamp
113
+
114
+ ## Step 6: Suggest Next Step
115
+
116
+ Read `.solveos/config.json` gate configuration:
117
+
118
+ - If `review_post_ship` gate is enabled:
119
+ > "Cycle {n} shipped. I recommend a post-ship review to capture what reality teaches you: run `/solveos:review`."
120
+
121
+ - If `review_post_ship` gate is disabled:
122
+ > "Cycle {n} shipped. Ready for the next cycle? Run `/solveos:new-cycle` to start fresh with feed-forward from this cycle's learnings."
123
+
124
+ ## Important Rules
125
+
126
+ - Never auto-ship. The human confirms.
127
+ - Never skip the final brief check, even if the user wants to rush.
128
+ - Always capture learnings — this is how the process improves.
129
+ - Learnings are not a performance review. They're a calibration tool. Be matter-of-fact, not judgmental.
@@ -0,0 +1,78 @@
1
+ ---
2
+ description: Show current cycle status
3
+ ---
4
+
5
+ # /solveos:status — Where Am I?
6
+
7
+ You are showing the user their current position in the solveOS cycle.
8
+
9
+ ## Prerequisites
10
+
11
+ 1. Check that `.solveos/` exists. If not:
12
+ > "No solveOS project found. Run `/solveos:new` to start."
13
+ Stop here.
14
+
15
+ ## What to Read
16
+
17
+ - `.solveos/STATE.md` — Current state data
18
+ - `.solveos/BRIEF.md` — Problem and goal (if it exists)
19
+ - `.solveos/config.json` — Gate configuration
20
+
21
+ ## Output Format
22
+
23
+ Present the status in this format:
24
+
25
+ ```
26
+ ## solveOS Status
27
+
28
+ **Cycle:** {cycle_number}
29
+ **Phase:** {human-readable state description}
30
+ **Updated:** {updated_at}
31
+
32
+ ### Brief
33
+ **Problem:** {problem from BRIEF.md, or "No brief yet"}
34
+ **Goal:** {goal from BRIEF.md, or "—"}
35
+
36
+ ### Gates
37
+ | Gate | Status |
38
+ |------|--------|
39
+ | Research | {completed / skipped / pending / disabled} |
40
+ | Plan Validation | {completed / skipped / pending / disabled} (passes: {n}) |
41
+ | Build Validation | {completed / skipped / pending / disabled} |
42
+ | Pre-ship Review | {completed / skipped / pending / disabled} |
43
+ | Post-ship Review | {completed / skipped / pending / disabled} |
44
+
45
+ ### Blockers
46
+ {list of blockers, or "None"}
47
+
48
+ ### Next Step
49
+ {suggestion based on current state}
50
+ ```
51
+
52
+ ## State-to-Description Mapping
53
+
54
+ | State | Description |
55
+ |-------|-------------|
56
+ | `INIT` | Project initialized — ready to start |
57
+ | `RESEARCHING` | Research gate — gathering information |
58
+ | `PLANNING` | Plan phase — creating the Plan Brief |
59
+ | `VALIDATING_PLAN` | Plan Validation gate — checking the brief (pass {n}) |
60
+ | `BUILDING` | Build phase — executing against the plan |
61
+ | `VALIDATING_BUILD` | Build Validation gate — checking the output |
62
+ | `REVIEWING_PRE` | Pre-ship Review — final check before shipping |
63
+ | `READY_TO_SHIP` | Ready to ship — all checks passed |
64
+ | `SHIPPED` | Shipped — work delivered |
65
+ | `REVIEWING_POST` | Post-ship Review — reflecting on the cycle |
66
+ | `CYCLE_COMPLETE` | Cycle complete — ready for next cycle |
67
+
68
+ ## Gate Status Logic
69
+
70
+ For each gate, determine status by checking:
71
+ 1. Is it in `gates_completed`? → "completed"
72
+ 2. Is it in `gates_skipped`? → "skipped"
73
+ 3. Is it disabled in `config.json` (`gates.{name}: false`)? → "disabled"
74
+ 4. Otherwise → "pending"
75
+
76
+ ## Keep It Concise
77
+
78
+ This is a status check, not a report. Keep the output short and scannable. The user wants to know where they are and what to do next.