Skip to content

funcache coverage, tests, and comments - #457

Merged
prozacchiwawa merged 3 commits into
20260217-introspective-constantsfrom
20260427-funcache-coverage-and-cleanup
Apr 28, 2026
Merged

prozacchiwawa merged 3 commits into
20260217-introspective-constantsfrom
20260427-funcache-coverage-and-cleanup

Conversation

@aqk

@aqk aqk commented Apr 27, 2026 •

Copy link
Copy Markdown
Contributor

Note

Medium Risk
Mostly adds/extends tests and documentation, but also changes @ two-argument codegen behavior and error reporting, which can affect program compilation/runtime for env-path references.

Overview
Improves Funcache clarity and coverage by documenting what get_function_cache_key hashes (and explicitly what it does not), and adding tests that lock down cache-key invariants across dialects plus cold-vs-warm determinism.

Expands module disk-cache test coverage to compile real modules twice to assert cache hits/misses (including after source edits), adds determinism and cyclic-constant deadlock regression tests, and adds optimizer tests for stepping_over_24.

Adjusts codegen handling for the two-argument (@ X N) form (including applied-path cases) and refines the strict-mode error message; also fixes a small CompilerOpts::get_file_mod_date parameter typo.

Reviewed by Cursor Bugbot for commit bc3d798. Bugbot is set up for automated code reviews on this repo. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 4770f9b. Configure here.

"per-helper CLVM must match for {}",
decode_string(&cold_entry.name)
);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per-helper warm-cache assertion is tautological

Low Severity

The per-helper comparison loop in funcache_cold_vs_warm_roundtrip iterates cold_cache and looks up each key in warm_cache, but warm_cache was initialized directly from cold_cache.clone() and the codegen path only inserts on cache miss. As a result, every entry compared is the very same Rc<SExp> placed there before warm codegen ran, so this loop cannot fail and adds no coverage beyond the overall-program assertion above it.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 4770f9b. Configure here.

@prozacchiwawa
prozacchiwawa merged commit d8b1660 into 20260217-introspective-constants Apr 28, 2026
36 checks passed
@prozacchiwawa
prozacchiwawa deleted the 20260427-funcache-coverage-and-cleanup branch April 28, 2026 02:27
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.

2 participants