Skip to content

Commit 3b2f268

Browse files
committed
Merge branch 'main' of git@github.com:wrhalpin/GNAT.git
2 parents 124dd7e + 8cd5b5d commit 3b2f268

3 files changed

Lines changed: 147 additions & 88 deletions

File tree

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ The Claude model defaults to `claude-sonnet-4-6`. When modifying AI agent code,
380380
| `CHANGELOG.md` | Version history — update `[Unreleased]` for every change |
381381
| `CONTRIBUTING.md` | Contributor guide, PR checklist |
382382
| `docs/architecture/adrs/` | 29 individual Architecture Decision Records with full rationale |
383-
| `IMPLEMENTATION_PLAN.md` | Project plan, layer diagram, roadmap |
383+
| `docs/architecture/implementation-plan.md` | Project plan, layer diagram, roadmap |
384384
| `EXAMPLES.md` | Code snippets for all major features |
385385
| `PENDING_ITEMS.md` | Tracked outstanding tasks and TODOs |
386386
| `docs/source/` | Sphinx RST docs (build with `make docs`) |

README.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ pip install "gnat[tui]" # Interactive terminal UI (textual)
234234
pip install "gnat[nlp]" # NLP query engine (zero deps for builtin; Claude backend requires [agents])
235235
pip install "gnat[stix-validate]" # Tier-2 STIX pattern validation (stix2-patterns / ANTLR)
236236
pip install "gnat[fast]" # Rust IOC hot-path extension (maturin wheel)
237-
pip install "gnat[all]" # Everything above
237+
pip install "gnat[all]" # Core extras (yaml, taxii, ingest, async, persist, schedule, reports, viz, serve)
238238
pip install "gnat[dev]" # All + ruff, mypy, pytest, httpx, sqlalchemy
239239
```
240240

@@ -881,7 +881,18 @@ gnat contribute --connector myplatform --dry-run # compliance check only
881881

882882
### Continuous Integration
883883

884-
Every push runs the **pylint** workflow across a Python 3.8 / 3.9 / 3.10 matrix:
884+
| Workflow | Trigger | Python versions | Purpose |
885+
|----------|---------|----------------|---------|
886+
| **pylint** | every push | 3.9, 3.10, 3.11, 3.12 | Style and logic analysis |
887+
| **python-tests** | push to `main`, pull requests | 3.11, 3.12, 3.13 | Unit test suite |
888+
| **python-typecheck** | push / PR || mypy static type checking |
889+
| **python-lint-fast** | push / PR || Ruff lint + format check |
890+
| **codeql** | push / PR || GitHub CodeQL security analysis |
891+
| **bandit** | push / PR || Python security linting |
892+
| **dependency-review** | pull requests || Dependency vulnerability review |
893+
| **secrets-hygiene** | PR (secrets paths) | 3.11 | Secrets agent tests |
894+
895+
Example — pylint workflow (abbreviated):
885896

886897
```yaml
887898
# .github/workflows/pylint.yml
@@ -890,10 +901,14 @@ jobs:
890901
build:
891902
strategy:
892903
matrix:
893-
python-version: ["3.8", "3.9", "3.10"]
904+
python-version: ["3.9", "3.10", "3.11", "3.12"]
894905
steps:
895-
- uses: actions/checkout@v4
896-
- run: pip install pylint && pylint gnat
906+
- uses: actions/checkout@v6
907+
- uses: actions/setup-python@v6
908+
with:
909+
python-version: ${{ matrix.python-version }}
910+
- run: pip install pylint && pip install -e ".[dev]" || pip install -e .
911+
- run: pylint gnat
897912
```
898913
899914
### Linting & Type Checking
@@ -1084,4 +1099,4 @@ Apache 2.0 — see [LICENSE](LICENSE).
10841099

10851100
---
10861101

1087-
*See also: [EXAMPLES.md](EXAMPLES.md) · [IMPLEMENTATION_PLAN.md](IMPLEMENTATION_PLAN.md) · [Architecture Decision Records](docs/architecture/adrs/README.md) · [CHANGELOG.md](CHANGELOG.md)*
1102+
*See also: [EXAMPLES.md](EXAMPLES.md) · [Implementation Plan](docs/architecture/implementation-plan.md) · [Architecture Decision Records](docs/architecture/adrs/README.md) · [CHANGELOG.md](CHANGELOG.md)*

0 commit comments

Comments
 (0)