Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Integration Tests
name: Unit Tests

on:
push:
Expand All @@ -8,7 +8,7 @@ on:

jobs:
test:
name: Run Integration Tests
name: Run Unit Tests
runs-on: ubuntu-latest

steps:
Expand All @@ -24,7 +24,7 @@ jobs:
run: pipx install poetry

- name: Install dependencies
run: poetry install --no-root --with dev
run: poetry install --with dev

- name: Run tests
run: poetry run pytest tests/ -v --tb=short
29 changes: 11 additions & 18 deletions .github/workflows/theseus-engine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,29 @@ jobs:
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0

- name: Setup python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
run: pipx install poetry

- name: Install dependencies
run: poetry install --no-interaction --no-root

- name: Run theseus multi-repo analysis (delta load)
run: poetry run python scripts/analyse_repository.py

- name: Update living fossils (survivor check)
- name: Run theseus data pipeline (snapshots → survivor → cleanup)
run: |
# Re-blame HEAD for every repo and update the survivor fossil only if
# the file:line:commit has actually changed since the last run.
# Genesis (historical fossil) is left completely untouched.
poetry run python scripts/add_fossils.py --update-survivor

- name: Clean & minify data payloads
run: poetry run python scripts/cleanup_data.py
# Analyse new snapshot periods, refresh survivor fossils, and clean/minify
# all data payloads. Genesis (historical fossil) is left untouched
# during monthly cron runs.
poetry run python scripts/run_pipeline.py --update-survivor

- name: Create pull request for data updates
uses: peter-evans/create-pull-request@v6
if: success()
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: update theseus persistence data across all repos"
Expand All @@ -55,9 +48,9 @@ jobs:
title: "chore: monthly theseus data pipeline update"
body: |
## Automated Theseus Data Engine Run

This pull request contains the latest pre-computed persistence data, minified payloads, and fossil updates for the tracked repositories.

**Trigger:** Monthly Schedule / Workflow Dispatch
**Action:** Deltas calculated and fossils verified.
labels: "automated pr, data update"
2 changes: 1 addition & 1 deletion data/claude-code_data.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"snapshots":[{"snapshot_date":"2025-02","composition":{"2025":315}},{"snapshot_date":"2025-03","composition":{"2025":368}},{"snapshot_date":"2025-04","composition":{"2025":455}},{"snapshot_date":"2025-05","composition":{"2025":756}},{"snapshot_date":"2025-06","composition":{"2025":876}},{"snapshot_date":"2025-07","composition":{"2025":77387}},{"snapshot_date":"2025-08","composition":{"2025":77900}},{"snapshot_date":"2025-09","composition":{"2025":78823}},{"snapshot_date":"2025-10","composition":{"2025":56350}},{"snapshot_date":"2025-11","composition":{"2025":60301}},{"snapshot_date":"2025-12","composition":{"2025":86284}},{"snapshot_date":"2026-01","composition":{"2025":86626,"2026":35}},{"snapshot_date":"2026-02","composition":{"2025":86420,"2026":653}},{"snapshot_date":"2026-03","composition":{"2025":86142,"2026":1705}},{"snapshot_date":"2026-04","composition":{"2025":86142,"2026":2431}},{"snapshot_date":"2026-05","composition":{"2026":3361,"2025":86136}}],"fossils":{"genesis":{"timestamp":1740245022,"file":".devcontainer/Dockerfile","content":"FROM node:20","year":"2025","commit":"bd5ca70","view_commit":"bd5ca708adf82c4b81857abf40fe36d9d9cc3d1c","line":1},"survivor":{"timestamp":1740245022,"file":"README.md","content":"When you use Claude Code, we collect feedback, which includes usage data (such as code acceptance or rejections), associated conversation data, and user feedback submitted via the `/bug` command.","year":"2025","commit":"bd5ca70","view_commit":"main","line":62}}}
{"snapshots":[{"snapshot_date":"2025-02","composition":{"2025":315}},{"snapshot_date":"2025-03","composition":{"2025":368}},{"snapshot_date":"2025-04","composition":{"2025":752}},{"snapshot_date":"2025-05","composition":{"2025":847}},{"snapshot_date":"2025-06","composition":{"2025":77617}},{"snapshot_date":"2025-07","composition":{"2025":77977}},{"snapshot_date":"2025-08","composition":{"2025":78851}},{"snapshot_date":"2025-09","composition":{"2025":56419}},{"snapshot_date":"2025-10","composition":{"2025":60375}},{"snapshot_date":"2025-11","composition":{"2025":86353}},{"snapshot_date":"2025-12","composition":{"2025":86746}},{"snapshot_date":"2026-01","composition":{"2025":86493,"2026":716}},{"snapshot_date":"2026-02","composition":{"2025":86216,"2026":1694}},{"snapshot_date":"2026-03","composition":{"2026":2376,"2025":86216}},{"snapshot_date":"2026-04","composition":{"2025":86210,"2026":3326}},{"snapshot_date":"2026-05","composition":{"2025":85997,"2026":11497}}],"fossils":{"genesis":{"timestamp":1740421074,"file":"SECURITY.md","content":"# Security Policy","year":"2025","commit":"429d03e","view_commit":"429d03e3823d7dfeaf162321f033f2b667c9b554","line":1},"survivor":{"timestamp":1740245022,"file":".devcontainer/init-firewall.sh","content":"#!/bin/bash","year":"2025","commit":"bd5ca70","view_commit":"main","line":1}}}
2 changes: 1 addition & 1 deletion data/langchain_data.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"snapshots":[{"snapshot_date":"2022-12","composition":{"2022":15774}},{"snapshot_date":"2023-03","composition":{"2022":28253,"2023":61969}},{"snapshot_date":"2023-06","composition":{"2023":487975,"2022":21681}},{"snapshot_date":"2023-09","composition":{"2023":681274,"2022":16291}},{"snapshot_date":"2023-12","composition":{"2023":881194,"2022":14704}},{"snapshot_date":"2024-03","composition":{"2024":357436,"2023":944924,"2022":10842}},{"snapshot_date":"2024-06","composition":{"2023":826677,"2024":645423,"2022":7685}},{"snapshot_date":"2024-09","composition":{"2023":686097,"2024":664907,"2022":7295}},{"snapshot_date":"2024-12","composition":{"2024":683157,"2023":546569,"2022":7138}},{"snapshot_date":"2025-01","composition":{"2024":720654,"2023":544169,"2022":7122,"2025":5}},{"snapshot_date":"2025-02","composition":{"2023":542683,"2024":707703,"2025":56681,"2022":7106}},{"snapshot_date":"2025-03","composition":{"2023":533418,"2024":657044,"2025":124237,"2022":6529}},{"snapshot_date":"2025-04","composition":{"2023":491914,"2024":630484,"2025":129671,"2022":6346}},{"snapshot_date":"2025-05","composition":{"2024":448680,"2025":144491,"2023":315772,"2022":5672}},{"snapshot_date":"2025-06","composition":{"2023":313764,"2024":444312,"2025":158141,"2022":5671}},{"snapshot_date":"2025-07","composition":{"2023":313208,"2024":441747,"2025":170384,"2022":5671}},{"snapshot_date":"2025-08","composition":{"2025":203640,"2023":308982,"2024":435295,"2022":5429}},{"snapshot_date":"2025-09","composition":{"2025":222619,"2023":308625,"2024":433511,"2022":5427}},{"snapshot_date":"2025-10","composition":{"2023":306859,"2025":253209,"2024":429458,"2022":5409}},{"snapshot_date":"2025-11","composition":{"2025":213274,"2023":83597,"2024":138301,"2022":3632}},{"snapshot_date":"2025-12","composition":{"2025":213376,"2023":83259,"2024":137738,"2022":3489}},{"snapshot_date":"2026-01","composition":{"2025":221792,"2023":82989,"2024":136828,"2022":3485,"2026":268}},{"snapshot_date":"2026-02","composition":{"2024":128469,"2023":81140,"2025":207607,"2026":12545,"2022":3485}},{"snapshot_date":"2026-03","composition":{"2023":81121,"2025":198803,"2024":126788,"2026":35860,"2022":3484}},{"snapshot_date":"2026-04","composition":{"2025":195106,"2023":81079,"2024":126636,"2026":47792,"2022":3475}},{"snapshot_date":"2026-05","composition":{"2025":194140,"2026":72120,"2023":125330,"2024":126474,"2022":3475}}],"fossils":{"genesis":{"timestamp":1666648275,"file":".flake8","content":"[flake8]","year":"2022","commit":"18aeb72","view_commit":"18aeb720126a68201c7e3b5a617139c27c779496","line":1},"survivor":{"timestamp":1666648275,"file":".github/workflows/_lint.yml","content":"jobs:","year":"2022","commit":"18aeb72","view_commit":"master","line":33}}}
{"snapshots":[{"snapshot_date":"2022-12","composition":{"2022":33781}},{"snapshot_date":"2023-03","composition":{"2022":23173,"2023":99857}},{"snapshot_date":"2023-06","composition":{"2023":673974,"2022":18477}},{"snapshot_date":"2023-09","composition":{"2023":737974,"2022":15979}},{"snapshot_date":"2023-12","composition":{"2023":1060355,"2022":11100}},{"snapshot_date":"2024-03","composition":{"2023":889068,"2022":10561,"2024":491964}},{"snapshot_date":"2024-06","composition":{"2024":566702,"2023":709506,"2022":7565}},{"snapshot_date":"2024-09","composition":{"2024":658281,"2023":662951,"2022":7142}},{"snapshot_date":"2024-12","composition":{"2024":720724,"2023":544255,"2022":7122}},{"snapshot_date":"2025-01","composition":{"2023":542769,"2024":707768,"2022":7106,"2025":56667}},{"snapshot_date":"2025-02","composition":{"2024":657110,"2023":533502,"2022":6529,"2025":124263}},{"snapshot_date":"2025-03","composition":{"2025":156895,"2023":529492,"2024":639961,"2022":6506}},{"snapshot_date":"2025-04","composition":{"2025":144495,"2023":315832,"2024":448736,"2022":5672}},{"snapshot_date":"2025-05","composition":{"2025":158158,"2023":313824,"2024":444368,"2022":5671}},{"snapshot_date":"2025-06","composition":{"2023":313268,"2024":441875,"2022":5671,"2025":170299}},{"snapshot_date":"2025-07","composition":{"2023":309042,"2025":203651,"2024":435352,"2022":5429}},{"snapshot_date":"2025-08","composition":{"2025":222636,"2023":308685,"2024":433568,"2022":5427}},{"snapshot_date":"2025-09","composition":{"2023":306919,"2025":253228,"2024":429514,"2022":5409}},{"snapshot_date":"2025-10","composition":{"2025":213219,"2023":83609,"2024":138310,"2022":3632}},{"snapshot_date":"2025-11","composition":{"2025":213381,"2023":83271,"2024":137738,"2022":3489}},{"snapshot_date":"2025-12","composition":{"2025":221811,"2023":83009,"2024":136936,"2022":3485}},{"snapshot_date":"2026-01","composition":{"2025":207615,"2026":12524,"2023":81152,"2024":128469,"2022":3485}},{"snapshot_date":"2026-02","composition":{"2025":198810,"2023":81133,"2026":35849,"2024":126788,"2022":3484}},{"snapshot_date":"2026-03","composition":{"2025":195107,"2023":81091,"2024":126636,"2026":47777,"2022":3475}},{"snapshot_date":"2026-04","composition":{"2025":194170,"2026":71165,"2023":81047,"2024":126480,"2022":3475}},{"snapshot_date":"2026-05","composition":{"2025":192543,"2026":86935,"2023":81024,"2024":125964,"2022":3475}}],"fossils":{"genesis":{"timestamp":1666666586,"file":"examples/natbot.py","content":"\"\"\"Run NatBot.\"\"\"","year":"2022","commit":"1ef3ab4","view_commit":"1ef3ab4d0e663be147a5bcf542045e1f4a065778","line":1},"survivor":{"timestamp":1666648275,"file":".github/workflows/_lint.yml","content":"jobs:","year":"2022","commit":"18aeb72","view_commit":"master","line":33}}}
2 changes: 1 addition & 1 deletion data/numpy_data.json

Large diffs are not rendered by default.

Loading
Loading