mirror of
https://github.com/mblanke/Goose-Core.git
synced 2026-03-01 06:10:20 -05:00
Create ARCHITECTURE.md
This commit is contained in:
63
ARCHITECTURE.md
Normal file
63
ARCHITECTURE.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Platform Architecture (Conceptual)
|
||||
|
||||
This document describes how GooseStrike, ThreatHunt, and goose-core relate at a high level.
|
||||
It is conceptual by design and avoids implementation detail.
|
||||
|
||||
---
|
||||
|
||||
## High-Level Components
|
||||
|
||||
### goose-core (Shared)
|
||||
- Defines shared terminology, contracts, and UX patterns
|
||||
- Owns meaning, not behavior
|
||||
- Changes infrequently
|
||||
|
||||
### ThreatHunt (Analysis Engine)
|
||||
- Ingests exported data (CSV artifacts)
|
||||
- Normalizes and enriches data
|
||||
- Produces analytical Findings
|
||||
- Never executes actions
|
||||
|
||||
### GooseStrike (Orchestration Engine)
|
||||
- Accepts analyst intent
|
||||
- Plans and coordinates actions
|
||||
- Executes tools and workflows
|
||||
- Consumes Findings as input
|
||||
|
||||
---
|
||||
|
||||
## Data Flow (Primary)
|
||||
|
||||
1. Data is collected externally (e.g., Velociraptor)
|
||||
2. Data is exported and uploaded into ThreatHunt
|
||||
3. ThreatHunt analyzes data and produces Findings
|
||||
4. Findings conform to shared contracts (goose-core)
|
||||
5. Findings may be consumed by GooseStrike
|
||||
6. GooseStrike plans and executes actions
|
||||
7. Execution produces additional Findings
|
||||
|
||||
---
|
||||
|
||||
## Control Flow (Primary)
|
||||
|
||||
- ThreatHunt is analyst-driven and exploratory
|
||||
- GooseStrike is intent-driven and controlled
|
||||
- goose-core enforces shared meaning across both
|
||||
|
||||
---
|
||||
|
||||
## Key Boundaries
|
||||
|
||||
- No direct database sharing between applications
|
||||
- No direct execution from ThreatHunt
|
||||
- No analysis logic inside GooseStrike
|
||||
- Shared concepts are defined once in goose-core
|
||||
|
||||
---
|
||||
|
||||
## Design Intent
|
||||
|
||||
- Loose coupling
|
||||
- Clear ownership
|
||||
- Shared analyst experience
|
||||
- Independent evolution of capabilities
|
||||
Reference in New Issue
Block a user