epistemic-graph 0.24.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- epistemic_graph-0.24.0/.bumpversion.cfg +16 -0
- epistemic_graph-0.24.0/.codespellignore +28 -0
- epistemic_graph-0.24.0/.env.example +9 -0
- epistemic_graph-0.24.0/.gitattributes +197 -0
- epistemic_graph-0.24.0/.github/workflows/pages.yml +14 -0
- epistemic_graph-0.24.0/.github/workflows/pipeline.yml +20 -0
- epistemic_graph-0.24.0/.gitignore +91 -0
- epistemic_graph-0.24.0/.pre-commit-config.yaml +110 -0
- epistemic_graph-0.24.0/.specify/reports/code_enhancement_report.md +335 -0
- epistemic_graph-0.24.0/.specify/reports/epistemic-graph/results.json +2109 -0
- epistemic_graph-0.24.0/.specify/reports/generated_c4.md +17 -0
- epistemic_graph-0.24.0/.specify/reports/summary.json +32 -0
- epistemic_graph-0.24.0/.specify/specs/code-enhancement-20260529/spec.json +222 -0
- epistemic_graph-0.24.0/.specify/specs/code-enhancement-20260529/spec.md +54 -0
- epistemic_graph-0.24.0/.specify/specs/code-enhancement-20260529/tasks.json +392 -0
- epistemic_graph-0.24.0/.specify/specs/code-enhancement-20260529/tasks.md +65 -0
- epistemic_graph-0.24.0/.vulture_ignore +2 -0
- epistemic_graph-0.24.0/AGENTS.md +163 -0
- epistemic_graph-0.24.0/CHANGELOG.md +17 -0
- epistemic_graph-0.24.0/CLAUDE.md +10 -0
- epistemic_graph-0.24.0/Cargo.lock +2013 -0
- epistemic_graph-0.24.0/Cargo.toml +89 -0
- epistemic_graph-0.24.0/LICENSE +21 -0
- epistemic_graph-0.24.0/PKG-INFO +228 -0
- epistemic_graph-0.24.0/README.md +193 -0
- epistemic_graph-0.24.0/build.rs +7 -0
- epistemic_graph-0.24.0/docker/Dockerfile +27 -0
- epistemic_graph-0.24.0/docker/compose.yml +10 -0
- epistemic_graph-0.24.0/docs/RUST_COMPUTE_GUIDE.md +192 -0
- epistemic_graph-0.24.0/docs/benchmarks.md +39 -0
- epistemic_graph-0.24.0/docs/concepts.md +29 -0
- epistemic_graph-0.24.0/docs/index.md +10 -0
- epistemic_graph-0.24.0/docs/overview.md +66 -0
- epistemic_graph-0.24.0/docs/service_mode.md +194 -0
- epistemic_graph-0.24.0/epistemic_graph/__init__.py +4 -0
- epistemic_graph-0.24.0/epistemic_graph/cli.py +221 -0
- epistemic_graph-0.24.0/epistemic_graph/client.py +803 -0
- epistemic_graph-0.24.0/epistemic_graph/parser.py +162 -0
- epistemic_graph-0.24.0/epistemic_graph/pool.py +161 -0
- epistemic_graph-0.24.0/epistemic_graph/py.typed +1 -0
- epistemic_graph-0.24.0/epistemic_graph/quant.py +140 -0
- epistemic_graph-0.24.0/pyproject.toml +74 -0
- epistemic_graph-0.24.0/pytest.ini +4 -0
- epistemic_graph-0.24.0/requirements.txt +10 -0
- epistemic_graph-0.24.0/scripts/bench_transport.py +93 -0
- epistemic_graph-0.24.0/scripts/check_no_pyo3.sh +38 -0
- epistemic_graph-0.24.0/scripts/run_shards.sh +52 -0
- epistemic_graph-0.24.0/scripts/security_sanitizer.py +160 -0
- epistemic_graph-0.24.0/src/algorithms.rs +1101 -0
- epistemic_graph-0.24.0/src/ast/mod.rs +9 -0
- epistemic_graph-0.24.0/src/ast/parser.rs +410 -0
- epistemic_graph-0.24.0/src/ast/symbol.rs +141 -0
- epistemic_graph-0.24.0/src/channels.rs +336 -0
- epistemic_graph-0.24.0/src/compute/distillation.rs +176 -0
- epistemic_graph-0.24.0/src/compute/hypergraph.rs +113 -0
- epistemic_graph-0.24.0/src/compute/mod.rs +10 -0
- epistemic_graph-0.24.0/src/compute/semantic.rs +198 -0
- epistemic_graph-0.24.0/src/compute/spectral.rs +294 -0
- epistemic_graph-0.24.0/src/datascience/mod.rs +6 -0
- epistemic_graph-0.24.0/src/datascience/primitives.rs +500 -0
- epistemic_graph-0.24.0/src/event_bus.rs +79 -0
- epistemic_graph-0.24.0/src/execution/mod.rs +1 -0
- epistemic_graph-0.24.0/src/execution/orchestrator.rs +104 -0
- epistemic_graph-0.24.0/src/finance/exchange.rs +270 -0
- epistemic_graph-0.24.0/src/finance/mod.rs +11 -0
- epistemic_graph-0.24.0/src/finance/optimizer.rs +540 -0
- epistemic_graph-0.24.0/src/finance/regime.rs +293 -0
- epistemic_graph-0.24.0/src/finance/risk.rs +269 -0
- epistemic_graph-0.24.0/src/finance/signals.rs +226 -0
- epistemic_graph-0.24.0/src/graph.rs +825 -0
- epistemic_graph-0.24.0/src/isolation.rs +250 -0
- epistemic_graph-0.24.0/src/lib.rs +33 -0
- epistemic_graph-0.24.0/src/main.rs +155 -0
- epistemic_graph-0.24.0/src/parser/mod.rs +7 -0
- epistemic_graph-0.24.0/src/parser/tree_sitter.rs +507 -0
- epistemic_graph-0.24.0/src/protocol.rs +511 -0
- epistemic_graph-0.24.0/src/reasoning.rs +436 -0
- epistemic_graph-0.24.0/src/registry.rs +146 -0
- epistemic_graph-0.24.0/src/server.rs +828 -0
- epistemic_graph-0.24.0/src/types.rs +323 -0
- epistemic_graph-0.24.0/tests/conftest.py +63 -0
- epistemic_graph-0.24.0/tests/test_concept_parity.py +29 -0
- epistemic_graph-0.24.0/tests/test_epistemic_graph.py +270 -0
- epistemic_graph-0.24.0/tests/test_init_dynamics.py +25 -0
- epistemic_graph-0.24.0/tests/test_msgpack.rs +9 -0
- epistemic_graph-0.24.0/tests/test_no_pyo3_and_quant.py +95 -0
- epistemic_graph-0.24.0/tests/test_protocol.py +121 -0
- epistemic_graph-0.24.0/tests/test_service_layer.py +242 -0
- epistemic_graph-0.24.0/tests/test_startup.py +11 -0
- epistemic_graph-0.24.0/tests/test_transport.py +110 -0
- epistemic_graph-0.24.0/uv.lock +515 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[bumpversion]
|
|
2
|
+
current_version = 0.24.0
|
|
3
|
+
commit = True
|
|
4
|
+
tag = True
|
|
5
|
+
|
|
6
|
+
[bumpversion:file:pyproject.toml]
|
|
7
|
+
search = version = "{current_version}"
|
|
8
|
+
replace = version = "{new_version}"
|
|
9
|
+
|
|
10
|
+
[bumpversion:file:Cargo.toml]
|
|
11
|
+
search = version = "{current_version}"
|
|
12
|
+
replace = version = "{new_version}"
|
|
13
|
+
|
|
14
|
+
[bumpversion:file:README.md]
|
|
15
|
+
search = version-{current_version}-blue
|
|
16
|
+
replace = version-{new_version}-blue
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Codespell ignore words
|
|
2
|
+
ans
|
|
3
|
+
linar
|
|
4
|
+
nam
|
|
5
|
+
tread
|
|
6
|
+
ot
|
|
7
|
+
petgraph
|
|
8
|
+
toposort
|
|
9
|
+
pyo3
|
|
10
|
+
pymethods
|
|
11
|
+
pyclass
|
|
12
|
+
pymodule
|
|
13
|
+
cdylib
|
|
14
|
+
stable_graph
|
|
15
|
+
bfs
|
|
16
|
+
dfs
|
|
17
|
+
dijkstra
|
|
18
|
+
maturin
|
|
19
|
+
tomllib
|
|
20
|
+
bumpversion
|
|
21
|
+
bump2version
|
|
22
|
+
hadolint
|
|
23
|
+
vulture
|
|
24
|
+
codespell
|
|
25
|
+
pre-commit
|
|
26
|
+
epistemic
|
|
27
|
+
epistemic-graph
|
|
28
|
+
epistemic_graph
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Auto detect
|
|
2
|
+
## Handle line endings automatically for files detected as
|
|
3
|
+
## text and leave all files detected as binary untouched.
|
|
4
|
+
## This will handle all files NOT defined below.
|
|
5
|
+
* text=auto
|
|
6
|
+
|
|
7
|
+
# Source code
|
|
8
|
+
*.bash text eol=lf
|
|
9
|
+
*.bat text eol=crlf
|
|
10
|
+
*.cmd text eol=crlf
|
|
11
|
+
*.coffee text
|
|
12
|
+
*.css text diff=css
|
|
13
|
+
*.htm text diff=html
|
|
14
|
+
*.html text diff=html
|
|
15
|
+
*.inc text
|
|
16
|
+
*.ini text
|
|
17
|
+
*.js text
|
|
18
|
+
*.json text
|
|
19
|
+
*.jsx text
|
|
20
|
+
*.less text
|
|
21
|
+
*.ls text
|
|
22
|
+
*.map text -diff
|
|
23
|
+
*.od text
|
|
24
|
+
*.onlydata text
|
|
25
|
+
*.php text diff=php
|
|
26
|
+
*.pl text
|
|
27
|
+
*.ps1 text eol=crlf
|
|
28
|
+
*.py text diff=python
|
|
29
|
+
*.rb text diff=ruby
|
|
30
|
+
*.rs text diff=rust
|
|
31
|
+
*.sass text
|
|
32
|
+
*.scm text
|
|
33
|
+
*.scss text diff=css
|
|
34
|
+
*.sh text eol=lf
|
|
35
|
+
.husky/* text eol=lf
|
|
36
|
+
*.sql text
|
|
37
|
+
*.styl text
|
|
38
|
+
*.tag text
|
|
39
|
+
*.ts text
|
|
40
|
+
*.tsx text
|
|
41
|
+
*.xml text
|
|
42
|
+
*.xhtml text diff=html
|
|
43
|
+
|
|
44
|
+
# Docker
|
|
45
|
+
Dockerfile text
|
|
46
|
+
|
|
47
|
+
# Documentation
|
|
48
|
+
*.ipynb text
|
|
49
|
+
*.markdown text diff=markdown
|
|
50
|
+
*.md text diff=markdown
|
|
51
|
+
*.mdwn text diff=markdown
|
|
52
|
+
*.mdown text diff=markdown
|
|
53
|
+
*.mkd text diff=markdown
|
|
54
|
+
*.mkdn text diff=markdown
|
|
55
|
+
*.mdtxt text
|
|
56
|
+
*.mdtext text
|
|
57
|
+
*.txt text
|
|
58
|
+
AUTHORS text
|
|
59
|
+
CHANGELOG text
|
|
60
|
+
CHANGES text
|
|
61
|
+
CONTRIBUTING text
|
|
62
|
+
COPYING text
|
|
63
|
+
copyright text
|
|
64
|
+
*COPYRIGHT* text
|
|
65
|
+
INSTALL text
|
|
66
|
+
license text
|
|
67
|
+
LICENSE text
|
|
68
|
+
NEWS text
|
|
69
|
+
readme text
|
|
70
|
+
*README* text
|
|
71
|
+
TODO text
|
|
72
|
+
|
|
73
|
+
# Templates
|
|
74
|
+
*.dot text
|
|
75
|
+
*.ejs text
|
|
76
|
+
*.erb text
|
|
77
|
+
*.haml text
|
|
78
|
+
*.handlebars text
|
|
79
|
+
*.hbs text
|
|
80
|
+
*.hbt text
|
|
81
|
+
*.jade text
|
|
82
|
+
*.latte text
|
|
83
|
+
*.mustache text
|
|
84
|
+
*.njk text
|
|
85
|
+
*.phtml text
|
|
86
|
+
*.svelte text
|
|
87
|
+
*.tmpl text
|
|
88
|
+
*.tpl text
|
|
89
|
+
*.twig text
|
|
90
|
+
*.vue text
|
|
91
|
+
|
|
92
|
+
# Configs
|
|
93
|
+
*.cnf text
|
|
94
|
+
*.conf text
|
|
95
|
+
*.config text
|
|
96
|
+
.editorconfig text
|
|
97
|
+
.env text
|
|
98
|
+
.gitattributes text
|
|
99
|
+
.gitconfig text
|
|
100
|
+
.htaccess text
|
|
101
|
+
*.lock text -diff
|
|
102
|
+
package.json text eol=lf
|
|
103
|
+
package-lock.json text eol=lf -diff
|
|
104
|
+
pnpm-lock.yaml text eol=lf -diff
|
|
105
|
+
.prettierrc text
|
|
106
|
+
yarn.lock text -diff
|
|
107
|
+
*.toml text
|
|
108
|
+
*.yaml text
|
|
109
|
+
*.yml text
|
|
110
|
+
browserslist text
|
|
111
|
+
Makefile text
|
|
112
|
+
makefile text
|
|
113
|
+
|
|
114
|
+
# Heroku
|
|
115
|
+
Procfile text
|
|
116
|
+
|
|
117
|
+
# Graphics
|
|
118
|
+
*.ai binary
|
|
119
|
+
*.bmp binary
|
|
120
|
+
*.eps binary
|
|
121
|
+
*.gif binary
|
|
122
|
+
*.gifv binary
|
|
123
|
+
*.ico binary
|
|
124
|
+
*.jng binary
|
|
125
|
+
*.jp2 binary
|
|
126
|
+
*.jpg binary
|
|
127
|
+
*.jpeg binary
|
|
128
|
+
*.jpx binary
|
|
129
|
+
*.jxr binary
|
|
130
|
+
*.pdf binary
|
|
131
|
+
*.png binary
|
|
132
|
+
*.psb binary
|
|
133
|
+
*.psd binary
|
|
134
|
+
# SVG treated as an asset (binary) by default.
|
|
135
|
+
*.svg text
|
|
136
|
+
# If you want to treat it as binary,
|
|
137
|
+
# use the following line instead.
|
|
138
|
+
# *.svg binary
|
|
139
|
+
*.svgz binary
|
|
140
|
+
*.tif binary
|
|
141
|
+
*.tiff binary
|
|
142
|
+
*.wbmp binary
|
|
143
|
+
*.webp binary
|
|
144
|
+
|
|
145
|
+
# Audio
|
|
146
|
+
*.kar binary
|
|
147
|
+
*.m4a binary
|
|
148
|
+
*.mid binary
|
|
149
|
+
*.midi binary
|
|
150
|
+
*.mp3 binary
|
|
151
|
+
*.ogg binary
|
|
152
|
+
*.ra binary
|
|
153
|
+
|
|
154
|
+
# Video
|
|
155
|
+
*.3gpp binary
|
|
156
|
+
*.3gp binary
|
|
157
|
+
*.as binary
|
|
158
|
+
*.asf binary
|
|
159
|
+
*.asx binary
|
|
160
|
+
*.avi binary
|
|
161
|
+
*.fla binary
|
|
162
|
+
*.flv binary
|
|
163
|
+
*.m4v binary
|
|
164
|
+
*.mng binary
|
|
165
|
+
*.mov binary
|
|
166
|
+
*.mp4 binary
|
|
167
|
+
*.mpeg binary
|
|
168
|
+
*.mpg binary
|
|
169
|
+
*.ogv binary
|
|
170
|
+
*.swc binary
|
|
171
|
+
*.swf binary
|
|
172
|
+
*.webm binary
|
|
173
|
+
|
|
174
|
+
# Archives
|
|
175
|
+
*.7z binary
|
|
176
|
+
*.gz binary
|
|
177
|
+
*.jar binary
|
|
178
|
+
*.rar binary
|
|
179
|
+
*.tar binary
|
|
180
|
+
*.zip binary
|
|
181
|
+
|
|
182
|
+
# Fonts
|
|
183
|
+
*.ttf binary
|
|
184
|
+
*.eot binary
|
|
185
|
+
*.otf binary
|
|
186
|
+
*.woff binary
|
|
187
|
+
*.woff2 binary
|
|
188
|
+
|
|
189
|
+
# Executables
|
|
190
|
+
*.exe binary
|
|
191
|
+
*.pyc binary
|
|
192
|
+
|
|
193
|
+
# RC files (like .babelrc or .eslintrc)
|
|
194
|
+
*.*rc text
|
|
195
|
+
|
|
196
|
+
# Ignore files (like .npmignore or .gitignore)
|
|
197
|
+
*.*ignore text
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: Build|Upload|Release Python Package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- 'main'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish-pypi:
|
|
10
|
+
uses: Knuckles-Team/pipelines/.github/workflows/maturin_pipeline.yml@main
|
|
11
|
+
secrets:
|
|
12
|
+
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
13
|
+
publish-docker:
|
|
14
|
+
needs: publish-pypi
|
|
15
|
+
uses: Knuckles-Team/pipelines/.github/workflows/container_pipeline.yml@main
|
|
16
|
+
secrets:
|
|
17
|
+
DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }}
|
|
18
|
+
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
|
19
|
+
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
|
20
|
+
DOCKER_REPOSITORY: ${{ secrets.DOCKER_REPOSITORY }}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
/.ruff_cache/
|
|
7
|
+
|
|
8
|
+
# C extensions
|
|
9
|
+
*.so
|
|
10
|
+
*.pyd
|
|
11
|
+
|
|
12
|
+
# Distribution / packaging
|
|
13
|
+
.Python
|
|
14
|
+
build/
|
|
15
|
+
develop-eggs/
|
|
16
|
+
dist/
|
|
17
|
+
eggs/
|
|
18
|
+
.eggs/
|
|
19
|
+
lib/
|
|
20
|
+
lib64/
|
|
21
|
+
parts/
|
|
22
|
+
sdist/
|
|
23
|
+
var/
|
|
24
|
+
wheels/
|
|
25
|
+
pip-wheel-metadata/
|
|
26
|
+
share/python-wheels/
|
|
27
|
+
*.egg-info/
|
|
28
|
+
.installed.cfg
|
|
29
|
+
*.egg
|
|
30
|
+
MANIFEST
|
|
31
|
+
|
|
32
|
+
# Unit test / coverage reports
|
|
33
|
+
htmlcov/
|
|
34
|
+
.tox/
|
|
35
|
+
.nox/
|
|
36
|
+
.coverage
|
|
37
|
+
.coverage.*
|
|
38
|
+
.cache
|
|
39
|
+
nosetests.xml
|
|
40
|
+
coverage.xml
|
|
41
|
+
*.cover
|
|
42
|
+
*.py,cover
|
|
43
|
+
.hypothesis/
|
|
44
|
+
.pytest_cache/
|
|
45
|
+
|
|
46
|
+
# Environments
|
|
47
|
+
.env
|
|
48
|
+
.venv
|
|
49
|
+
env/
|
|
50
|
+
venv/
|
|
51
|
+
ENV/
|
|
52
|
+
env.bak/
|
|
53
|
+
venv.bak/
|
|
54
|
+
|
|
55
|
+
# mypy
|
|
56
|
+
.mypy_cache/
|
|
57
|
+
.dmypy.json
|
|
58
|
+
dmypy.json
|
|
59
|
+
|
|
60
|
+
# Rust target directory and backups
|
|
61
|
+
target/
|
|
62
|
+
debug/
|
|
63
|
+
**/*.rs.bk
|
|
64
|
+
*.pdb
|
|
65
|
+
**/mutants.out*/
|
|
66
|
+
.idea/
|
|
67
|
+
|
|
68
|
+
# Model-generated transient scripts at root level
|
|
69
|
+
/test_*.py
|
|
70
|
+
/fix_*.py
|
|
71
|
+
/debug_*.py
|
|
72
|
+
/scratch_*.py
|
|
73
|
+
/temp_*.py
|
|
74
|
+
|
|
75
|
+
# Transient logs, traces, patch files, and test outputs
|
|
76
|
+
*.orig
|
|
77
|
+
*.rej
|
|
78
|
+
*.patch
|
|
79
|
+
*.log
|
|
80
|
+
*output*.txt
|
|
81
|
+
*errors*.txt
|
|
82
|
+
failed_tests.txt
|
|
83
|
+
trace.txt
|
|
84
|
+
|
|
85
|
+
# AI agent scratch (do not commit) — keep repo roots pristine
|
|
86
|
+
.agent/
|
|
87
|
+
.agents/
|
|
88
|
+
.agent_data/
|
|
89
|
+
.tmp/
|
|
90
|
+
.pytest_tmp/
|
|
91
|
+
.hypothesis/
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
default_language_version:
|
|
2
|
+
python: python3
|
|
3
|
+
exclude: 'dotnet|node_modules|target'
|
|
4
|
+
ci:
|
|
5
|
+
autofix_prs: true
|
|
6
|
+
autoupdate_commit_msg: '[pre-commit.ci] pre-commit suggestions'
|
|
7
|
+
autoupdate_schedule: 'monthly'
|
|
8
|
+
|
|
9
|
+
repos:
|
|
10
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
11
|
+
rev: v6.0.0
|
|
12
|
+
hooks:
|
|
13
|
+
- id: check-added-large-files
|
|
14
|
+
args: ["--maxkb=2000"]
|
|
15
|
+
exclude: '.*\.db$'
|
|
16
|
+
- id: check-ast
|
|
17
|
+
exclude: ^(tests/|test/|scripts/|script/)
|
|
18
|
+
- id: check-yaml
|
|
19
|
+
args: ["--unsafe"]
|
|
20
|
+
- id: check-toml
|
|
21
|
+
- id: check-json
|
|
22
|
+
- id: fix-byte-order-marker
|
|
23
|
+
exclude: .gitignore
|
|
24
|
+
- id: check-merge-conflict
|
|
25
|
+
- id: detect-private-key
|
|
26
|
+
- id: trailing-whitespace
|
|
27
|
+
- id: end-of-file-fixer
|
|
28
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
29
|
+
rev: v0.15.12
|
|
30
|
+
hooks:
|
|
31
|
+
- id: ruff-check
|
|
32
|
+
args: ["--fix", "--ignore=E402,B008,E501"]
|
|
33
|
+
exclude: ^(tests/|test/|scripts/|script/)
|
|
34
|
+
- id: ruff-format
|
|
35
|
+
exclude: ^(tests/|test/|scripts/|script/)
|
|
36
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
37
|
+
rev: v1.20.2
|
|
38
|
+
hooks:
|
|
39
|
+
- id: mypy
|
|
40
|
+
additional_dependencies: [pydantic, types-PyYAML, types-requests, types-setuptools]
|
|
41
|
+
args: ["--ignore-missing-imports"]
|
|
42
|
+
- repo: https://github.com/jendrikseipp/vulture
|
|
43
|
+
rev: v2.16
|
|
44
|
+
hooks:
|
|
45
|
+
- id: vulture
|
|
46
|
+
pass_filenames: false
|
|
47
|
+
args: [".", "--min-confidence", "95", "--exclude", "node_modules,dotnet,.venv,venv,node_modules,.git,build,dist,target"]
|
|
48
|
+
require_serial: true
|
|
49
|
+
- repo: https://github.com/codespell-project/codespell
|
|
50
|
+
rev: v2.4.2
|
|
51
|
+
hooks:
|
|
52
|
+
- id: codespell
|
|
53
|
+
args: ["-L", "ans,linar,nam,tread,ot,", "--ignore-words=.codespellignore"]
|
|
54
|
+
exclude: ^(tests/|test/|scripts/|script/|.*lock.*|Cargo.lock|\.specify/)
|
|
55
|
+
- repo: https://github.com/PyCQA/bandit
|
|
56
|
+
rev: 1.9.4
|
|
57
|
+
hooks:
|
|
58
|
+
- id: bandit
|
|
59
|
+
args: ["--skip", "B101,B404,B603"]
|
|
60
|
+
exclude: ^(tests/|test/|scripts/|script/|__tests__/)
|
|
61
|
+
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
62
|
+
rev: 0.11.8
|
|
63
|
+
hooks:
|
|
64
|
+
- id: uv-lock
|
|
65
|
+
- repo: local
|
|
66
|
+
hooks:
|
|
67
|
+
- id: check-stubs
|
|
68
|
+
name: Check for Active Stubs and TODOs
|
|
69
|
+
entry: python3 /home/apps/workspace/agent-packages/agent-utilities/scripts/check_stubs.py
|
|
70
|
+
language: system
|
|
71
|
+
types: [python]
|
|
72
|
+
- id: check-sprawl
|
|
73
|
+
name: Guardrail — anti-sprawl
|
|
74
|
+
entry: python3 /home/apps/workspace/agent-packages/agent-utilities/scripts/check_sprawl.py
|
|
75
|
+
language: system
|
|
76
|
+
args: ["."]
|
|
77
|
+
pass_filenames: false
|
|
78
|
+
always_run: true
|
|
79
|
+
- id: check-bumpversion
|
|
80
|
+
name: validate bumpversion config
|
|
81
|
+
entry: |-
|
|
82
|
+
bash -c 'if [ -f ".bumpversion.cfg" ]; then bump2version patch --dry-run --allow-dirty; fi'
|
|
83
|
+
language: system
|
|
84
|
+
pass_filenames: false
|
|
85
|
+
always_run: true
|
|
86
|
+
- repo: local
|
|
87
|
+
hooks:
|
|
88
|
+
- id: cargo-test
|
|
89
|
+
name: cargo test
|
|
90
|
+
entry: bash -c 'if [ -f "Cargo.toml" ]; then cargo test --quiet; fi'
|
|
91
|
+
language: system
|
|
92
|
+
pass_filenames: false
|
|
93
|
+
always_run: true
|
|
94
|
+
- repo: local
|
|
95
|
+
hooks:
|
|
96
|
+
- id: pytest
|
|
97
|
+
name: pytest
|
|
98
|
+
entry: bash -c 'test_target="tests"; for d in tests/unit test/unit tests test; do if [ -d "$d" ]; then test_target="$d"; break; fi; done; if [ -f uv.lock ]; then uv run --all-extras pytest "$test_target" -q --tb=short -m "not slow" --timeout=60; else pytest "$test_target" -q --tb=short -m "not slow" --timeout=60; fi'
|
|
99
|
+
language: system
|
|
100
|
+
types: [python]
|
|
101
|
+
pass_filenames: false
|
|
102
|
+
always_run: true
|
|
103
|
+
- repo: local
|
|
104
|
+
hooks:
|
|
105
|
+
- id: security-sanitizer
|
|
106
|
+
name: Security and Garbage Sanitizer
|
|
107
|
+
entry: python scripts/security_sanitizer.py
|
|
108
|
+
language: python
|
|
109
|
+
pass_filenames: false
|
|
110
|
+
always_run: true
|