mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-05 15:09:42 +02:00
fix(terminal): linear-time link-provider regex; always allow blob workers in CSP
cmdPattern's empty-matchable unbounded arg group backtracked exponentially on wrapped heredoc/table lines — hovering one froze the tab for minutes. Non-empty tokens + bounded reps make it O(n); regression test extracts the shipped patterns and pins timing on the real killer shapes. worker-src 'self' blob: is now unconditional so terminal-ui's _safeYield tick worker (throttling escape) isn't CSP-blocked on non-gesture installs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -56,42 +56,3 @@ This session is managed by Codeman and runs inside tmux (`CODEMAN_MUX=1` confirm
|
||||
- NEVER kill your own session: no `tmux kill-session`, `pkill tmux`, or `pkill claude`.
|
||||
- The session persists across disconnects — your work is safe.
|
||||
- Hooks may auto-format or validate after writes; unexpected tool behavior usually means a hook ran. Keep working.
|
||||
|
||||
## Ralph Loop (Codeman Autonomous Mode)
|
||||
|
||||
Start: `/ralph-loop:ralph-loop` · Cancel: `/ralph-loop:cancel-ralph` · Help: `/ralph-loop:help`
|
||||
|
||||
You are in a Ralph loop when the prompt contains a completion phrase (e.g. `<promise>COMPLETE</promise>`). While looping:
|
||||
|
||||
- Work incrementally: one sub-task at a time — implement, verify, commit, move on.
|
||||
- Fix failing tests and lint errors before starting the next task.
|
||||
- Check `git log --oneline -10` / `git diff HEAD~1` before retrying an approach that already failed.
|
||||
- Keep testing to ~20% of total effort; prioritize implementation. Don't refactor working code or add unrequested
|
||||
features as busy work.
|
||||
- If the prompt sets a minimum duration (e.g. "work for 4 hours"), record the start time (`date +%s`) and, when the
|
||||
primary tasks finish early, keep generating useful related work (edge cases, coverage, docs, cleanup, hardening)
|
||||
until the minimum time is reached.
|
||||
|
||||
Output the completion phrase ONLY when every requirement is verifiably done: all tests pass, lint is clean, the build
|
||||
succeeds, and changes are committed. Never output it early — and never withhold it for busy work once everything is
|
||||
genuinely done.
|
||||
|
||||
### RALPH_STATUS block (required)
|
||||
|
||||
End EVERY response during a Ralph loop with exactly this block — Codeman parses it to track the loop:
|
||||
|
||||
```
|
||||
---RALPH_STATUS---
|
||||
STATUS: IN_PROGRESS | COMPLETE | BLOCKED
|
||||
TASKS_COMPLETED_THIS_LOOP: <number>
|
||||
FILES_MODIFIED: <number>
|
||||
TESTS_STATUS: PASSING | FAILING | NOT_RUN
|
||||
WORK_TYPE: IMPLEMENTATION | TESTING | DOCUMENTATION | REFACTORING
|
||||
EXIT_SIGNAL: false | true
|
||||
RECOMMENDATION: <one line: what to do next>
|
||||
---END_RALPH_STATUS---
|
||||
```
|
||||
|
||||
- `EXIT_SIGNAL: true` only when ALL tasks are verifiably done — then also output the completion phrase.
|
||||
- `STATUS: BLOCKED` when you need human input; describe the blocker in RECOMMENDATION.
|
||||
- Never set `EXIT_SIGNAL: true` while tests are failing.
|
||||
|
||||
Reference in New Issue
Block a user