Skip to content

fix(copyright): recover bounded POD contributor rosters - #1412

Merged
mstykow merged 1 commit into
fix/contactless-pod-authorsfrom
fix/pod-narrative-credits
Sep 3, 2026
Merged

fix(copyright): recover bounded POD contributor rosters#1412
mstykow merged 1 commit into
fix/contactless-pod-authorsfrom
fix/pod-narrative-credits

Conversation

@mstykow

@mstykow mstykow commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Recover bounded contributor rosters from narrative sentences inside POD AUTHOR and AUTHORS sections.
  • Support contribution, thanks, supplied-by, attribution, and subject-provided cues without treating unrelated prose as names.
  • Preserve valid name particles and contributor collectives while trimming dates, roles, and non-person continuations.

Issues

Scope and exclusions

  • Included: cue-backed narrative credits inside structurally bounded POD author sections.
  • Explicit exclusions: unbounded prose, operational contacts, copyright-only contacts, and generic contribution objects.

How to verify

  • Scan Perl 5.38.4 with provenant --copyright --json out.json perl-5.38.4. Relative to fix(copyright): recover contactless POD authors #1411, this adds 57 valid author values across 15 files, removes none, introduces no duplicates, and leaves copyright and holder output unchanged.
  • Compare the same 15 files with ScanCode: ScanCode reports any author in nine and exactly matches none of the recovered values.
  • Scan InfoZIP 3.0 as a control: author, copyright, and holder output is byte-for-byte unchanged from fix(copyright): recover contactless POD authors #1411.

Intentional differences from Python

  • Provenant treats bounded, grammatically cued contributor sentences as authorship evidence. ScanCode generally misses these rosters, while Provenant keeps extraction section-bounded and rejects generic prose objects.

Follow-up work

  • Created or intentionally deferred: source-header credits and malformed legacy author cleanup remain in later stacked branches.

Expected-output fixture changes

  • Files changed: none.
  • Why the new expected output is correct: focused detector tests cover cue families, name particles, collectives, exclusions, and section boundaries; the Perl and InfoZIP comparisons provide positive and negative corpus evidence.

Signed-off-by: Maxim Stykow <maxim.stykow@gmail.com>
@mstykow
mstykow force-pushed the fix/pod-narrative-credits branch from eeb693c to 7484935 Compare September 3, 2026 10:24
@mstykow

mstykow commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator Author

@greptileai review

@mstykow
mstykow merged commit 32d6c6b into main Sep 3, 2026
12 checks passed
@mstykow
mstykow deleted the fix/pod-narrative-credits branch September 3, 2026 11:04
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.

1 participant