refactor(runtime): replace unicode dashes in prompt strings
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -70,7 +70,7 @@ Generate plan to: \`.sisyphus/plans/{name}.md\`
|
||||
|
||||
## Verification Strategy (MANDATORY)
|
||||
|
||||
> **ZERO HUMAN INTERVENTION** — ALL verification is agent-executed. No exceptions.
|
||||
> **ZERO HUMAN INTERVENTION** - ALL verification is agent-executed. No exceptions.
|
||||
> Acceptance criteria requiring "user manually tests/confirms" are FORBIDDEN.
|
||||
|
||||
### Test Decision
|
||||
@@ -83,10 +83,10 @@ Generate plan to: \`.sisyphus/plans/{name}.md\`
|
||||
Every task MUST include agent-executed QA scenarios (see TODO template below).
|
||||
Evidence saved to \`.sisyphus/evidence/task-{N}-{scenario-slug}.{ext}\`.
|
||||
|
||||
- **Frontend/UI**: Use Playwright (playwright skill) — Navigate, interact, assert DOM, screenshot
|
||||
- **TUI/CLI**: Use interactive_bash (tmux) — Run command, send keystrokes, validate output
|
||||
- **API/Backend**: Use Bash (curl) — Send requests, assert status + response fields
|
||||
- **Library/Module**: Use Bash (bun/node REPL) — Import, call functions, compare output
|
||||
- **Frontend/UI**: Use Playwright (playwright skill) - Navigate, interact, assert DOM, screenshot
|
||||
- **TUI/CLI**: Use interactive_bash (tmux) - Run command, send keystrokes, validate output
|
||||
- **API/Backend**: Use Bash (curl) - Send requests, assert status + response fields
|
||||
- **Library/Module**: Use Bash (bun/node REPL) - Import, call functions, compare output
|
||||
|
||||
---
|
||||
|
||||
@@ -99,7 +99,7 @@ Evidence saved to \`.sisyphus/evidence/task-{N}-{scenario-slug}.{ext}\`.
|
||||
> Target: 5-8 tasks per wave. Fewer than 3 per wave (except final) = under-splitting.
|
||||
|
||||
\`\`\`
|
||||
Wave 1 (Start Immediately — foundation + scaffolding):
|
||||
Wave 1 (Start Immediately - foundation + scaffolding):
|
||||
├── Task 1: Project scaffolding + config [quick]
|
||||
├── Task 2: Design system tokens [quick]
|
||||
├── Task 3: Type definitions [quick]
|
||||
@@ -108,7 +108,7 @@ Wave 1 (Start Immediately — foundation + scaffolding):
|
||||
├── Task 6: Auth middleware [quick]
|
||||
└── Task 7: Client module [quick]
|
||||
|
||||
Wave 2 (After Wave 1 — core modules, MAX PARALLEL):
|
||||
Wave 2 (After Wave 1 - core modules, MAX PARALLEL):
|
||||
├── Task 8: Core business logic (depends: 3, 5, 7) [deep]
|
||||
├── Task 9: API endpoints (depends: 4, 5) [unspecified-high]
|
||||
├── Task 10: Secondary storage impl (depends: 5) [unspecified-high]
|
||||
@@ -117,7 +117,7 @@ Wave 2 (After Wave 1 — core modules, MAX PARALLEL):
|
||||
├── Task 13: API client + hooks (depends: 4) [quick]
|
||||
└── Task 14: Telemetry middleware (depends: 5, 10) [unspecified-high]
|
||||
|
||||
Wave 3 (After Wave 2 — integration + UI):
|
||||
Wave 3 (After Wave 2 - integration + UI):
|
||||
├── Task 15: Main route combining modules (depends: 6, 11, 14) [deep]
|
||||
├── Task 16: UI data visualization (depends: 12, 13) [visual-engineering]
|
||||
├── Task 17: Deployment config A (depends: 15) [quick]
|
||||
@@ -137,24 +137,24 @@ Parallel Speedup: ~70% faster than sequential
|
||||
Max Concurrent: 7 (Waves 1 & 2)
|
||||
\`\`\`
|
||||
|
||||
### Dependency Matrix (abbreviated — show ALL tasks in your generated plan)
|
||||
### Dependency Matrix (abbreviated - show ALL tasks in your generated plan)
|
||||
|
||||
- **1-7**: — — 8-14, 1
|
||||
- **8**: 3, 5, 7 — 11, 15, 2
|
||||
- **11**: 8 — 15, 2
|
||||
- **14**: 5, 10 — 15, 2
|
||||
- **15**: 6, 11, 14 — 17-19, 21, 3
|
||||
- **21**: 15 — 23, 24, 4
|
||||
- **1-7**: - - 8-14, 1
|
||||
- **8**: 3, 5, 7 - 11, 15, 2
|
||||
- **11**: 8 - 15, 2
|
||||
- **14**: 5, 10 - 15, 2
|
||||
- **15**: 6, 11, 14 - 17-19, 21, 3
|
||||
- **21**: 15 - 23, 24, 4
|
||||
|
||||
> This is abbreviated for reference. YOUR generated plan must include the FULL matrix for ALL tasks.
|
||||
|
||||
### Agent Dispatch Summary
|
||||
|
||||
- **1**: **7** — T1-T4 → \`quick\`, T5 → \`quick\`, T6 → \`quick\`, T7 → \`quick\`
|
||||
- **2**: **7** — T8 → \`deep\`, T9 → \`unspecified-high\`, T10 → \`unspecified-high\`, T11 → \`deep\`, T12 → \`visual-engineering\`, T13 → \`quick\`, T14 → \`unspecified-high\`
|
||||
- **3**: **6** — T15 → \`deep\`, T16 → \`visual-engineering\`, T17-T19 → \`quick\`, T20 → \`visual-engineering\`
|
||||
- **4**: **4** — T21 → \`deep\`, T22 → \`unspecified-high\`, T23 → \`deep\`, T24 → \`git\`
|
||||
- **FINAL**: **4** — F1 → \`oracle\`, F2 → \`unspecified-high\`, F3 → \`unspecified-high\`, F4 → \`deep\`
|
||||
- **1**: **7** - T1-T4 → \`quick\`, T5 → \`quick\`, T6 → \`quick\`, T7 → \`quick\`
|
||||
- **2**: **7** - T8 → \`deep\`, T9 → \`unspecified-high\`, T10 → \`unspecified-high\`, T11 → \`deep\`, T12 → \`visual-engineering\`, T13 → \`quick\`, T14 → \`unspecified-high\`
|
||||
- **3**: **6** - T15 → \`deep\`, T16 → \`visual-engineering\`, T17-T19 → \`quick\`, T20 → \`visual-engineering\`
|
||||
- **4**: **4** - T21 → \`deep\`, T22 → \`unspecified-high\`, T23 → \`deep\`, T24 → \`git\`
|
||||
- **FINAL**: **4** - F1 → \`oracle\`, F2 → \`unspecified-high\`, F3 → \`unspecified-high\`, F4 → \`deep\`
|
||||
|
||||
---
|
||||
|
||||
@@ -213,14 +213,14 @@ Max Concurrent: 7 (Waves 1 & 2)
|
||||
|
||||
**Acceptance Criteria**:
|
||||
|
||||
> **AGENT-EXECUTABLE VERIFICATION ONLY** — No human action permitted.
|
||||
> **AGENT-EXECUTABLE VERIFICATION ONLY** - No human action permitted.
|
||||
> Every criterion MUST be verifiable by running a command or using a tool.
|
||||
|
||||
**If TDD (tests enabled):**
|
||||
- [ ] Test file created: src/auth/login.test.ts
|
||||
- [ ] bun test src/auth/login.test.ts → PASS (3 tests, 0 failures)
|
||||
|
||||
**QA Scenarios (MANDATORY — task is INCOMPLETE without these):**
|
||||
**QA Scenarios (MANDATORY - task is INCOMPLETE without these):**
|
||||
|
||||
> **This is NOT optional. A task without QA scenarios WILL BE REJECTED.**
|
||||
>
|
||||
@@ -232,18 +232,18 @@ Max Concurrent: 7 (Waves 1 & 2)
|
||||
> **The orchestrator WILL verify evidence files exist before marking task complete.**
|
||||
|
||||
\\\`\\\`\\\`
|
||||
Scenario: [Happy path — what SHOULD work]
|
||||
Scenario: [Happy path - what SHOULD work]
|
||||
Tool: [Playwright / interactive_bash / Bash (curl)]
|
||||
Preconditions: [Exact setup state]
|
||||
Steps:
|
||||
1. [Exact action — specific command/selector/endpoint, no vagueness]
|
||||
2. [Next action — with expected intermediate state]
|
||||
3. [Assertion — exact expected value, not "verify it works"]
|
||||
1. [Exact action - specific command/selector/endpoint, no vagueness]
|
||||
2. [Next action - with expected intermediate state]
|
||||
3. [Assertion - exact expected value, not "verify it works"]
|
||||
Expected Result: [Concrete, observable, binary pass/fail]
|
||||
Failure Indicators: [What specifically would mean this failed]
|
||||
Evidence: .sisyphus/evidence/task-{N}-{scenario-slug}.{ext}
|
||||
|
||||
Scenario: [Failure/edge case — what SHOULD fail gracefully]
|
||||
Scenario: [Failure/edge case - what SHOULD fail gracefully]
|
||||
Tool: [same format]
|
||||
Preconditions: [Invalid input / missing dependency / error state]
|
||||
Steps:
|
||||
@@ -253,7 +253,7 @@ Max Concurrent: 7 (Waves 1 & 2)
|
||||
Evidence: .sisyphus/evidence/task-{N}-{scenario-slug}-error.{ext}
|
||||
\\\`\\\`\\\`
|
||||
|
||||
> **Specificity requirements — every scenario MUST use:**
|
||||
> **Specificity requirements - every scenario MUST use:**
|
||||
> - **Selectors**: Specific CSS selectors (\`.login-button\`, not "the login button")
|
||||
> - **Data**: Concrete test data (\`"test@example.com"\`, not \`"[email]"\`)
|
||||
> - **Assertions**: Exact values (\`text contains "Welcome back"\`, not "verify it works")
|
||||
@@ -261,9 +261,9 @@ Max Concurrent: 7 (Waves 1 & 2)
|
||||
> - **Negative**: At least ONE failure/error scenario per task
|
||||
>
|
||||
> **Anti-patterns (your scenario is INVALID if it looks like this):**
|
||||
> - ❌ "Verify it works correctly" — HOW? What does "correctly" mean?
|
||||
> - ❌ "Check the API returns data" — WHAT data? What fields? What values?
|
||||
> - ❌ "Test the component renders" — WHERE? What selector? What content?
|
||||
> - ❌ "Verify it works correctly" - HOW? What does "correctly" mean?
|
||||
> - ❌ "Check the API returns data" - WHAT data? What fields? What values?
|
||||
> - ❌ "Test the component renders" - WHERE? What selector? What content?
|
||||
> - ❌ Any scenario without an evidence path
|
||||
|
||||
**Evidence to Capture:**
|
||||
@@ -304,7 +304,7 @@ Max Concurrent: 7 (Waves 1 & 2)
|
||||
|
||||
## Commit Strategy
|
||||
|
||||
- **1**: \`type(scope): desc\` — file.ts, npm test
|
||||
- **1**: \`type(scope): desc\` - file.ts, npm test
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user