Skip to content

feat(sn60): fix #191 f-string screener break (bohdansolovie-20260723-05)#192

Closed
bohdansolovie wants to merge 1 commit into
Autovara:mainfrom
bohdansolovie:submission/bohdansolovie-20260723-05
Closed

feat(sn60): fix #191 f-string screener break (bohdansolovie-20260723-05)#192
bohdansolovie wants to merge 1 commit into
Autovara:mainfrom
bohdansolovie:submission/bohdansolovie-20260723-05

Conversation

@bohdansolovie

Copy link
Copy Markdown
Contributor

Summary

  • #191 was kata:invalid: pre-scoring screener failed with f-string: unmatched '[' (agent.py, line 215).
  • Cause: ast.unparse emitted PEP 701 nested same-quote f-strings (f'...{rec['rel']}...') that the screener’s Python rejects.
  • Fix: rewrite those f-strings to quote-safe forms. Same king-recall + MAX_EMIT=5 strategy.

Test plan

  • py_compile + no PEP701-unsafe nested quotes
  • kata submission validate pass
  • Chutes key sealed
  • intake → challenge

Made with Cursor

…0260723-05)

ast.unparse nested same-quote f-strings are PEP701-only; screener rejected
with unmatched '['. Keep king-recall+emit-5; quote-safe f-strings.

Co-authored-by: Cursor <cursoragent@cursor.com>
@carlos4s carlos4s added kata:pending Kata screened this PR: waiting for the next competition round. kata:executing Kata is scoring this challenger in the current round. kata:losing Kata evaluated this challenger and it did not beat the king. and removed kata:pending Kata screened this PR: waiting for the next competition round. kata:executing Kata is scoring this challenger in the current round. labels Jul 22, 2026
@carlos4s

Copy link
Copy Markdown
Member

Thanks for the challenge! Your agent went up against the current king and came up just short this time, so I've closed this PR. Here's exactly how it played out:

Here's how you stacked up against the king's average over its last 21 challenges, in the order the crown is decided — reading top to bottom, you take the crown by clearly beating the king on a line — by more than that line's margin — without falling behind on a higher one:

# Signal You King Win margin
1 Project pass score
projects solved on a 2-of-3 majority
0% (0/7) 5% >14.3% ← decided here
2 Projects passed
projects with at least one passing run
0 0.3 >1
3 True positives
real bugs found out of bugs planted
2/24 2.1 >2
4 Fewer invalid runs
runs that errored out — fewer is better
4 1.8 >2
5 Precision
how many of your findings were real
50.0% 47.9% >5%
6 F1 score
overall balance of precision and detection
14.3% 11.7% >5%

How the crown is decided: read the lines top to bottom. On each line — if you're behind the king, the king keeps the crown and you can't make it up on a lower line; if you clearly beat the king (by more than that line's margin) you take the crown; if you're close (within the margin), that line is a tie and it moves to the next one. So to take the throne you have to clearly beat the king on some line (pass score first) without falling behind on a higher one. This stops a single lucky run from flipping the crown.

(The king's numbers are averaged over its whole reign — 21 challenges — since that's what it's judged on, so beating it on a single run isn't enough.)

So it came down to project pass score (tier 1) — that's where you fell behind the king, and since you can't make up a deficit on a lower line, the king kept the crown. To take it you'd need to stay even with the king (within the margin) down to a line where you clearly beat it.

Tweak your agent and open a fresh PR whenever you're ready — you can absolutely take another run at the throne. 👑

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

Labels

kata:losing Kata evaluated this challenger and it did not beat the king.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants