Skip to content

feat: add the representation theory roadmap family#62

Open
kim-em wants to merge 18 commits into
mainfrom
roadmap/representation-theory
Open

feat: add the representation theory roadmap family#62
kim-em wants to merge 18 commits into
mainfrom
roadmap/representation-theory

Conversation

@kim-em

@kim-em kim-em commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR adds a family of eleven representation-theory roadmaps under TauCetiRoadmap/RepresentationTheory/ The family covers:

  • semisimple algebras and Artin-Wedderburn structure theory
  • the character theory of finite groups, up to the Burnside-Dixon-Schneider algorithm that computes character tables over an exact cyclotomic type
  • induction, restriction, and Mackey theory, with Artin and Brauer induction, projective representations, and the Schur multiplier
  • root systems, Weyl groups, and the Cartan-Killing classification
  • the highest-weight theory of semisimple Lie algebras through the Weyl character and dimension formulas, the Harish-Chandra isomorphism, and the explicit construction of the exceptional algebras
  • the finite-dimensional representations of the classical groups, with the Weyl construction, Schur polynomials, and Gelfand-Tsetlin bases, the symmetric group, Specht modules, and Schur-Weyl duality for the general linear, orthogonal, and symplectic groups
  • compact groups, Haar measure, and the Peter-Weyl theorem
  • Lie groups and the Lie algebra correspondence
  • Clifford algebras, the Pin and Spin groups, and the spin representations that supply the fundamental representations of types B and D
  • quiver representations, Gabriel's theorem, and Auslander-Reiten theory.

The roadmaps cite the neighbouring reductive-groups, orthogonal-L2-bases, pivotal-spherical, and Temperley-Lieb roadmaps where relevant.

🤖 Prepared with Claude Code

kim-em and others added 3 commits July 6, 2026 07:43
Add an integrated family of representation-theory roadmaps, grouped under
TauCetiRoadmap/RepresentationTheory/ with an index README:

- SemisimpleAlgebras: Jacobson radical, Wedderburn with uniqueness, density,
  central simple algebras, Skolem-Noether, the Brauer group.
- CharacterTheory: class functions, the group-algebra center and structure
  constants, completeness and both orthogonality relations, integrality, and an
  executable proven-correct Burnside-Dixon-Schneider algorithm computing
  character tables over an exact cyclotomic type.
- InductionRestriction: Frobenius reciprocity, the projection formula, induced
  characters, the Mackey decomposition and irreducibility criterion, Clifford.
- RootSystems: root systems, the Weyl group as a Coxeter system, the
  fundamental domain, the Cartan-Killing classification.
- LieHighestWeight: sl2 as the engine, root-space decomposition, Verma modules
  and L(lambda), the highest-weight classification, Weyl complete reducibility,
  and the Weyl character and dimension formulas.
- ClassicalGroups: tensor powers of the standard representation, the Weyl
  construction, highest weights, Schur polynomials, dimension, branching.
- SchurWeyl: partitions and tableaux, Specht modules, hook-length,
  Murnaghan-Nakayama, RSK, Schur-Weyl duality.
- CompactGroups: Haar averaging, matrix coefficients, Schur orthogonality,
  Peter-Weyl, characters, the SU(2) and maximal-torus engine.

Each roadmap grounds its consume-vs-build split in the current Mathlib source,
and each Suggested.lean typechecks against Mathlib (sorry-only). Register the
group: root imports, README list entry, and the issue-template area dropdowns
(via check_roadmap_areas.py --fix, treating RepresentationTheory as one area).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add three representation-theory roadmaps identified by a coverage audit of the
13-book corpus as having no home in the family:

- LieGroups: the smooth Lie group / Lie algebra correspondence (exp, Ad/ad, the
  closed-subgroup theorem, BCH, Lie's third theorem, maximal-torus conjugacy and
  the general Weyl integration formula, complexification, Borel-Weil, and the
  Cartan/Iwasawa/KAK decompositions).
- SpinRepresentations: Clifford algebras, the Pin and Spin groups as double
  covers of O and SO, the spin and half-spin representations (the fundamental
  representations of types B and D), the low-dimensional exceptional
  isomorphisms, real Clifford algebras, and triality.
- QuiverRepresentations: path algebras, quiver representations, Krull-Schmidt,
  Gabriel's theorem (finite type iff ADE Dynkin, indecomposables as positive
  roots), reflection and Coxeter functors, and Auslander-Reiten theory.

Fill in-scope gaps in five existing roadmaps:

- InductionRestriction: Artin and Brauer induction theorems; projective
  representations, factor sets, and the Schur multiplier.
- CharacterTheory: the Frobenius-Schur real/quaternionic trichotomy; Frobenius
  groups and Frobenius's theorem; the representation theory of GL2(F_q).
- SchurWeyl: Schur-Weyl duality for the orthogonal and symplectic groups (the
  Brauer algebra).
- LieHighestWeight: the center of U(g), the Harish-Chandra isomorphism and
  linkage, Freudenthal's multiplicity formula, Serre's relations; and the
  explicit construction of the exceptional Lie algebras (octonions, the Albert
  algebra, the Freudenthal construction).
- ClassicalGroups: Gelfand-Tsetlin bases.

Register the three new roadmaps (root imports and the RepresentationTheory
index). Every Suggested.lean typechecks against Mathlib (sorry-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sharpen every representation-theory roadmap for mathematical correctness and
dependency-ordering after an adversarial review, and normalize the prose to the
house conventions:

- SemisimpleAlgebras: stage degree/index after the Wedderburn decomposition and
  maximal subfields (was circular); give Skolem-Noether and the centralizer
  theorem their finite-dimensional central-simple hypotheses.
- CharacterTheory: state the Frobenius-Schur real/quaternionic trichotomy and the
  involution counts precisely; bundle the Frobenius kernel; pin the GL2(F_q)
  principal-series and cuspidal signatures.
- InductionRestriction: state the Clifford correspondence only where the module
  extends to the inertia group; add the isotypic-decomposition prerequisite;
  separate the coefficient regimes; correct the induced-character formula and the
  Schur-multiplier claim.
- RootSystems: restrict DynkinType to valid ranks; replace the circular Coxeter
  presentation route; insert a root-combinatorics layer before the Coxeter system.
- LieHighestWeight: split the weight-space decomposition from the diagonalizability
  theorem; prove Weyl-invariance via each root's sl2; expand the finite-dimensionality
  milestone; make the Harish-Chandra dot action and Freudenthal recursion explicit;
  commit the split-form track for the exceptional algebras.
- ClassicalGroups: restrict the Young-symmetrizer construction to polynomial
  irreducibles (rational ones are determinant twists); add the reductive
  central-character data; split SO_n from O_n; fix the Gelfand-Tsetlin interlacing.
- SchurWeyl: correct the Young-symmetrizer vanishing lemma; state both Schur-Weyl
  dualities at the image level; pin absolute irreducibility of Specht modules; use
  the honest form-orthogonal and symplectic groups for the Brauer duality.
- CompactGroups: replace the circular Peter-Weyl density argument with the
  convolution-operator route; prove the SU(2) classification rather than assume it;
  restate unitarizability as an equivalent Hilbert structure.
- LieGroups: make finite-dimensionality a standing hypothesis; restrict the
  structure-theory milestones to compact/reductive as appropriate; break the Lie's
  third theorem ordering.
- SpinRepresentations: state the double cover over an algebraically closed field;
  remove simple-connectivity from the main chain; fix the Layer 1/Layer 4 ordering
  and the bivector normalization.
- QuiverRepresentations: pin the left-module convention and finiteness; require
  acyclicity for finite-dimensionality; restrict Gabriel to an algebraically closed
  field.

Every Suggested.lean typechecks against Mathlib (sorry-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kim-em
kim-em requested review from a team as code owners July 6, 2026 14:10
@tauceti-review-bot
tauceti-review-bot Bot enabled auto-merge (squash) July 6, 2026 14:10

@mrdouglasny mrdouglasny 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.

This is a supervised, question-driven review; the blocking items are below, full analysis available in https://github.com/mrdouglasny/TauCeti-reviews-pr62.

🤖 Models Claude Opus 4.8 and Codex (GPT-5.6) suggest:

**Overall the family is strong and largely formalization-ready: the mathematics, layering, references (cited per-layer in every roadmap), and Mathlib-overlap accounting are consistently accurate. The systematic risk is signature faithfulnessSuggested.lean targets that would build green while being false or vacuous. We found 15 such blocking defects across 9 of the 11 roadmaps (only SchurWeyl and RootSystems are blocking-free), plus ~26 should-fix items and 4 coverage requirements. Every blocking item below was adversarially verified (Codex, with counterexamples).

🔴 Blocking (false or vacuous as written)

  • SpinRepresentations
    • card_ker_spinToSpecialOrthogonal — false in dimension 0 (V=0 ⇒ Pin/Spin and SO(0) trivial ⇒ kernel is 1, not 2).
    • soEquivBivector — false in characteristic 2 (R=𝔽₂, n=1: ⋀²R=0 but so(1,𝔽₂)≅𝔽₂); needs ≃ₗ⁅R⁆ + [Invertible 2].
    • spinAction/spinRep — target can be empty (W=0: no unital Mat₂(ℂ)→ℂ); needs a maximal-isotropic polarization.
  • CharacterTheory
    • irreducibleCharacters_span — false: irreducible characters span ClassFunction, not all of G→k (⊤ ≤ span fails for nonabelian G).
    • classMultMatrix vs centralCharacterTable_eigenvector — transpose mismatch (a(i,k,j) vs a(i,j,k); S₃ witness a_{T,T,C}=3 ≠ a_{T,C,T}=2).
    • characterPairing_nondegenerate — false if char ∣ |G| (pairing ≡ 0); needs [Invertible (card G : k)].
  • QuiverRepresentations
    • dimVector_reflectionFunctor — vacuous: IsEmpty (Sᵢ ⟶ M) is unsatisfiable in a preadditive category.
    • exists_projectiveCover — false over arbitrary [Ring A] (needs semiperfect/Artinian).
    • exists_almostSplitSequence — false on the whole functor category (AR existence is for finitely-presented reps; Paquette 2011).
  • ClassicalGroupsschurFunctor_iso_irreducible, character_irreducible_eq_schurPoly, and gtPatternEquivSSYT all false without the row bound ℓ(μ) ≤ n.
  • InductionRestrictionbrauer_characterization false without a class-function hypothesis, even over ℂ (S₃ counterexample); the splitting-field fix alone does not repair it.
  • SemisimpleAlgebrascard_blocks_eq false: zero-size Wedderburn blocks break the count (needs ∀ i, NeZero (d i)).
  • LieHighestWeightsl2_finrank_of_hasPrimitiveVector / sl2_irreducible_ext false without "the triple spans L" (sl₃-adjoint counterexample).
  • CompactGroupsschur_orthogonality_self false (conjugation on the wrong factor under Mathlib's inner-product convention).
  • LieGroupsweyl_integration_formula false: μG, μT, weylDensity are free unconstrained parameters.

🟠 Should-fix and coverage (detail in the bundle)

~26 should-fix items (missing hypotheses, vacuous Prop := sorry anti-vacuity predicates, too-weak isos), plus four coverage requirements written up as standalone notes: (1) pin the representation ring R(G) + injective character ring-hom (tensor-product decomposition currently has no spec — only the additive shadow is pinned); (2) pin the executable character-table summit's cyclotomic bridge (Cyclotomic e / embedding / lift); (3) extend the Frobenius–Schur reality trichotomy to compact groups (present for finite groups only — needed for spinor/matter reality types); (4) add a "Scope & boundaries" paragraph to the family README (the deliberate exclusions — modular theory, noncompact rep theory, affine types — are nowhere stated).

Recurring themes: faithfulness-over-falsity (a green build won't catch these); unpinned cross-roadmap interfaces promised in prose but not machine-checked; and Prop := sorry predicates that leave a summit only as strong as an unwritten definition.

📦 Full analysis (linked)

Supporting material — too long for this comment — is at https://github.com/mrdouglasny/TauCeti-reviews-pr62:

  • reviews/ — per-roadmap findings (blocking + should-fix + notes) and the family synthesis; 01_INDEPENDENT_ADVERSARIAL_AUDIT.review.md is Codex's independent audit.
  • VERIFICATION.md — Codex's counterexample-level verification of the original blockers.
  • OVERVIEW.md — structures defined, Lean design choices, one major theorem per roadmap, and a per-definition universal-property / canonicity scorecard.
  • DEFINITIONS.md — a checklist of all 238 defs, each linking to its exact source line.
  • APPLICATIONS.md / APPLICATIONS_AG.md — a downstream-support audit (mathematical physics; algebraic geometry, Fulton–Harris) of whether the foundations expose what good downstream definitions will need.
  • comments/ — the four coverage requirements above, as postable notes.
  • roadmaps/ — the reviewed PR #62 snapshot (head 37f34c8), so each review sits next to the roadmap it reviews.

Happy to discuss or open per-finding threads.

kim-em and others added 13 commits July 22, 2026 16:19
…simple-module dictionary

Review findings: add the essential NeZero block-size hypotheses to card_blocks_eq
(zero blocks pad any presentation, so the count is otherwise not an invariant),
pin the block-to-simple-module counting interface CharacterTheory consumes
(simpleModule_linearEquiv_simple_submodule, blocks_equiv_simpleModules), mark
quaternion_finrank as consuming Mathlib's Quaternion.finrank_eq_four, and
reconcile the README's pinned-object list with the file.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…lness, real Dominates

Review findings: state schurWeylDecomposition as an intertwining equivalence
(a bare linear iso is equivalent to the dimension count), retarget the d >= n
faithfulness milestone at the induced algebra map C[Sn] -> End(V^n) pinned by
permActionAlgHom_single (the group hom is injective already for d >= 2), give
Dominates its real partial-sum body on sorted parts, tie standardCount to
Fintype.card (StandardYoungTableau mu) with the Fintype instance, pin the
youngSubgroup part ordering, and record the variable-count caveat on
frobenius_powerSum and the Wenzl-criterion re-check on the Brauer
semisimplicity bound.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…mas; minor fixes

Review findings: give IsFiniteType its generalized-Cartan-matrix body with a
rational positive symmetrizer and Matrix.PosDef, credit Finite/Lemmas.lean for
the {0,1,2,3} Coxeter-product bound in coxeterMatrixOfBase and the README
consume list, correct RootPairing.nonempty_base's namespace, drop duplicated
instance binders on inversions_ncard_mul_ofIdx, justify the deliberate absence
of [P.IsReduced] on isFiniteType_cartanMatrix, document the fixed-carrier
choice in exists_rootPairing_of_dynkinType, and fix the Bourbaki chapter split.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…sRationalRep

Review findings: add the essential mu.colLen 0 <= n hypothesis to
schurFunctor_iso_irreducible, character_irreducible_eq_schurPoly, and
gtPatternEquivSSYT (Schur functor and polynomial vanish for taller diagrams
while the truncated-weight irreducible does not), pin weightOfShape's intended
domain, give IsRationalRep its coordinate-entry body on a finrank-indexed
basis (basis-independence and the comodule equivalence become lemmas), rename
the irreducible def to highestWeightRep and make DominantWeight an abbrev,
annotate the SchurWeyl ownership of permTensorAction/schurFunctor/schurPoly,
reconcile the 0-based gtGenerator indexing with the README prose, and annotate
the load-bearing file-scope set_option (checked: required to elaborate).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…tion, real predicate bodies, cyclotomic bridge, representation ring

Review findings: correct irreducibleCharacters_span to ClassFunction <= span
(spanning all of G -> k is false for nonabelian G); resolve the
classMultMatrix/eigenvector convention mismatch by keeping the matrix and
restating the eigen-relation on row vectors via vecMul, sweeping README and
docstrings to 'rows of Omega are common left eigenvectors' and pinning the
convention; add the essential Invertible (Nat.card G) hypotheses to
characterPairing_nondegenerate and primitiveCentralIdempotent and normalize
the Invertible spelling to Nat.card file-wide; strengthen character_galois_pow
to a single sigma for all g; state isIntegral_classSum inside the center; give
real bodies to ClassFunction, IsGoodDixonPrime, IsRealForm,
IsRealizableOverReal (fixed carrier), IsFrobeniusComplement, and IsTISet;
replace IsCharacterTableSpec with a Prop-structure in the vecMul convention
plus the normalized_eigenrow_iff_algHom uniqueness lemma; pin the cyclotomic
bridge (ring structure, generator, ring-hom embedding, CyclotomicRing
equivalence, injectivity, primitive-root pin, cyclotomicReduce, and
liftCyclotomic_spec uniqueness) with the Dixon-bound caveat recorded; add the
degree-2 and theta-regularity hypotheses to the GL2 cuspidal family; add the
Layer-4b representation ring (repRing CommRing, character ring hom into class
functions, injectivity over a char-0 splitting field); and clarify the
SemisimpleAlgebras dependency and Frobenius-Schur build-target wording in the
README.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…fields; real predicate bodies

Review findings: add the essential conjugacy-invariance hypothesis and
[IsAlgClosed k] to brauer_characterization (false for arbitrary f even over C,
S3 counterexample) and align artin_induction/brauer_induction with the
README's algebraically-closed char-0 regime; restate rat_rep_iso_of_res_cyclic
with the averaged fixed-point sums (the previous per-subgroup character
equality was equivalent to global equality, trivializing Artin's corollary);
give real bodies to IsElementary (p-elementary internal direct product),
MackeyDisjoint (zero intertwining space across the Mackey subgroup), and
IsProjectiveRep (normalized cocycle plus action identity); pin the Clifford
character-form witnesses (e nonzero, reps a genuine transversal of the
inertia group); record the ind-orientation proof obligation against Mathlib's
coinvariants model; drop the redundant conjFDRep_character hypothesis and
frobenius_reciprocity [Fintype S]; fix the README double-coset inner product
to <Ind 1, Ind 1>; and document two review suggestions that do not hold in
practice (mackeyDecomp's HasFiniteBiproducts instance is required, and Layer
7's universe-0 pin is forced by groupCohomology over ZZ).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…finite dimension, pin the root-system bridge

Review findings: replace the unsatisfiable IsEmpty hom-type guard on
dimVector_reflectionFunctor with the no-summand biproduct form and thread the
sink hypothesis through reflectionFunctor (acyclicity through coxeterFunctor);
restrict exists_projectiveCover to finite-dimensional algebras (false over an
arbitrary ring); introduce IsFinDim and scope Auslander-Reiten theory to the
finite-dimensional subcategory, giving IsAlmostSplit a real Prop-structure
whose lifting quantifiers stay finite-dimensional and adding the essential
finiteness hypothesis to exists_almostSplitSequence (Paquette's counterexample
on the full functor category); retype arTranslate as an object-level
operation; give real bodies to IsBasic, IsFiniteRepType, IsIrreducibleMorphism
and the arQuiver vertex type; pin the quiver-root-system bridge as
exists_rootPairing_titsForm (symmetrized Tits Gram = base Cartan matrix, roots
= Tits-form-1 vectors); drop [IsAlgClosed k] from the field-independent
simply-laced Gabriel targets and correct the README's closedness rationale;
strengthen exists_quiver_admissibleIdeal_morita with kernel admissibility and
name the Ext-quiver companion; fix the Fitting docstring direction and
Quiver.Symmetrify capitalization; keep finiteDimensional_pathAlgebra's
[Finite Q] (checked: required, contra the review's redundancy nit).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…ebra; pin Verma, Chevalley, Harish-Chandra, and the Frobenius-Schur interface

Review findings: the sl2 finrank and classification targets were false for
modules merely irreducible over an ambient L (sl3-adjoint counterexample) --
sl2_finrank_of_hasPrimitiveVector now hypothesizes irreducibility over
t.toLieSubalgebra (the minimal correct hypothesis, weaker than the review's
htop) and sl2_irreducible_ext concludes the subalgebra-level equivalence,
with the section header's 'applies verbatim to root triples' claim corrected;
IsHighestWeightVector gets its real body; the Verma universal property and
the L(lambda)-is-a-highest-weight-module anti-vacuity pin are added;
hcProjection drops the rho-shift so its dot-invariants target is consistent
(raw xi has image S(H)^{W.}); exists_chevalleySystem now bundles root-space
membership, bracket normalization onto coroots, and h-eigenvalue relations;
coweightPairing's integral domain and the ZZ[X] over-embedding are
documented; Octonion becomes a NonAssocRing; the casimir/complete-
reducibility hypothesis note is recorded; FH lecture numbers fixed. Coverage:
formalCharacter_tensor pins the representation-ring multiplicativity, and
the compact Frobenius-Schur interface gets exact targets
(exists_invariantForm_iff_neg_longest_smul_eq and the Tits-sign criterion
invariantForm_isSymm_iff_tits_sign).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…icates, compact Frobenius-Schur

Review findings: move the conjugation to the first factor in
schur_orthogonality_self (S1 scalar check; the stated form was its complex
conjugate and false for non-real data), with the convention pinned in the
docstring; give IsIrrepSkeleton and IsPeterWeylBasis their real bodies
(Schur-style pairwise inequivalence plus universe-0 exhaustiveness, and the
element-level sqrt(d)-normalized matrix-coefficient identity) with the
IrrepModel field instances registered; correct the
ContinuousLinearMap.finite_dimensional_eigenspace citation; record the
Hilbert-Schmidt sub-milestones behind convolutionOperator_isCompact; fix the
README's ContRepresentation wrapping description; annotate the load-bearing
set_option (checked: required). Coverage: add the compact Frobenius-Schur
layer (Haar-integral indicator, trichotomy, orthogonal/symplectic invariant-
form characterizations, and the structure-map reality criterion), wording
restricted to compact groups.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…larization data

Review findings: add the essential 0 < finrank hypothesis to
card_ker_spinToSpecialOrthogonal (V = 0 gives kernel 1); upgrade
soEquivBivector to a Lie equivalence over [Invertible (2 : R)] (false in
characteristic 2) with the bracket defined on the Clifford-commutator side
(scoped bivectorLieRing/bivectorLieAlgebra instances, so the equivalence pins
the Clifford realization rather than transporting so's bracket tautologically)
and the action-normalization pin soEquivBivector_wedge_mulVec; introduce
SpinPolarizationData (maximal isotropic W, complementary isotropic W' in
perfect polar pairing, anisotropic line for odd dimension) and thread it
through spinAction/spinRep/spinPlus and their theorems (with W alone the
advertised target can be empty); rename the exterior-algebra dimension fact to
finrank_exteriorAlgebra with the representation-level finrank_spinRep
corollary; carry the intended 1 <= l domain on finrank_spinPlus; add the
nontriviality conjunct to trialityAut_order_three; and record the
spinGroup-vs-algebraic-Spin sanity-check ordering and the
contractLeft/equivExterior interior-product route.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…e subgroup and reductive predicates, de-vacuized complexification and Bruhat

Review findings: weyl_integration_formula now pins its measures as normalized
Haar and consumes the genuine weylDensity, itself a real definition (absolute
real determinant of Ad(t^-1) - 1 on g/Lie(T), with the descent lemma and
continuity companions and the positive-root identity recorded); IsMaximalTorus
gets its topological body and weylGroup becomes N(T)/T (group-theoretic, with
the automatic Group instance); IsEmbeddedLieSubgroup/IsImmersedLieSubgroup
become Nonempty of data structures (embedding + injective mfderiv; separate
leaf-topology carrier for the immersed case); the Cartan/Iwasawa cluster is
restructured as CartanInvolution (with the essential reductivity fields --
compact fixed set alone is falsified by the Euclidean motion group) and
IwasawaData (fixed subgroup, maximal abelian a in p, A = exp a, closed
nilpotent N with the Lie-algebra Iwasawa complement, and the chamber cone),
with IsRealReductive/IsIwasawaTriple/IsPositiveRestrictedChamber their
wrappers so the decomposition theorems keep their shapes;
exists_complexification gains injectivity and the universal property and
exists_holomorphic_extension is stated against given complexification data
with holomorphy of the extension (both were vacuous); bruhat_decomposition
now forces W = N(T)/T with a genuine section (the arbitrary-(W, rep) form was
false), with the reductive/Borel hypotheses recorded as prose-pending;
Borel-Weil gains its module structure, translation representation, and the
finite-dimensionality and irreducibility summit pins; the global Cartan polar
decomposition and the one-parameter-subgroup bijection are pinned as
sorry-theorems; the README's NormedSpace.exp spelling is modernized. The two
review findings the audit rejected (lieSubalgebraOfSubgroup totality,
NormedSpace.exp signatures) are left as-is per the adjudication.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
…e family README

Coverage requirement from review, with the audit-corrected wording: the
exclusions are modular finite-group representation theory (not 'characteristic
zero' wholesale -- several roadmaps work over general fields or rings),
noncompact unitary representation theory (while keeping noncompact structure
theory in scope), and affine/Kac-Moody root systems.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
Codex adversarial verification of the remediation found 11 residual defects
in the newly authored targets, all fixed: liftCyclotomic_spec restated
conditionally on an admissible witness (bound = 0 falsified unconditional
existence) with the generator pin cyclotomicReduce_gen; the bivector
embedding half-normalized so the bracket transport matches the pinned action
(raw commutator carries a factor two); exists_holomorphic_extension consumes
the complexification universal property (injective continuous iota is not
enough: U(1) in SL2(C)); bruhat_decomposition now consumes an IsTitsSystem
Prop-structure (elementary BN-pair axioms, statable without a reductive API,
and sufficient for the decomposition); the over-general Borel-Weil
finiteness/irreducibility pins are replaced by the real algebraic
induced-function model borelWeilSpaceAlg and the equivariant-embedding
anti-vacuity pin (the summit statements return to the README until
reductive/dominance hypotheses are expressible); IwasawaData gains
N connected + N = exp(Lie N) + exp injective-on-a (ruling out the ZZ-in-RR
counterfeit) and the chamber must span a, with kakDecomposition drawing K and
the chamber from the same datum; vermaModule_universal restated as unique
factorization through the named vermaHighestWeightVector (phi = 0 satisfied
the old phrasing); serre_presentation_equiv uses the transposed Cartan matrix
(Mathlib's cartanMatrix i j = alpha_i(h_j) vs ToLieAlgebra's bracket
convention: the B_n/C_n swap); exists_rootPairing_titsForm requires
[Nonempty Q]; exists_almostSplitSequence requires a finite path algebra;
IsAlmostSplit gains the tau_iso field, with the uniqueness companion
almostSplitSequence_unique and the arQuiver arrow-instance caveat recorded.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G1TnxNTrRxUWyyJi4iVf6D
@kim-em

kim-em commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Thanks Michael — this is a genuinely valuable review, and the bundle format (per-roadmap findings + counterexample-level verification + postable coverage notes) made it directly actionable. Everything below is now on the branch: all 15 blocking findings (17 targets), the confirmed should-fixes, all four coverage requirements, the minor findings, and — since the roadmap-writing guide now forbids the pattern (#64) — real bodies for all 25 def _ : Prop := sorry predicates, not only the load-bearing ones. lake build is green; a second adversarial pass (Codex, ~130k tokens, same "would it build green while false" standard as your review) was then run over the full remediation diff — it confirmed the focal repairs (the ᵥ* eigenrow computation, IsCharacterTableSpec adequacy, the polarization data's satisfiability, the Weyl density, the restricted-sl₂ instance meaning, the Tits sign) and caught 11 residual defects in our own newly authored targets, all fixed in a final commit and folded into the descriptions below. One commit per roadmap; dispositions below, with the three places we adopted a different repair than prescribed called out explicitly.

Blocking findings

🤖 Claude+Codex say: SpinRepresentations card_ker_spinToSpecialOrthogonal — fixed as prescribed: 0 < finrank ℂ V added, docstring records why (V = 0 gives kernel 1).

🤖 Claude+Codex say: SpinRepresentations soEquivBivector — fixed, with the repair upgraded beyond the prescription: [Invertible (2 : R)] added and the equivalence upgraded to ≃ₗ⁅R⁆, but a LieEquiv needs a named bracket on ⋀², so the bracket is defined on the Clifford-commutator side (scoped bivectorLieRing/bivectorLieAlgebra instances) — transporting so's bracket backwards would have made the Lie equivalence tautological — and the advertised action-normalization lemma is pinned (soEquivBivector_wedge_mulVec, with the polar-convention factor 2 explicit).

🤖 Claude+Codex say: SpinRepresentations spinAction/spinRep — fixed, repair upgraded: a bare maximal-isotropic W hypothesis is still underspecified (the action of a general v needs the W'/line components), so a SpinPolarizationData Q structure now bundles W, a complementary isotropic W' in perfect polar-pairing, and the anisotropic line for odd dimension, threaded through spinAction, spinRep, spinPlus, spinPlus_invariant, spinRep_isIrreducible_of_odd, and the dimension targets.

🤖 Claude+Codex say: CharacterTheory irreducibleCharacters_span — fixed as prescribed: conclusion is now ClassFunction k G ≤ span …, and ClassFunction itself (previously a Submodule := sorry, which could have re-vacuized the repaired statement) now has its real conjugacy-invariant body.

🤖 Claude+Codex say: CharacterTheory classMultMatrix vs centralCharacterTable_eigenvector — the inconsistency is real and is fixed, but we adopted the other valid repair: the matrix convention (Mᵢ)ⱼₖ = aᵢₖⱼ is kept and the eigen-relation is restated on row vectors via ᵥ* — with vⱼ = ω(Kⱼ), (v ᵥ* Mᵢ)ₖ = Σⱼ ω(Kⱼ) aᵢₖⱼ = ω(Kᵢ)ω(Kₖ) by the coordinate identity and commutativity of the class algebra, so the rows of Ω are common left eigenvectors. As your verification itself noted, neither declaration is false in isolation — it is a convention choice; it is now pinned in the classMultMatrix docstring, swept through IsCharacterTableSpec.row_eigen, normalized_eigenrow_iff_algHom, and the README ("columns" → "rows/left" everywhere), with an explicit do-not-mix warning.

🤖 Claude+Codex say: CharacterTheory characterPairing_nondegenerate — fixed: [Invertible (Nat.card G : k)] added (spelled with Nat.card to match the pairing; the file's Invertible (Fintype.card …) hypotheses were normalized to Nat.card throughout for one consistent spelling).

🤖 Claude+Codex say: QuiverRepresentations dimVector_reflectionFunctor — fixed: the unsatisfiable IsEmpty hom-type guard is replaced by the biproduct no-summand form ¬ ∃ N, Nonempty (M ≅ simpleRep k Q i ⊞ N) (which also sidesteps the sink/source orientation trap your verification flagged in the retract formulation), and the sink hypothesis is now part of reflectionFunctor's signature.

🤖 Claude+Codex say: QuiverRepresentations exists_projectiveCover — fixed as prescribed: stated over a finite-dimensional algebra ([Field k] [Algebra k A] [FiniteDimensional k A]), with the ℤ/2-over- failure recorded in the docstring.

🤖 Claude+Codex say: QuiverRepresentations exists_almostSplitSequence — fixed, repair upgraded per the second opinion: a finiteness hypothesis on M alone would not have left the full functor category, so a pointwise-finite-dimensionality predicate IsFinDim now scopes the entire AR layer — IsAlmostSplit is a real Prop-structure (short exactness, non-splitness, indecomposable endpoints, left/right almost-split lifting) whose lifting quantifiers are themselves restricted to finite-dimensional objects, matching the Paquette counterexample precisely.

🤖 Claude+Codex say: ClassicalGroups schurFunctor_iso_irreducible / character_irreducible_eq_schurPoly / gtPatternEquivSSYT — fixed as prescribed: μ.colLen 0 ≤ n added to all three, weightOfShape's intended domain pinned in its docstring.

🤖 Claude+Codex say: InductionRestriction brauer_characterization — fixed as prescribed: conjugacy-invariance hypothesis (stated inline so the file does not hard-depend on CharacterTheory's ClassFunction) and [IsAlgClosed k], with your S₃ counterexample recorded; IsElementary has its real p-elementary body (internal direct product of a cyclic prime-to-p part and a p-group via IsComplement' + commutation).

🤖 Claude+Codex say: SemisimpleAlgebras card_blocks_eq — fixed as prescribed: [∀ i, NeZero (d i)] on both presentations, docstring records the zero-block padding failure and extends the caveat to any chosen-presentation object.

🤖 Claude+Codex say: LieHighestWeight sl2_finrank_of_hasPrimitiveVector / sl2_irreducible_ext — the finding is accepted (your sl₃-adjoint counterexample is airtight, and the section header's "applies verbatim to root triples" claim is corrected), but we adopted the minimal repair your verification itself identified rather than htop: sl2_finrank… hypothesizes irreducibility over t.toLieSubalgebra K (of which htop is the special case), and — one step further, from our own second opinion — sl2_irreducible_ext concludes the equivalence over the subalgebra (≃ₗ⁅K, t.toLieSubalgebra K⁆), since restricted irreducibility cannot force an L-equivalence (the actions outside the sl₂ may differ); the L-level statement is recorded as the htop specialization.

🤖 Claude+Codex say: CompactGroups schur_orthogonality_self — fixed as prescribed: conjugation moved to the first factor, the scalar check and Mathlib's first-slot convention recorded in the docstring, with the note that the basis form hides the misplacement (real Kronecker deltas) — which is exactly why the coordinate-free form needed the pin.

🤖 Claude+Codex say: LieGroups weyl_integration_formula — fixed as prescribed, in full: μG/μT are pinned as normalized Haar (IsHaarMeasure + IsProbabilityMeasure), and weylDensity is now a real definition|det_ℝ((Ad(t⁻¹) − 1) on 𝔤/Lie(T))| via Submodule.mapQ, with the descent lemma (ad_lieSubalgebraOfSubgroup_le), continuity companion, and the positive-root identity ∏_{α>0}|1−α(t)⁻¹|² recorded; weylGroup is now really N(T)/T (the Group instance is automatic via Subgroup.normal_in_normalizer). Stated first for continuous class functions per the second opinion; the Integrable generalization is a corollary.

The 25 predicate bodies

🤖 Claude+Codex say: every def _ : Prop := sorry in the family now has a real body or became a Prop-structure/data-structure with documented fields — the count is 25, not ~24 (the multiline IsPeterWeylBasis evades line-oriented grep; verified with rg -U ': Prop\s*:=\s*sorry', which now returns nothing). Highlights beyond those above: IsCharacterTableSpec is a Prop-structure (degrees, Σd² = |G|, weighted row orthonormality, the ᵥ* eigenrow field) together with the new normalized_eigenrow_iff_algHom lemma making the uniqueness argument visible (eigenrows = class-algebra homomorphisms); IsIrrepSkeleton/IsPeterWeylBasis carry the Schur-style inequivalence/exhaustiveness and the element-level √d-normalized matrix-coefficient identity the README demanded; IsMaximalTorus is the purely topological maximal-compact-connected-abelian predicate; the Lie-subgroup notions became Nonempty of data structures (EmbeddedLieSubgroupData with topological embedding + injective mfderiv; ImmersedLieSubgroupData with a separate leaf-topology carrier, which a bare Subgroup genuinely cannot express); and the Iwasawa cluster became CartanInvolution (with reductivity fields — our second opinion caught that a smooth involution with compact fixed set does not characterize reductivity: the Euclidean motion group is a counterexample) plus IwasawaData (fixed subgroup K, maximal abelian 𝔞 ⊆ 𝔭, A = exp 𝔞, closed nilpotent N completing the Lie-algebra Iwasawa complement, chamber cone), with the old predicate names kept as existential wrappers so the decomposition theorems' shapes are stable.

Should-fix and minor findings

🤖 Claude+Codex say: all confirmed should-fixes are applied: the equivariant schurWeylDecomposition and the algebra-map faithfulness target (permActionAlgHom + injectivity at the honest n ≤ d threshold); Dominates/standardCount/youngSubgroup combinatorial pins; character_galois_pow with one σ for all g; the GL₂ cuspidal degree-2 and θ-regularity hypotheses; rat_rep_iso_of_res_cyclic restated on averaged fixed-point sums (the earlier hypothesis was equivalent to global character equality); Brauer/Artin aligned with the algebraically-closed char-0 regime; the Clifford character-form witnesses pinned (e ≠ 0, reps a genuine transversal of the inertia group); exists_chevalleySystem bundling root-space membership, ⁅eᵢ,fᵢ⁆ = coroot, and eigenvalue relations; the Harish-Chandra ρ-shift dropped so the raw ξ targets the dot-invariants consistently; Verma universal property (restated after the second pass as unique factorization through the named vermaHighestWeightVector — the first phrasing was satisfied by φ = 0) and the L(λ)-has-a-highest-weight-vector anti-vacuity pin, plus the transposed Cartan matrix in serre_presentation_equiv (Mathlib's cartanMatrix i j = αᵢ(hⱼ) against Matrix.ToLieAlgebra's bracket convention — the Bₙ/Cₙ swap, caught by the second pass); the machine-pinned quiver ↔ root-system bridge (exists_rootPairing_titsForm: symmetrized Tits Gram = base Cartan matrix, roots = Tits-form-1 vectors) with [IsAlgClosed k] dropped from the field-independent simply-laced Gabriel targets; Morita admissibility (rad^N ⊆ ker f ⊆ rad²) with the Ext-quiver companion named; the LieGroups de-vacuizations (exists_complexification with injectivity + universal property; exists_holomorphic_extension against complexification data including the universal property — the second pass showed injective continuous ι alone is not enough, via U(1) ⊂ SL₂(ℂ); and bruhat_decomposition now consuming an IsTitsSystem Prop-structure of elementary BN-pair axioms, statable with no reductive API yet sufficient for the decomposition — with a bare section over N(T)/T a self-normalizing B = T still falsified it); and the Layer-8/9 summit pins (Borel–Weil module structure + translation representation + the borelWeilSpaceAlg equivariant-embedding anti-vacuity pin — the finite-dimensionality/irreducibility statements we first wrote over arbitrary (Gc, B, lam) were themselves false-or-vacuous per the second pass, so those summit halves return to the README until reductive/dominance hypotheses are expressible, one place where your original prescription could not be carried out faithfully yet; the global Cartan polar decomposition; the one-parameter-subgroup bijection). The second pass also hardened IwasawaData (N connected and exponential-of-its-algebra, exp injective on 𝔞 — ruling out a -in- counterfeit — and a spanning chamber, with kakDecomposition drawing K and the chamber from the same datum) and the quiver AR layer ([Nonempty Q] on the root-pairing bridge, a finite path algebra on AR existence, the tau_iso field connecting IsAlmostSplit to arTranslate, and the uniqueness companion almostSplitSequence_unique). The minor findings are all applied too (arTranslate as an object-level operation, GT-generator indexing reconciliation, finrank_exteriorAlgebra renaming with the rep-level corollary, ContinuousLinearMap.finite_dimensional_eigenspace citation, README fixes including the ⟨Ind 1, Ind 1⟩ double-coset formula, Bourbaki/FH chapter corrections, Quiver.Symmetrify, and the SemisimpleAlgebras README target-list reconciliation).

🤖 Claude+Codex say: three review suggestions turned out not to hold when checked against the elaborator, and are documented in place rather than applied: mackeyDecomp's [HasFiniteBiproducts] instance is required (removal fails instance synthesis); IndRes Layer 7's universe-0 pin is forced by groupCohomology over (polymorphizing fails); and the two file-scope set_option backward.isDefEq.respectTransparency false are load-bearing (checked by removal) — each now carries an annotation, including the note that the built library must thread transparency explicitly since TauCeti/ bans set_option.

Coverage requirements

🤖 Claude+Codex say: representation ring — CharacterTheory Layer 4b pins repRing k G as a CommRing in characteristic zero with the character ring homomorphism into class functions and its injectivity over a char-0 splitting field (the AddSubgroup shadow stays for positive characteristic, per your note), and LieHighestWeight pins formalCharacter_tensor, the multiplicativity that makes the formal character the Grothendieck-ring homomorphism into ℤ[X].

🤖 Claude+Codex say: cyclotomic bridgeCyclotomic e now carries its ring structure and generator, cyclotomicEmbedding is a ring hom with injectivity and the primitive-root pin, cyclotomicRingEquiv : Cyclotomic e ≃+* CyclotomicRing e ℤ ℚ (with NeZero e, discharged in application by the finite-group exponent), and liftCyclotomic_spec pins the lift — stated (after the second pass caught that unconditional existence is false for bound = 0 with nonzero residues) conditionally on an admissible witness, which the lift then uniquely returns; cyclotomicReduce_gen pins the reduction at the generator, and the review's low-confidence caveat about Dixon 1967's exact constant is recorded on DixonPrimeData.large. The second pass also confirmed 2·bound < p is exactly the right window and that orderOf α = e (not mere divisibility) is required.

🤖 Claude+Codex say: compact Frobenius–Schur — CompactGroups Layer 6b adds the Haar-integral indicator, the trichotomy, the orthogonal/symplectic invariant-form characterizations, and the structure-map (J² = ±1) reality criterion, with the wording restricted to compact groups per the audit correction; LieHighestWeight pins the −w₀λ = λ self-duality criterion (via invariant forms, with w₀ characterized chamber-to-negative-chamber so no length function is imported) and the exact Tits-sign criterion (−1)^{⟨λ,2ρ^∨⟩} separating real from quaternionic.

🤖 Claude+Codex say: scope & boundaries — the family README now has the section, with the audit-corrected wording: the exclusions are modular finite-group representation theory (not "characteristic zero" wholesale — SemisimpleAlgebras/Quiver work over general fields, the IndRes functorial layer over commutative rings), noncompact unitary representation theory (noncompact structure theory stays, since the compact theory consumes it), and affine/Kac–Moody root systems.

The two rejected findings

🤖 Claude+Codex say: lieSubalgebraOfSubgroup's totality and the NormedSpace.exp signatures are unchanged, per the audit's own withdrawal of those findings (the README's NormedSpace.exp ℝ spelling is modernized, as the audit suggested instead).

Ready for re-review — happy to open per-finding threads on anything above, especially the three divergent repairs (the ᵥ* convention choice, the minimal sl₂ hypothesis, and the polarization/AR-subcategory upgrades).

🤖 Prepared with Claude Code

@kim-em
kim-em requested a review from mrdouglasny July 22, 2026 17:31
kim-em and others added 2 commits July 22, 2026 18:54
…, and the gl_n theory

Layer 6 gains the decomposition toolkit: isotypic components and multiplicities consumed from
Mathlib's RingTheory/SimpleModule/Isotypic.lean through a pinned enveloping-algebra dictionary,
the generated copy of L(lambda), the single-weight isotypic criterion, tensor multiplicities, and
the minuscule Pieri rule. Layer 5 pins the Casimir eigenvalue on a cyclic highest weight module,
and Layer 7 the separation of dominant weights by central characters. A new Layer 9 covers
reductive Lie algebras (Mathlib's HasCentralRadical as the unbundled hypothesis) and the concrete
highest-weight theory of gl_n: the diagonal Cartan, dominance as integrality of differences with
entries free in K, the named carrier glIrreducible, the pinned sl-gl transfer, the dual-standard
Pieri rule, and the trace-form Casimir with its scalar. Motivated by making the roadmap serve
Shlyakhtenko's CAR-matrix formalization (arXiv:2606.28648), whose gl_N decomposition consumes
exactly these targets.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HfiHFxQiYTYqMhnCCiDyc4
…and Kostant's isotypy corollary

A new Layer 9 frees the Layer 3 quadratic realization from the standard form (soEquivQuadratic
against Mathlib's skewAdjointLieSubalgebra, pinned to the same action formula), makes every
Clifford module a g-module along a homomorphism into so(V, Q), and names the two actions on
Cliff(g, B) apart: the commutator action (the exterior extension of ad, not isotypic, with the
wedge-sl2 non-example) and the left-regular action, for which Kostant's isotypy corollary is
pinned: Cliff(g, kappa) of a Killing-semisimple g is 2^((d+l)/2) copies of one simple of dimension
2^((d-l)/2), with rank/parity bookkeeping targets, the full-spinor-module variant, and the gl_N
worked instance (the CAR algebra on M_N with the trace form, the normal-ordered F_ij, the
normal-ordering constant N/2, and the staircase highest weight nu = (N-1/2, ..., 1/2)) of
Shlyakhtenko's arXiv:2606.28648. The family index records the new meeting point with the
highest-weight roadmap's reductive layer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HfiHFxQiYTYqMhnCCiDyc4

@mrdouglasny mrdouglasny 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.

Re-reviewed the remediation on bb664ecd — this is a thorough, faithful pass and I'm approving. I re-verified the parts most likely to hide a regression (the three divergent repairs, the 25 de-vacuized predicates, and the returned-to-README summit); everything holds.

The three divergences you flagged — all confirmed sound, and two are improvements on what the review prescribed:

  1. ᵥ* row/left-eigenvector convention — correct and internally consistent. Keeping (Mᵢ)ⱼₖ = aᵢₖⱼ and restating on rows gives (v ᵥ* Mᵢ)ₖ = Σⱼ ω(Kⱼ)aᵢₖⱼ = ω(Kᵢ)ω(Kₖ), so the rows are common left eigenvectors — exactly the alternative the verification noted was equally valid. IsCharacterTableSpec is a genuine 4-field spec and normalized_eigenrow_iff_algHom makes uniqueness an argument. 👍

  2. Minimal sl₂ hypothesis — sound, and more careful than the htop I suggested: irreducibility over t.toLieSubalgebra K (the sl₃-adjoint counterexample confirms ambient-L fails), with sl2_irreducible_ext correctly weakened to a subalgebra-equivalence since an L-equivalence would be false under the restricted hypothesis. The htop specialization is the right way to keep the L-level statement. 👍

  3. Polarization / AR-subcategory upgrades — both genuinely stronger and counterexample-matched: SpinPolarizationData supplies exactly what spinAction needs to be well-defined, and IsAlmostSplit's lifting quantifiers restricted to IsFinDim objects match Paquette 2011 precisely (with tau_iso + the added almostSplitSequence_unique). 👍

Also verified: all former def _ : Prop := sorry predicates now carry genuine, parameter-constraining bodies (rg -U ': Prop\\s*:=\\s*sorry' is empty; the Nonempty <Data> predicates witness structures with real proof fields, not trivial inhabitants); and the Borel–Weil summit over arbitrary (Gc, B, lam) is honestly reclassified to LieGroups/README.md (only the carrier + the borelWeilSpace_embeds anti-vacuity pin remain in Lean), which is the right call under the omit-rather-than-pin-falsely convention.

No residual blocking or should-fix findings on the current head. Nice work — and the second adversarial pass catching 11 of its own residuals is exactly the standard we want.

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