anthropics/jacobian-lens Companion code for the global workspace interpretability paper |
for people* (7/10)
for AI* (7/9)
Rule-of-thumb estimates
Rebuild value
Maintenance effort
analysis.maintainabilityScores.- File size4.1−0.836% of main code in files > 500 lines
For people: Large files are hard to navigate, mix responsibilities and attract merge conflicts.
For AI agents: Agents read whole files into their context: every change to a large file costs many tokens and crowds out other relevant code.
- Test code5.2−0.525 test lines per 100 main lines
For people: Tests document the intended behaviour and make changes safe.
For AI agents: Tests let an agent check its own work; without them its mistakes surface later, in review or in production.
- Volume9.82,166 lines of main code
For people: More code is more to learn, search and keep in mind; onboarding and judging a change's impact slow down as it grows.
For AI agents: An agent sees only a slice at a time: the bigger the code base, the more it searches, and the likelier it misses relevant code or rewrites an existing helper.
- Duplication9.8<1% of main code duplicated
For people: A fix in one copy must be repeated in all the others; a missed copy becomes a bug.
For AI agents: Agents copy the patterns they find, so duplicates multiply; a change to one copy misses the others, and every copy costs context.
- Unit size10.00% of unit code in units > 50 lines
For people: Long functions do many things at once: they are hard to name, read, test and reuse.
For AI agents: To change one line, an agent reads and often rewrites the whole function: bigger edits, more tokens, more breakage.
- Unit complexity10.00% of unit code with McCabe > 25
For people: Every branch is another path to understand and test; complex logic is where mistakes are made and missed in review.
For AI agents: Nested conditions are where generated changes break edge cases; complex units need more tests and review before an agent's change can be trusted.
- File complexity10.00% of main code in files with McCabe sum > 125
For people: Complex files concentrate risk: understanding one means keeping many paths in mind.
For AI agents: Much to read and much logic to get right in one place: the costliest combination for an agent.
- File size4.1−1.536% of main code in files > 500 lines
For AI agents: Agents read whole files into their context: every change to a large file costs many tokens and crowds out other relevant code.
For people: Large files are hard to navigate, mix responsibilities and attract merge conflicts.
- Test code5.2−1.025 test lines per 100 main lines
For AI agents: Tests let an agent check its own work; without them its mistakes surface later, in review or in production.
For people: Tests document the intended behaviour and make changes safe.
- Volume9.82,166 lines of main code
For AI agents: An agent sees only a slice at a time: the bigger the code base, the more it searches, and the likelier it misses relevant code or rewrites an existing helper.
For people: More code is more to learn, search and keep in mind; onboarding and judging a change's impact slow down as it grows.
- Duplication9.8<1% of main code duplicated
For AI agents: Agents copy the patterns they find, so duplicates multiply; a change to one copy misses the others, and every copy costs context.
For people: A fix in one copy must be repeated in all the others; a missed copy becomes a bug.
- Unit size10.00% of unit code in units > 50 lines
For AI agents: To change one line, an agent reads and often rewrites the whole function: bigger edits, more tokens, more breakage.
For people: Long functions do many things at once: they are hard to name, read, test and reuse.
- Unit complexity10.00% of unit code with McCabe > 25
For AI agents: Nested conditions are where generated changes break edge cases; complex units need more tests and review before an agent's change can be trusted.
For people: Every branch is another path to understand and test; complex logic is where mistakes are made and missed in review.
- File complexity10.00% of main code in files with McCabe sum > 125
For AI agents: Much to read and much logic to get right in one place: the costliest combination for an agent.
For people: Complex files concentrate risk: understanding one means keeping many paths in mind.
- 1lens.pyjlens/McCabe 19126 LOC
- 2hf.pyjlens/McCabe 15124 LOC
- 3vis.pyjlens/McCabe 15336 LOC
- 4examples.pyjlens/McCabe 10145 LOC
- 5hooks.pyjlens/McCabe 1043 LOC
- 6_logging.pyjlens/McCabe 934 LOC
- 7fitting.pyjlens/McCabe 7248 LOC
- 8protocol.pyjlens/McCabe 316 LOC
| Standard analyses: | Main Code: 2,166 LOC (11 files) = PY (50%) + HTML (36%) + IPYNB (13%) Secondary code: Test: 536 LOC (7); Generated: 0 LOC (0); Build & Deploy: 44 LOC (2); Other: 9,529 LOC (21); |
||
| Duplication: <1% | |||
| File Size: 0% long (>1000 LOC), 23% short (<= 200 LOC) | |||
|
|
Logical Component Decomposition: primary (2 components) | ||
| Goals: Keep the system simple and easy to change (4) | |||
| Experimental analyses (less reliable heuristic analyses): | |||
| Unit Size: 0% long (>100 LOC), 100% short (<= 10 LOC) | |||
| Conditional Complexity: 0% complex (McCabe index > 50), 90% simple (McCabe index <= 5) | |||
|
|
Static Component Dependencies: primary (2 components) | ||
No commit history found.
Visual Code Explorers
| MAIN (11) | Circles | Sunburst | |
| TEST (7) | Circles | Sunburst | |
| BUILD AND DEPLOYMENT (2) | Circles | Sunburst | |
| GENERATED (0) |
Circles
|
Sunburst
|
|
| OTHER (21) | Circles | Sunburst |
File Visualizations
File size views:
Duplication views:
File age views:
File change frequency views:
Contributors per file views:
Contributor Visualizations
Contributor dependency views:
Components and Dependencies Visualizations
| Components | Temporal Dependencies | Duplication | Commits Racing Charts | ||||||||||
| 30 days | 3 months | 6 months | |||||||||||
| PRIMARY (2) | Bubble Chart | Tree Map |
2D
|
3D
|
2D
|
3D
|
2D
|
3D
|
All Time | 12 Months | |||
File Dependencies Visualizations
Temporal dependencies among files:
|
Units Visualizations
Unit size and conditional complexity views:
Lists of Files Per Scope
- MAIN (11 files)
- TEST (7 files)
- BUILD AND DEPLOYMENT (2 files)
-
GENERATED
- OTHER (21 files)
- FILES: History Data
- IGNORED FILES: By Extension | By Rule
Analysis Results
- CONFIGURATION: JSON
- ALL ANALYSIS RESULTS: JSON
- DUPLICATES: TXT | JSON
- UNITS: TXT | JSON
- CONTRIBUTORS: TXT | JSON
- LOGICAL DECOMPOSITIONS: JSON
- CONCERNS: JSON
- CONTROLS: TXT
- ALL METRICS: TXT