Skip to content

Conversation

@tychy
Copy link
Owner

@tychy tychy commented Nov 7, 2025

Summary

  • Fixes issue where executives with responsibility changes (責任変更) were incorrectly shown as active in both old and new positions
  • In sample891.pdf, 弓納持弘 was appearing as both 有限責任社員 and 無限責任社員 when he should only appear as 無限責任社員

Problem

In PDF sample891, 弓納持弘 had a responsibility change from 有限責任社員 (limited liability partner) to 無限責任社員 (unlimited liability partner). The parser was not properly detecting this change across different executive sections, resulting in the person appearing in both positions.

Solution

  1. Added "責任変更" to resignation patterns (parse_body.go:67): Extended getResignedAt() to recognize responsibility changes as a type of status change
  2. Implemented global post-processing (houjin_body.go:46-119): Modified GetHoujinExecutives() to collect all executives first, then apply post-processing across all sections
  3. Added responsibility change detection (houjin_body.go:46-87): Created postProcessResponsibilityChangesGlobal() to invalidate limited liability partner entries when the same person becomes an unlimited liability partner

Test Results

  • make annotate TARGET=sample891 now correctly shows only 無限責任社員 for 弓納持弘
  • All existing tests pass (make test)

Test plan

  • Run make annotate TARGET=sample891 to verify the fix
  • Run make test to ensure no regressions
  • Verify that 弓納持弘 no longer appears as 有限責任社員

🤖 Generated with Claude Code

Fixes issue where executives with responsibility changes (責任変更)
were incorrectly shown as active in both old and new positions.

Problem:
- In sample891.pdf, 弓納持弘 appears as both 有限責任社員 (limited
  liability partner) and 無限責任社員 (unlimited liability partner)
- The responsibility change (有限→無限) was not properly detected
  across different executive sections

Solution:
1. Added "責任変更" to the list of resignation patterns in
   getResignedAt()
2. Implemented global post-processing in GetHoujinExecutives() to
   handle responsibility changes across all executive sections
3. Added postProcessResponsibilityChangesGlobal() to invalidate
   limited liability partners when the same person becomes an
   unlimited liability partner

The parser now correctly handles responsibility changes and shows
only the current position for each executive.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Add --remote flag to wrangler r2 commands in put/sample target to ensure
files are uploaded to the actual Cloudflare R2 bucket instead of local
simulation environment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@tychy tychy merged commit 931785d into main Nov 8, 2025
2 checks passed
@tychy tychy deleted the fix/handle-executive-responsibility-change branch November 8, 2025 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants