Skip to content

refactor: extract try? suggestions via TryThisInfo#13774

Merged
nomeata merged 1 commit into
masterfrom
joachim/use-try-this-info
May 18, 2026
Merged

refactor: extract try? suggestions via TryThisInfo#13774
nomeata merged 1 commit into
masterfrom
joachim/use-try-this-info

Conversation

@nomeata
Copy link
Copy Markdown
Collaborator

@nomeata nomeata commented May 18, 2026

This PR makes try?'s expandUserTactic walk the info tree for TryThisInfo
nodes (introduced in #10524) instead of parsing the rendered Try this: message
text. The previous approach scraped lines prefixed with [apply] from the
message log, which would break the moment that wire format changed.

The user tactic is run under withSaveInfoContext so the in-flight trees come
out wrapped with a PartialContextInfo.commandCtx, which is what
InfoTree.foldInfo needs in order to descend; the structured suggestions can
then be read directly from the TryThisInfo nodes that TryThis.addSuggestion
already pushes. The prior manual Core.setMessageLog save/restore dance is no
longer needed.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

This PR makes `try?`'s `expandUserTactic` walk the info tree for `TryThisInfo`
nodes (introduced in #10524) instead of parsing the rendered `Try this:` message
text. The previous approach scraped lines prefixed with `  [apply] ` from the
message log, which would break the moment that wire format changed.

The user tactic is run under `withSaveInfoContext` so the in-flight trees come
out wrapped with a `PartialContextInfo.commandCtx`, which is what
`InfoTree.foldInfo` needs in order to descend; the structured suggestions can
then be read directly from the `TryThisInfo` nodes that `TryThis.addSuggestion`
already pushes. The prior manual `Core.setMessageLog` save/restore dance is no
longer needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@nomeata nomeata requested a review from kim-em as a code owner May 18, 2026 14:58
@nomeata nomeata added the changelog-tactics User facing tactics label May 18, 2026
@github-actions github-actions Bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label May 18, 2026
@leanprover-bot
Copy link
Copy Markdown
Collaborator

Reference manual CI status:

  • ❗ Reference manual CI can not be attempted yet, as the nightly-testing-2026-05-16 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-manual, reference manual CI should run now. You can force reference manual CI using the force-manual-ci label. (2026-05-18 15:54:45)

@github-actions github-actions Bot added the mathlib4-nightly-available A branch for this PR exists at leanprover-community/mathlib4-nightly-testing:lean-pr-testing-NNNN label May 18, 2026
@mathlib-lean-pr-testing mathlib-lean-pr-testing Bot added the builds-mathlib CI has verified that Mathlib builds against this PR label May 18, 2026
@mathlib-lean-pr-testing
Copy link
Copy Markdown

Mathlib CI status (docs):

@nomeata nomeata added this pull request to the merge queue May 18, 2026
Merged via the queue into master with commit 705ba64 May 18, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

builds-mathlib CI has verified that Mathlib builds against this PR changelog-tactics User facing tactics mathlib4-nightly-available A branch for this PR exists at leanprover-community/mathlib4-nightly-testing:lean-pr-testing-NNNN toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants