Skip to content

wrap long lines in Main declarations: in project card - #711

Queued
loefflerd wants to merge 1 commit into
LeanPool:mainfrom
loefflerd:CI-wrap-main-decls
Queued

loefflerd wants to merge 1 commit into
LeanPool:mainfrom
loefflerd:CI-wrap-main-decls

Conversation

@loefflerd

Copy link
Copy Markdown

At present, CI enforces that the Main declarations: line in the project card matches the autogenerated one from the YAML file, but it also enforces that the line can't be over 100 chars long. This change adjusts the CI scripts to wrap the line.

(Implemented by ChatGPT 6.1 Sol Medium using Codex)

@github-actions

Copy link
Copy Markdown
Contributor

Proof profile (new / modified Lean files)

No added or modified Lean files under LeanPool/ in this PR. No compile-cost measurements are needed.

Advisory only — never blocks merge.

@greptile-apps

greptile-apps Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict.

RetriggerView in Greptile

[Low impact] The PR appears safe to merge; no actionable issues were found.

Summary

Wraps generated Main declarations: text at 100 characters, with indented continuation lines and whole identifiers.

  • Long project declaration lists now wrap in generated cards.

Reviews (1) · Last reviewed commit: "wrap long lines in `Main declarations: `..." · Reviewed by Greptile

@Vilin97

Vilin97 commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

🤖 LLM review — refactor (gpt-6.1-sol)

Reviewed head: 7940b42d7ea2bd7bf2d3eb1ccaad062c706648dd

Verdict: ✅ approve

The PR uses textwrap.fill to wrap generated Main declarations lists, retaining whole identifiers and sharing the format between writing and validation. Regression tests cover wrapping, stale-card detection, idempotence, and preservation of separate documentation. All 69 quality-checker tests passed on the available Python 3.12, although the project targets 3.13+. A separate migration check also passed. No actionable maintenance regression was found.

Aspect Value
Scope project-card formatting
Introduces tech debt ✅ no
Maintainability ✅ improved
Brittleness ➖ unchanged
Risk ✅ low

The shared formatter resolves the card-formatting conflict with focused regression coverage and no added maintenance debt.


Tokens: 879,162 in / 6,950 out · Tier: codex-subscription · Effort: xhigh · Billing: Codex subscription quota (no API credits) · Estimated cost: $3.6209 (Standard API equivalent; uncached input) (long-context rate)
Automated review against .github/REFACTOR_REVIEW_RULES.md. Disagree? Reply on the PR; rules can be updated in a PR of their own.

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed both complete changed files and all four hunks at 7940b42d. The wrapping is narrow: short cards keep their representation, continuation lines are indented, identifiers remain intact, and the tests cover stale-card detection, attribution and idempotent rewriting. I found no source defect. An unsplittable identifier can still exceed 100 columns; the ordinary style gate remains in force.

This changes the canonical card representation enforced by quality.py. The repository's instruction against changing protected checks without direct authorization applies to that specific generator/check change. Technical source assessment is favorable; merge remains pending that scoped authorization and the applicable CI/current-main/native-queue gates. I reviewed the tests but did not execute them.

@Vilin97
Vilin97 added this pull request to the merge queue Nov 3, 2026

This branch has not been deployed

No deployments
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