@qelos/aidev 0.1.15 → 0.1.17

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 (41) hide show
  1. package/.env.aidev.example +8 -0
  2. package/README.md +53 -0
  3. package/aidev.log +478 -0
  4. package/dist/__tests__/config.test.d.ts +2 -0
  5. package/dist/__tests__/config.test.d.ts.map +1 -0
  6. package/dist/__tests__/config.test.js +272 -0
  7. package/dist/__tests__/config.test.js.map +1 -0
  8. package/dist/__tests__/init.test.js +157 -0
  9. package/dist/__tests__/init.test.js.map +1 -1
  10. package/dist/__tests__/lockfile.test.d.ts +2 -0
  11. package/dist/__tests__/lockfile.test.d.ts.map +1 -0
  12. package/dist/__tests__/lockfile.test.js +144 -0
  13. package/dist/__tests__/lockfile.test.js.map +1 -0
  14. package/dist/__tests__/schedule.test.js +58 -0
  15. package/dist/__tests__/schedule.test.js.map +1 -1
  16. package/dist/cli.js +13 -0
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/init.d.ts +1 -0
  19. package/dist/commands/init.d.ts.map +1 -1
  20. package/dist/commands/init.js +44 -29
  21. package/dist/commands/init.js.map +1 -1
  22. package/dist/commands/run.d.ts.map +1 -1
  23. package/dist/commands/run.js +29 -17
  24. package/dist/commands/run.js.map +1 -1
  25. package/dist/commands/schedule.d.ts +3 -0
  26. package/dist/commands/schedule.d.ts.map +1 -1
  27. package/dist/commands/schedule.js +93 -0
  28. package/dist/commands/schedule.js.map +1 -1
  29. package/dist/commands/stop.d.ts +2 -0
  30. package/dist/commands/stop.d.ts.map +1 -0
  31. package/dist/commands/stop.js +20 -0
  32. package/dist/commands/stop.js.map +1 -0
  33. package/dist/config.d.ts +19 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +96 -3
  36. package/dist/config.js.map +1 -1
  37. package/dist/lockfile.d.ts +23 -0
  38. package/dist/lockfile.d.ts.map +1 -0
  39. package/dist/lockfile.js +105 -0
  40. package/dist/lockfile.js.map +1 -0
  41. package/package.json +2 -2
@@ -1,3 +1,8 @@
1
+ # AIDEV_ENV_EXTEND: path to a shared/global env file loaded as the base for this file.
2
+ # Values in this file override the global one. Useful for sharing API keys across projects.
3
+ # Can also be set as a shell export (e.g. in ~/.zshrc) instead.
4
+ # AIDEV_ENV_EXTEND=~/.aidev.global
5
+
1
6
  # PROVIDER: clickup | jira
2
7
  PROVIDER=clickup
3
8
 
@@ -18,6 +23,9 @@ CLICKUP_IN_REVIEW_STATUS=review
18
23
  # JIRA_IN_REVIEW_STATUS=In Review
19
24
 
20
25
  ASSIGNEE_TAG=
26
+
27
+ # THINKING_TAG: tasks with this tag are analyzed and broken into sub-tasks before execution (optional)
28
+ THINKING_TAG=
21
29
  GIT_REMOTE=origin
22
30
  GITHUB_BASE_BRANCH=main
23
31
  GITHUB_REPO=
package/README.md CHANGED
@@ -19,6 +19,7 @@ ClickUp task → AI implements → git push → "in review"
19
19
  - [How it works](#how-it-works)
20
20
  - [Quick start](#quick-start)
21
21
  - [Commands](#commands)
22
+ - [Concurrency lock](#concurrency-lock)
22
23
  - [Configuration](#configuration)
23
24
  - [AI agents](#ai-agents)
24
25
  - [Dev notes mode](#dev-notes-mode)
@@ -71,6 +72,7 @@ aidev run
71
72
  | `aidev run` | Process all open + pending-with-replies tasks |
72
73
  | `aidev run open` | Only open (non-pending) tasks |
73
74
  | `aidev run pending` | Only pending tasks — check for human replies |
75
+ | `aidev stop` | Stop any running aidev process in the current directory |
74
76
  | `aidev schedule set` | Interactive cron picker for this directory |
75
77
  | `aidev schedule set "<expr>"` | Set a specific cron expression |
76
78
  | `aidev schedule get` | Show the current schedule for this directory |
@@ -98,10 +100,59 @@ aidev schedule set "*/30 * * * *"
98
100
 
99
101
  ---
100
102
 
103
+ ## Concurrency lock
104
+
105
+ `aidev run` writes a PID lock file (`.aidev.lock`) in the current directory when it starts and removes it when it finishes. If a second invocation detects a live process already holding the lock, it logs a warning and exits immediately — preventing two agents from committing to the same branch at the same time.
106
+
107
+ ```
108
+ $ aidev run
109
+ [aidev] aidev is already running in this directory (PID 12345). Use "aidev stop" to terminate it.
110
+ ```
111
+
112
+ Use `aidev stop` to send `SIGTERM` to the running process and clean up the lock file:
113
+
114
+ ```bash
115
+ aidev stop
116
+ ```
117
+
118
+ Stale lock files (left behind by a crash) are detected automatically — the next `aidev run` will overwrite them if the stored PID is no longer alive.
119
+
120
+ ---
121
+
101
122
  ## Configuration
102
123
 
103
124
  Run `aidev init` for an interactive setup, or create `.env.aidev` manually using `.env.aidev.example` as a template.
104
125
 
126
+ ### Global env file (`AIDEV_ENV_EXTEND`)
127
+
128
+ If you work across multiple projects, you can keep shared settings (API keys, agent list, etc.) in a single global file and reference it from each project's `.env.aidev`:
129
+
130
+ ```bash
131
+ # ~/.aidev.global
132
+ CLICKUP_API_KEY=pk_...
133
+ CLICKUP_TEAM_ID=123456
134
+ AGENTS=claude,cursor
135
+ ```
136
+
137
+ ```bash
138
+ # my-project/.env.aidev — project-specific values override the global ones
139
+ AIDEV_ENV_EXTEND=~/.aidev.global
140
+ CLICKUP_TAG=my-project
141
+ ```
142
+
143
+ **Priority order (highest → lowest):**
144
+
145
+ 1. Shell environment variables (e.g. set in `~/.zshrc`) — never overwritten
146
+ 2. Local `.env.aidev` values
147
+ 3. `AIDEV_ENV_EXTEND` file values (global base)
148
+
149
+ `AIDEV_ENV_EXTEND` can be set in two ways:
150
+
151
+ - **Per-project** — add `AIDEV_ENV_EXTEND=/path/to/file` inside `.env.aidev`
152
+ - **Shell-wide** — `export AIDEV_ENV_EXTEND=~/.aidev.global` in `~/.zshrc` (applies to every project automatically)
153
+
154
+ `aidev init` will ask for this path and pre-fill it if the variable is already in your shell environment.
155
+
105
156
  ### ClickUp
106
157
 
107
158
  | Variable | Default | Description |
@@ -112,6 +163,7 @@ Run `aidev init` for an interactive setup, or create `.env.aidev` manually using
112
163
  | `CLICKUP_PENDING_STATUS` | `pending` | Status name for "waiting for reply" |
113
164
  | `CLICKUP_IN_REVIEW_STATUS` | `review` | Status set after implementation |
114
165
  | `ASSIGNEE_TAG` | — | Only process tasks assigned to this user (optional) |
166
+ | `THINKING_TAG` | — | Tasks with this tag are analyzed and broken into sub-tasks before execution (optional) |
115
167
 
116
168
  > **Tip:** `CLICKUP_API_KEY` and `CLICKUP_TEAM_ID` are intentionally omitted from `.env.aidev` if you leave them blank during `aidev init` — they will be read from your shell environment instead.
117
169
 
@@ -127,6 +179,7 @@ Run `aidev init` for an interactive setup, or create `.env.aidev` manually using
127
179
 
128
180
  | Variable | Default | Description |
129
181
  |---|---|---|
182
+ | `AIDEV_ENV_EXTEND` | — | Path to a global env file loaded as the base for this project (see above) |
130
183
  | `AGENTS` | `claude,cursor` | Comma-separated list of agents in priority order |
131
184
  | `DEV_NOTES_MODE` | `smart` | When to ask for clarification (`smart` or `always`) |
132
185
  | `AIDEV_TRIGGER_WORD` | `aidev-continue` | Comment containing this word re-triggers a skipped task |
package/aidev.log CHANGED
@@ -2041,3 +2041,481 @@ hint: or --ff-only on the command line to override the configured default per
2041
2041
  hint: invocation.
2042
2042
  fatal: Need to specify how to reconcile divergent branches.
2043
2043
 
2044
+ 2026-03-08T11:33:24.688Z [warn] No aidev schedules found
2045
+ 2026-03-08T11:33:24.689Z [info] Use "aidev schedule set" to configure one.
2046
+ 2026-03-08T11:46:59.801Z [success] Launch Agent scheduled: */15 * * * *
2047
+ 2026-03-08T11:46:59.802Z [info] Plist: /Users/davidmeirlevy/Library/LaunchAgents/com.aidev.run.ba0bfc4f.plist
2048
+
2049
+ ────────────────────────────────────────────────────────────
2050
+ 2026-03-08T12:01:59.880Z [run] started
2051
+ ────────────────────────────────────────────────────────────
2052
+ 2026-03-08T12:01:59.930Z [info] Fetching tasks (filter: all)...
2053
+ 2026-03-08T12:02:00.273Z [info] Found 0 tagged task(s)
2054
+ 2026-03-08T12:02:00.273Z [success] Done. Processed: 0, Skipped: 0
2055
+
2056
+ ────────────────────────────────────────────────────────────
2057
+ 2026-03-08T12:17:00.424Z [run] started
2058
+ ────────────────────────────────────────────────────────────
2059
+ 2026-03-08T12:17:00.468Z [info] Fetching tasks (filter: all)...
2060
+ 2026-03-08T12:17:00.801Z [info] Found 0 tagged task(s)
2061
+ 2026-03-08T12:17:00.802Z [success] Done. Processed: 0, Skipped: 0
2062
+
2063
+ ────────────────────────────────────────────────────────────
2064
+ 2026-03-08T12:32:00.955Z [run] started
2065
+ ────────────────────────────────────────────────────────────
2066
+ 2026-03-08T12:32:00.993Z [info] Fetching tasks (filter: all)...
2067
+ 2026-03-08T12:32:01.263Z [info] Found 0 tagged task(s)
2068
+ 2026-03-08T12:32:01.264Z [success] Done. Processed: 0, Skipped: 0
2069
+
2070
+ ────────────────────────────────────────────────────────────
2071
+ 2026-03-08T12:47:01.399Z [run] started
2072
+ ────────────────────────────────────────────────────────────
2073
+ 2026-03-08T12:47:01.442Z [info] Fetching tasks (filter: all)...
2074
+ 2026-03-08T12:47:01.790Z [info] Found 0 tagged task(s)
2075
+ 2026-03-08T12:47:01.791Z [success] Done. Processed: 0, Skipped: 0
2076
+ 2026-03-08T12:51:24.133Z [info] Scheduled aidev jobs:
2077
+ 2026-03-08T13:00:20.831Z [warn] cursor clarification check failed — trying next runner
2078
+ 2026-03-08T13:00:20.833Z [warn] cursor clarification check failed — trying next runner
2079
+ 2026-03-08T13:00:20.833Z [warn] windsurf clarification check failed — trying next runner
2080
+ 2026-03-08T13:00:20.833Z [warn] Clarification check failed for all runners — proceeding without clarification
2081
+ 2026-03-08T13:00:20.833Z [warn] No AI runner available — skipping clarification check
2082
+ 2026-03-08T13:00:21.044Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2083
+ 2026-03-08T13:00:21.208Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2084
+ 2026-03-08T13:00:21.252Z [error] Refusing to commit directly to protected branch "main"
2085
+ 2026-03-08T13:00:21.395Z [error] Refusing to push directly to protected branch "main"
2086
+ 2026-03-08T13:00:21.491Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2087
+ 2026-03-08T13:00:23.019Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-Fx3IV1
2088
+ * branch main -> FETCH_HEAD
2089
+ hint: You have divergent branches and need to specify how to reconcile them.
2090
+ hint: You can do so by running one of the following commands sometime before
2091
+ hint: your next pull:
2092
+ hint:
2093
+ hint: git config pull.rebase false # merge
2094
+ hint: git config pull.rebase true # rebase
2095
+ hint: git config pull.ff only # fast-forward only
2096
+ hint:
2097
+ hint: You can replace "git config" with "git config --global" to set a default
2098
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2099
+ hint: or --ff-only on the command line to override the configured default per
2100
+ hint: invocation.
2101
+ fatal: Need to specify how to reconcile divergent branches.
2102
+
2103
+ 2026-03-08T13:00:30.556Z [warn] cursor clarification check failed — trying next runner
2104
+ 2026-03-08T13:00:30.557Z [warn] cursor clarification check failed — trying next runner
2105
+ 2026-03-08T13:00:30.557Z [warn] windsurf clarification check failed — trying next runner
2106
+ 2026-03-08T13:00:30.558Z [warn] Clarification check failed for all runners — proceeding without clarification
2107
+ 2026-03-08T13:00:30.558Z [warn] No AI runner available — skipping clarification check
2108
+ 2026-03-08T13:00:30.746Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2109
+ 2026-03-08T13:00:30.914Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2110
+ 2026-03-08T13:00:30.958Z [error] Refusing to commit directly to protected branch "main"
2111
+ 2026-03-08T13:00:31.094Z [error] Refusing to push directly to protected branch "main"
2112
+ 2026-03-08T13:00:31.183Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2113
+ 2026-03-08T13:00:32.681Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-Udss4C
2114
+ * branch main -> FETCH_HEAD
2115
+ hint: You have divergent branches and need to specify how to reconcile them.
2116
+ hint: You can do so by running one of the following commands sometime before
2117
+ hint: your next pull:
2118
+ hint:
2119
+ hint: git config pull.rebase false # merge
2120
+ hint: git config pull.rebase true # rebase
2121
+ hint: git config pull.ff only # fast-forward only
2122
+ hint:
2123
+ hint: You can replace "git config" with "git config --global" to set a default
2124
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2125
+ hint: or --ff-only on the command line to override the configured default per
2126
+ hint: invocation.
2127
+ fatal: Need to specify how to reconcile divergent branches.
2128
+
2129
+ 2026-03-08T13:01:38.349Z [warn] cursor clarification check failed — trying next runner
2130
+ 2026-03-08T13:01:38.351Z [warn] cursor clarification check failed — trying next runner
2131
+ 2026-03-08T13:01:38.351Z [warn] windsurf clarification check failed — trying next runner
2132
+ 2026-03-08T13:01:38.351Z [warn] Clarification check failed for all runners — proceeding without clarification
2133
+ 2026-03-08T13:01:38.352Z [warn] No AI runner available — skipping clarification check
2134
+ 2026-03-08T13:01:38.550Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2135
+ 2026-03-08T13:01:38.711Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2136
+ 2026-03-08T13:01:38.758Z [error] Refusing to commit directly to protected branch "main"
2137
+ 2026-03-08T13:01:38.911Z [error] Refusing to push directly to protected branch "main"
2138
+ 2026-03-08T13:01:39.009Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2139
+ 2026-03-08T13:01:40.543Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-f1BjS2
2140
+ * branch main -> FETCH_HEAD
2141
+ hint: You have divergent branches and need to specify how to reconcile them.
2142
+ hint: You can do so by running one of the following commands sometime before
2143
+ hint: your next pull:
2144
+ hint:
2145
+ hint: git config pull.rebase false # merge
2146
+ hint: git config pull.rebase true # rebase
2147
+ hint: git config pull.ff only # fast-forward only
2148
+ hint:
2149
+ hint: You can replace "git config" with "git config --global" to set a default
2150
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2151
+ hint: or --ff-only on the command line to override the configured default per
2152
+ hint: invocation.
2153
+ fatal: Need to specify how to reconcile divergent branches.
2154
+
2155
+
2156
+ ────────────────────────────────────────────────────────────
2157
+ 2026-03-08T13:02:01.936Z [run] started
2158
+ ────────────────────────────────────────────────────────────
2159
+ 2026-03-08T13:02:01.975Z [info] Fetching tasks (filter: all)...
2160
+ 2026-03-08T13:02:02.460Z [info] Found 0 tagged task(s)
2161
+ 2026-03-08T13:02:02.461Z [success] Done. Processed: 0, Skipped: 0
2162
+ 2026-03-08T13:06:52.004Z [warn] cursor clarification check failed — trying next runner
2163
+ 2026-03-08T13:06:52.005Z [warn] cursor clarification check failed — trying next runner
2164
+ 2026-03-08T13:06:52.005Z [warn] windsurf clarification check failed — trying next runner
2165
+ 2026-03-08T13:06:52.005Z [warn] Clarification check failed for all runners — proceeding without clarification
2166
+ 2026-03-08T13:06:52.006Z [warn] No AI runner available — skipping clarification check
2167
+ 2026-03-08T13:06:52.208Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2168
+ 2026-03-08T13:06:52.392Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2169
+ 2026-03-08T13:06:52.435Z [error] Refusing to commit directly to protected branch "main"
2170
+ 2026-03-08T13:06:52.577Z [error] Refusing to push directly to protected branch "main"
2171
+ 2026-03-08T13:06:52.672Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2172
+ 2026-03-08T13:06:54.196Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-1gQyz2
2173
+ * branch main -> FETCH_HEAD
2174
+ hint: You have divergent branches and need to specify how to reconcile them.
2175
+ hint: You can do so by running one of the following commands sometime before
2176
+ hint: your next pull:
2177
+ hint:
2178
+ hint: git config pull.rebase false # merge
2179
+ hint: git config pull.rebase true # rebase
2180
+ hint: git config pull.ff only # fast-forward only
2181
+ hint:
2182
+ hint: You can replace "git config" with "git config --global" to set a default
2183
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2184
+ hint: or --ff-only on the command line to override the configured default per
2185
+ hint: invocation.
2186
+ fatal: Need to specify how to reconcile divergent branches.
2187
+
2188
+ 2026-03-08T13:07:58.188Z [warn] cursor clarification check failed — trying next runner
2189
+ 2026-03-08T13:07:58.192Z [warn] cursor clarification check failed — trying next runner
2190
+ 2026-03-08T13:07:58.192Z [warn] windsurf clarification check failed — trying next runner
2191
+ 2026-03-08T13:07:58.192Z [warn] Clarification check failed for all runners — proceeding without clarification
2192
+ 2026-03-08T13:07:58.192Z [warn] No AI runner available — skipping clarification check
2193
+ 2026-03-08T13:07:58.447Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2194
+ 2026-03-08T13:07:58.630Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2195
+ 2026-03-08T13:07:58.675Z [error] Refusing to commit directly to protected branch "main"
2196
+ 2026-03-08T13:07:58.822Z [error] Refusing to push directly to protected branch "main"
2197
+ 2026-03-08T13:07:58.924Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2198
+ 2026-03-08T13:08:00.510Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-J0Too3
2199
+ * branch main -> FETCH_HEAD
2200
+ hint: You have divergent branches and need to specify how to reconcile them.
2201
+ hint: You can do so by running one of the following commands sometime before
2202
+ hint: your next pull:
2203
+ hint:
2204
+ hint: git config pull.rebase false # merge
2205
+ hint: git config pull.rebase true # rebase
2206
+ hint: git config pull.ff only # fast-forward only
2207
+ hint:
2208
+ hint: You can replace "git config" with "git config --global" to set a default
2209
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2210
+ hint: or --ff-only on the command line to override the configured default per
2211
+ hint: invocation.
2212
+ fatal: Need to specify how to reconcile divergent branches.
2213
+
2214
+ 2026-03-08T13:10:00.581Z [warn] cursor clarification check failed — trying next runner
2215
+ 2026-03-08T13:10:00.583Z [warn] cursor clarification check failed — trying next runner
2216
+ 2026-03-08T13:10:00.583Z [warn] windsurf clarification check failed — trying next runner
2217
+ 2026-03-08T13:10:00.583Z [warn] Clarification check failed for all runners — proceeding without clarification
2218
+ 2026-03-08T13:10:00.583Z [warn] No AI runner available — skipping clarification check
2219
+ 2026-03-08T13:10:00.793Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2220
+ 2026-03-08T13:10:00.959Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2221
+ 2026-03-08T13:10:01.003Z [error] Refusing to commit directly to protected branch "main"
2222
+ 2026-03-08T13:10:01.137Z [error] Refusing to push directly to protected branch "main"
2223
+ 2026-03-08T13:10:01.232Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2224
+ 2026-03-08T13:10:02.708Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-3syyjI
2225
+ * branch main -> FETCH_HEAD
2226
+ hint: You have divergent branches and need to specify how to reconcile them.
2227
+ hint: You can do so by running one of the following commands sometime before
2228
+ hint: your next pull:
2229
+ hint:
2230
+ hint: git config pull.rebase false # merge
2231
+ hint: git config pull.rebase true # rebase
2232
+ hint: git config pull.ff only # fast-forward only
2233
+ hint:
2234
+ hint: You can replace "git config" with "git config --global" to set a default
2235
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2236
+ hint: or --ff-only on the command line to override the configured default per
2237
+ hint: invocation.
2238
+ fatal: Need to specify how to reconcile divergent branches.
2239
+
2240
+ 2026-03-08T13:10:09.408Z [warn] cursor clarification check failed — trying next runner
2241
+ 2026-03-08T13:10:09.410Z [warn] cursor clarification check failed — trying next runner
2242
+ 2026-03-08T13:10:09.410Z [warn] windsurf clarification check failed — trying next runner
2243
+ 2026-03-08T13:10:09.410Z [warn] Clarification check failed for all runners — proceeding without clarification
2244
+ 2026-03-08T13:10:09.410Z [warn] No AI runner available — skipping clarification check
2245
+ 2026-03-08T13:10:09.619Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2246
+ 2026-03-08T13:10:09.791Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2247
+ 2026-03-08T13:10:09.842Z [error] Refusing to commit directly to protected branch "main"
2248
+ 2026-03-08T13:10:09.991Z [error] Refusing to push directly to protected branch "main"
2249
+ 2026-03-08T13:10:10.084Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2250
+ 2026-03-08T13:10:11.637Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-acG5Yx
2251
+ * branch main -> FETCH_HEAD
2252
+ hint: You have divergent branches and need to specify how to reconcile them.
2253
+ hint: You can do so by running one of the following commands sometime before
2254
+ hint: your next pull:
2255
+ hint:
2256
+ hint: git config pull.rebase false # merge
2257
+ hint: git config pull.rebase true # rebase
2258
+ hint: git config pull.ff only # fast-forward only
2259
+ hint:
2260
+ hint: You can replace "git config" with "git config --global" to set a default
2261
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2262
+ hint: or --ff-only on the command line to override the configured default per
2263
+ hint: invocation.
2264
+ fatal: Need to specify how to reconcile divergent branches.
2265
+
2266
+ 2026-03-08T13:10:21.197Z [warn] cursor clarification check failed — trying next runner
2267
+ 2026-03-08T13:10:21.198Z [warn] cursor clarification check failed — trying next runner
2268
+ 2026-03-08T13:10:21.198Z [warn] windsurf clarification check failed — trying next runner
2269
+ 2026-03-08T13:10:21.198Z [warn] Clarification check failed for all runners — proceeding without clarification
2270
+ 2026-03-08T13:10:21.199Z [warn] No AI runner available — skipping clarification check
2271
+ 2026-03-08T13:10:21.387Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2272
+ 2026-03-08T13:10:21.547Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2273
+ 2026-03-08T13:10:21.589Z [error] Refusing to commit directly to protected branch "main"
2274
+ 2026-03-08T13:10:21.724Z [error] Refusing to push directly to protected branch "main"
2275
+ 2026-03-08T13:10:21.812Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2276
+ 2026-03-08T13:10:23.269Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-EpYZOl
2277
+ * branch main -> FETCH_HEAD
2278
+ hint: You have divergent branches and need to specify how to reconcile them.
2279
+ hint: You can do so by running one of the following commands sometime before
2280
+ hint: your next pull:
2281
+ hint:
2282
+ hint: git config pull.rebase false # merge
2283
+ hint: git config pull.rebase true # rebase
2284
+ hint: git config pull.ff only # fast-forward only
2285
+ hint:
2286
+ hint: You can replace "git config" with "git config --global" to set a default
2287
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2288
+ hint: or --ff-only on the command line to override the configured default per
2289
+ hint: invocation.
2290
+ fatal: Need to specify how to reconcile divergent branches.
2291
+
2292
+ 2026-03-08T13:11:40.835Z [info] /Users/davidmeirlevy/dev/qelos/qelos: already up to date
2293
+ 2026-03-08T13:11:40.835Z [info] /Users/davidmeirlevy/dev/qelos/aidev: already up to date
2294
+ 2026-03-08T13:11:40.836Z [info] /Users/davidmeirlevy/dev/ai-words/ai-words: already up to date
2295
+ 2026-03-08T13:11:40.836Z [info] 0 fixed, 3 already up to date
2296
+ 2026-03-08T13:11:57.322Z [info] Scheduled aidev jobs:
2297
+
2298
+ ────────────────────────────────────────────────────────────
2299
+ 2026-03-08T13:17:02.607Z [run] started
2300
+ ────────────────────────────────────────────────────────────
2301
+ 2026-03-08T13:17:02.643Z [info] Fetching tasks (filter: all)...
2302
+ 2026-03-08T13:17:04.171Z [info] Found 0 tagged task(s)
2303
+ 2026-03-08T13:17:04.171Z [success] Done. Processed: 0, Skipped: 0
2304
+
2305
+ ────────────────────────────────────────────────────────────
2306
+ 2026-03-08T13:32:04.325Z [run] started
2307
+ ────────────────────────────────────────────────────────────
2308
+ 2026-03-08T13:32:04.365Z [warn] Screen is locked or display is asleep — AI agents cannot operate
2309
+ 2026-03-08T13:32:04.365Z [info] Fetching tasks (filter: all)...
2310
+ 2026-03-08T13:32:04.616Z [info] Found 0 tagged task(s)
2311
+ 2026-03-08T13:32:04.616Z [success] Done. Processed: 0, Skipped: 0
2312
+ 2026-03-08T13:36:05.416Z [warn] cursor clarification check failed — trying next runner
2313
+ 2026-03-08T13:36:05.419Z [warn] cursor clarification check failed — trying next runner
2314
+ 2026-03-08T13:36:05.419Z [warn] windsurf clarification check failed — trying next runner
2315
+ 2026-03-08T13:36:05.420Z [warn] Clarification check failed for all runners — proceeding without clarification
2316
+ 2026-03-08T13:36:05.420Z [warn] No AI runner available — skipping clarification check
2317
+ 2026-03-08T13:36:05.632Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2318
+ 2026-03-08T13:36:05.797Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2319
+ 2026-03-08T13:36:05.842Z [error] Refusing to commit directly to protected branch "main"
2320
+ 2026-03-08T13:36:05.983Z [error] Refusing to push directly to protected branch "main"
2321
+ 2026-03-08T13:36:06.081Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2322
+ 2026-03-08T13:36:07.607Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-ZU1TDW
2323
+ * branch main -> FETCH_HEAD
2324
+ hint: You have divergent branches and need to specify how to reconcile them.
2325
+ hint: You can do so by running one of the following commands sometime before
2326
+ hint: your next pull:
2327
+ hint:
2328
+ hint: git config pull.rebase false # merge
2329
+ hint: git config pull.rebase true # rebase
2330
+ hint: git config pull.ff only # fast-forward only
2331
+ hint:
2332
+ hint: You can replace "git config" with "git config --global" to set a default
2333
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2334
+ hint: or --ff-only on the command line to override the configured default per
2335
+ hint: invocation.
2336
+ fatal: Need to specify how to reconcile divergent branches.
2337
+
2338
+ 2026-03-08T13:36:10.394Z [warn] cursor clarification check failed — trying next runner
2339
+ 2026-03-08T13:36:10.396Z [warn] cursor clarification check failed — trying next runner
2340
+ 2026-03-08T13:36:10.396Z [warn] windsurf clarification check failed — trying next runner
2341
+ 2026-03-08T13:36:10.396Z [warn] Clarification check failed for all runners — proceeding without clarification
2342
+ 2026-03-08T13:36:10.396Z [warn] No AI runner available — skipping clarification check
2343
+ 2026-03-08T13:36:10.593Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2344
+ 2026-03-08T13:36:10.758Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2345
+ 2026-03-08T13:36:10.803Z [error] Refusing to commit directly to protected branch "main"
2346
+ 2026-03-08T13:36:10.942Z [error] Refusing to push directly to protected branch "main"
2347
+ 2026-03-08T13:36:11.031Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2348
+ 2026-03-08T13:36:12.542Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-fXsS50
2349
+ * branch main -> FETCH_HEAD
2350
+ hint: You have divergent branches and need to specify how to reconcile them.
2351
+ hint: You can do so by running one of the following commands sometime before
2352
+ hint: your next pull:
2353
+ hint:
2354
+ hint: git config pull.rebase false # merge
2355
+ hint: git config pull.rebase true # rebase
2356
+ hint: git config pull.ff only # fast-forward only
2357
+ hint:
2358
+ hint: You can replace "git config" with "git config --global" to set a default
2359
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2360
+ hint: or --ff-only on the command line to override the configured default per
2361
+ hint: invocation.
2362
+ fatal: Need to specify how to reconcile divergent branches.
2363
+
2364
+ 2026-03-08T13:36:16.109Z [warn] cursor clarification check failed — trying next runner
2365
+ 2026-03-08T13:36:16.110Z [warn] cursor clarification check failed — trying next runner
2366
+ 2026-03-08T13:36:16.110Z [warn] windsurf clarification check failed — trying next runner
2367
+ 2026-03-08T13:36:16.110Z [warn] Clarification check failed for all runners — proceeding without clarification
2368
+ 2026-03-08T13:36:16.110Z [warn] No AI runner available — skipping clarification check
2369
+ 2026-03-08T13:36:16.305Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2370
+ 2026-03-08T13:36:16.470Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2371
+ 2026-03-08T13:36:16.516Z [error] Refusing to commit directly to protected branch "main"
2372
+ 2026-03-08T13:36:16.653Z [error] Refusing to push directly to protected branch "main"
2373
+ 2026-03-08T13:36:16.745Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2374
+ 2026-03-08T13:36:18.290Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-zQovGU
2375
+ * branch main -> FETCH_HEAD
2376
+ hint: You have divergent branches and need to specify how to reconcile them.
2377
+ hint: You can do so by running one of the following commands sometime before
2378
+ hint: your next pull:
2379
+ hint:
2380
+ hint: git config pull.rebase false # merge
2381
+ hint: git config pull.rebase true # rebase
2382
+ hint: git config pull.ff only # fast-forward only
2383
+ hint:
2384
+ hint: You can replace "git config" with "git config --global" to set a default
2385
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2386
+ hint: or --ff-only on the command line to override the configured default per
2387
+ hint: invocation.
2388
+ fatal: Need to specify how to reconcile divergent branches.
2389
+
2390
+
2391
+ ────────────────────────────────────────────────────────────
2392
+ 2026-03-08T13:47:04.769Z [run] started
2393
+ ────────────────────────────────────────────────────────────
2394
+ 2026-03-08T13:47:04.807Z [info] Fetching tasks (filter: all)...
2395
+ 2026-03-08T13:47:05.116Z [info] Found 0 tagged task(s)
2396
+ 2026-03-08T13:47:05.117Z [success] Done. Processed: 0, Skipped: 0
2397
+
2398
+ ────────────────────────────────────────────────────────────
2399
+ 2026-03-08T14:02:05.282Z [run] started
2400
+ ────────────────────────────────────────────────────────────
2401
+ 2026-03-08T14:02:05.322Z [info] Fetching tasks (filter: all)...
2402
+ 2026-03-08T14:02:05.603Z [info] Found 0 tagged task(s)
2403
+ 2026-03-08T14:02:05.604Z [success] Done. Processed: 0, Skipped: 0
2404
+
2405
+ ────────────────────────────────────────────────────────────
2406
+ 2026-03-08T14:17:05.754Z [run] started
2407
+ ────────────────────────────────────────────────────────────
2408
+ 2026-03-08T14:17:05.792Z [info] Fetching tasks (filter: all)...
2409
+ 2026-03-08T14:17:06.696Z [info] Found 0 tagged task(s)
2410
+ 2026-03-08T14:17:06.697Z [success] Done. Processed: 0, Skipped: 0
2411
+ 2026-03-08T14:28:16.835Z [warn] cursor clarification check failed — trying next runner
2412
+ 2026-03-08T14:28:16.836Z [warn] cursor clarification check failed — trying next runner
2413
+ 2026-03-08T14:28:16.836Z [warn] windsurf clarification check failed — trying next runner
2414
+ 2026-03-08T14:28:16.837Z [warn] Clarification check failed for all runners — proceeding without clarification
2415
+ 2026-03-08T14:28:16.837Z [warn] No AI runner available — skipping clarification check
2416
+ 2026-03-08T14:28:16.966Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2417
+ 2026-03-08T14:28:17.131Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2418
+ 2026-03-08T14:28:17.176Z [error] Refusing to commit directly to protected branch "main"
2419
+ 2026-03-08T14:28:17.313Z [error] Refusing to push directly to protected branch "main"
2420
+ 2026-03-08T14:28:17.411Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2421
+ 2026-03-08T14:28:18.975Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-wN4L8F
2422
+ * branch main -> FETCH_HEAD
2423
+ hint: You have divergent branches and need to specify how to reconcile them.
2424
+ hint: You can do so by running one of the following commands sometime before
2425
+ hint: your next pull:
2426
+ hint:
2427
+ hint: git config pull.rebase false # merge
2428
+ hint: git config pull.rebase true # rebase
2429
+ hint: git config pull.ff only # fast-forward only
2430
+ hint:
2431
+ hint: You can replace "git config" with "git config --global" to set a default
2432
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2433
+ hint: or --ff-only on the command line to override the configured default per
2434
+ hint: invocation.
2435
+ fatal: Need to specify how to reconcile divergent branches.
2436
+
2437
+ 2026-03-08T14:28:21.598Z [warn] cursor clarification check failed — trying next runner
2438
+ 2026-03-08T14:28:21.601Z [warn] cursor clarification check failed — trying next runner
2439
+ 2026-03-08T14:28:21.602Z [warn] windsurf clarification check failed — trying next runner
2440
+ 2026-03-08T14:28:21.602Z [warn] Clarification check failed for all runners — proceeding without clarification
2441
+ 2026-03-08T14:28:21.602Z [warn] No AI runner available — skipping clarification check
2442
+ 2026-03-08T14:28:21.778Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2443
+ 2026-03-08T14:28:21.952Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2444
+ 2026-03-08T14:28:21.999Z [error] Refusing to commit directly to protected branch "main"
2445
+ 2026-03-08T14:28:22.153Z [error] Refusing to push directly to protected branch "main"
2446
+ 2026-03-08T14:28:22.252Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2447
+ 2026-03-08T14:28:23.834Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-AO54ZD
2448
+ * branch main -> FETCH_HEAD
2449
+ hint: You have divergent branches and need to specify how to reconcile them.
2450
+ hint: You can do so by running one of the following commands sometime before
2451
+ hint: your next pull:
2452
+ hint:
2453
+ hint: git config pull.rebase false # merge
2454
+ hint: git config pull.rebase true # rebase
2455
+ hint: git config pull.ff only # fast-forward only
2456
+ hint:
2457
+ hint: You can replace "git config" with "git config --global" to set a default
2458
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2459
+ hint: or --ff-only on the command line to override the configured default per
2460
+ hint: invocation.
2461
+ fatal: Need to specify how to reconcile divergent branches.
2462
+
2463
+
2464
+ ────────────────────────────────────────────────────────────
2465
+ 2026-03-08T14:32:06.839Z [run] started
2466
+ ────────────────────────────────────────────────────────────
2467
+ 2026-03-08T14:32:06.874Z [info] Fetching tasks (filter: all)...
2468
+ 2026-03-08T14:32:07.306Z [info] Found 0 tagged task(s)
2469
+ 2026-03-08T14:32:07.307Z [success] Done. Processed: 0, Skipped: 0
2470
+ 2026-03-08T14:37:27.285Z [warn] cursor clarification check failed — trying next runner
2471
+ 2026-03-08T14:37:27.286Z [warn] cursor clarification check failed — trying next runner
2472
+ 2026-03-08T14:37:27.286Z [warn] windsurf clarification check failed — trying next runner
2473
+ 2026-03-08T14:37:27.286Z [warn] Clarification check failed for all runners — proceeding without clarification
2474
+ 2026-03-08T14:37:27.286Z [warn] No AI runner available — skipping clarification check
2475
+ 2026-03-08T14:37:27.427Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2476
+ 2026-03-08T14:37:27.583Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2477
+ 2026-03-08T14:37:27.625Z [error] Refusing to commit directly to protected branch "main"
2478
+ 2026-03-08T14:37:27.756Z [error] Refusing to push directly to protected branch "main"
2479
+ 2026-03-08T14:37:27.842Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2480
+ 2026-03-08T14:37:29.245Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-Emf0gt
2481
+ * branch main -> FETCH_HEAD
2482
+ hint: You have divergent branches and need to specify how to reconcile them.
2483
+ hint: You can do so by running one of the following commands sometime before
2484
+ hint: your next pull:
2485
+ hint:
2486
+ hint: git config pull.rebase false # merge
2487
+ hint: git config pull.rebase true # rebase
2488
+ hint: git config pull.ff only # fast-forward only
2489
+ hint:
2490
+ hint: You can replace "git config" with "git config --global" to set a default
2491
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2492
+ hint: or --ff-only on the command line to override the configured default per
2493
+ hint: invocation.
2494
+ fatal: Need to specify how to reconcile divergent branches.
2495
+
2496
+ 2026-03-08T14:42:07.505Z [warn] cursor clarification check failed — trying next runner
2497
+ 2026-03-08T14:42:07.507Z [warn] cursor clarification check failed — trying next runner
2498
+ 2026-03-08T14:42:07.507Z [warn] windsurf clarification check failed — trying next runner
2499
+ 2026-03-08T14:42:07.507Z [warn] Clarification check failed for all runners — proceeding without clarification
2500
+ 2026-03-08T14:42:07.507Z [warn] No AI runner available — skipping clarification check
2501
+ 2026-03-08T14:42:07.657Z [error] Cannot create branch "task123/fix-bug": expected to be on "main" but currently on "some-other-branch"
2502
+ 2026-03-08T14:42:07.835Z [error] Refusing to commit: expected branch "task123/fix-bug" but currently on "wrong-branch"
2503
+ 2026-03-08T14:42:07.877Z [error] Refusing to commit directly to protected branch "main"
2504
+ 2026-03-08T14:42:08.009Z [error] Refusing to push directly to protected branch "main"
2505
+ 2026-03-08T14:42:08.101Z [error] Refusing to push: current branch "task123/fix-bug" does not match target branch "task456/other-task"
2506
+ 2026-03-08T14:42:09.522Z [error] git pull failed: From /var/folders/88/xzz9sxx15s13cmqq5_1k0t480000gn/T/aidev-bare-xouFtk
2507
+ * branch main -> FETCH_HEAD
2508
+ hint: You have divergent branches and need to specify how to reconcile them.
2509
+ hint: You can do so by running one of the following commands sometime before
2510
+ hint: your next pull:
2511
+ hint:
2512
+ hint: git config pull.rebase false # merge
2513
+ hint: git config pull.rebase true # rebase
2514
+ hint: git config pull.ff only # fast-forward only
2515
+ hint:
2516
+ hint: You can replace "git config" with "git config --global" to set a default
2517
+ hint: preference for all repositories. You can also pass --rebase, --no-rebase,
2518
+ hint: or --ff-only on the command line to override the configured default per
2519
+ hint: invocation.
2520
+ fatal: Need to specify how to reconcile divergent branches.
2521
+
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":""}