Allow substantive ss creates with placeholder comments
ober
4273b0296222e766b08526cd70670b3e0f42cbae
--- a/src/jcode/core/verified-run.ss +++ b/src/jcode/core/verified-run.ss @@ -4502,9 +4502,16 @@ (def (ss-create-stub-marker-content? content) (let ((s (string-downcase (or content "")))) - (or (string-contains s "placeholder") - (string-contains s "stub") - (string-contains s "todo")))) + (or (string-contains s "full content next") + (string-contains s "complete implementation below") + (string-contains s "implementation omitted") + (string-contains s "omitted for brevity") + (string-contains s "todo: implement") + (string-contains s "to be implemented") + (and (< (string-length s) meaningful-source-bytes-threshold) + (or (string-contains s "placeholder") + (string-contains s "stub") + (string-contains s "todo")))))) (def (complete-ss-create-content? path content) (and (source-ss-path? path) --- a/test/run.ss +++ b/test/run.ss @@ -10168,6 +10168,42 @@ (safe-delete-test-file! target-path)) (let* ([vr-dir "/tmp"] + [target "jcode-verified-large-placeholder-comment-create.ss"] + [target-path (string-append vr-dir "/" target)] + [body (string-append + "(import (jerboa prelude))\n" + ";; text placeholder label only " + (make-string 1100 #\x) + "\n" + "(define (main)\n" + " (displayln \"ok\"))\n" + "(main)\n")] + [slurp (lambda (p) (call-with-input-file p (lambda (i) (get-string-all i))))]) + (safe-delete-test-file! target-path) + (let* ([scope (parse-write-scope target)] + [wf (coding-workflow (string-append "grep -q ok " target) vr-dir + (list (cons 'write-scope scope)))] + [resp (scripted-responder + (list + (list + (make-wtool-call + "write" + (list (cons "path" target) + (cons "content" body)) + #f)) + (list (make-wtool-call "verify" '() #f)) + (list (make-wtool-call "done" '(("summary" . "large-placeholder-comment-ok")) #f))))] + [result (parameterize ((current-write-scope scope)) + (run-workflow wf "allow large ss create with placeholder comment" resp + (list (cons 'max-iterations 6) + (cons 'max-tool-errors 2))))]) + (check! "verified-run: .ss large placeholder comment create verifies" + result "large-placeholder-comment-ok") + (check! "verified-run: .ss large placeholder comment create writes file" + (slurp target-path) body)) + (safe-delete-test-file! target-path)) + + (let* ([vr-dir "/tmp"] [target "jcode-verified-stub-create-content.ss"] [target-path (string-append vr-dir "/" target)] [stub "(import (jerboa prelude))\n\n(define (main) (display \"stub\") (newline))\n(main)\n"]