mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-10-06 15:39:41 +02:00
Fifteen review findings on the fast-path rewrite plus one caught live, all verified against a real 1.18.1 server before landing: - sendwait picks a fresh seq (the epoch second) instead of a fixed 2, so a second prompt to the same worker is typed instead of silently swallowed as an already-applied duplicate; explicit seq remains for deliberate resends - sendwait self-heals stranded delivery: an Ink repaint occasionally eats the Enter (observed live), so a timed-out short first wait sends one bare \r and re-waits by resending the identical frame as a tagged duplicate - spawn_worker verifies the resolved casePath carries Codeman hooks (the same /api/hook-event marker the server checks), refusing names that resolve to linked or pre-existing hook-less directories instead of running the job in what may be the user's real repo - spawn_worker probes the trust dialog after a short 5s composer wait, not the full 45s, restoring the ladder staging verbs.md documents; on a readiness miss it deletes the half-spawned session and returns 1 with empty stdout, so a prompt can never be typed blind into a trust dialog - spawn_workers refuses duplicate case names and empty argument lists, and keys result files by index - section 1 is bash 3.2 compatible (indexed arrays, no declare -A), prints the full delivered/timedOut/signal tuple per worker with an explicit line for a missing result, deletes only workers whose turn really ended (a timeout means still working), cleans up spawned siblings when any spawn fails, and guards its mktemp - last_text takes the previous answer as an optional second argument for consecutive-turn reads (the transcript briefly serves the prior answer after a stop, observed live) - the stale duplicate bullets in section 1's closing list are gone - reference/verbs.md joins the mode-list drift guard's file list - README's skill inventory covers verbs.md and the new SKILL.md shape - the changeset is minor so the shipped release matches the 1.19.0 stamp Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
aicodeman
| aicodeman |
|---|
| minor |
Make the codeman agent skill spawn workers fast instead of deliberating first.
Measured against a live server, the API does the whole job (spawn two claude workers, task them, read both answers) in about 10 seconds, so the delay users saw was agent-side: the skill taught serial spawning, made the happy path something to reassemble from five sections on every run, and cost ~16k tokens of mostly failure modes before the first call.
- The §0 preamble now defines the verbs instead of describing them:
spawn_worker,spawn_workers(concurrent),sendwaitandlast_text. §1 composes them into the whole job in one Bash call, and says to stop reading there. - Dropped two ceremonies the measurements retired: the pid-poll loop (
wait-outputalready blocks on the composer) and the agent-driven hooks check, which is now folded intospawn_workeritself as a single local grep of the resolvedcasePath, so a name that resolves to a linked case or a hook-less pre-existing directory is refused instead of silently running the job there. Linked cases and raw paths still require the by-hand check, where its absence silently breaks send-and-wait. - The bootstrap's write condition now greps the version stamp, so a stale or truncated
preamble file self-heals instead of failing and asking you to
rmit by hand. sendwaitpicks a freshseqper call (a fixed default made every second prompt to the same worker a silently-swallowed duplicate) and self-heals stranded delivery: an Ink repaint occasionally eats the Enter, leaving the prompt typed but unsubmitted (observed live), so a timed-out first wait sends one bare\rand re-waits by resending the identical frame as a tagged duplicate.- §5 moved to
reference/verbs.md, leaving an index. SKILL.md is the only part paid on every load and drops from ~16.4k to roughly 9k tokens (~35KB); section numbers and anchors are unchanged, so existing§5.xreferences still resolve.