stemedb/applications/aphoria/Cargo.toml
jordan c65066fd1c feat(aphoria): implement ignore & exclusion system (Phase 16)
Reduces scan noise by 96% through proper exclusion of test fixtures,
demo apps, and intentional vulnerabilities.

Phase 16.1 - Glob Pattern Matching:
- Replace starts_with() with globset for ** and * patterns
- Backwards compatible with legacy prefix patterns
- Add walker/mod.rs tests for glob exclusions

Phase 16.2 - .aphoriaignore File:
- Create walker/ignore_file.rs for gitignore-style parsing
- Merge with aphoria.toml excludes
- Support # comments and whitespace trimming

Phase 16.3 - Inline Ignore Comments:
- Create extractors/ignore_comments.rs parser
- Support // aphoria:ignore, // aphoria:ignore-next-line
- Support // aphoria:ignore-block / // aphoria:end-ignore
- Multiple comment styles: //, #, /*, --, <!--
- Integrate with ExtractorRegistry.extract_all()

Phase 16.4 - Ack Export/Import:
- Create ack_file.rs for TOML serialization
- Add 'aphoria ack add' subcommand
- Add 'aphoria ack export' to .aphoria/acks.toml
- Add 'aphoria ack import' from .aphoria/acks.toml
- Preserve expiry and reason fields

Also configures stemedb with:
- aphoria.toml with glob excludes for vulnbank, extractors, fixtures
- .aphoriaignore for dashboard, community, latent, SDK examples

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-07 17:28:50 -07:00

87 lines
1.8 KiB
TOML

[package]
name = "aphoria"
version = "0.1.0"
edition = "2021"
description = "A code-level truth linter powered by Episteme"
authors = ["Orchard9"]
license = "MIT"
[[bin]]
name = "aphoria"
path = "src/main.rs"
[lib]
name = "aphoria"
path = "src/lib.rs"
# Use workspace lints with CLI overrides
[lints]
workspace = true
[dependencies]
# StemeDB dependencies (relative paths from applications/aphoria/)
stemedb-core = { path = "../../crates/stemedb-core" }
stemedb-storage = { path = "../../crates/stemedb-storage" }
stemedb-ingest = { path = "../../crates/stemedb-ingest" }
stemedb-query = { path = "../../crates/stemedb-query" }
stemedb-wal = { path = "../../crates/stemedb-wal" }
# CLI
clap = { version = "4.5", features = ["derive"] }
# Async runtime
tokio = { version = "1", features = ["full"] }
# File walking
ignore = "0.4"
# Pattern matching
regex = "1.10"
globset = "0.4"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml = "0.8"
# Output formatting
comfy-table = "7.1"
# Cryptography
ed25519-dalek = { version = "2.1", features = ["rand_core"] }
blake3 = "1.5"
rand = "0.8"
hex = "0.4"
# Error handling
thiserror = "1.0"
# Platform directories
dirs = "5.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# rkyv for zero-copy (consistent with stemedb)
rkyv = { version = "0.7", features = ["validation"] }
bytecheck = "0.6"
# HTTP client for RFC/OWASP fetching
ureq = { version = "2.9", features = ["tls"] }
# Pattern learning
uuid = { version = "1.11", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
once_cell = "1.20"
# System info
whoami = "1.5"
# Observation storage for LLM evaluation
rusqlite = { version = "0.32", features = ["bundled"] }
[dev-dependencies]
tempfile = "3.10"