Files
SpecterOps-Nemesis/projects
Lee Chagolla-Christensen 5d7b9bb31d Centralized workflow purging/tracking, perf improvements
Infrastructure:
- Enable pg_stat_statements extension for query monitoring
- Increase Postgres max connections and shared buffers
- Bump RabbitMQ prefetchCount to 100
- Add curl/netstat/htop to dev Docker image

Database:
- Add indexes for findings and workflows
- Add workflow status constraint and is_purged column
- Index workflows by object_id for active workflows

Workflow tracking:
- Add WorkflowStatus enum
- Added finalize_workflow activity
- Generate instance IDs with name prefix pattern
  (<name>.<instance>.<object_id>)

Workflow purging:
- Create WorkflowPurger to purge Dapr workflow data (kills perf over
  time)
- added to file_enrichment/document_conversion
- New workflows column to track purge workflows

File linking:
- Optimize upserts to single query (perf)

Configuration:
- PII info in env.example
2025-11-08 16:08:11 -08:00
..
2025-08-29 15:24:32 -07:00
2025-06-13 11:33:07 +02:00

Naming Conventions

Projects and libraries should follow Python's PEP8 naming conventions:

Modules should have short, all-lowercase names. Underscores can be used in the module name if it improves readability. Python packages should also have short, all-lowercase names, although the use of underscores is discouraged.

When an extension module written in C or C++ has an accompanying Python module that provides a higher level (e.g. more object oriented) interface, the C/C++ module has a leading underscore (e.g. _socket).