Skip to content

Overhauls codegen, Pt 1#7

Open
jtoman wants to merge 7 commits into
masterfrom
jtoman/agentic-cex-analysis
Open

Overhauls codegen, Pt 1#7
jtoman wants to merge 7 commits into
masterfrom
jtoman/agentic-cex-analysis

Conversation

@jtoman

@jtoman jtoman commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Four major changes:

  1. Resurrect main.py in the form of a proper "console-codegen"
  2. Asyncify all of our code
  3. New CEX handling API, uses an agentic analyzer for the codegen
  4. Adds dedicated CEX remediation agent (codegen agent was awful at writing CVL fixes)

Four major changes:
1. Resurrect main.py in the form of a proper "console-codegen"
2. Asyncify all of our code
3. New CEX handling API, uses an agentic analyzer for the codegen
4. Adds dedicated CEX remediation agent (codegen agent was *awful* at
   writing CVL fixes)
@jtoman jtoman requested a review from shellygr June 23, 2026 21:20
Comment thread composer/prover/core.py
Comment thread composer/prover/core.py
Comment thread composer/prover/core.py
# the full result set; grouping is opt-in per handler.)
failing_rules = group_failing(all_results)

# fs tools scoped to the report's ``inputs/.certora_sources``

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For cloud runs you assume we fetch zip outputs? This is a bit expensive, also in RAM, and while I don't mind the path structure, it's important to use POU latest fetch sources API to avoid zip download and extraction

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't assume, I know we do as I wrote it that way. now that POU is OSS, porting to use that instead of my hand rolled anonymousKey based methods is probably better. One note; it would be ideal if we could make POU async friendly out of the box, rather than having to wrap in to_thread everywhere.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

fair point. adding to the wishlist

Comment thread composer/templates/cex_analyzer_aggregator_system.j2
Comment thread composer/templates/cex_analyzer_per_rule_system.j2 Outdated
@jtoman jtoman requested a review from shellygr June 25, 2026 22:49

@shellygr shellygr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

tiny nits

Comment thread tests/test_rule_skips.py
@@ -130,7 +130,7 @@ def _is_result_rejection(st: StateWithSkips) -> bool:


# =========================================================================
# Prover report handling
# Prover report handlingq

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

handlingq

Comment thread pyproject.toml
console-foundry = "composer.cli.console_foundry:main"
tui-foundry = "composer.cli.tui_foundry:main"
autoprove-report-render = "composer.spec.source.report.render:main"
tui-natspec = "composer.cli.tui_pipeline:main"
cache-natspec = "composer.cli.cache_natspec:main"
console-codegen = "composer.cli.console_codegen:main"
tui-codegen = "composer.cli.tui_codegen:main"
# certora_autosetup entry points (merged in from the AutoSetup repo).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

remove parenthesis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants