Benjamin Admin
48ca0a6bef
feat: Framework Decomposition Engine + Composite Detection for Pass 0b
Adds a routing layer between Pass 0a and Pass 0b that classifies obligations
into atomic/compound/framework_container. Framework-container obligations
(e.g. "CCM-Praktiken fuer AIS") are decomposed into concrete sub-obligations
via an internal framework registry before Pass 0b composition.
- New: framework_decomposition.py with routing, matching, decomposition
- New: Framework registry (NIST SP 800-53, OWASP ASVS, CSA CCM) as JSON
- New: Composite detection flags on atomic controls (is_composite, atomicity)
- New: gen_meta fields: framework_ref, framework_domain, decomposition_source
- Integration: _route_and_compose() in run_pass0b() deterministic path
- 248 tests (198 decomposition + 50 framework), all passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 12:11:55 +01:00
..
2026-03-05 00:36:24 +01:00
2026-03-21 11:56:08 +01:00
2026-03-07 14:12:34 +01:00
2026-03-21 11:49:43 +01:00
2026-03-07 14:12:34 +01:00
2026-03-07 19:00:33 +01:00
2026-03-04 17:43:29 +01:00
2026-03-17 09:00:37 +01:00
2026-03-21 11:49:43 +01:00
2026-03-21 11:49:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-05 13:43:02 +01:00
2026-03-17 09:00:37 +01:00
2026-03-14 21:03:04 +01:00
2026-03-23 12:11:55 +01:00
2026-03-07 14:12:34 +01:00
2026-03-07 19:00:33 +01:00
2026-03-06 18:21:43 +01:00
2026-03-03 22:27:13 +01:00
2026-03-05 00:36:24 +01:00
2026-03-07 17:07:43 +01:00
2026-03-14 21:03:04 +01:00
2026-03-07 19:00:33 +01:00
2026-03-05 15:11:10 +01:00
2026-03-23 12:11:55 +01:00
2026-03-07 19:00:33 +01:00
2026-03-05 12:07:01 +01:00
2026-03-06 20:50:00 +01:00
2026-03-07 23:25:25 +01:00
2026-03-05 00:36:24 +01:00
2026-03-14 22:50:50 +01:00
2026-03-12 19:55:06 +01:00
2026-03-19 13:59:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-05 11:42:19 +01:00
2026-03-03 18:04:53 +01:00
2026-03-21 11:49:43 +01:00
2026-03-19 13:59:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-17 09:00:37 +01:00
2026-03-14 22:50:50 +01:00
2026-03-14 21:03:04 +01:00
2026-03-09 14:53:50 +01:00
2026-03-07 17:07:43 +01:00
2026-03-05 13:43:02 +01:00
2026-03-21 11:49:43 +01:00
2026-03-05 13:43:02 +01:00
2026-03-05 11:42:19 +01:00
2026-03-07 17:07:43 +01:00
2026-03-14 21:03:04 +01:00
2026-03-19 11:56:53 +01:00
2026-03-06 17:35:44 +01:00
2026-03-12 19:55:06 +01:00
2026-03-06 20:18:29 +01:00
2026-03-19 11:56:25 +01:00
2026-03-07 19:00:33 +01:00
2026-03-07 14:12:34 +01:00