updates
ober
3ad021585c73d82965edc0fe89b10dd952d2141c
--- a/data/anti-patterns.sexp +++ b/data/anti-patterns.sexp @@ -2765,4 +2765,62 @@ ("tools" "rg \"bind|httpd-start|tcp-listen\"" "jerboa_howto" - "jerboa_security_scan"))) + "jerboa_security_scan")) + (("advice" + . + "When asked to fix a build target, reproduce the failure, repair the path that should produce the artifact, then re-run the exact requested target and record artifact evidence. A host/platform guard is only acceptable for truly unsupported targets, and should not substitute for an available cross-build path.") + ("avoid" + . + "Do not replace a failing build target with an early guard or clearer error and then call the task fixed unless the user explicitly asked for fail-fast behavior.") + ("id" . "build-fix-must-run-requested-target") + ("kinds" "debug-error" "all") + ("pattern" . "fix make .*|build target fails|cross build") + ("severity" . "medium") + ("tags" "make" "build" "verification" "target" + "cross-build") + ("title" . "Build Fixes Must Re-run the Requested Target") + ("tools" + "jerboa_make" + "jerboa_verify" + "jerboa_security_scan" + "git status --short")) + (("advice" + . + "Use Jerboa-only workflows: read the repository `AGENTS.md`, write user-facing code as `.ss`, prefer `(jerboa prelude)` and `(std ...)` modules, use Jerboa MCP tools such as `jerboa_apropos`, `jerboa_howto`, `jerboa_check_syntax`, and project `make` targets, and verify with Jerboa build/test paths. Never write hand-authored `.sls`; let Jerboa generate it.") + ("avoid" + . + "Do not invoke raw Scheme/Chez tooling, write diagnostic snippets in Chez syntax, or use `(chezscheme)`/`#!chezscheme`/`(library ...)` forms while working on Jerboa projects unless the user explicitly asks for internals work. This violates Jerboa-only project instructions and can lead to non-portable fixes or `.sls`-style code.") + ("id" . "raw-scheme-diagnostics-in-jerboa-project") + ("kinds" "all" "debug-error" "module" "ffi") + ("pattern" + . + "(chezscheme|chez|scheme|jerboa runtime /tmp/.*\\.ss|#!chezscheme|\\(library )") + ("severity" . "high") + ("tags" "jerboa" "chezscheme" "diagnostics" "mcp-tools" + "agent-instructions" "ss-files") + ("title" + . + "Do Not Use Raw Scheme/Chez Diagnostics In Jerboa Projects") + ("tools" "jerboa_request_advisor" "jerboa_howto" "jerboa_apropos" + "jerboa_check_syntax" "jerboa_anti_pattern_lookup" + "make -C <project> binary")) + (("advice" + . + "Use Jerboa MCP form-aware tooling for Scheme edits and syntax repair: start with jerboa_request_advisor, use jerboa_check_balance or jerboa_compile_check for diagnosis, and use jerboa_balanced_replace for source changes that must preserve balanced forms. Then run the project verifier as final authority.") + ("avoid" + . + "Do not debug or edit Jerboa .ss/.sls source by writing ad hoc parenthesis counters or raw reader probes. These miss source-language details and waste time on structural problems the Jerboa tooling already handles.") + ("id" . "manual-paren-counting-jerboa-source") + ("kinds" "script" "module" "debug-error") + ("pattern" + . + "manual paren counting|Ruby paren counter|ad hoc parenthesis counter") + ("severity" . "high") + ("tags" "jerboa" "scheme" "balanced-forms" "mcp" "syntax" + "ss") + ("title" + . + "Do Not Manually Count Parentheses In Jerboa Source") + ("tools" "jerboa_request_advisor" "jerboa_check_balance" + "jerboa_balanced_replace" "jerboa_compile_check" + "make scheme-test" "make verify")))