Skip to content

feat: teach vibe let-go namespaces, tools, and the Responses API - #18

Merged
nooga merged 1 commit into
mainfrom
feat/vibe-letgo-prompt
Sep 19, 2026
Merged

nooga merged 1 commit into
mainfrom
feat/vibe-letgo-prompt

Conversation

@nooga

@nooga nooga commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rewrite the vibe system prompt around live let-go (canonical string//json//os/ names, no clojure.string, required defn docstrings) and give the model list-namespaces / ns-publics / var-doc tools against the running VM.
  • After the splice, rewrite JVM-Clojure prefixes and insert missing (:require ...) entries into an existing ns form (one undo step; files with no ns form are left alone).
  • Switch the OpenAI default to /v1/responses so function tools can sit next to configurable :reasoning-effort (default :medium). A chat/completions URL still infers the older shape; echo no longer truncates API errors.

Test plan

  • lg -e "(require '[test :refer [run-tests]] '[test.vibe-test]) (run-tests)" — 27 tests, 126 assertions
  • C-c C-v on a (vibe "...") in a file with an ns form: generated defns have docstrings, uses string/ not clojure.string/, missing requires land in the ns form, one undo restores both
  • Confirm OpenAI gpt-5.6-luna with tools + :reasoning-effort :medium no longer 400s
  • Point :url at a llama.cpp .../v1/chat/completions (or :tools false) and confirm it still completes
  • Trigger an API error and confirm the echo area shows the full error.message, not a 200-char truncation

Made with Cursor

The shipped prompt kept emitting clojure.string/; this catalogs the live
VM, lets the model inspect ns-publics, rewrites JVM prefixes, and splices
missing :requires. OpenAI now goes through /v1/responses so tools can sit
next to configurable :reasoning-effort.

Co-authored-by: Cursor <cursoragent@cursor.com>
@nooga
nooga merged commit 733dd6e into main Sep 19, 2026
1 check passed
@nooga
nooga deleted the feat/vibe-letgo-prompt branch September 19, 2026 01:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant