feat: complete GemmaForge integration (worklist injection, streaming Ollama, real hunt lane)#372
Conversation
… hunt-lane) Follow-up to #371. The three pieces that were left as stubs are now real: (1) `--seed-findings` actually drives the agent's worklist `unified-pipeline.ts` now converts external `SeedFinding[]` to the `SemgrepFinding` shape the prompt-builder already consumes (severity bucketed from producer confidence, ruleId prefixed with producer name so the prompt visibly cites provenance, full payload preserved in `metadata`), prepends them to `semgrepFindings`, and honours `seedOnly` by skipping the static scan when both flags are set. `seedFindingsToSemgrepShape` is exported and covered by 9 new tests. (2) Ollama runtime streams `OllamaRuntime` defaults to `stream: true` and consumes Ollama's ND-JSON chunked body. Per-chunk content deltas fire `NativeStreamCallbacks.onDelta("assistant_response", …)`; `onUsage` fires exactly once on the terminal frame. The non-streaming path is preserved for tests (`stream: false`). 4 new streaming tests bring the runtime suite to 16/16 green. (3) Hunt lane is wired The dashboard `/live` view's Hunt lane now subscribes to a second SSE channel for pwnkit's own scan events (`pwnkit.events/v1`, accepted in both wire shapes). New `lib/hunt-stream.ts` parser, `?huntEvents=<URL>` query param, and bidirectional provenance (clicking a hunt tool_use card resolves to its originating lead by file:line ±20). `scripts/serve-events.mjs` gains an optional `--pwnkit-log <path>` to bridge pwnkit's `PWNKIT_EVENT_*` stdout lines onto `/hunt-events` without touching core. Full suite: 1423/1425 green. Builds: core, cli, dashboard all clean. Closes the three checkboxes on #371's task list. Refs #368 #369 #370.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (8)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Follow-up to #371. Replaces the three TODOs that ship merged with a stub:
Test plan
Notes for the reviewer
Companion: peaktwilight/gemmaforge (probe + scan side, already on main).