feat(ttp): E.3.4 API handlers wired to repo (rollups + Navigator)

Five GET rollup endpoints (techniques, by-identity, by-attacker,
by-campaign, by-session) and the Navigator export (fleet +
per-identity) now call into the TTPMixin methods. Rule catalogue
endpoint still returns [] — backed by the RuleStore which lands
at E.3.5/E.3.6.
This commit is contained in:
2026-05-01 08:06:53 -04:00
parent fee697694d
commit 89ce893792
7 changed files with 37 additions and 19 deletions

View File

@@ -2925,6 +2925,10 @@ Order:
dialect hook fires.
4. **API endpoints** — fill in handlers reading from repo. Empty
store still returns empty lists; `test_*.py` shape tests green.
✅ done. Five GET rollup endpoints + Navigator (fleet + identity)
wired to the repo singleton from `decnet.web.dependencies`. Rule
catalogue (`GET /ttp/rules`) still returns `[]` — backed by the
RuleStore, lands at E.3.5/E.3.6.
5. **RuleStore — FilesystemRuleStore** — implement YAML parse,
Pydantic validation, inotify watch, in-process state cache,
`subscribe_changes()` async iterator yielding per-rule events.