CaroFernando opened a new pull request, #9017:
URL: https://github.com/apache/texera/pull/9017

   ### What changes were proposed in this PR?
   
   Binary files can't carry a license header, so nothing in the repository 
records where its images and media files came from (see #8800). This PR adds 
`PROVENANCE.yaml` at the repository root, with one entry for each of the 236 
image and media files tracked in git:
   
   - `path`
   - `origin`: `project-made`, `third-party` or `unknown`
   - `source` and `license`, for third-party files
   - `notes`: the evidence for the entry, or what still has to happen
   
   Entries were filled from:
   
   - the commit that wrote each file's current content. This matters because 
several icons were replaced after they were first added, for example the UDF 
icons in #5686;
   - embedded metadata (exiftool);
   - the description and comments of the PR that added each file;
   - a visual review.
   
   Summary:
   
   | Origin | Files |
   |---|---|
   | project-made | 31 |
   | third-party | 15 (8 already in `LICENSE`; 7 need follow-up, listed in 
#8984) |
   | unknown | 190 (13 are the vendor logos replaced by #8999) |
   
   The `unknown` entries are the remaining audit work for #8984. If the release 
goes the `DISCLAIMER-WIP` route agreed in #8800, they are the list the 
disclaimer can point to. The format follows the manifest proposed in #8985, so 
that issue's CI check can read this file.
   
   This PR only records provenance. It does not replace any image or edit 
`LICENSE`; that follow-up work is tracked in #8984.
   
   ### Any related issues, documentation, discussions?
   
   Part of #8984. Related: #8800, #8985, #8982 / #8999. Audit status and plan: 
https://github.com/apache/texera/issues/8984#issuecomment-6246250030
   
   Draft until:
   
   - the manifest format is agreed (see #8985);
   - #8999 merges, after which the 13 vendor-logo entries will be regenerated 
as project-made.
   
   ### How was this PR tested?
   
   Documentation-only change, no code. Checks run:
   
   ```bash
   # every tracked image/media file has exactly one entry, and the file parses
   python3 -c "import yaml,subprocess; 
d=yaml.safe_load(open('PROVENANCE.yaml'))['files']; \
     t={p for p in subprocess.check_output(['git','ls-files']).decode().split() 
\
        if 
p.lower().endswith(('.png','.jpg','.jpeg','.gif','.ico','.svg','.webp','.bmp','.mp4','.wav','.mp3','.webm','.ogg'))};
 \
     m={f['path'] for f in d}; print(len(d), t==m, len(m)==len(d))"
   # license header check, same as check-header.yml
   license-eye -c .licenserc.yaml header check
   ```
   
   Output: `236 True True`, and `invalid: 0` from the header check.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (claude-opus-5-5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to