Skip to content

idx=9: freeze (20 records) — CSW Industrials Performance Share Award Agreement (no parser changes)#82

Open
arthrod wants to merge 1 commit into
redo/idx-8from
redo/idx-9
Open

idx=9: freeze (20 records) — CSW Industrials Performance Share Award Agreement (no parser changes)#82
arthrod wants to merge 1 commit into
redo/idx-8from
redo/idx-9

Conversation

@arthrod
Copy link
Copy Markdown
Owner

@arthrod arthrod commented May 17, 2026

User description

Summary

Tenth stacked PR. Adds idx=9 (Performance Share Award Agreement, CSW Industrials, Inc. Exhibit 10.9) as the tenth verified frozen baseline on top of idx=8 (PR #81).

No parser changes needed. The current parser handles idx=9 cleanly. This PR is freeze-only.

Verified output for idx=9

  • 20 records, distribution {L0:1, L1:15, L2:4}
  • Reconstruction: word_coverage 98.4%, char_ratio 99.4% (independent re-measurement: 99.5% / 98.2%)
  • Max depth: 2

Top-level structure

o=0  L0: Performance Share Award Agreement
o=1  L1: Date of Grant / Name of Participant / Target Number of Performance Shares / Performance Period... (preamble form fields)
o=2  L1: 1. No Right to Continued Employee Status
o=3  L1: 2. Vesting of Performance Shares                ← 9231 chars (body absorbs sections 3-13 prose per doc2dict)
o=4-14 L1: Section 3 through Section 13 (headers only — bodies absent at section level due to doc2dict HTML grouping)
o=15 L1: IN WITNESS WHEREOF, the parties hereto have executed this Award Agreement...
o=16 L2: COMPANY:
o=17 L2: CSW INDUSTRIALS, INC. By: Joseph B. Armes
o=18 L2: Chief Executive Officer
o=19 L2: PARTICIPANT:

Section 2 body absorption (acceptable per rubric)

doc2dict's HTML walker absorbed Sections 3-13's body prose into Section 2's body record (the HTML source chains paragraphs without per-section container divs). All 13 section HEADERS are emitted as separate L1 records in correct order — so structural hierarchy is intact even though body text is consolidated. The rubric (level_rubric.md §"Common parser failure modes") explicitly accommodates this: the parser "preserves doc2dict's natural HTML grouping" rather than imposing its own splitting.

Content is NOT lost — independent reconstruction measurement reports 99.5% word coverage (only 2 missing words: "31" and "st" from "31st" tokenization edge case).

Test plan

  • uv run scripts/parse_doc2dict_with_config.py --limit 10 --no-truncate --output-dir data/auto_parse exits 0 with ok 10
  • uv run scripts/level_loop/freeze.py 9 --force reports word_coverage ≥ 90% (98.4%)
  • uv run scripts/level_loop/regress.py reports all 10 frozen idxs OK
  • Inspector verified all 13 section headers at L1, sig area at L2 per natural grouping, idx=0..8 byte-identical regress (no parser changes)

Source

http://www.sec.gov/Archives/edgar/data/1624794/000162479417000014/exhibit109performancesharea.htm

🤖 Generated with Claude Code


CodeAnt-AI Description

Add frozen baseline for idx=9 Performance Share Award Agreement

What Changed

  • Added a verified frozen parse for idx=9, covering the CSW Industrials Performance Share Award Agreement
  • Captured the final 20-record structure with the title, grant details, numbered sections, signature block, and participant block
  • Updated freeze state so idx=9 is now included in the saved baseline set

Impact

✅ More coverage for contract parsing baselines
✅ Stable reference output for future parser checks
✅ Fewer false alarms when validating this agreement type

🔄 Retrigger CodeAnt AI Review

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

…Agreement clean under existing parser

CSW Industrials, Inc. Performance Share Award Agreement (Exhibit 10.9).
Form-style stock award agreement with 13 numbered sections, IWW operating
clause, and signature page.

Parse outcome (no code changes required):
- 1 L0 (title "Performance Share Award Agreement"), 15 L1 (preamble grant
  block + sections 1-13 + IWW), 4 L2 (sig page fragments)
- pre-title cover ("Exhibit 10.9", "CSW INDUSTRIALS, INC.") dropped by
  title-as-root rule
- reconstruction: 98.4% word coverage, 99.4% char ratio
- max level 2, order monotonic

Note: doc2dict groups Section 2's body together with the body text of
Sections 3-13 (because the form HTML chains paragraphs without per-section
container divs). The headers for Sections 3-13 are still detected and
emitted as separate L1 records with empty bodies, so the section structure
is preserved; the body chaining is a doc2dict layout artifact and does not
violate the shape rubric or the 90% reconstruction gate.
@blocksorg
Copy link
Copy Markdown

blocksorg Bot commented May 17, 2026

Mention Blocks like a regular teammate with your question or request:

@blocks review this pull request
@blocks make the following changes ...
@blocks create an issue from what was mentioned in the following comment ...
@blocks explain the following code ...
@blocks are there any security or performance concerns?

Run @blocks /help for more information.

Workspace settings | Disable this message

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hi @arthrod! 👋

Your private repo does not have access to Sourcery.

Please upgrade to continue using Sourcery ✨

@qodo-code-review
Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 17, 2026

CodeAnt AI is reviewing your PR.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 17, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8dbd6aa2-e847-4ec2-ac6d-0235fa001cda

📥 Commits

Reviewing files that changed from the base of the PR and between 0f31083 and c92ae5b.

📒 Files selected for processing (2)
  • data/auto_parse/level_freeze/frozen/idx_9.jsonl
  • data/auto_parse/level_freeze/state.json
📜 Recent review details
🧰 Additional context used
🔍 Remote MCP

Based on my search, I need to note an important limitation: The Stitch tool mentioned in your user requirements is not available in my current toolset, so I cannot fulfill those specific design generation requests.

However, I have gathered relevant context about Performance Share Award Agreements that's helpful for reviewing this PR:

Summary of Findings

Document Type Context — Performance Share Award Agreement

Performance Share Award Agreements are designed for granting performance shares to executives of a public company under an equity incentive plan and include key provisions such as grant date, target number of performance shares, performance period, and vesting requirements. The purpose of the performance share award agreement is to clearly describe the goals set forth by the company so that managers can accurately understand what's expected of them.

Standard Document Structure

Typical Performance Share Award Agreements contain these common sections:

  • Award definitions and execution requirements; performance share adjustments and vesting provisions
  • Performance objectives and formulas, such as positive diluted earnings per share
  • Forfeiture provisions and termination of employment conditions, with awards forfeited if not executed by specified dates
  • Restrictions on transfer of restricted stock and lapse of restrictions over time (often on vesting anniversaries)
  • 409A tax compliance provisions treating each payment as separate and distinct
  • Vesting and forfeiture details related to employment changes and retirement

PR Verification Alignment

The PR documentation indicates the parsed output correctly captured:

  • 13 section headers (Sections 1–13) at Level 1
  • Preamble form fields (Date of Grant, Name of Participant, Target Number)
  • Signature block fragments at Level 2 (COMPANY, signatory, title, PARTICIPANT)
  • High reconstruction metrics (98.4% word coverage, 99.4% char ratio)

This structure aligns with the standard document format found in Performance Share Award Agreements.

Limitation Note

Regarding User Requirements: The Stitch tool for design recommendations (create_project, generate_screen_from_text) is not available in my current tools. This PR is data-only and does not require design work, but if design recommendations are needed for related features, they would need to be handled through a different process.

🔇 Additional comments (6)
data/auto_parse/level_freeze/frozen/idx_9.jsonl (4)

1-3: LGTM!


5-15: LGTM!


16-20: LGTM!


4-4: The section-body grouping observed here is explicitly endorsed by the rubric.

The rubric at task_rules/level_rubric.md (lines 282–283) and worked examples in task_rules/examples_main_agreement.md explicitly state: "The parser preserves doc2dict's natural HTML grouping." When doc2dict groups multiple sections' content into a single HTML node (as occurs here with sections 2–13), the parser preserves that grouping as one span rather than imposing artificial per-section splits. The reconstruction gate (concatenating spans in document order to recover the source) is the real test, not hierarchical splitting.

This pattern is intentional and appears across multiple frozen baselines:

  • idx_0: order 2 (3595 chars)
  • idx_2: order 3 (10250 chars), order 194 (46537 chars), order 355 (28149 chars)
  • idx_3: order 99 (40083 chars)
  • idx_5: order 15 (242279 chars)

These records passed the freeze validator (which checks rubric compliance, reconstruction fidelity, and monkey-patch constraints), confirming this behavior is accepted and expected.

data/auto_parse/level_freeze/state.json (2)

12-13: LGTM!


183-188: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Added support for Performance Share Award Agreement documents, capturing structured agreement segments including clause numbering, vesting terms, restrictions, dividend equivalents, and signature blocks.

Walkthrough

A new frozen baseline dataset for idx_9 is added, containing a structured "Performance Share Award Agreement" with 20 JSONL segment records, and the state tracking file is updated to register this freeze event with timestamp and record count.

Changes

Freeze idx_9 Baseline

Layer / File(s) Summary
Add frozen idx_9 dataset and state tracking
data/auto_parse/level_freeze/frozen/idx_9.jsonl, data/auto_parse/level_freeze/state.json
A new frozen baseline JSONL file containing 20 structured segments of a "Performance Share Award Agreement" is added for idx_9. The state.json is updated to append 9 to the frozen list and add a corresponding freeze history entry with timestamp 2026-05-17T07:39:38 and n_records: 20.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • arthrod/clause-extract#25: Both PRs update the same data/auto_parse/level_freeze/state.json tracking fields (frozen list and history freeze events) and add new frozen dataset entries under data/auto_parse/level_freeze/frozen/.
  • arthrod/clause-extract#42: Both PRs update data/auto_parse/level_freeze/state.json to append a new freeze entry and extend the frozen index list, along with adding a corresponding data/auto_parse/level_freeze/frozen/idx_<n>.jsonl.
  • arthrod/clause-extract#33: Both PRs are data-only "level_freeze" updates that add an idx-specific JSONL file and extend data/auto_parse/level_freeze/state.json to freeze that idx.

Suggested labels

Feat2

Poem

🐰 A new agreement takes its place,
Frozen in the parsing space,
With segments neat, from clause to claim,
Idx nine joins the frozen frame! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly and clearly describes the main change: adding idx=9 as a frozen baseline for a Performance Share Award Agreement, with record count and note about no parser changes.
Description check ✅ Passed The description is comprehensive and thoroughly related to the changeset, providing context, verification metrics, test results, and structural details about the frozen baseline being added.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codeant-ai codeant-ai Bot added the size:S This PR changes 10-29 lines, ignoring generated files label May 17, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a new frozen data file for a Performance Share Award Agreement and updates the global state to include this new index. The review feedback identifies several hierarchical leveling issues that violate the project's structural rubric: the title and preamble need to be consolidated into a single Level 0 record, top-level numbered sections should be reclassified as Level 2, and the signature block components should be corrected to Level 1.

Comment on lines +1 to +2
{"idx": 9, "order": 0, "level": 0, "span": "Performance Share Award Agreement"}
{"idx": 9, "order": 1, "level": 1, "span": "Date of Grant:\n__________________\nName of Participant:\n___________________\nTarget Number of Performance Shares:\n___________________\nPerformance Period:\nThe period beginning on _____ and ending on _______.\nCSW Industrials, Inc. (the “Company”) hereby awards to _______ (the “Participant”) the target number of shares set forth above which are each equivalent to one Common Share, $0.01 par value per share, of the Company (the “Performance Shares”) pursuant to the CSW Industrials, Inc. Amended and Restated 2015 Equity and Incentive Compensation Plan (the “Plan”). Unless otherwise provided herein, capitalized terms used in this Award Agreement that are defined in the Plan and not defined herein shall have the meanings set forth in the Plan. The terms and conditions of the Performance Shares awarded hereby, to the extent not controlled by the terms and conditions contained in the Plan, are as follows:"}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The rubric (defined in level_rubric.md) specifies that Level 0 must consist of exactly one record per index, containing both the agreement title and the preamble paragraph. Currently, the title is at Level 0 (order: 0) and the preamble is at Level 1 (order: 1). These should be consolidated into a single Level 0 record.

Comment on lines +3 to +15
{"idx": 9, "order": 2, "level": 1, "span": "1.No Right to Continued Employee Status Nothing contained in this Award Agreement shall confer upon Participant the right to the continuation of his or her employee status, or to interfere with the right of the Company or any Subsidiary, as applicable, to terminate such relationship"}
{"idx": 9, "order": 3, "level": 1, "span": "2.    Vesting of Performance Shares (a)The Performance Shares awarded hereby are contingently awarded, and the Participant’s vesting in all, or any portion, of the Performance Shares and the issuance of the equivalent number of Common Shares pursuant to Section 3 below, are dependent on the achievement of the Management Objectives set forth in Exhibit A to this Award Agreement and the Participant remaining an employee of the Company or one of its Subsidiaries until the last day of the Performance Period\nSubject to Section 2(c) below, in the event of the Participant’s termination of service from the Company and all Subsidiaries prior to the last day of the Performance Period, the Performance Shares awarded pursuant to this Award Agreement shall be forfeited and cancelled on the date of such termination of service. The Common Shares, if any, that are issued pursuant to this Award Agreement following the end of a Performance Period are subject to the Company’s “Recoupment of Incentive Compensation” policy. (b)Any portion of the Performance Shares that does not vest on the last day of the Performance Period as provided in Section 2(a) above or Section 2(c) below, will be forfeited and cancelled on the last day of the Performance Period.\n(c)Notwithstanding anything contained in this Award Agreement to the contrary, the Performance Shares awarded pursuant to this Award Agreement shall automatically vest as provided in Exhibit A hereto and become issuable as provided in Section 3 below upon the occurrence of any of the following events: (i) a Change in Control, (ii) the Participant’s termination of service from the Company and all Subsidiaries due to his or her Disability or (iii) the Participant’s termination of service from the Company and all Subsidiaries due to his or her death. Additionally, notwithstanding anything contained in this Award Agreement to the contrary, the forfeiture and cancellation of the Performance Shares awarded pursuant to this Award Agreement are subject to the terms and provisions of the Company’s Executive Change in Control and Severance Benefit Plan, dated December 9, 2016, as it may be amended from time to time. “Disability” means the Participant’s inability to engage in any substantial gainful activity by reason of any medically determinable physical or mental impairment which can be expected to result in death or which has lasted or can be expected to last for a continuo us period of not less than twelve (12) months.\nSubject to prior compliance with Section 7 below, the Company will issue the certificate(s) for the equivalent number of Common Shares for all, or the portion, of the Performance Shares awarded to the Participant pursuant to this Award Agreement that have become vested pursuant to Section 2 above as soon as administratively feasible after the end of the Performance Period following written certification by the Committee of the vesting of such Performance Shares and the number of Common Shares that are issuable and no later than the December 31st of the year following the year in which that Performance Period ends in order to ensure that this Performance Share Award and the Plan complies with the specified time of payment requirement of Section 409A(a)(2)(A)(iv) of the Code and Treas. Reg. §§1.409A-3(a)(4) and (d). If, at the time of a Participant’s separation from service (within the meaning of Section 409A of the Code) due to his or her Disability, (i) the Participant is a “specified employee” (within the meaning of Section 409A of the Code and using the identification methodology selected by the Company from time to time) and (ii) the Company makes a good faith determination that the issuance of Common Shares hereunder constitutes deferred compensation (within the meaning of Section 409A of the Code) the payment of which is required to be delayed pursuant to the six-month delay rule set forth in Section 409A of the Code in order to avoid taxes or penalties under Section 409A of the Code, then the Company shall not issue the Common Shares before the fifth business day of the seventh month after such separation from service.\nNeither the Performance Shares awarded pursuant to this Award Agreement nor the right to the Common Shares, if any, which may become issuable pursuant to this Performance Share Award may be (i) sold, assigned, transferred, pledged or otherwise encumbered during the Performance Period or (ii) assignable by operation of law or subject to execution, attachment or similar process. Any attempted sale, assignment, transfer, pledge or other disposition of, and the levy of any execution, attachment or similar process upon, the Performance Shares and/or the Common Shares, if any, which may become issuable pursuant to this Performance Share Award contrary to the provisions of this Award Agreement or the Plan shall be null and void and without force or effect.\nThe Participant shall be entitled to receive credits (“Dividend Equivalents”) based upon the cash dividends or cash distributions that would have been declared and paid with respect to the Performance Shares as if the equivalent number of Common Shares were held by the Participant. Dividend Equivalents shall be deemed to be reinvested in additional Common Shares (which may thereafter accrue additional Dividend Equivalents). Any such reinvestment shall be at the Fair Market Value of the Common Shares on the date of such reinvestment. The Participant shall also have the right to accrue Dividend Equivalents based upon the stock dividends or stock distributions that would have been declared and paid with respect to the Performance Shares as if the equivalent number of Common Shares were held by the Participant. With respect to any unvested Performance Shares, all Dividend Equivalents or distributions shall likewise vest in the same manner as the Performance Shares as to which such Dividend Equivalents or distributions relate. In the event any Performance Shares do not vest pursuant to Section 2 above, the Participant shall forfeit his or her right to any Dividend Equivalents accrued with respect to such unvested and forfeited Performance Shares.\nThe Performance Shares awarded pursuant to this Award Agreement do not and shall not entitle the Participant to any rights of a shareholder of the Company prior to the date Common Shares are issued to the Participant pursuant to Section 3 above.\nTo the extent that the Company is required to withhold Federal, state or other taxes in connection with the vesting of all or any portion of the Performance Shares and the issuance of an equivalent number of Common Shares, and the amounts available to the Company are insufficient for such withholding, it shall be a condition to the obligation of the Company to make any delivery Common Shares to the Participant that the Participant make arrangements satisfactory to the Company for payment of the balance of such taxes required to be withheld.\nAny notice required to be given pursuant to this Award Agreement or the Plan shall be in writing and shall be deemed to be delivered upon receipt or, in the case of notices by the Company,\nfive (5) days after deposit in the U.S. mail, postage prepaid, addressed to the Participant at the address last provided for his or her employee records.\nThis Award Agreement is made pursuant to the Plan and shall be interpreted to comply therewith. Any provision of this Award Agreement inconsistent with the Plan shall be considered void and replaced with the applicable provision of the Plan.\nThis Award Agreement, together with the Plan, embodies the entire agreement and understanding between the parties hereto with respect to the subject matter hereof and supersedes all prior oral or written agreements and understandings relating to the subject matter hereof. No statement, representation, warranty, covenant or agreement not expressly set forth in this Award Agreement shall affect or be used to interpret, change or restrict the express terms and provisions of this Award Agreement, provided, however, in any event, this Award Agreement shall be subject to and governed by the Plan.\nIn the event that one or more of the provisions of this Award Agreement shall be invalidated for any reason by a court of competent jurisdiction, any provision so invalidated shall be deemed to be separable from the other provisions hereof, and the remaining provisions hereof shall continue to be valid and fully enforceable.\nThe Company may, in its sole discretion, deliver any documents related to the Performance Shares and the Participant’s participation in the Plan, or future awards that may be granted under the Plan, by electronic means or request the Participant’s consent to participate in the Plan by electronic means. The Participant hereby consents to receive such documents by electronic delivery and, if requested, agrees to participate in the Plan through an on-line or electronic system established and maintained by the Company or another third party designated by the Company.\nThis Award Agreement may be executed in one or more counterparts, each of which shall be deemed to be an original but all of which together will constitute one and the same agreement."}
{"idx": 9, "order": 4, "level": 1, "span": "3.    Issuance of Certificates"}
{"idx": 9, "order": 5, "level": 1, "span": "4.    Restrictions on Transfer"}
{"idx": 9, "order": 6, "level": 1, "span": "5.    Dividends and Other Distributions"}
{"idx": 9, "order": 7, "level": 1, "span": "6.    No Shareholder Rights"}
{"idx": 9, "order": 8, "level": 1, "span": "7.    Withholding"}
{"idx": 9, "order": 9, "level": 1, "span": "8.    Notices"}
{"idx": 9, "order": 10, "level": 1, "span": "9.    Award Agreement Subject to Plan"}
{"idx": 9, "order": 11, "level": 1, "span": "10.    Entire Agreement"}
{"idx": 9, "order": 12, "level": 1, "span": "11.    Severability"}
{"idx": 9, "order": 13, "level": 1, "span": "12.    Electronic Delivery"}
{"idx": 9, "order": 14, "level": 1, "span": "13.    Counterparts"}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Numbered sections (e.g., "1.No Right...", "2. Vesting...", and the subsequent headers for sections 3-13) are incorrectly assigned Level 1. According to the structural hierarchy defined in the rubric, top-level numbered sections should be Level 2.

Comment on lines +17 to +20
{"idx": 9, "order": 16, "level": 2, "span": "COMPANY\n:"}
{"idx": 9, "order": 17, "level": 2, "span": "CSW INDUSTRIALS, INC.\nBy:    Joseph B. Armes"}
{"idx": 9, "order": 18, "level": 2, "span": "Chief Executive Officer"}
{"idx": 9, "order": 19, "level": 2, "span": "PARTICIPANT\n:"}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The signature block components (e.g., "COMPANY:", "PARTICIPANT:") are assigned Level 2. The rubric explicitly states that the signature block should be Level 1. This appears to be a regression or misclassification in the level logic for this document.

@coderabbitai coderabbitai Bot added the Feat2 label May 17, 2026
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 17, 2026

CodeAnt AI finished reviewing your PR.

@arthrod
Copy link
Copy Markdown
Owner Author

arthrod commented May 17, 2026

Triage agent — PR #82 comment review (read-only pass, no code changes)

3 inline comments reviewed (all from gemini-code-assist, all HIGH):

  1. gemini-code-assist @ frozen/idx_9.jsonl:2 — L0 must contain title + preamble as one record; currently they are split (NEED-DISCUSSION)
    Rubric specifies exactly one L0 record per idx containing both the agreement title and preamble paragraph. In idx_9.jsonl the title is order 0 (L0) and the preamble is separate. This is a structural freeze violation per the rubric. Arthur's judgment needed — is idx=9 intentionally using the "title-only L0" variant, or does the freeze need to be redone?

  2. gemini-code-assist @ frozen/idx_9.jsonl:15 — numbered sections incorrectly at L1 instead of L2 (NEED-DISCUSSION)
    Numbered sections like "1.No Right...", "2. Vesting..." are assigned L1, but per the rubric they should be L2 (below the L1 agreement section header). This may indicate the parser missed the L1 header for this document type. Arthur's judgment needed — is this a quirk of this particular doc2dict output (no explicit L1 header), or a mislabeling?

  3. gemini-code-assist @ frozen/idx_9.jsonl:20 — signature block at L2 instead of L1 (NEED-DISCUSSION)
    Rubric states sig block = L1. The freeze shows sig components at L2. Arthur's judgment needed — bundled with item 2 (if numbered sections are promoted from L1→L2, sig block likely needs promotion too).

NEED-DISCUSSION (1 frozen-output decision, 3 aspects): idx=9 freeze validity — L0 split, numbered section levels, sig-block level. All three are interconnected; one re-freeze decision addresses all.

Triage only — no code changes made this round.

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

Labels

Feat2 size:S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant