fix(schedule13): get_summary() warns at the caller's line; empty rows display as not reported - #1384
Merged
Merged
Conversation
… display as not reported Follow-up to #1379. get_summary() read self.shares_change and self.percent_change, so it emitted two FutureWarnings whose stacklevel landed inside amendments.py. Python's default filter keys on that location, so the warning showed once per process and never named the user's call site. get_summary() now computes the 5.x values directly and emits one warning of its own at the caller's line. _reported_total() returned max([], default=0) for a filing with no reporting-person rows, so to_context() and the Rich tables showed 0 shares while OwnershipComparison treated the same filing as unknown. It now returns None, and the display says "not reported". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dgunning
enabled auto-merge (squash)
September 30, 2026 14:52
dgunning
added a commit
that referenced
this pull request
Sep 30, 2026
…uide (07lk.14) (#1388) #1200/#1201 shipped the edgar.files deprecations in 5.55.0 with no docs/upgrade/6.0.md entry, and nothing mechanical noticed. A CHANGELOG entry gets written by habit; an upgrade-guide entry does not. scripts/check_upgrade_guide.py reads the PR's added lines in edgar/ (from the pull-request files API, since the checkout is shallow) and fails when they stage a 6.0 change -- warn_will_raise(), a *deprecat*( helper, warn_legacy_html_usage(), DeprecationWarning/FutureWarning, "removed/deprecated in [edgartools] [v]6.0", or a new deprecated/removed changelog fragment -- without the PR also touching docs/upgrade/6.0.md. Comments and defs are ignored, and staging markers are netted across the PR, so moving or restructuring an existing warning, or deleting one in the 6.0 window, passes. The `no-upgrade-guide` label skips it visibly. Replayed over the 265 commits merged since the guide was created: 10 staged and updated the guide (pass); 5 fail. Four are real misses -- #1034, #1201, 2464a53 (effect/form144 moves), 4e31aed (FilingHomepage soup deprecation, still absent from the guide). The fifth, #1384, added a warning site for a change #1379 had just documented, the label's case. Netting is what cleared #1037. The first two trigger rules (generic helper name, "v6.0" spelling) were widened after the replay showed #1201 and 4e31aed slipping through. Runs as a step in test-fast, the required context, like the other source gates. Adds .github/pull_request_template.md: the Definition of Done checklist, the 6.0 guide item, and an optional working-context section. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1379. It fixes two of the review nits on our side.
1.
get_summary()warnings pointed into the library.get_summary()readself.shares_changeandself.percent_change. That emitted twoFutureWarnings, and withstacklevel=3they were attributed toamendments.py. Python's default filter keys on that location, so the warning showed once per process and never named the user's call site.get_summary()now computes the 5.x values directly and emits one warning of its own at the caller's line. The returned values are unchanged.2. An empty
<reportingPersons>displayed as 0._reported_total()returnedmax([], default=0), soto_context()and the Rich tables showed0 shareswhileOwnershipComparisontreated the same filing as unknown. It now returnsNone, so the display says "not reported".Tests: two regressions added to
tests/issues/regression/test_issue_1379_schedule13_unreported_figures.py. Both fail without the source change (assert 2 == 1warnings;0 sharesin the context). The Schedule 13 suite passes offline: 59 passed, 1 network test deselected.Not in this PR:
OwnershipComparisonsums the reporting persons, whiletotal_sharestakesmax()because persons in one filing overlap. Fixing that changes the returned numbers, so it's tracked separately in beadedgartools-qsk4.🤖 Generated with Claude Code