idx=10: freeze (6 records) — Mylan N.V. Plan Amendment (no parser changes)#83
idx=10: freeze (6 records) — Mylan N.V. Plan Amendment (no parser changes)#83arthrod wants to merge 1 commit into
Conversation
…er existing parser Brief 2-section amendment to Mylan's Amended and Restated 2003 Long-Term Incentive Plan. doc2dict tree is shallow (introduction → exhibit envelope → predicted-header chain → preamble + 2 numbered amendments). Existing parser handles it cleanly: - L0: title (merged predicted-header pair "AMENDMENT TO\n…2003 LONG-TERM INCENTIVE PLAN") via the existing multi-line title merge - L1: preamble (carries text-leaf 6 "1.Section 6.03(e)(iii)…" absorbed into the preamble's body because doc2dict tagged it as a text leaf rather than a numbered-section header — no marker space) - L1: "Retirement." replacement header (carries closing text-leaf 11 "All other provisions…" via doc2dict's natural body grouping) - L3: "(A)…" and "(B)…" sub-items under Retirement. (capletter marker → rubric depth 3 via _LEVEL_PATTERNS) - L1: "2. The clause…" second numbered amendment Reconstruction: 100.0% word coverage, 98.6% char ratio (well above 90% gate). The only missing tokens are "Exhibit" and "10" from the SEC envelope (correctly dropped via is_envelope detection). No parser changes needed. All 11 frozen idxs (0..10) regress OK.
|
Mention Blocks like a regular teammate with your question or request: @blocks review this pull request Run |
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
CodeAnt AI is reviewing your PR. |
📝 WalkthroughWalkthroughThis PR adds a new frozen baseline at idx_10 containing six JSONL records with the full text of an Amendment to the Mylan N.V. Long-Term Incentive Plan. The freeze-state tracking in state.json is updated to mark idx_10 as frozen and record the freeze event with timestamp and record count. ChangesFreeze idx_10 dataset
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
Code Review
This pull request adds a new frozen data entry for index 10, including the creation of idx_10.jsonl and an update to the state.json tracking file. The review feedback identifies several structural issues in the new JSONL file that violate the project's level rubric. Key concerns include the incorrect splitting of the agreement title and preamble, improper level assignments for numbered sections and sub-markers (e.g., '(A)' and '(B)'), and the merging of distinct document elements like headings and closing clauses into single records.
| {"idx": 10, "order": 0, "level": 0, "span": "AMENDMENT TO\nAMENDED AND RESTATED 2003 LONG-TERM INCENTIVE PLAN"} | ||
| {"idx": 10, "order": 1, "level": 1, "span": "This Amendment (the “Amendment”) to the Mylan N.V. Amended and Restated 2003 Long-Term Incentive Plan (the “Plan”) is adopted as of the 23rd day of February, 2017 (the “Amendment Effective Date”) by Mylan N.V., a public limited liability company (naamloze vennootschap) incorporated under the laws of the Netherlands (the “Company”). The Company hereby amends the Plan as follows:\n1.Section 6.03(e)(iii) is hereby deleted and replaced with the following:"} |
There was a problem hiding this comment.
The rubric (task_rules/level_rubric.md) requires exactly one level 0 record per index, which must contain both the agreement title and the preamble paragraph. Currently, the title is in order: 0 (L0) and the preamble is in order: 1 (L1). Additionally, order: 1 incorrectly merges the preamble with the start of a numbered section ("1.Section 6.03..."), which should be a separate record at level 2.
| {"idx": 10, "order": 2, "level": 1, "span": "Retirement.\nAll other provisions of the Plan, as amended by the foregoing, shall remain in full force and effect notwithstanding the adoption of this Amendment."} | ||
| {"idx": 10, "order": 3, "level": 3, "span": "(A) With respect to Options and Stock Appreciation Rights granted prior to the Amendment Effective Date, unless otherwise provided in an Award Agreement, if a Participant’s employment by the Company or its Subsidiaries shall terminate because of Retirement, any Option and Stock Appreciation Right then held by the Participant, regardless of whether it was otherwise exercisable on the date of Retirement, may be exercised by the Participant at any time, or from time to time, during the balance of the exercise period as set forth in Section 6.03(b)(iii)\nIf such a Participant dies after Retirement but before such Participant’s Options have either been exercised or otherwise expired, such Options may be exercised by the person to whom such Options pass by will or applicable law or, if no person has that right, by the Participant’s executors or administrators at any time, or from time to time, during the balance of the exercise period set forth in Section 6.03(b)(iii)."} | ||
| {"idx": 10, "order": 4, "level": 3, "span": "(B) With respect to Options and Stock Appreciation Rights granted on or after the Amendment Effective Date, notwithstanding anything in this Article VI to the contrary, the Committee may, in its sole discretion, waive the forfeiture period and any other conditions set forth in any Award Agreement under appropriate circumstances (including the death, Permanent Disability or Retirement of the Participant or a material change in circumstances arising after the date of an Award) and subject to such terms and conditions (including forfeiture of a proportionate number of the Options and Stock Appreciation Rights) as the Committee shall deem appropriate provided that such waiver is done in a manner intended to comply with Section 409A of the Code."} | ||
| {"idx": 10, "order": 5, "level": 1, "span": "2. The clause “the minimum amount of any withholding or other tax required by law to be withheld” in the first sentence of Section 11.05 shall be deleted and replaced with the clause “up to the maximum amount of any withholding or other tax permitted by law to be withheld” and the clause “the minimum amount of any taxes required to be withheld” in clause (ii) of the final sentence of Section 11.05 shall be deleted and replaced with the clause “an amount equal to the withholding taxes due”."} |
| @@ -0,0 +1,6 @@ | |||
| {"idx": 10, "order": 0, "level": 0, "span": "AMENDMENT TO\nAMENDED AND RESTATED 2003 LONG-TERM INCENTIVE PLAN"} | |||
| {"idx": 10, "order": 1, "level": 1, "span": "This Amendment (the “Amendment”) to the Mylan N.V. Amended and Restated 2003 Long-Term Incentive Plan (the “Plan”) is adopted as of the 23rd day of February, 2017 (the “Amendment Effective Date”) by Mylan N.V., a public limited liability company (naamloze vennootschap) incorporated under the laws of the Netherlands (the “Company”). The Company hereby amends the Plan as follows:\n1.Section 6.03(e)(iii) is hereby deleted and replaced with the following:"} | |||
| {"idx": 10, "order": 2, "level": 1, "span": "Retirement.\nAll other provisions of the Plan, as amended by the foregoing, shall remain in full force and effect notwithstanding the adoption of this Amendment."} | |||
There was a problem hiding this comment.
This record merges a heading ("Retirement.") with a closing clause ("All other provisions..."). These should be separate records. Furthermore, the presence of a closing clause at order: 2 followed by subsection markers at order: 3 and 4 suggests a structural parsing error or an issue with document order preservation, as the closing clause typically follows the amendment text.
| {"idx": 10, "order": 3, "level": 3, "span": "(A) With respect to Options and Stock Appreciation Rights granted prior to the Amendment Effective Date, unless otherwise provided in an Award Agreement, if a Participant’s employment by the Company or its Subsidiaries shall terminate because of Retirement, any Option and Stock Appreciation Right then held by the Participant, regardless of whether it was otherwise exercisable on the date of Retirement, may be exercised by the Participant at any time, or from time to time, during the balance of the exercise period as set forth in Section 6.03(b)(iii)\nIf such a Participant dies after Retirement but before such Participant’s Options have either been exercised or otherwise expired, such Options may be exercised by the person to whom such Options pass by will or applicable law or, if no person has that right, by the Participant’s executors or administrators at any time, or from time to time, during the balance of the exercise period set forth in Section 6.03(b)(iii)."} | ||
| {"idx": 10, "order": 4, "level": 3, "span": "(B) With respect to Options and Stock Appreciation Rights granted on or after the Amendment Effective Date, notwithstanding anything in this Article VI to the contrary, the Committee may, in its sole discretion, waive the forfeiture period and any other conditions set forth in any Award Agreement under appropriate circumstances (including the death, Permanent Disability or Retirement of the Participant or a material change in circumstances arising after the date of an Award) and subject to such terms and conditions (including forfeiture of a proportionate number of the Options and Stock Appreciation Rights) as the Committee shall deem appropriate provided that such waiver is done in a manner intended to comply with Section 409A of the Code."} |
There was a problem hiding this comment.
The markers "(A)" and "(B)" are defined as sub-sub items in the rubric, which corresponds to level 4. They are currently assigned to level 3. While the PR description notes the absence of intermediate levels, the rubric mapping for these specific marker types is absolute in the provided project standards.
|
CodeAnt AI finished reviewing your PR. |
User description
Summary
Eleventh stacked PR. Adds idx=10 (AMENDMENT TO AMENDED AND RESTATED 2003 LONG-TERM INCENTIVE PLAN, Mylan N.V. Exhibit 10.1, February 2017) as the eleventh verified frozen baseline on top of idx=9 (PR #82).
No parser changes needed. This PR is freeze-only.
Verified output for idx=10
{L0:1, L1:3, L3:2}— note absence of L2 (depth-skip is rubric-compliant; see below)Structure
On the L1→L3 depth skip (no L2 records)
The
(A)and(B)markers are lettered-capital subsubsections that canonically sit at L3 in the marker hierarchy (after numbered → lettered → roman). The source has NO intermediate(a)or(i)wrappers above them — they are inserted directly as replacement text for Section 6.03(e)(iii). The rubric explicitly prohibits synthesizing depth that isn't there ("don't synthesise depth that isn't there"), so emitting the markers at their canonical depth without a fabricated L2 parent is correct.The inspector independently verified this interpretation against
task_rules/level_rubric.mdand confirmed the structural consistency.No signature page
This is a corporate adoption amendment, not a counter-signed contract. The HTML source has no IWW operating clause, no
/s/marks, noBy:/Name:/Title:fields. Last record (o=5) is simply the second numbered amendment text.Test plan
uv run scripts/parse_doc2dict_with_config.py --limit 11 --no-truncate --output-dir data/auto_parseexits 0 withok 11uv run scripts/level_loop/freeze.py 10 --forcereports word_coverage ≥ 90% (98.9%)uv run scripts/level_loop/regress.pyreports all 11 frozen idxs OKSource
http://www.sec.gov/Archives/edgar/data/1623613/000162361317000014/exhibit101_20170331.htm
🤖 Generated with Claude Code
CodeAnt-AI Description
Freeze the verified output for Mylan N.V.’s 2003 long-term incentive plan amendment
What Changed
Impact
✅ One more verified document baseline✅ Stable regression coverage for the Mylan amendment✅ No change to existing extraction behavior🔄 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:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
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:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
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.