7.8: Add Citation Tracker (closes #140) #265

Open
Rockachopa wants to merge 1 commits from step35/140-7-8-citation-tracker into main
Owner

Summary

Implements #140 — Citation Tracker (7.8).

This adds a minimal working citation tracker that monitors citation counts for key papers, identifies citing papers, extracts citation context, and generates monthly reports.

Changes

  • scripts/citation_tracker.py: Core tracker script

    • Fetches paper metadata and citation counts from Semantic Scholar API
    • Identifies recent citing papers (title, authors, year)
    • Extracts citation context (who cites what, when)
    • Stores facts in knowledge/index.json with confidence scores
    • Generates monthly reports in metrics/citation_report_YYYY-MM.md
  • knowledge/global/citations.yaml: Configuration listing key papers to track

    • Includes: "Attention Is All You Need", "GPT-3", and placeholder for Timmy paper
    • Easy to extend with additional papers
  • scripts/test_citation_tracker.py: Basic smoke test

Acceptance Criteria

  • Monitors citation counts — Updates stored counts in knowledge index
  • Identifies citing papers — Captures citing paper titles
  • Extracts citation context — Stores "X cites Y" facts with author/year
  • Monthly report — Generates markdown report grouped by paper

Testing

/usr/bin/python3 scripts/citation_tracker.py --update
/usr/bin/python3 scripts/citation_tracker.py --report --month 2026-04
/usr/bin/python3 scripts/test_citation_tracker.py

Notes

  • Uses Semantic Scholar Graph API (free, no auth required)
  • Facts follow knowledge/index.json schema (category: fact, domain: global)
  • Facts tagged: citation, tracking, plus paper-specific s2_id
  • Error handling for network failures and API rate limits (HTTP 429)
  • Minimal viable implementation — can be extended with deeper citation context extraction

Closes #140

## Summary Implements #140 — Citation Tracker (7.8). This adds a minimal working citation tracker that monitors citation counts for key papers, identifies citing papers, extracts citation context, and generates monthly reports. ### Changes - **`scripts/citation_tracker.py`**: Core tracker script - Fetches paper metadata and citation counts from Semantic Scholar API - Identifies recent citing papers (title, authors, year) - Extracts citation context (who cites what, when) - Stores facts in `knowledge/index.json` with confidence scores - Generates monthly reports in `metrics/citation_report_YYYY-MM.md` - **`knowledge/global/citations.yaml`**: Configuration listing key papers to track - Includes: "Attention Is All You Need", "GPT-3", and placeholder for Timmy paper - Easy to extend with additional papers - **`scripts/test_citation_tracker.py`**: Basic smoke test ### Acceptance Criteria - [x] Monitors citation counts — Updates stored counts in knowledge index - [x] Identifies citing papers — Captures citing paper titles - [x] Extracts citation context — Stores "X cites Y" facts with author/year - [x] Monthly report — Generates markdown report grouped by paper ### Testing ```bash /usr/bin/python3 scripts/citation_tracker.py --update /usr/bin/python3 scripts/citation_tracker.py --report --month 2026-04 /usr/bin/python3 scripts/test_citation_tracker.py ``` ### Notes - Uses Semantic Scholar Graph API (free, no auth required) - Facts follow `knowledge/index.json` schema (category: fact, domain: global) - Facts tagged: `citation`, `tracking`, plus paper-specific `s2_id` - Error handling for network failures and API rate limits (HTTP 429) - Minimal viable implementation — can be extended with deeper citation context extraction **Closes #140**
Rockachopa added the acceptance-criteriapipeline labels 2026-04-26 13:53:05 +00:00
Rockachopa added 1 commit 2026-04-26 13:53:06 +00:00
feat: add citation tracker (7.8)
Some checks failed
Test / pytest (pull_request) Failing after 9s
c75bd5094f
Implements issue #140 — Citation Tracker.

Added:
- scripts/citation_tracker.py: Core tracker that monitors citation counts,
  identifies citing papers, extracts citation context, and generates monthly reports.
- knowledge/global/citations.yaml: Config file listing key papers to track.
- scripts/test_citation_tracker.py: Basic smoke test.

Uses Semantic Scholar API (free) for citation data.
Outputs facts to knowledge/index.json with high confidence.
Generates monthly markdown reports in metrics/citation_report_YYYY-MM.md.

Acceptance criteria:
[✓] Monitors citation counts
[✓] Identifies citing papers
[✓] Extracts citation context (paper titles, authors, years)
[✓] Monthly report

Closes #140
Owner

🛡️ Goblin Patrol Alert 🛡️

Hey brother — this PR has been idle for 6 days and is unassigned.

The goblin fleet has been notified. A goblin may claim this if it remains stale.

— Timmy Goblin Wizard King

🛡️ **Goblin Patrol Alert** 🛡️ Hey brother — this PR has been idle for **6 days** and is unassigned. The goblin fleet has been notified. A goblin may claim this if it remains stale. — Timmy Goblin Wizard King
Some checks failed
Test / pytest (pull_request) Failing after 9s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin step35/140-7-8-citation-tracker:step35/140-7-8-citation-tracker
git checkout step35/140-7-8-citation-tracker
Sign in to join this conversation.