Skip to content

docs: add third-party attribution NOTICE for upstream CV template - #20

Merged
eduardstan merged 4 commits into
mainfrom
fm/lp-third-party-notice
Jul 30, 2026
Merged

eduardstan merged 4 commits into
mainfrom
fm/lp-third-party-notice

Conversation

@eduardstan

Copy link
Copy Markdown
Owner

Intent

Credit upstream academic CV LaTeX template by Dubasi Pavan Kumar with third-party notice

What Changed

  • Adds a root NOTICE crediting Dubasi Pavan Kumar's Academic CV Template as the origin of cv/preamble.tex and the LaTeX layouts under cv/, with the source URL and the MIT-vs-CC BY 4.0 discrepancy between the upstream file header and the Overleaf listing, plus how this repository satisfies both.
  • Points LICENSE at NOTICE with a one-line reference instead of duplicating the attribution text, and updates README's "Licence" section and "Make it yours" entry to link NOTICE and warn that the upstream header in cv/preamble.tex must survive edits.
  • Adds a comment in cv/preamble.tex marking the existing upstream header as load-bearing attribution.

Review flagged a stray root CLAUDE.md -> AGENTS.md symlink (double-loading the same instructions, against AGENTS.md's rule) and the duplicated licence block; both were auto-fixed on the branch. Docs-only — no build, check or output behaviour changes.

Risk Assessment

✅ Low: Docs-only attribution change: NOTICE holds the third-party credit once, LICENSE keeps a one-line pointer, README links both, the upstream header in cv/preamble.tex is intact, and the previously flagged root CLAUDE.md symlink is gone.

Testing

Ran the one existing test that touches repository doc paths (scripts/agents-md.test.mjs, passing), then verified the attribution the way a reader meets it: rendered the README "Licence" section, the new NOTICE and the LICENSE tail in a browser and captured a screenshot, confirmed the relative NOTICE link resolves, checked that the NOTICE's claim about cv/preamble.tex retaining the upstream MIT header is true, and fetched and screenshotted the live Overleaf listing, which states exactly the author and CC BY 4.0 licence the NOTICE cites. No test was added because AGENTS.md forbids builds failing over credit or branding. Everything checked passes and the worktree is unchanged.

  • Evidence: Rendered attribution surfaces (README Licence section, NOTICE, LICENSE tail, retained preamble header) (local file: /tmp/no-mistakes-evidence/01KYTCWCTHBFVK63SAY3B5TSPH/attribution-surfaces.png)
  • Evidence: Upstream Overleaf listing confirming author and CC BY 4.0 (local file: /tmp/no-mistakes-evidence/01KYTCWCTHBFVK63SAY3B5TSPH/upstream-overleaf-listing.png)
Evidence: Verification transcript

$ git ls-files NOTICE LICENSE README.md CLAUDE.md LICENSE NOTICE README.md $ grep -n 'NOTICE' README.md LICENSE LICENSE:24:Third-party attributions: see NOTICE. README.md:529:NOTICE. Bundled web fonts retain their own licences $ sed -n '1,9p' cv/preamble.tex % %Academic CV LaTeX Template % Author: Dubasi Pavan Kumar % LinkedIn: https://www.linkedin.com/in/im-pavankumar/
% License: MIT $ curl -sSL https://www.overleaf.com/latex/templates/academic-cv-template/gmyytjmdbvdm
http=200
Dubasi Pavan Kumar Creative Commons CC BY 4.0

$ git diff --stat 17f4773..c970f26
 LICENSE   |  4 ++++
 NOTICE    | 10 ++++++++++
 README.md |  3 ++-
 3 files changed, 16 insertions(+), 1 deletion(-)

$ git ls-files NOTICE LICENSE README.md CLAUDE.md   # NOTICE ships in the tracked-file adopter copy; root CLAUDE.md symlink gone
LICENSE
NOTICE
README.md

$ grep -n 'NOTICE' README.md LICENSE
LICENSE:24:Third-party attributions: see NOTICE.
README.md:529:[`NOTICE`](NOTICE). Bundled web fonts retain their own licences

$ sed -n '1,9p' cv/preamble.tex   # upstream header the NOTICE says is retained
%
%Academic CV LaTeX Template
% Author: Dubasi Pavan Kumar
% LinkedIn: https://www.linkedin.com/in/im-pavankumar/
% License: MIT
%
% For errors, suggestions, or improvements, please contact:
% Email: pavankumard.pg19.ma@nitp.ac.in
%

$ curl -sSL -o /dev/null -w 'http=%{http_code}\n' https://www.overleaf.com/latex/templates/academic-cv-template/gmyytjmdbvdm ; grep -io 'Creative Commons CC BY 4.0|Dubasi Pavan Kumar'
http=200
Dubasi Pavan Kumar
Creative Commons CC BY 4.0

$ node --test scripts/agents-md.test.mjs
# pass 2  # fail 0
Evidence: Local render page used for the screenshot
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>ledgerpress — third-party attribution surfaces</title>
    <style>
      body {
        font-family: -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
        color: #1f2328;
        background: #f6f8fa;
        margin: 0;
        padding: 32px;
        line-height: 1.5;
      }
      main { max-width: 900px; margin: 0 auto; }
      section {
        background: #fff;
        border: 1px solid #d1d9e0;
        border-radius: 6px;
        margin-bottom: 24px;
        overflow: hidden;
      }
      .filehead {
        background: #f6f8fa;
        border-bottom: 1px solid #d1d9e0;
        padding: 8px 16px;
        font-size: 14px;
        font-weight: 600;
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      }
      .body { padding: 16px 24px; }
      pre {
        margin: 0;
        padding: 16px 24px;
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 12.5px;
        white-space: pre-wrap;
        word-break: break-word;
      }
      h2 { font-size: 22px; border-bottom: 1px solid #d1d9e0; padding-bottom: 6px; margin-top: 0; }
      code {
        background: rgba(129, 139, 152, 0.16);
        border-radius: 6px;
        padding: 0.2em 0.4em;
        font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
        font-size: 85%;
      }
      a { color: #0969da; text-decoration: none; }
      a:hover { text-decoration: underline; }
      .caption { font-size: 12px; color: #59636e; margin: 0 0 16px; }
    </style>
  </head>
  <body>
    <main>
      <p class="caption">
        Local render of the three repository surfaces this change touches, at commit c970f26
        (branch <code>fm/lp-third-party-notice</code>). File text is verbatim.
      </p>

      <section>
        <div class="filehead">README.md — rendered “Licence” section</div>
        <div class="body">
          <h2>Licence</h2>
          <p>
            The machinery is MIT licensed; see <a href="LICENSE"><code>LICENSE</code></a>, with
            third-party attributions in <a href="NOTICE"><code>NOTICE</code></a>. Bundled web fonts
            retain their own licences in
            <a href="https://github.com/eduardstan/ledgerpress/blob/main/web/public/fonts/LICENSES.md"
              ><code>web/public/fonts/LICENSES.md</code></a
            >.
          </p>
        </div>
      </section>

      <section>
        <div class="filehead">NOTICE (new file)</div>
        <pre id="notice">loading…</pre>
      </section>

      <section>
        <div class="filehead">LICENSE — tail</div>
        <pre id="license">loading…</pre>
      </section>

      <section>
        <div class="filehead">cv/preamble.tex — upstream header retained (lines 1–9)</div>
        <pre>%
%Academic CV LaTeX Template
% Author: Dubasi Pavan Kumar
% LinkedIn: https://www.linkedin.com/in/im-pavankumar/
% License: MIT
%
% For errors, suggestions, or improvements, please contact:
% Email: pavankumard.pg19.ma@nitp.ac.in
%</pre>
      </section>
    </main>
    <script>
      const load = async (id, file, tail) => {
        const text = await (await fetch(file)).text();
        document.getElementById(id).textContent = tail
          ? text.trimEnd().split("\n").slice(-tail).join("\n")
          : text.trimEnd();
      };
      load("notice", "NOTICE");
      load("license", "LICENSE", 8);
    </script>
  </body>
</html>

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

🔧 **Review** - 2 issues found → auto-fixed ✅
  • 🚨 CLAUDE.md:1 - Commit 6fdf78c adds a root CLAUDE.md -&gt; AGENTS.md symlink, which directly contradicts the committed rule in AGENTS.md:143-145: "Keep .claude/CLAUDE.md as the single one-line import of this file for Claude-compatible tools. Do not add another pointer at the repository root: having both pointers makes those tools load the same instructions twice." .claude/CLAUDE.md still exists and imports ../AGENTS.md, so Claude-compatible tools now load the same instructions twice. It is also unrelated to the stated intent (third-party attribution) and looks like a stray file swept into the docs commit. Either delete the symlink or update AGENTS.md's rule deliberately.
  • ⚠️ LICENSE:22 - The Third-Party Notices block appended to LICENSE (lines 22-32) is byte-identical to the block in the new NOTICE file. Two copies of the same legal text drift apart on any future edit, and appending non-MIT prose to LICENSE lowers licensee/GitHub license-detection similarity, so the repo can stop being reported as MIT. Keep the block only in NOTICE and reduce the LICENSE addition to a one-line pointer ("Third-party attributions: see NOTICE").

🔧 Fix: drop root CLAUDE.md symlink, point LICENSE at NOTICE
✅ Re-checked - no issues remain.

✅ **Test** - passed

✅ No issues found.

  • node --test scripts/agents-md.test.mjs — the only test covering repository doc paths (passes; root CLAUDE.md symlink removal breaks nothing, .claude/CLAUDE.md pointer intact)
  • git ls-files NOTICE LICENSE README.md CLAUDE.md — NOTICE is tracked so it ships in the tracked-file-only adopter copy; root CLAUDE.md is gone
  • grep -n &#39;NOTICE&#39; README.md LICENSE — both surfaces reference the new file
  • sed -n &#39;1,9p&#39; cv/preamble.tex — verifies the NOTICE's own claim that the upstream % Author: Dubasi Pavan Kumar / % License: MIT header is retained
  • Manual render: served the repo's real NOTICE and LICENSE plus the README "Licence" section over http://127.0.0.1:8731 and screenshotted it in Chrome; the relative NOTICE link resolves (HTTP 200)
  • curl -sSL https://www.overleaf.com/latex/templates/academic-cv-template/gmyytjmdbvdm plus a Chrome screenshot — upstream listing is live and shows Author: Dubasi Pavan Kumar, License: Creative Commons CC BY 4.0, corroborating the NOTICE text
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@eduardstan
eduardstan merged commit ddeffe6 into main Jul 30, 2026
3 checks passed
eduardstan added a commit that referenced this pull request Jul 31, 2026
* docs: add third-party attribution notice for Dubasi Pavan Kumar's Academic CV LaTeX Template

* docs: refine third-party notice with exact Overleaf URL and licensing discrepancy details

* no-mistakes(review): drop root CLAUDE.md symlink, point LICENSE at NOTICE

* no-mistakes(document): docs: point preamble editors at upstream attribution NOTICE
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