Skip to content

Commit 349f9ca

Browse files
Merge pull request #284 from ncsa/develop
Updating version and changelog, adding GC Bias modeling
2 parents f3268ed + e55d344 commit 349f9ca

39 files changed

Lines changed: 1768 additions & 550 deletions

.gitattributes

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
models/* linguist-generated
2-
3-
# Set default behavior, in case people don't have core.autocrlf set.
4-
* text=auto
5-
6-
*.py text
7-
*.yml text
8-
*.fa text
9-
*.fasta text
10-
*.vcf text
11-
*.fastq text
12-
*.txt text
13-
*.html text
14-
*.genomecov text
15-
16-
*.bam binary
17-
*.png binary
18-
*.jpg binary
1+
models/* linguist-generated
2+
3+
# Set default behavior, in case people don't have core.autocrlf set.
4+
* text=auto
5+
6+
*.py text
7+
*.yml text
8+
*.fa text
9+
*.fasta text
10+
*.vcf text
11+
*.fastq text
12+
*.txt text
13+
*.html text
14+
*.genomecov text
15+
16+
*.bam binary
17+
*.png binary
18+
*.jpg binary
Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,38 @@
1-
---
2-
name: Bug report
3-
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
8-
---
9-
10-
**Describe the bug**
11-
A clear and concise description of what the bug is.
12-
13-
**To Reproduce**
14-
Steps to reproduce the behavior:
15-
1. Go to '...'
16-
2. Click on '....'
17-
3. Scroll down to '....'
18-
4. See error
19-
20-
**Expected behavior**
21-
A clear and concise description of what you expected to happen.
22-
23-
**Screenshots**
24-
If applicable, add screenshots to help explain your problem.
25-
26-
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser [e.g. chrome, safari]
29-
- Version [e.g. 22]
30-
31-
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser [e.g. stock browser, safari]
35-
- Version [e.g. 22]
36-
37-
**Additional context**
38-
Add any other context about the problem here.
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.
Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
---
2-
name: Feature request
3-
about: Suggest an idea for this project
4-
title: ''
5-
labels: ''
6-
assignees: ''
7-
8-
---
9-
10-
**Is your feature request related to a problem? Please describe.**
11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12-
13-
**Describe the solution you'd like**
14-
A clear and concise description of what you want to happen.
15-
16-
**Describe alternatives you've considered**
17-
A clear and concise description of any alternative solutions or features you've considered.
18-
19-
**Additional context**
20-
Add any other context or screenshots about the feature request here.
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/workflows/python-app.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,15 @@ jobs:
2828
- name: Run unit tests
2929
shell: bash -l {0}
3030
run: |
31-
micromamba run -n neat pytest -q tests
31+
micromamba run -n neat pytest --cov=neat --cov-report=xml --cov-report=term tests
3232
3333
- name: Run CLI integration test
3434
shell: bash -l {0}
3535
run: |
3636
micromamba run -n neat pytest -q tests/test_cli
37+
38+
- name: Upload coverage to Codecov
39+
uses: codecov/codecov-action@v4
40+
with:
41+
file: ./coverage.xml
42+
fail_ci_if_error: false

.gitignore

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,37 @@
1-
# Ignore filetypes
2-
*.pyc
3-
*.pyo
4-
*.pyd
5-
__pycache__/
6-
7-
# Virtual environments
8-
/python2env/
9-
/.venv/
10-
/venv/
11-
/env/
12-
13-
# IDEs
14-
/.ipynb_checkpoints/
15-
/.vscode/
16-
/.idea/
17-
18-
# Test & coverage artifacts
19-
.coverage
20-
.coverage.*
21-
htmlcov/
22-
.pytest_cache/
23-
24-
# NEAT log files
25-
*.log
26-
27-
# Build / packaging
28-
dist/
29-
build/
30-
*.egg-info/
31-
*.egg
1+
# Ignore filetypes
2+
*.pyc
3+
*.pyo
4+
*.pyd
5+
__pycache__/
6+
7+
# Virtual environments
8+
/python2env/
9+
/.venv/
10+
/venv/
11+
/env/
12+
13+
# IDEs
14+
/.ipynb_checkpoints/
15+
/.vscode/
16+
/.idea/
17+
18+
# Test & coverage artifacts
19+
.coverage
20+
.coverage.*
21+
htmlcov/
22+
.pytest_cache/
23+
24+
# NEAT log files
25+
*.log
26+
27+
# Build / packaging
28+
dist/
29+
build/
30+
*.egg-info/
31+
*.egg
32+
33+
# gitnexus stuff
34+
/.gitnexus/
35+
/.claude/
36+
AGENTS.md
37+
CLAUDE.md

AGENTS.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!-- gitnexus:start -->
2+
# GitNexus — Code Intelligence
3+
4+
This project is indexed by GitNexus as **NEAT** (2742 symbols, 5450 relationships, 62 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely.
5+
6+
> If any GitNexus tool warns the index is stale, run `npx gitnexus analyze` in terminal first.
7+
8+
## Always Do
9+
10+
- **MUST run impact analysis before editing any symbol.** Before modifying a function, class, or method, run `gitnexus_impact({target: "symbolName", direction: "upstream"})` and report the blast radius (direct callers, affected processes, risk level) to the user.
11+
- **MUST run `gitnexus_detect_changes()` before committing** to verify your changes only affect expected symbols and execution flows.
12+
- **MUST warn the user** if impact analysis returns HIGH or CRITICAL risk before proceeding with edits.
13+
- When exploring unfamiliar code, use `gitnexus_query({query: "concept"})` to find execution flows instead of grepping. It returns process-grouped results ranked by relevance.
14+
- When you need full context on a specific symbol — callers, callees, which execution flows it participates in — use `gitnexus_context({name: "symbolName"})`.
15+
16+
## Never Do
17+
18+
- NEVER edit a function, class, or method without first running `gitnexus_impact` on it.
19+
- NEVER ignore HIGH or CRITICAL risk warnings from impact analysis.
20+
- NEVER rename symbols with find-and-replace — use `gitnexus_rename` which understands the call graph.
21+
- NEVER commit changes without running `gitnexus_detect_changes()` to check affected scope.
22+
23+
## Resources
24+
25+
| Resource | Use for |
26+
|----------|---------|
27+
| `gitnexus://repo/NEAT/context` | Codebase overview, check index freshness |
28+
| `gitnexus://repo/NEAT/clusters` | All functional areas |
29+
| `gitnexus://repo/NEAT/processes` | All execution flows |
30+
| `gitnexus://repo/NEAT/process/{name}` | Step-by-step execution trace |
31+
32+
## CLI
33+
34+
| Task | Read this skill file |
35+
|------|---------------------|
36+
| Understand architecture / "How does X work?" | `.claude/skills/gitnexus/gitnexus-exploring/SKILL.md` |
37+
| Blast radius / "What breaks if I change X?" | `.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md` |
38+
| Trace bugs / "Why is X failing?" | `.claude/skills/gitnexus/gitnexus-debugging/SKILL.md` |
39+
| Rename / extract / split / refactor | `.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md` |
40+
| Tools, resources, schema reference | `.claude/skills/gitnexus/gitnexus-guide/SKILL.md` |
41+
| Index, status, clean, wiki CLI commands | `.claude/skills/gitnexus/gitnexus-cli/SKILL.md` |
42+
43+
<!-- gitnexus:end -->

CLAUDE.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!-- gitnexus:start -->
2+
# GitNexus — Code Intelligence
3+
4+
This project is indexed by GitNexus as **NEAT** (2742 symbols, 5450 relationships, 62 execution flows). Use the GitNexus MCP tools to understand code, assess impact, and navigate safely.
5+
6+
> If any GitNexus tool warns the index is stale, run `npx gitnexus analyze` in terminal first.
7+
8+
## Always Do
9+
10+
- **MUST run impact analysis before editing any symbol.** Before modifying a function, class, or method, run `gitnexus_impact({target: "symbolName", direction: "upstream"})` and report the blast radius (direct callers, affected processes, risk level) to the user.
11+
- **MUST run `gitnexus_detect_changes()` before committing** to verify your changes only affect expected symbols and execution flows.
12+
- **MUST warn the user** if impact analysis returns HIGH or CRITICAL risk before proceeding with edits.
13+
- When exploring unfamiliar code, use `gitnexus_query({query: "concept"})` to find execution flows instead of grepping. It returns process-grouped results ranked by relevance.
14+
- When you need full context on a specific symbol — callers, callees, which execution flows it participates in — use `gitnexus_context({name: "symbolName"})`.
15+
16+
## Never Do
17+
18+
- NEVER edit a function, class, or method without first running `gitnexus_impact` on it.
19+
- NEVER ignore HIGH or CRITICAL risk warnings from impact analysis.
20+
- NEVER rename symbols with find-and-replace — use `gitnexus_rename` which understands the call graph.
21+
- NEVER commit changes without running `gitnexus_detect_changes()` to check affected scope.
22+
23+
## Resources
24+
25+
| Resource | Use for |
26+
|----------|---------|
27+
| `gitnexus://repo/NEAT/context` | Codebase overview, check index freshness |
28+
| `gitnexus://repo/NEAT/clusters` | All functional areas |
29+
| `gitnexus://repo/NEAT/processes` | All execution flows |
30+
| `gitnexus://repo/NEAT/process/{name}` | Step-by-step execution trace |
31+
32+
## CLI
33+
34+
| Task | Read this skill file |
35+
|------|---------------------|
36+
| Understand architecture / "How does X work?" | `.claude/skills/gitnexus/gitnexus-exploring/SKILL.md` |
37+
| Blast radius / "What breaks if I change X?" | `.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md` |
38+
| Trace bugs / "Why is X failing?" | `.claude/skills/gitnexus/gitnexus-debugging/SKILL.md` |
39+
| Rename / extract / split / refactor | `.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md` |
40+
| Tools, resources, schema reference | `.claude/skills/gitnexus/gitnexus-guide/SKILL.md` |
41+
| Index, status, clean, wiki CLI commands | `.claude/skills/gitnexus/gitnexus-cli/SKILL.md` |
42+
43+
<!-- gitnexus:end -->

0 commit comments

Comments
 (0)