lilrae 8.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1911) hide show
  1. lilrae-8.0.0/.bestpractices.json +93 -0
  2. lilrae-8.0.0/.claude/hooks/protect_files.sh +39 -0
  3. lilrae-8.0.0/.claude/settings.json +25 -0
  4. lilrae-8.0.0/.claude/skills/gh-workflow-monitor/SKILL.md +19 -0
  5. lilrae-8.0.0/.claude/skills/ship/SKILL.md +87 -0
  6. lilrae-8.0.0/.claude/skills/stage/SKILL.md +36 -0
  7. lilrae-8.0.0/.claude/skills/wave-issue-coverage/SKILL.md +119 -0
  8. lilrae-8.0.0/.cursor/environment.json +4 -0
  9. lilrae-8.0.0/.cursor/rules/no-jumping-ahead.mdc +50 -0
  10. lilrae-8.0.0/.dockerignore +26 -0
  11. lilrae-8.0.0/.env.example +84 -0
  12. lilrae-8.0.0/.gc/plan-rules.md +44 -0
  13. lilrae-8.0.0/.gitattributes +60 -0
  14. lilrae-8.0.0/.gitguardian.yaml +48 -0
  15. lilrae-8.0.0/.github/branch-protection-baseline.json +44 -0
  16. lilrae-8.0.0/.github/copilot-instructions.md +6 -0
  17. lilrae-8.0.0/.github/dependabot.yml +119 -0
  18. lilrae-8.0.0/.github/workflows/checks.yml +889 -0
  19. lilrae-8.0.0/.github/workflows/docs-deploy.yml +57 -0
  20. lilrae-8.0.0/.github/workflows/ground-control-phase-e.yml +67 -0
  21. lilrae-8.0.0/.github/workflows/pr-title-lint.yml +68 -0
  22. lilrae-8.0.0/.github/workflows/release-please.yml +143 -0
  23. lilrae-8.0.0/.github/workflows/scorecard.yml +72 -0
  24. lilrae-8.0.0/.gitignore +460 -0
  25. lilrae-8.0.0/.ground-control.yaml +128 -0
  26. lilrae-8.0.0/.mcp.json.example +53 -0
  27. lilrae-8.0.0/.pre-commit-ci.yaml +113 -0
  28. lilrae-8.0.0/.pre-commit-config.yaml +47 -0
  29. lilrae-8.0.0/.readthedocs.yaml +24 -0
  30. lilrae-8.0.0/.release-please-manifest.json +3 -0
  31. lilrae-8.0.0/.serena/.gitignore +1 -0
  32. lilrae-8.0.0/.serena/project.yml +147 -0
  33. lilrae-8.0.0/.trivyignore.yaml +114 -0
  34. lilrae-8.0.0/.vale/styles/AptlProject/EmDashDensity.yml +6 -0
  35. lilrae-8.0.0/.vale/styles/AptlProject/WorkflowPlatformName.yml +24 -0
  36. lilrae-8.0.0/.vale.ini +24 -0
  37. lilrae-8.0.0/AGENTS.md +138 -0
  38. lilrae-8.0.0/CHANGELOG.md +1728 -0
  39. lilrae-8.0.0/CLAUDE.md +7 -0
  40. lilrae-8.0.0/CODE_OF_CONDUCT.md +37 -0
  41. lilrae-8.0.0/CONTRIBUTING.md +157 -0
  42. lilrae-8.0.0/LICENSE +21 -0
  43. lilrae-8.0.0/Makefile +27 -0
  44. lilrae-8.0.0/PKG-INFO +252 -0
  45. lilrae-8.0.0/README.md +194 -0
  46. lilrae-8.0.0/SECURITY.md +51 -0
  47. lilrae-8.0.0/SUPPORT.md +46 -0
  48. lilrae-8.0.0/appliance/guest/aptl-appliance-first-boot +50 -0
  49. lilrae-8.0.0/appliance/guest/aptl-appliance-first-boot.service +23 -0
  50. lilrae-8.0.0/appliance/guest/aptl-launch.mount +12 -0
  51. lilrae-8.0.0/appliance/guest/claude/package-lock.json +142 -0
  52. lilrae-8.0.0/appliance/guest/claude/package.json +8 -0
  53. lilrae-8.0.0/appliance/guest/desktop-compose.yml +57 -0
  54. lilrae-8.0.0/appliance/guest/desktop-handoff.py +334 -0
  55. lilrae-8.0.0/appliance/guest/desktop-mcp-smoke.py +43 -0
  56. lilrae-8.0.0/appliance/guest/desktop-nginx.conf +16 -0
  57. lilrae-8.0.0/appliance/guest/desktop-session.sh +20 -0
  58. lilrae-8.0.0/appliance/guest/provision-offline.sh +230 -0
  59. lilrae-8.0.0/appliance/guest/scan-golden.sh +155 -0
  60. lilrae-8.0.0/appliance/guest/seat-desktop.py +136 -0
  61. lilrae-8.0.0/appliance/guest/seat-privilege-qualification.py +93 -0
  62. lilrae-8.0.0/appliance/guest/seat-privileges.py +198 -0
  63. lilrae-8.0.0/appliance/guest/seat-qualification-smoke.service +14 -0
  64. lilrae-8.0.0/appliance/guest/seat-qualification-smoke.sh +111 -0
  65. lilrae-8.0.0/appliance/guest/system-packages.sha256 +387 -0
  66. lilrae-8.0.0/aptl.json +40 -0
  67. lilrae-8.0.0/assets/docs/ai_red_team_test.pdf +0 -0
  68. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_1.png +0 -0
  69. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_10.png +0 -0
  70. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_11.png +0 -0
  71. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_12.png +0 -0
  72. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_13.png +0 -0
  73. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_14.png +0 -0
  74. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_15.png +0 -0
  75. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_16.png +0 -0
  76. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_17.png +0 -0
  77. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_18.png +0 -0
  78. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_19.png +0 -0
  79. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_2.png +0 -0
  80. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_20.png +0 -0
  81. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_21.png +0 -0
  82. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_22.png +0 -0
  83. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_3.png +0 -0
  84. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_4.png +0 -0
  85. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_5.png +0 -0
  86. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_6.png +0 -0
  87. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_7.png +0 -0
  88. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_8.png +0 -0
  89. lilrae-8.0.0/assets/images/li_test/cline_red_team_test_9.png +0 -0
  90. lilrae-8.0.0/assets/images/qradar_landing_empty.png +0 -0
  91. lilrae-8.0.0/assets/images/qradar_offences.png +0 -0
  92. lilrae-8.0.0/bin/install-raes-inventory-skill.sh +271 -0
  93. lilrae-8.0.0/changelog.d/+ghcr-candidate-package-visibility.fixed.md +1 -0
  94. lilrae-8.0.0/changelog.d/+git-env-isolation.fixed.md +1 -0
  95. lilrae-8.0.0/changelog.d/+install-scenario-packs-doc.added.md +1 -0
  96. lilrae-8.0.0/changelog.d/+participant-mcp-browser-readiness.fixed.md +1 -0
  97. lilrae-8.0.0/changelog.d/+proxy-addr-cve-2026-90711.fixed.md +1 -0
  98. lilrae-8.0.0/changelog.d/+techvault-env-packs-621-compat.fixed.md +1 -0
  99. lilrae-8.0.0/changelog.d/+techvault-live-boot-honesty.fixed.md +1 -0
  100. lilrae-8.0.0/changelog.d/1021.fixed.md +1 -0
  101. lilrae-8.0.0/changelog.d/1034.fixed.md +1 -0
  102. lilrae-8.0.0/changelog.d/567.added.md +8 -0
  103. lilrae-8.0.0/changelog.d/577.added.md +1 -0
  104. lilrae-8.0.0/changelog.d/580.fixed.md +1 -0
  105. lilrae-8.0.0/changelog.d/607.changed.md +3 -0
  106. lilrae-8.0.0/changelog.d/689.added.md +1 -0
  107. lilrae-8.0.0/changelog.d/690.removed.md +16 -0
  108. lilrae-8.0.0/changelog.d/691.changed.md +1 -0
  109. lilrae-8.0.0/changelog.d/692.fixed.md +1 -0
  110. lilrae-8.0.0/changelog.d/716.added.md +6 -0
  111. lilrae-8.0.0/changelog.d/759.fixed.md +1 -0
  112. lilrae-8.0.0/changelog.d/790.changed.md +8 -0
  113. lilrae-8.0.0/changelog.d/824.added.md +1 -0
  114. lilrae-8.0.0/changelog.d/824.fixed.md +1 -0
  115. lilrae-8.0.0/changelog.d/876.added.md +11 -0
  116. lilrae-8.0.0/config/certs.yml +16 -0
  117. lilrae-8.0.0/config/cortex/analyzers/APTLObservable/APTL_Observable.json +26 -0
  118. lilrae-8.0.0/config/cortex/analyzers/APTLObservable/aptl_observable.py +61 -0
  119. lilrae-8.0.0/config/cortex/application.conf +50 -0
  120. lilrae-8.0.0/config/cortex/index-mapping.json +140 -0
  121. lilrae-8.0.0/config/cortex/thehive-cortex.env +7 -0
  122. lilrae-8.0.0/config/otel/grafana-datasources.yaml +9 -0
  123. lilrae-8.0.0/config/otel/otel-collector-config.yaml +30 -0
  124. lilrae-8.0.0/config/otel/tempo-config.yaml +23 -0
  125. lilrae-8.0.0/config/suricata/rules/local.rules +46 -0
  126. lilrae-8.0.0/config/suricata/rules/misp/misp-iocs.rules +6 -0
  127. lilrae-8.0.0/config/suricata/rules/misp/misp-md5.list +2 -0
  128. lilrae-8.0.0/config/suricata/rules/misp/misp-sha1.list +2 -0
  129. lilrae-8.0.0/config/suricata/rules/misp/misp-sha256.list +2 -0
  130. lilrae-8.0.0/config/suricata/suricata.yaml +121 -0
  131. lilrae-8.0.0/config/thehive/application.conf +20 -0
  132. lilrae-8.0.0/config/wazuh-certs-tool.sh +925 -0
  133. lilrae-8.0.0/config/wazuh_cluster/etc/lists/active-response-whitelist +34 -0
  134. lilrae-8.0.0/config/wazuh_cluster/filebeat_wazuh_module.yml +35 -0
  135. lilrae-8.0.0/config/wazuh_cluster/patch-rule-path.py +40 -0
  136. lilrae-8.0.0/config/wazuh_cluster/wazuh_manager.conf +443 -0
  137. lilrae-8.0.0/config/wazuh_dashboard/opensearch_dashboards.yml +12 -0
  138. lilrae-8.0.0/config/wazuh_dashboard/wazuh.yml +7 -0
  139. lilrae-8.0.0/config/wazuh_indexer/wazuh.indexer.yml +30 -0
  140. lilrae-8.0.0/containers/_host-identity/aptl-host-identity +17 -0
  141. lilrae-8.0.0/containers/_host-identity/aptl-host-identity.service +13 -0
  142. lilrae-8.0.0/containers/_host-identity/install.sh +18 -0
  143. lilrae-8.0.0/containers/_wazuh-agent/aptl-firewall-drop.sh +179 -0
  144. lilrae-8.0.0/containers/_wazuh-agent/install-active-response.sh +34 -0
  145. lilrae-8.0.0/containers/_wazuh-agent/install-rhel.sh +21 -0
  146. lilrae-8.0.0/containers/_wazuh-agent/install.sh +50 -0
  147. lilrae-8.0.0/containers/_wazuh-agent/ossec.conf.template +27 -0
  148. lilrae-8.0.0/containers/_wazuh-agent/wazuh-agent.sh +169 -0
  149. lilrae-8.0.0/containers/_wazuh-agent/wazuh.repo +7 -0
  150. lilrae-8.0.0/containers/appliance-egress-proxy/Dockerfile +13 -0
  151. lilrae-8.0.0/containers/appliance-egress-proxy/proxy.py +322 -0
  152. lilrae-8.0.0/containers/base/Dockerfile.rocky +86 -0
  153. lilrae-8.0.0/containers/base/Dockerfile.ubuntu +86 -0
  154. lilrae-8.0.0/containers/base/falco_custom.yaml +25 -0
  155. lilrae-8.0.0/containers/base/scripts/entrypoint-base.sh +172 -0
  156. lilrae-8.0.0/containers/base/scripts/ossec.conf.template +85 -0
  157. lilrae-8.0.0/containers/base/sshd/00-aptl-hardening.conf +13 -0
  158. lilrae-8.0.0/containers/generic-samba-ad-base/Dockerfile +30 -0
  159. lilrae-8.0.0/containers/generic-samba-ad-base/provider-start.sh +9 -0
  160. lilrae-8.0.0/containers/generic-samba-ad-base/provision-domain.sh +40 -0
  161. lilrae-8.0.0/containers/generic-samba-ad-wazuh-agent-base/Dockerfile +12 -0
  162. lilrae-8.0.0/containers/generic-systemd-base/Dockerfile +46 -0
  163. lilrae-8.0.0/containers/generic-systemd-base-debian/Dockerfile +36 -0
  164. lilrae-8.0.0/containers/generic-systemd-node22-base/Dockerfile +73 -0
  165. lilrae-8.0.0/containers/generic-systemd-wazuh-agent-base/Dockerfile +15 -0
  166. lilrae-8.0.0/containers/generic-systemd-wazuh-agent-base-debian/Dockerfile +8 -0
  167. lilrae-8.0.0/containers/generic-wazuh-agent-base-debian/Dockerfile +12 -0
  168. lilrae-8.0.0/containers/kali/audit/aptl.rules +43 -0
  169. lilrae-8.0.0/containers/kali-capture/Dockerfile +24 -0
  170. lilrae-8.0.0/containers/kali-capture/broker.py +595 -0
  171. lilrae-8.0.0/containers/kali-capture/entrypoint.sh +57 -0
  172. lilrae-8.0.0/containers/kali-capture/sshd_config +20 -0
  173. lilrae-8.0.0/containers/keys/aptl_lab_key.pub +1 -0
  174. lilrae-8.0.0/containers/keys/authorized_keys +1 -0
  175. lilrae-8.0.0/containers/mailserver/setup.sh +21 -0
  176. lilrae-8.0.0/containers/misp-suricata-sync/Dockerfile +47 -0
  177. lilrae-8.0.0/containers/network-boundary-helper/Dockerfile +13 -0
  178. lilrae-8.0.0/containers/network-boundary-helper/helper.py +1080 -0
  179. lilrae-8.0.0/containers/network-boundary-helper/probe.py +71 -0
  180. lilrae-8.0.0/containers/operator-access-proxy/Dockerfile +13 -0
  181. lilrae-8.0.0/containers/operator-access-proxy/proxy.py +76 -0
  182. lilrae-8.0.0/containers/reverse/Dockerfile +110 -0
  183. lilrae-8.0.0/containers/reverse/README.md +152 -0
  184. lilrae-8.0.0/containers/reverse/entrypoint.sh +15 -0
  185. lilrae-8.0.0/containers/reverse/install-all.sh +39 -0
  186. lilrae-8.0.0/containers/reverse/install-falco.sh +42 -0
  187. lilrae-8.0.0/containers/reverse/install-wazuh.sh +77 -0
  188. lilrae-8.0.0/containers/reverse/rebuild_container.sh +4 -0
  189. lilrae-8.0.0/containers/reverse/reverse-tools-install.service +15 -0
  190. lilrae-8.0.0/containers/reverse/setup-reverse-tools.sh +95 -0
  191. lilrae-8.0.0/containers/suricata-wazuh-agent/Dockerfile +23 -0
  192. lilrae-8.0.0/containers/windows-victim/README.md +160 -0
  193. lilrae-8.0.0/containers/windows-victim/enable-rdp.ps1 +16 -0
  194. lilrae-8.0.0/containers/windows-victim/join-domain.ps1 +27 -0
  195. lilrae-8.0.0/containers/windows-victim/setup-ghidra.ps1 +93 -0
  196. lilrae-8.0.0/containers/windows-victim/setup-python-re.ps1 +59 -0
  197. lilrae-8.0.0/containers/windows-victim/setup-re-tools.ps1 +85 -0
  198. lilrae-8.0.0/containers/windows-victim/setup-ssh.ps1 +26 -0
  199. lilrae-8.0.0/containers/windows-victim/setup-sysinternals.ps1 +64 -0
  200. lilrae-8.0.0/containers/windows-victim/setup-sysmon.ps1 +39 -0
  201. lilrae-8.0.0/containers/windows-victim/setup-vs-buildtools.ps1 +58 -0
  202. lilrae-8.0.0/containers/windows-victim/setup-wazuh-agent.ps1 +29 -0
  203. lilrae-8.0.0/containers/windows-victim/setup-wdk.ps1 +68 -0
  204. lilrae-8.0.0/containers/windows-victim/setup-x64dbg.ps1 +81 -0
  205. lilrae-8.0.0/docker-compose.capture.yml +46 -0
  206. lilrae-8.0.0/docker-compose.observability.yml +95 -0
  207. lilrae-8.0.0/docker-compose.yml +1102 -0
  208. lilrae-8.0.0/docs/CODING_STANDARDS.md +29 -0
  209. lilrae-8.0.0/docs/adrs/README.md +86 -0
  210. lilrae-8.0.0/docs/adrs/adr-000-use-adrs.md +84 -0
  211. lilrae-8.0.0/docs/adrs/adr-001-docker-compose-deployment.md +84 -0
  212. lilrae-8.0.0/docs/adrs/adr-002-wazuh-siem.md +88 -0
  213. lilrae-8.0.0/docs/adrs/adr-003-mcp-common-library.md +90 -0
  214. lilrae-8.0.0/docs/adrs/adr-004-persistent-ssh-sessions.md +188 -0
  215. lilrae-8.0.0/docs/adrs/adr-005-docker-compose-profiles.md +100 -0
  216. lilrae-8.0.0/docs/adrs/adr-006-four-network-segmentation.md +96 -0
  217. lilrae-8.0.0/docs/adrs/adr-007-python-cli-control-plane.md +163 -0
  218. lilrae-8.0.0/docs/adrs/adr-008-soc-stack-integration.md +121 -0
  219. lilrae-8.0.0/docs/adrs/adr-009-scenario-engine.md +146 -0
  220. lilrae-8.0.0/docs/adrs/adr-010-sonarcloud-quality.md +206 -0
  221. lilrae-8.0.0/docs/adrs/adr-011-web-ui.md +123 -0
  222. lilrae-8.0.0/docs/adrs/adr-012-opentelemetry-integration.md +225 -0
  223. lilrae-8.0.0/docs/adrs/adr-013-deployment-abstraction.md +114 -0
  224. lilrae-8.0.0/docs/adrs/adr-014-scenario-description-language.md +137 -0
  225. lilrae-8.0.0/docs/adrs/adr-015-declarative-sdl-objectives.md +76 -0
  226. lilrae-8.0.0/docs/adrs/adr-016-workflows-targetable-subobjects-and-enum-variables.md +89 -0
  227. lilrae-8.0.0/docs/adrs/adr-017-sdl-runtime-layer.md +182 -0
  228. lilrae-8.0.0/docs/adrs/adr-018-control-flow-primitives.md +66 -0
  229. lilrae-8.0.0/docs/adrs/adr-019-suricata-ids-only-prevention-via-wazuh-ar.md +104 -0
  230. lilrae-8.0.0/docs/adrs/adr-020-wazuh-agents-in-process-vs-sidecar.md +83 -0
  231. lilrae-8.0.0/docs/adrs/adr-021-active-response-whitelist-via-wrapper.md +73 -0
  232. lilrae-8.0.0/docs/adrs/adr-022-misp-driven-suricata-rules.md +305 -0
  233. lilrae-8.0.0/docs/adrs/adr-023-container-interaction-in-deployment-backend.md +203 -0
  234. lilrae-8.0.0/docs/adrs/adr-024-orchestrator-side-purple-continuity-carve-out.md +108 -0
  235. lilrae-8.0.0/docs/adrs/adr-025-strict-first-party-config-schema.md +80 -0
  236. lilrae-8.0.0/docs/adrs/adr-026-advisory-ci-vulnerability-scanning.md +234 -0
  237. lilrae-8.0.0/docs/adrs/adr-027-red-team-structured-logging.md +168 -0
  238. lilrae-8.0.0/docs/adrs/adr-028-runtime-rendered-service-config.md +188 -0
  239. lilrae-8.0.0/docs/adrs/adr-029-control-plane-secret-handling.md +178 -0
  240. lilrae-8.0.0/docs/adrs/adr-030-startup-partial-readiness-classification.md +249 -0
  241. lilrae-8.0.0/docs/adrs/adr-031-lab-orchestration-contract-guards.md +142 -0
  242. lilrae-8.0.0/docs/adrs/adr-032-conversation-surface-hardening.md +39 -0
  243. lilrae-8.0.0/docs/adrs/adr-033-agent-reasoning-trace-boundary.md +392 -0
  244. lilrae-8.0.0/docs/adrs/adr-034-lab-managed-soc-tls-ca.md +245 -0
  245. lilrae-8.0.0/docs/adrs/adr-035-raes-sdl-adoption.md +426 -0
  246. lilrae-8.0.0/docs/adrs/adr-036-snapshot-endpoint-registry.md +134 -0
  247. lilrae-8.0.0/docs/adrs/adr-037-docker-compose-backend-cohesion.md +138 -0
  248. lilrae-8.0.0/docs/adrs/adr-038-docs-style-lint-and-published-site.md +117 -0
  249. lilrae-8.0.0/docs/adrs/adr-039-web-control-plane-authentication.md +166 -0
  250. lilrae-8.0.0/docs/adrs/adr-040-terminal-ssh-host-key-verification-boundary.md +167 -0
  251. lilrae-8.0.0/docs/adrs/adr-041-kali-capture-sidecar-ownership-boundary.md +324 -0
  252. lilrae-8.0.0/docs/adrs/adr-042-sidecar-owned-pty-master.md +265 -0
  253. lilrae-8.0.0/docs/adrs/adr-043-suricata-runtime-config-ownership-boundary.md +246 -0
  254. lilrae-8.0.0/docs/adrs/adr-044-raes-aligned-run-reproducibility-record.md +205 -0
  255. lilrae-8.0.0/docs/adrs/adr-045-ephemeral-lifecycle-policy-enforcement.md +105 -0
  256. lilrae-8.0.0/docs/adrs/adr-046-dynamic-raes-scenario-realization.md +1404 -0
  257. lilrae-8.0.0/docs/adrs/adr-047-raes-experiment-admission-and-trial-plan-boundary.md +528 -0
  258. lilrae-8.0.0/docs/adrs/adr-048-image-free-placement-realization.md +226 -0
  259. lilrae-8.0.0/docs/adrs/adr-049-sealed-disposable-lab-appliance.md +613 -0
  260. lilrae-8.0.0/docs/adrs/adr-050-terminal-attempt-archival-and-atomic-seal.md +213 -0
  261. lilrae-8.0.0/docs/adrs/adr-051-component-level-raes-realization.md +330 -0
  262. lilrae-8.0.0/docs/adrs/adr-052-configured-participant-credential-sourcing.md +406 -0
  263. lilrae-8.0.0/docs/adrs/adr-053-pack-backend-deployment-serving-interaction-seam.md +397 -0
  264. lilrae-8.0.0/docs/adrs/adr-054-lilrae-core-and-experience-ownership.md +104 -0
  265. lilrae-8.0.0/docs/adrs/adr-055-local-runtime-authority-and-ownership.md +100 -0
  266. lilrae-8.0.0/docs/adrs/adr-056-scenario-led-capability-qualification.md +78 -0
  267. lilrae-8.0.0/docs/adrs/adr-057-agent-execution-compartments.md +83 -0
  268. lilrae-8.0.0/docs/adrs/adr-058-adoption-and-security-release-gates.md +76 -0
  269. lilrae-8.0.0/docs/adrs/adr-059-canonical-techvault-delivery-and-host-mcp-access.md +291 -0
  270. lilrae-8.0.0/docs/adrs/adr-060-vm-only-seat-containment.md +99 -0
  271. lilrae-8.0.0/docs/adrs/adr-061-gateless-vm-seat-access.md +46 -0
  272. lilrae-8.0.0/docs/adrs/adr-062-lilrae-name-and-naming-convention.md +127 -0
  273. lilrae-8.0.0/docs/architecture/dep-003-ephemeral-lifecycle-preflight.md +198 -0
  274. lilrae-8.0.0/docs/architecture/dep-008-self-contained-lab-assets-preflight.md +172 -0
  275. lilrae-8.0.0/docs/architecture/enterprise-infrastructure.md +808 -0
  276. lilrae-8.0.0/docs/architecture/exp-005-safe-parameter-binding-provenance-preflight.md +405 -0
  277. lilrae-8.0.0/docs/architecture/exp-008-portable-evidence-bundle-preflight.md +390 -0
  278. lilrae-8.0.0/docs/architecture/exp-009-aces-archival-sealing-preflight.md +407 -0
  279. lilrae-8.0.0/docs/architecture/exp-010-capture-admission-evidence-preflight.md +314 -0
  280. lilrae-8.0.0/docs/architecture/grc-boundary-surface-vocabulary-preflight.md +154 -0
  281. lilrae-8.0.0/docs/architecture/index.md +218 -0
  282. lilrae-8.0.0/docs/architecture/issue-1000-manual-release-qa-preflight.md +258 -0
  283. lilrae-8.0.0/docs/architecture/issue-1002-wazuh-api-tls-warmup-preflight.md +207 -0
  284. lilrae-8.0.0/docs/architecture/issue-1006-container-base-images-preflight.md +126 -0
  285. lilrae-8.0.0/docs/architecture/issue-1022-appliance-seat-delivery-preflight.md +420 -0
  286. lilrae-8.0.0/docs/architecture/issue-1022-historical-branch-audit.md +146 -0
  287. lilrae-8.0.0/docs/architecture/issue-1162-nested-virt-seat-preflight.md +209 -0
  288. lilrae-8.0.0/docs/architecture/issue-1179-pending-lab-cleanup-preflight.md +149 -0
  289. lilrae-8.0.0/docs/architecture/issue-1183-techvault-postgresql-startup-preflight.md +155 -0
  290. lilrae-8.0.0/docs/architecture/issue-1186-seat-privilege-preflight.md +187 -0
  291. lilrae-8.0.0/docs/architecture/issue-1188-wazuh-api-cold-boot-preflight.md +207 -0
  292. lilrae-8.0.0/docs/architecture/issue-1191-wazuh-api-cold-boot-rca-preflight.md +172 -0
  293. lilrae-8.0.0/docs/architecture/issue-1193-base-container-terminology-preflight.md +97 -0
  294. lilrae-8.0.0/docs/architecture/issue-1194-shipped-seat-network-preflight.md +174 -0
  295. lilrae-8.0.0/docs/architecture/issue-1201-transcript-redaction-preflight.md +76 -0
  296. lilrae-8.0.0/docs/architecture/issue-1232-lilrae-naming-preflight.md +104 -0
  297. lilrae-8.0.0/docs/architecture/issue-1234-pypi-transition-preflight.md +127 -0
  298. lilrae-8.0.0/docs/architecture/issue-1367-distribution-cutover-preflight.md +81 -0
  299. lilrae-8.0.0/docs/architecture/issue-550-soc-selected-profile-preflight.md +170 -0
  300. lilrae-8.0.0/docs/architecture/issue-557-participant-implementation-binding-preflight.md +392 -0
  301. lilrae-8.0.0/docs/architecture/issue-589-scenario-pack-capture-ownership-preflight.md +131 -0
  302. lilrae-8.0.0/docs/architecture/issue-591-scenario-pack-capture-asset-ownership-preflight.md +149 -0
  303. lilrae-8.0.0/docs/architecture/issue-592-scenario-pack-terminology-preflight.md +135 -0
  304. lilrae-8.0.0/docs/architecture/issue-601-participant-demonstration-preflight.md +134 -0
  305. lilrae-8.0.0/docs/architecture/issue-677-cert-producer-ownership-preflight.md +209 -0
  306. lilrae-8.0.0/docs/architecture/issue-790-ssh-module-split-preflight.md +109 -0
  307. lilrae-8.0.0/docs/architecture/issue-820-resource-bounded-participant-profile-preflight.md +150 -0
  308. lilrae-8.0.0/docs/architecture/issue-821-participant-workbench-preflight.md +236 -0
  309. lilrae-8.0.0/docs/architecture/issue-823-versioned-disposable-appliance-preflight.md +237 -0
  310. lilrae-8.0.0/docs/architecture/issue-824-kiosk-launcher-reset-recovery-preflight.md +155 -0
  311. lilrae-8.0.0/docs/architecture/issue-825-hosted-backup-seat-preflight.md +218 -0
  312. lilrae-8.0.0/docs/architecture/issue-845-raes-hard-rename-preflight.md +185 -0
  313. lilrae-8.0.0/docs/architecture/issue-847-openssf-scorecard-preflight.md +146 -0
  314. lilrae-8.0.0/docs/architecture/issue-851-first-time-user-docs-preflight.md +213 -0
  315. lilrae-8.0.0/docs/architecture/issue-852-devmain-promotion-preflight.md +144 -0
  316. lilrae-8.0.0/docs/architecture/issue-858-bounded-participant-choice-transport-preflight.md +153 -0
  317. lilrae-8.0.0/docs/architecture/issue-859-idempotent-stuttering-preflight.md +141 -0
  318. lilrae-8.0.0/docs/architecture/issue-862-explicit-participant-model-selection-preflight.md +274 -0
  319. lilrae-8.0.0/docs/architecture/issue-866-techvault-realization-contract-preflight.md +336 -0
  320. lilrae-8.0.0/docs/architecture/issue-874-scenario-bundle-realization-roots-preflight.md +248 -0
  321. lilrae-8.0.0/docs/architecture/issue-875-scenario-content-declaration-preflight.md +299 -0
  322. lilrae-8.0.0/docs/architecture/issue-876-dynamic-composition-readback-preflight.md +103 -0
  323. lilrae-8.0.0/docs/architecture/issue-878-scenario-verification-plugin-seam-preflight.md +520 -0
  324. lilrae-8.0.0/docs/architecture/issue-880-techvault-env-pack-consumption-preflight.md +249 -0
  325. lilrae-8.0.0/docs/architecture/issue-892-dynamic-composition-artifact-preflight.md +178 -0
  326. lilrae-8.0.0/docs/architecture/issue-905-lab-lifecycle-robustness-preflight.md +191 -0
  327. lilrae-8.0.0/docs/architecture/issue-912-misp-redis-post-realization-mutation-preflight.md +143 -0
  328. lilrae-8.0.0/docs/architecture/issue-913-shuffle-post-realization-mutation-preflight.md +320 -0
  329. lilrae-8.0.0/docs/architecture/issue-934-rename-boundary-preflight.md +196 -0
  330. lilrae-8.0.0/docs/architecture/issue-949-orborus-control-authority-preflight.md +241 -0
  331. lilrae-8.0.0/docs/architecture/issue-951-fresh-env-pack-start-preflight.md +201 -0
  332. lilrae-8.0.0/docs/architecture/issue-954-runtime-docs-and-test-authority-preflight.md +116 -0
  333. lilrae-8.0.0/docs/architecture/issue-955-systemd-substrate-privilege-preflight.md +221 -0
  334. lilrae-8.0.0/docs/architecture/issue-956-sdl-runtime-authority-materialization-preflight.md +100 -0
  335. lilrae-8.0.0/docs/architecture/issue-957-wazuh-attestation-evidence-credentials-preflight.md +259 -0
  336. lilrae-8.0.0/docs/architecture/issue-958-execution-boundary-preflight.md +119 -0
  337. lilrae-8.0.0/docs/architecture/issue-964-backend-resource-ownership-preflight.md +316 -0
  338. lilrae-8.0.0/docs/architecture/issue-969-platform-safety-gates-preflight.md +223 -0
  339. lilrae-8.0.0/docs/architecture/issue-970-generic-lab-lifecycle-preflight.md +334 -0
  340. lilrae-8.0.0/docs/architecture/issue-974-shuffle-worker-docker-images-preflight.md +239 -0
  341. lilrae-8.0.0/docs/architecture/issue-980-pack-adapter-install-seam-preflight.md +352 -0
  342. lilrae-8.0.0/docs/architecture/issue-985-owned-lab-fixture-preflight.md +141 -0
  343. lilrae-8.0.0/docs/architecture/issue-992-backend-observability-ownership-preflight.md +542 -0
  344. lilrae-8.0.0/docs/architecture/issue-993-boot-realization-regressions-preflight.md +162 -0
  345. lilrae-8.0.0/docs/architecture/networking.md +175 -0
  346. lilrae-8.0.0/docs/architecture/obs-002-correlation-identity-clock-preflight.md +219 -0
  347. lilrae-8.0.0/docs/architecture/rep-003-run-scoped-provenance-preflight.md +307 -0
  348. lilrae-8.0.0/docs/architecture/rng-001-ephemeral-environments-preflight.md +153 -0
  349. lilrae-8.0.0/docs/components/appliance-boundary.md +155 -0
  350. lilrae-8.0.0/docs/components/default-defensive-posture.md +740 -0
  351. lilrae-8.0.0/docs/components/kali-redteam.md +169 -0
  352. lilrae-8.0.0/docs/components/mcp-integration.md +65 -0
  353. lilrae-8.0.0/docs/components/mcp-smoke-test-protocol.md +13 -0
  354. lilrae-8.0.0/docs/components/node-realization.md +62 -0
  355. lilrae-8.0.0/docs/components/participant-workbench.md +61 -0
  356. lilrae-8.0.0/docs/components/reverse-engineering-container.md +34 -0
  357. lilrae-8.0.0/docs/components/victim-containers.md +115 -0
  358. lilrae-8.0.0/docs/components/wazuh-active-response.md +180 -0
  359. lilrae-8.0.0/docs/components/wazuh-siem.md +161 -0
  360. lilrae-8.0.0/docs/containers/victim-template-guide.md +190 -0
  361. lilrae-8.0.0/docs/deployment.md +326 -0
  362. lilrae-8.0.0/docs/getting-started/index.md +20 -0
  363. lilrae-8.0.0/docs/getting-started/installation.md +149 -0
  364. lilrae-8.0.0/docs/getting-started/installing-packs.md +115 -0
  365. lilrae-8.0.0/docs/getting-started/prerequisites.md +204 -0
  366. lilrae-8.0.0/docs/getting-started/quick-start.md +181 -0
  367. lilrae-8.0.0/docs/index.md +101 -0
  368. lilrae-8.0.0/docs/raes/app-1-appliance-boundary-materialization-preflight.md +425 -0
  369. lilrae-8.0.0/docs/raes/dsl-003-runtime-substitution-preflight.md +217 -0
  370. lilrae-8.0.0/docs/raes/dsl-005-assertion-evaluation-preflight.md +199 -0
  371. lilrae-8.0.0/docs/raes/dsl-008-realization-preflight.md +181 -0
  372. lilrae-8.0.0/docs/raes/dsl-010-participant-runtime-preflight.md +185 -0
  373. lilrae-8.0.0/docs/raes/issue-601-participant-demonstration.md +261 -0
  374. lilrae-8.0.0/docs/raes/issue-759-libvirt-service-reachability-preflight.md +143 -0
  375. lilrae-8.0.0/docs/raes/m1-raes-conformance-truth-up-preflight.md +238 -0
  376. lilrae-8.0.0/docs/raes/orchestration-capable-profile-preflight.md +170 -0
  377. lilrae-8.0.0/docs/raes/paper-scenario-realization.md +93 -0
  378. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/.gitignore +5 -0
  379. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/run-curated-live-proof.sh +177 -0
  380. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-attacker-target/participant-action.json +437 -0
  381. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-attacker-target/result.json +72 -0
  382. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-attacker-target/snapshot.json +161 -0
  383. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-defensive-min/result.json +50 -0
  384. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-defensive-min/snapshot.json +115 -0
  385. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-enterprise-web/result.json +63 -0
  386. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-enterprise-web/snapshot.json +181 -0
  387. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-observability-core/result.json +34 -0
  388. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate/techvault-observability-core/snapshot.json +54 -0
  389. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-gate.md +172 -0
  390. lilrae-8.0.0/docs/raes/techvault-curated-live-validation-preflight.md +157 -0
  391. lilrae-8.0.0/docs/raes/techvault-live-validation-gate.md +188 -0
  392. lilrae-8.0.0/docs/raes/techvault-live-validation-preflight.md +217 -0
  393. lilrae-8.0.0/docs/raes/techvault-static-validation-gate.md +123 -0
  394. lilrae-8.0.0/docs/raes/techvault-static-validation-preflight.md +166 -0
  395. lilrae-8.0.0/docs/red-team-taxonomy.md +207 -0
  396. lilrae-8.0.0/docs/reference/appliance-seat-launcher.md +424 -0
  397. lilrae-8.0.0/docs/reference/cli.md +138 -0
  398. lilrae-8.0.0/docs/reference/evidence-bundle-export.md +145 -0
  399. lilrae-8.0.0/docs/reference/experiment-runs.md +286 -0
  400. lilrae-8.0.0/docs/reference/host-mcp-access.md +163 -0
  401. lilrae-8.0.0/docs/reference/mcp.md +86 -0
  402. lilrae-8.0.0/docs/reference/participant-profile.md +158 -0
  403. lilrae-8.0.0/docs/reference/techvault-company-profile.md +782 -0
  404. lilrae-8.0.0/docs/reference/techvault-osint-readiness.md +513 -0
  405. lilrae-8.0.0/docs/reference/techvault-scenario-overview.md +143 -0
  406. lilrae-8.0.0/docs/reference/web.md +122 -0
  407. lilrae-8.0.0/docs/releasing.md +113 -0
  408. lilrae-8.0.0/docs/requirements/AGT-001/requirement.md +26 -0
  409. lilrae-8.0.0/docs/requirements/AGT-002/requirement.md +24 -0
  410. lilrae-8.0.0/docs/requirements/AGT-003/requirement.md +24 -0
  411. lilrae-8.0.0/docs/requirements/AGT-005/requirement.md +24 -0
  412. lilrae-8.0.0/docs/requirements/APP-1/requirement.md +63 -0
  413. lilrae-8.0.0/docs/requirements/APP-2/requirement.md +48 -0
  414. lilrae-8.0.0/docs/requirements/APP-3/requirement.md +80 -0
  415. lilrae-8.0.0/docs/requirements/CLI-001/requirement.md +45 -0
  416. lilrae-8.0.0/docs/requirements/CLI-002/requirement.md +31 -0
  417. lilrae-8.0.0/docs/requirements/CLI-003/requirement.md +52 -0
  418. lilrae-8.0.0/docs/requirements/CLI-004/requirement.md +33 -0
  419. lilrae-8.0.0/docs/requirements/CLI-005/requirement.md +29 -0
  420. lilrae-8.0.0/docs/requirements/CLI-006/requirement.md +24 -0
  421. lilrae-8.0.0/docs/requirements/CLI-007/requirement.md +27 -0
  422. lilrae-8.0.0/docs/requirements/DEP-001/requirement.md +35 -0
  423. lilrae-8.0.0/docs/requirements/DEP-003/requirement.md +31 -0
  424. lilrae-8.0.0/docs/requirements/DEP-005/requirement.md +24 -0
  425. lilrae-8.0.0/docs/requirements/DEP-006/requirement.md +24 -0
  426. lilrae-8.0.0/docs/requirements/DEP-007/requirement.md +24 -0
  427. lilrae-8.0.0/docs/requirements/DEP-008/requirement.md +38 -0
  428. lilrae-8.0.0/docs/requirements/DET-001/requirement.md +24 -0
  429. lilrae-8.0.0/docs/requirements/DET-002/requirement.md +24 -0
  430. lilrae-8.0.0/docs/requirements/DET-003/requirement.md +24 -0
  431. lilrae-8.0.0/docs/requirements/DET-004/requirement.md +24 -0
  432. lilrae-8.0.0/docs/requirements/DET-005/requirement.md +24 -0
  433. lilrae-8.0.0/docs/requirements/DET-006/requirement.md +27 -0
  434. lilrae-8.0.0/docs/requirements/DOC-001/requirement.md +31 -0
  435. lilrae-8.0.0/docs/requirements/DSL-001/requirement.md +27 -0
  436. lilrae-8.0.0/docs/requirements/DSL-002/requirement.md +24 -0
  437. lilrae-8.0.0/docs/requirements/DSL-003/requirement.md +24 -0
  438. lilrae-8.0.0/docs/requirements/DSL-004/requirement.md +24 -0
  439. lilrae-8.0.0/docs/requirements/DSL-005/requirement.md +24 -0
  440. lilrae-8.0.0/docs/requirements/DSL-006/requirement.md +24 -0
  441. lilrae-8.0.0/docs/requirements/DSL-007/requirement.md +26 -0
  442. lilrae-8.0.0/docs/requirements/DSL-008/requirement.md +69 -0
  443. lilrae-8.0.0/docs/requirements/DSL-009/requirement.md +26 -0
  444. lilrae-8.0.0/docs/requirements/DSL-010/requirement.md +45 -0
  445. lilrae-8.0.0/docs/requirements/ENT-001/requirement.md +20 -0
  446. lilrae-8.0.0/docs/requirements/ENT-002/requirement.md +20 -0
  447. lilrae-8.0.0/docs/requirements/ENT-003/requirement.md +20 -0
  448. lilrae-8.0.0/docs/requirements/ENT-004/requirement.md +20 -0
  449. lilrae-8.0.0/docs/requirements/ENT-005/requirement.md +20 -0
  450. lilrae-8.0.0/docs/requirements/ENT-006/requirement.md +20 -0
  451. lilrae-8.0.0/docs/requirements/ENT-007/requirement.md +20 -0
  452. lilrae-8.0.0/docs/requirements/ENT-008/requirement.md +20 -0
  453. lilrae-8.0.0/docs/requirements/ENT-009/requirement.md +20 -0
  454. lilrae-8.0.0/docs/requirements/EXP-001/requirement.md +24 -0
  455. lilrae-8.0.0/docs/requirements/EXP-002/requirement.md +55 -0
  456. lilrae-8.0.0/docs/requirements/EXP-004/requirement.md +24 -0
  457. lilrae-8.0.0/docs/requirements/EXP-005/requirement.md +39 -0
  458. lilrae-8.0.0/docs/requirements/EXP-008/requirement.md +49 -0
  459. lilrae-8.0.0/docs/requirements/EXP-009/requirement.md +36 -0
  460. lilrae-8.0.0/docs/requirements/EXP-010/requirement.md +70 -0
  461. lilrae-8.0.0/docs/requirements/EXP-011/requirement.md +24 -0
  462. lilrae-8.0.0/docs/requirements/INF-001/requirement.md +25 -0
  463. lilrae-8.0.0/docs/requirements/INF-002/requirement.md +25 -0
  464. lilrae-8.0.0/docs/requirements/INF-003/requirement.md +24 -0
  465. lilrae-8.0.0/docs/requirements/INF-004/requirement.md +24 -0
  466. lilrae-8.0.0/docs/requirements/INF-005/requirement.md +24 -0
  467. lilrae-8.0.0/docs/requirements/INF-006/requirement.md +20 -0
  468. lilrae-8.0.0/docs/requirements/INF-007/requirement.md +20 -0
  469. lilrae-8.0.0/docs/requirements/INF-010/requirement.md +24 -0
  470. lilrae-8.0.0/docs/requirements/INT-001/requirement.md +24 -0
  471. lilrae-8.0.0/docs/requirements/INT-002/requirement.md +24 -0
  472. lilrae-8.0.0/docs/requirements/INT-003/requirement.md +24 -0
  473. lilrae-8.0.0/docs/requirements/INT-004/requirement.md +24 -0
  474. lilrae-8.0.0/docs/requirements/INT-005/requirement.md +24 -0
  475. lilrae-8.0.0/docs/requirements/INT-006/requirement.md +24 -0
  476. lilrae-8.0.0/docs/requirements/MCP-001/requirement.md +25 -0
  477. lilrae-8.0.0/docs/requirements/MCP-002/requirement.md +24 -0
  478. lilrae-8.0.0/docs/requirements/MCP-003/requirement.md +26 -0
  479. lilrae-8.0.0/docs/requirements/MCP-004/requirement.md +20 -0
  480. lilrae-8.0.0/docs/requirements/MCP-005/requirement.md +20 -0
  481. lilrae-8.0.0/docs/requirements/MCP-006/requirement.md +25 -0
  482. lilrae-8.0.0/docs/requirements/NET-001/requirement.md +25 -0
  483. lilrae-8.0.0/docs/requirements/NET-002/requirement.md +24 -0
  484. lilrae-8.0.0/docs/requirements/NET-003/requirement.md +24 -0
  485. lilrae-8.0.0/docs/requirements/NET-004/requirement.md +20 -0
  486. lilrae-8.0.0/docs/requirements/NET-005/requirement.md +24 -0
  487. lilrae-8.0.0/docs/requirements/OBS-001-DUP-1/requirement.md +42 -0
  488. lilrae-8.0.0/docs/requirements/OBS-002/requirement.md +40 -0
  489. lilrae-8.0.0/docs/requirements/OBS-003/requirement.md +56 -0
  490. lilrae-8.0.0/docs/requirements/OBS-004/requirement.md +24 -0
  491. lilrae-8.0.0/docs/requirements/ORC-004/requirement.md +24 -0
  492. lilrae-8.0.0/docs/requirements/RED-001/requirement.md +20 -0
  493. lilrae-8.0.0/docs/requirements/RED-002/requirement.md +20 -0
  494. lilrae-8.0.0/docs/requirements/RED-003/requirement.md +20 -0
  495. lilrae-8.0.0/docs/requirements/RED-004/requirement.md +20 -0
  496. lilrae-8.0.0/docs/requirements/REP-001/requirement.md +35 -0
  497. lilrae-8.0.0/docs/requirements/REP-002/requirement.md +26 -0
  498. lilrae-8.0.0/docs/requirements/REP-003/requirement.md +56 -0
  499. lilrae-8.0.0/docs/requirements/REP-004/requirement.md +24 -0
  500. lilrae-8.0.0/docs/requirements/REP-005/requirement.md +26 -0
  501. lilrae-8.0.0/docs/requirements/REP-006/requirement.md +24 -0
  502. lilrae-8.0.0/docs/requirements/RNG-001/requirement.md +32 -0
  503. lilrae-8.0.0/docs/requirements/RNG-002/requirement.md +24 -0
  504. lilrae-8.0.0/docs/requirements/RNG-003/requirement.md +24 -0
  505. lilrae-8.0.0/docs/requirements/RNG-004/requirement.md +24 -0
  506. lilrae-8.0.0/docs/requirements/RNG-005/requirement.md +24 -0
  507. lilrae-8.0.0/docs/requirements/RNG-006/requirement.md +24 -0
  508. lilrae-8.0.0/docs/requirements/RTE-001/requirement.md +31 -0
  509. lilrae-8.0.0/docs/requirements/SAF-001/requirement.md +30 -0
  510. lilrae-8.0.0/docs/requirements/SAF-002/requirement.md +27 -0
  511. lilrae-8.0.0/docs/requirements/SAF-003/requirement.md +24 -0
  512. lilrae-8.0.0/docs/requirements/SAF-004/requirement.md +24 -0
  513. lilrae-8.0.0/docs/requirements/SAF-006/requirement.md +24 -0
  514. lilrae-8.0.0/docs/requirements/SCN-001/requirement.md +29 -0
  515. lilrae-8.0.0/docs/requirements/SCN-002/requirement.md +24 -0
  516. lilrae-8.0.0/docs/requirements/SCN-003/requirement.md +30 -0
  517. lilrae-8.0.0/docs/requirements/SCN-004/requirement.md +25 -0
  518. lilrae-8.0.0/docs/requirements/SCN-005/requirement.md +32 -0
  519. lilrae-8.0.0/docs/requirements/SCN-006/requirement.md +25 -0
  520. lilrae-8.0.0/docs/requirements/SCN-007/requirement.md +24 -0
  521. lilrae-8.0.0/docs/requirements/SCN-008/requirement.md +30 -0
  522. lilrae-8.0.0/docs/requirements/SCN-009/requirement.md +26 -0
  523. lilrae-8.0.0/docs/requirements/SCN-010/requirement.md +119 -0
  524. lilrae-8.0.0/docs/requirements/SEC-001/requirement.md +24 -0
  525. lilrae-8.0.0/docs/requirements/SEC-002/requirement.md +20 -0
  526. lilrae-8.0.0/docs/requirements/SEC-003/requirement.md +20 -0
  527. lilrae-8.0.0/docs/requirements/SEC-004/requirement.md +20 -0
  528. lilrae-8.0.0/docs/requirements/SEC-005/requirement.md +27 -0
  529. lilrae-8.0.0/docs/requirements/SEC-006/requirement.md +41 -0
  530. lilrae-8.0.0/docs/requirements/SEC-007/requirement.md +25 -0
  531. lilrae-8.0.0/docs/requirements/SEC-008/requirement.md +42 -0
  532. lilrae-8.0.0/docs/requirements/SIEM-001/requirement.md +32 -0
  533. lilrae-8.0.0/docs/requirements/SIEM-002/requirement.md +24 -0
  534. lilrae-8.0.0/docs/requirements/SIEM-003/requirement.md +24 -0
  535. lilrae-8.0.0/docs/requirements/SIEM-004/requirement.md +24 -0
  536. lilrae-8.0.0/docs/requirements/SIEM-005/requirement.md +26 -0
  537. lilrae-8.0.0/docs/requirements/SIEM-006/requirement.md +38 -0
  538. lilrae-8.0.0/docs/requirements/SIM-003/requirement.md +24 -0
  539. lilrae-8.0.0/docs/requirements/SIM-004/requirement.md +24 -0
  540. lilrae-8.0.0/docs/requirements/SIM-005/requirement.md +24 -0
  541. lilrae-8.0.0/docs/requirements/SOC-001/requirement.md +35 -0
  542. lilrae-8.0.0/docs/requirements/SOC-002/requirement.md +33 -0
  543. lilrae-8.0.0/docs/requirements/SOC-003/requirement.md +24 -0
  544. lilrae-8.0.0/docs/requirements/SOC-004/requirement.md +24 -0
  545. lilrae-8.0.0/docs/requirements/SOC-005/requirement.md +24 -0
  546. lilrae-8.0.0/docs/requirements/SOC-006/requirement.md +28 -0
  547. lilrae-8.0.0/docs/requirements/SYS-001/requirement.md +20 -0
  548. lilrae-8.0.0/docs/requirements/SYS-002/requirement.md +20 -0
  549. lilrae-8.0.0/docs/requirements/SYS-003/requirement.md +20 -0
  550. lilrae-8.0.0/docs/requirements/SYS-004/requirement.md +20 -0
  551. lilrae-8.0.0/docs/requirements/SYS-005/requirement.md +20 -0
  552. lilrae-8.0.0/docs/requirements/SYS-006/requirement.md +20 -0
  553. lilrae-8.0.0/docs/requirements/SYS-007/requirement.md +20 -0
  554. lilrae-8.0.0/docs/requirements/SYS-008/requirement.md +20 -0
  555. lilrae-8.0.0/docs/requirements/SYS-009/requirement.md +27 -0
  556. lilrae-8.0.0/docs/requirements/SYS-010/requirement.md +30 -0
  557. lilrae-8.0.0/docs/requirements/UI-001/requirement.md +32 -0
  558. lilrae-8.0.0/docs/requirements/UI-002/requirement.md +24 -0
  559. lilrae-8.0.0/docs/requirements/UI-003/requirement.md +30 -0
  560. lilrae-8.0.0/docs/requirements/UI-005/requirement.md +25 -0
  561. lilrae-8.0.0/docs/requirements/UI-006/requirement.md +24 -0
  562. lilrae-8.0.0/docs/requirements/UI-007/requirement.md +26 -0
  563. lilrae-8.0.0/docs/requirements/UI-008/requirement.md +24 -0
  564. lilrae-8.0.0/docs/reviews/1162-seat-acceptance.md +128 -0
  565. lilrae-8.0.0/docs/reviews/1178-seat-desktop-diagnostic.md +41 -0
  566. lilrae-8.0.0/docs/reviews/1194-seat-network-investigation.md +251 -0
  567. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/README.md +193 -0
  568. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/adr-disposition.md +60 -0
  569. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/agent-sandboxing.md +116 -0
  570. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/backlog-disposition.md +138 -0
  571. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/delivery-plan.md +115 -0
  572. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/dependency-changes.json +210 -0
  573. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/README.md +54 -0
  574. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/boundary-final.json +8 -0
  575. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/boundary-probes.py +92 -0
  576. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/boundary-results.json +8 -0
  577. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/dev-protection.json +1 -0
  578. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/precommit-baseline.txt +21 -0
  579. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/precommit-final.txt +243 -0
  580. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/process-final.json +7 -0
  581. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/process-probes.py +67 -0
  582. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/process-results.json +7 -0
  583. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/static-gate-final.txt +10 -0
  584. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/static-gate.txt +10 -0
  585. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/evidence/upstream-959-files.tsv +31 -0
  586. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/identity-disposition.tsv +29 -0
  587. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/migration-inventory.md +67 -0
  588. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/tracked-file-inventory.tsv +1914 -0
  589. lilrae-8.0.0/docs/reviews/962-lilrae-readiness/upstream-update.md +62 -0
  590. lilrae-8.0.0/docs/sdl/complex-scenario-authoring-notes.md +7 -0
  591. lilrae-8.0.0/docs/sdl/complex-scenarios.md +8 -0
  592. lilrae-8.0.0/docs/sdl/index.md +46 -0
  593. lilrae-8.0.0/docs/sdl/limitations.md +8 -0
  594. lilrae-8.0.0/docs/sdl/parser.md +9 -0
  595. lilrae-8.0.0/docs/sdl/precedents.md +6 -0
  596. lilrae-8.0.0/docs/sdl/runtime-architecture.md +34 -0
  597. lilrae-8.0.0/docs/sdl/sections.md +7 -0
  598. lilrae-8.0.0/docs/sdl/techvault-curated-variants.md +101 -0
  599. lilrae-8.0.0/docs/sdl/testing.md +8 -0
  600. lilrae-8.0.0/docs/sdl/validation.md +14 -0
  601. lilrae-8.0.0/docs/security/openssf-best-practices.md +66 -0
  602. lilrae-8.0.0/docs/specs/1178-vm-seat-access-preflight.md +20 -0
  603. lilrae-8.0.0/docs/specs/soc-feature-spec.md +358 -0
  604. lilrae-8.0.0/docs/specs/web-component-kit.md +116 -0
  605. lilrae-8.0.0/docs/specs/web-gui-design-preflight.md +510 -0
  606. lilrae-8.0.0/docs/specs/web-gui-design.md +885 -0
  607. lilrae-8.0.0/docs/testing/boot-realization-coverage.md +105 -0
  608. lilrae-8.0.0/docs/testing/issue-956-candidate-254bc40f-manual-qa.md +194 -0
  609. lilrae-8.0.0/docs/testing/issue-956-candidate-e23fec55-manual-qa.md +231 -0
  610. lilrae-8.0.0/docs/testing/lab-fixture-pack.md +82 -0
  611. lilrae-8.0.0/docs/testing/platform-pr-gates.md +54 -0
  612. lilrae-8.0.0/docs/testing/property-based-parser-tests.md +64 -0
  613. lilrae-8.0.0/docs/testing/smoke-test-plan.md +518 -0
  614. lilrae-8.0.0/docs/troubleshooting/index.md +405 -0
  615. lilrae-8.0.0/docs/workshop/arsenal-2026/README.md +15 -0
  616. lilrae-8.0.0/docs/workshop/arsenal-2026/facilitator.md +328 -0
  617. lilrae-8.0.0/docs/workshop/arsenal-2026/handout.md +192 -0
  618. lilrae-8.0.0/docs/workshop/arsenal-2026/qa.md +400 -0
  619. lilrae-8.0.0/docs/workshop/emergency-rollout.md +192 -0
  620. lilrae-8.0.0/docs/workshop/hosted-backup-seats.md +777 -0
  621. lilrae-8.0.0/docs/workshop/playbook.md +181 -0
  622. lilrae-8.0.0/docs/workshop/walkthrough.md +251 -0
  623. lilrae-8.0.0/eslint.config.js +81 -0
  624. lilrae-8.0.0/examples/aptl-lab-topology.sdl.yaml +899 -0
  625. lilrae-8.0.0/examples/hospital-ransomware-surgery-day.sdl.yaml +912 -0
  626. lilrae-8.0.0/examples/port-authority-surge-response.sdl.yaml +760 -0
  627. lilrae-8.0.0/examples/satcom-release-poisoning.sdl.yaml +821 -0
  628. lilrae-8.0.0/generate-indexer-certs.yml +56 -0
  629. lilrae-8.0.0/hatch_build.py +179 -0
  630. lilrae-8.0.0/lab_connections.txt +34 -0
  631. lilrae-8.0.0/mcp/aptl-mcp-common/package-lock.json +2941 -0
  632. lilrae-8.0.0/mcp/aptl-mcp-common/package.json +43 -0
  633. lilrae-8.0.0/mcp/aptl-mcp-common/src/captures.ts +276 -0
  634. lilrae-8.0.0/mcp/aptl-mcp-common/src/config.ts +326 -0
  635. lilrae-8.0.0/mcp/aptl-mcp-common/src/endpoint-url.ts +58 -0
  636. lilrae-8.0.0/mcp/aptl-mcp-common/src/http.ts +465 -0
  637. lilrae-8.0.0/mcp/aptl-mcp-common/src/index.ts +70 -0
  638. lilrae-8.0.0/mcp/aptl-mcp-common/src/redaction.ts +1008 -0
  639. lilrae-8.0.0/mcp/aptl-mcp-common/src/runs.ts +285 -0
  640. lilrae-8.0.0/mcp/aptl-mcp-common/src/server.ts +248 -0
  641. lilrae-8.0.0/mcp/aptl-mcp-common/src/shells.ts +129 -0
  642. lilrae-8.0.0/mcp/aptl-mcp-common/src/ssh-contracts.ts +137 -0
  643. lilrae-8.0.0/mcp/aptl-mcp-common/src/ssh-manager.ts +468 -0
  644. lilrae-8.0.0/mcp/aptl-mcp-common/src/ssh-session.ts +623 -0
  645. lilrae-8.0.0/mcp/aptl-mcp-common/src/ssh.ts +19 -0
  646. lilrae-8.0.0/mcp/aptl-mcp-common/src/telemetry-export.ts +58 -0
  647. lilrae-8.0.0/mcp/aptl-mcp-common/src/telemetry.ts +240 -0
  648. lilrae-8.0.0/mcp/aptl-mcp-common/src/tools/api-definitions.ts +92 -0
  649. lilrae-8.0.0/mcp/aptl-mcp-common/src/tools/api-handlers.ts +265 -0
  650. lilrae-8.0.0/mcp/aptl-mcp-common/src/tools/definitions.ts +187 -0
  651. lilrae-8.0.0/mcp/aptl-mcp-common/src/tools/handlers.ts +636 -0
  652. lilrae-8.0.0/mcp/aptl-mcp-common/src/utils.ts +17 -0
  653. lilrae-8.0.0/mcp/aptl-mcp-common/tests/api-tools.test.ts +198 -0
  654. lilrae-8.0.0/mcp/aptl-mcp-common/tests/captures.test.ts +498 -0
  655. lilrae-8.0.0/mcp/aptl-mcp-common/tests/config-env-substitution.test.ts +291 -0
  656. lilrae-8.0.0/mcp/aptl-mcp-common/tests/config-logic.test.ts +122 -0
  657. lilrae-8.0.0/mcp/aptl-mcp-common/tests/endpoint-url.test.ts +71 -0
  658. lilrae-8.0.0/mcp/aptl-mcp-common/tests/http-ca.test.ts +173 -0
  659. lilrae-8.0.0/mcp/aptl-mcp-common/tests/http-endpoint-security.test.ts +90 -0
  660. lilrae-8.0.0/mcp/aptl-mcp-common/tests/http-insecure.test.ts +236 -0
  661. lilrae-8.0.0/mcp/aptl-mcp-common/tests/http.test.ts +187 -0
  662. lilrae-8.0.0/mcp/aptl-mcp-common/tests/redaction.parity.test.ts +51 -0
  663. lilrae-8.0.0/mcp/aptl-mcp-common/tests/redaction.test.ts +923 -0
  664. lilrae-8.0.0/mcp/aptl-mcp-common/tests/runs.test.ts +269 -0
  665. lilrae-8.0.0/mcp/aptl-mcp-common/tests/server-hook.test.ts +265 -0
  666. lilrae-8.0.0/mcp/aptl-mcp-common/tests/server-logic.test.ts +106 -0
  667. lilrae-8.0.0/mcp/aptl-mcp-common/tests/shells.test.ts +215 -0
  668. lilrae-8.0.0/mcp/aptl-mcp-common/tests/ssh-facade.test.ts +42 -0
  669. lilrae-8.0.0/mcp/aptl-mcp-common/tests/ssh.test.ts +1703 -0
  670. lilrae-8.0.0/mcp/aptl-mcp-common/tests/telemetry-export.test.ts +38 -0
  671. lilrae-8.0.0/mcp/aptl-mcp-common/tests/telemetry.test.ts +328 -0
  672. lilrae-8.0.0/mcp/aptl-mcp-common/tests/tools-definitions.test.ts +81 -0
  673. lilrae-8.0.0/mcp/aptl-mcp-common/tests/tools-handlers.test.ts +463 -0
  674. lilrae-8.0.0/mcp/aptl-mcp-common/tsconfig.json +15 -0
  675. lilrae-8.0.0/mcp/aptl-mcp-common/vitest.config.ts +14 -0
  676. lilrae-8.0.0/mcp/build-all-mcps.sh +22 -0
  677. lilrae-8.0.0/mcp/mcp-casemgmt/.gitignore +2 -0
  678. lilrae-8.0.0/mcp/mcp-casemgmt/docker-lab-config.json +102 -0
  679. lilrae-8.0.0/mcp/mcp-casemgmt/package-lock.json +2351 -0
  680. lilrae-8.0.0/mcp/mcp-casemgmt/package.json +33 -0
  681. lilrae-8.0.0/mcp/mcp-casemgmt/src/index.ts +10 -0
  682. lilrae-8.0.0/mcp/mcp-casemgmt/tsconfig.build.json +13 -0
  683. lilrae-8.0.0/mcp/mcp-casemgmt/tsconfig.json +17 -0
  684. lilrae-8.0.0/mcp/mcp-indexer/.gitignore +2 -0
  685. lilrae-8.0.0/mcp/mcp-indexer/docker-lab-config.json +88 -0
  686. lilrae-8.0.0/mcp/mcp-indexer/package-lock.json +3546 -0
  687. lilrae-8.0.0/mcp/mcp-indexer/package.json +42 -0
  688. lilrae-8.0.0/mcp/mcp-indexer/src/index.ts +11 -0
  689. lilrae-8.0.0/mcp/mcp-indexer/tsconfig.build.json +9 -0
  690. lilrae-8.0.0/mcp/mcp-indexer/tsconfig.json +16 -0
  691. lilrae-8.0.0/mcp/mcp-indexer/vitest.config.ts +7 -0
  692. lilrae-8.0.0/mcp/mcp-network/.gitignore +2 -0
  693. lilrae-8.0.0/mcp/mcp-network/docker-lab-config.json +120 -0
  694. lilrae-8.0.0/mcp/mcp-network/package-lock.json +2351 -0
  695. lilrae-8.0.0/mcp/mcp-network/package.json +33 -0
  696. lilrae-8.0.0/mcp/mcp-network/src/index.ts +10 -0
  697. lilrae-8.0.0/mcp/mcp-network/tsconfig.build.json +13 -0
  698. lilrae-8.0.0/mcp/mcp-network/tsconfig.json +17 -0
  699. lilrae-8.0.0/mcp/mcp-red/.gitignore +4 -0
  700. lilrae-8.0.0/mcp/mcp-red/.prettierrc +7 -0
  701. lilrae-8.0.0/mcp/mcp-red/docker-lab-config.json +26 -0
  702. lilrae-8.0.0/mcp/mcp-red/eslint.config.js +41 -0
  703. lilrae-8.0.0/mcp/mcp-red/package-lock.json +3787 -0
  704. lilrae-8.0.0/mcp/mcp-red/package.json +43 -0
  705. lilrae-8.0.0/mcp/mcp-red/src/capture.ts +207 -0
  706. lilrae-8.0.0/mcp/mcp-red/src/classifier.ts +790 -0
  707. lilrae-8.0.0/mcp/mcp-red/src/effective-mode.ts +75 -0
  708. lilrae-8.0.0/mcp/mcp-red/src/extractor.ts +963 -0
  709. lilrae-8.0.0/mcp/mcp-red/src/index.ts +169 -0
  710. lilrae-8.0.0/mcp/mcp-red/src/logger.ts +456 -0
  711. lilrae-8.0.0/mcp/mcp-red/tests/capture.test.ts +335 -0
  712. lilrae-8.0.0/mcp/mcp-red/tests/classifier.test.ts +396 -0
  713. lilrae-8.0.0/mcp/mcp-red/tests/effective-mode.test.ts +166 -0
  714. lilrae-8.0.0/mcp/mcp-red/tests/extractor.test.ts +646 -0
  715. lilrae-8.0.0/mcp/mcp-red/tests/logger.test.ts +595 -0
  716. lilrae-8.0.0/mcp/mcp-red/tsconfig.build.json +9 -0
  717. lilrae-8.0.0/mcp/mcp-red/tsconfig.json +16 -0
  718. lilrae-8.0.0/mcp/mcp-red/vitest.config.ts +15 -0
  719. lilrae-8.0.0/mcp/mcp-reverse/.gitignore +4 -0
  720. lilrae-8.0.0/mcp/mcp-reverse/.prettierrc +7 -0
  721. lilrae-8.0.0/mcp/mcp-reverse/docker-lab-config.json +25 -0
  722. lilrae-8.0.0/mcp/mcp-reverse/eslint.config.js +41 -0
  723. lilrae-8.0.0/mcp/mcp-reverse/package-lock.json +3547 -0
  724. lilrae-8.0.0/mcp/mcp-reverse/package.json +42 -0
  725. lilrae-8.0.0/mcp/mcp-reverse/src/index.ts +10 -0
  726. lilrae-8.0.0/mcp/mcp-reverse/tsconfig.build.json +9 -0
  727. lilrae-8.0.0/mcp/mcp-reverse/tsconfig.json +16 -0
  728. lilrae-8.0.0/mcp/mcp-reverse/vitest.config.ts +8 -0
  729. lilrae-8.0.0/mcp/mcp-soar/.gitignore +2 -0
  730. lilrae-8.0.0/mcp/mcp-soar/docker-lab-config.json +82 -0
  731. lilrae-8.0.0/mcp/mcp-soar/package-lock.json +2351 -0
  732. lilrae-8.0.0/mcp/mcp-soar/package.json +33 -0
  733. lilrae-8.0.0/mcp/mcp-soar/src/index.ts +10 -0
  734. lilrae-8.0.0/mcp/mcp-soar/tsconfig.build.json +13 -0
  735. lilrae-8.0.0/mcp/mcp-soar/tsconfig.json +17 -0
  736. lilrae-8.0.0/mcp/mcp-threatintel/.gitignore +2 -0
  737. lilrae-8.0.0/mcp/mcp-threatintel/docker-lab-config.json +85 -0
  738. lilrae-8.0.0/mcp/mcp-threatintel/package-lock.json +2351 -0
  739. lilrae-8.0.0/mcp/mcp-threatintel/package.json +33 -0
  740. lilrae-8.0.0/mcp/mcp-threatintel/src/index.ts +10 -0
  741. lilrae-8.0.0/mcp/mcp-threatintel/tsconfig.build.json +13 -0
  742. lilrae-8.0.0/mcp/mcp-threatintel/tsconfig.json +17 -0
  743. lilrae-8.0.0/mcp/mcp-wazuh/docker-lab-config.json +82 -0
  744. lilrae-8.0.0/mcp/mcp-wazuh/package-lock.json +2471 -0
  745. lilrae-8.0.0/mcp/mcp-wazuh/package.json +33 -0
  746. lilrae-8.0.0/mcp/mcp-wazuh/src/index.ts +10 -0
  747. lilrae-8.0.0/mcp/mcp-wazuh/tsconfig.build.json +13 -0
  748. lilrae-8.0.0/mcp/mcp-wazuh/tsconfig.json +17 -0
  749. lilrae-8.0.0/mcp/package-lock.json +6 -0
  750. lilrae-8.0.0/mkdocs.yml +246 -0
  751. lilrae-8.0.0/participant-profiles/guided-purple-v1/aptl.json +36 -0
  752. lilrae-8.0.0/participant-profiles/guided-purple-v1/asset-lock.json +148 -0
  753. lilrae-8.0.0/participant-profiles/guided-purple-v1/narrative.json +84 -0
  754. lilrae-8.0.0/participant-profiles/guided-purple-v1/profile.json +54 -0
  755. lilrae-8.0.0/participant-profiles/guided-purple-v1/readiness.json +95 -0
  756. lilrae-8.0.0/pyproject.toml +229 -0
  757. lilrae-8.0.0/release-please-config.json +18 -0
  758. lilrae-8.0.0/requirements/ci.txt +640 -0
  759. lilrae-8.0.0/requirements/dev.txt +1279 -0
  760. lilrae-8.0.0/requirements/docs.txt +1223 -0
  761. lilrae-8.0.0/requirements/runtime.txt +1033 -0
  762. lilrae-8.0.0/requirements/web.txt +1053 -0
  763. lilrae-8.0.0/scenarios/archive/README.md +10 -0
  764. lilrae-8.0.0/scenarios/archive/ad-domain-compromise.yaml +170 -0
  765. lilrae-8.0.0/scenarios/archive/detect-brute-force.yaml +82 -0
  766. lilrae-8.0.0/scenarios/archive/lateral-movement-data-theft.yaml +158 -0
  767. lilrae-8.0.0/scenarios/archive/prime-enterprise.yaml +878 -0
  768. lilrae-8.0.0/scenarios/archive/prime-scenario.md +406 -0
  769. lilrae-8.0.0/scenarios/archive/recon-nmap-scan.yaml +85 -0
  770. lilrae-8.0.0/scenarios/archive/webapp-compromise.yaml +202 -0
  771. lilrae-8.0.0/scenarios/bounded-participant-agency-techvault.sdl.yaml +1406 -0
  772. lilrae-8.0.0/scenarios/catalog.json +68 -0
  773. lilrae-8.0.0/scenarios/paper-agent-loop.sdl.yaml +794 -0
  774. lilrae-8.0.0/scenarios/techvault-attacker-target.sdl.yaml +65 -0
  775. lilrae-8.0.0/scenarios/techvault-defensive-min.sdl.yaml +51 -0
  776. lilrae-8.0.0/scenarios/techvault-enterprise-web.sdl.yaml +93 -0
  777. lilrae-8.0.0/scripts/appliance/acquire-guest-system-packages.sh +55 -0
  778. lilrae-8.0.0/scripts/appliance/assemble-seat-inputs.py +223 -0
  779. lilrae-8.0.0/scripts/appliance/build-local-images.sh +80 -0
  780. lilrae-8.0.0/scripts/appliance/build-seat-image.sh +305 -0
  781. lilrae-8.0.0/scripts/appliance/publish-images.sh +124 -0
  782. lilrae-8.0.0/scripts/appliance/publish-seat-image.sh +158 -0
  783. lilrae-8.0.0/scripts/appliance/qualify-seat-image.sh +69 -0
  784. lilrae-8.0.0/scripts/appliance/qualify-seat-privileges.sh +110 -0
  785. lilrae-8.0.0/scripts/appliance/seat-base-image.env +5 -0
  786. lilrae-8.0.0/scripts/appliance/seat-build-record.py +89 -0
  787. lilrae-8.0.0/scripts/appliance/write-seat-image-config.py +99 -0
  788. lilrae-8.0.0/scripts/aptl-env.sh +62 -0
  789. lilrae-8.0.0/scripts/aptl-range.service +25 -0
  790. lilrae-8.0.0/scripts/ci/assert_boot_realization.py +729 -0
  791. lilrae-8.0.0/scripts/ci/assert_project_teardown.py +193 -0
  792. lilrae-8.0.0/scripts/cortex-apikey.sh +274 -0
  793. lilrae-8.0.0/scripts/cortex-index-init.sh +35 -0
  794. lilrae-8.0.0/scripts/generate-ssh-keys.sh +49 -0
  795. lilrae-8.0.0/scripts/launch-ranges.sh +119 -0
  796. lilrae-8.0.0/scripts/provision-range.sh +159 -0
  797. lilrae-8.0.0/scripts/seed-misp.sh +246 -0
  798. lilrae-8.0.0/scripts/seed-prime.sh +304 -0
  799. lilrae-8.0.0/scripts/seed-shuffle.sh +267 -0
  800. lilrae-8.0.0/scripts/setup-purple-demo.sh +75 -0
  801. lilrae-8.0.0/scripts/setup-rdp.sh +96 -0
  802. lilrae-8.0.0/scripts/setup-vulnerable-victim.sh +217 -0
  803. lilrae-8.0.0/scripts/test-continuity-audit.sh +98 -0
  804. lilrae-8.0.0/scripts/test-wazuh-ar-drop.sh +225 -0
  805. lilrae-8.0.0/scripts/test-wazuh-ar-whitelist.sh +108 -0
  806. lilrae-8.0.0/scripts/thehive-apikey.sh +113 -0
  807. lilrae-8.0.0/sonar-project.properties +167 -0
  808. lilrae-8.0.0/src/aptl/__init__.py +9 -0
  809. lilrae-8.0.0/src/aptl/_asset_manifest.py +91 -0
  810. lilrae-8.0.0/src/aptl/api/__init__.py +1 -0
  811. lilrae-8.0.0/src/aptl/api/deps.py +243 -0
  812. lilrae-8.0.0/src/aptl/api/main.py +177 -0
  813. lilrae-8.0.0/src/aptl/api/middleware/__init__.py +1 -0
  814. lilrae-8.0.0/src/aptl/api/middleware/bff.py +188 -0
  815. lilrae-8.0.0/src/aptl/api/routers/__init__.py +1 -0
  816. lilrae-8.0.0/src/aptl/api/routers/config.py +62 -0
  817. lilrae-8.0.0/src/aptl/api/routers/kill.py +50 -0
  818. lilrae-8.0.0/src/aptl/api/routers/lab.py +203 -0
  819. lilrae-8.0.0/src/aptl/api/routers/scenarios.py +96 -0
  820. lilrae-8.0.0/src/aptl/api/routers/terminal.py +357 -0
  821. lilrae-8.0.0/src/aptl/api/scenario_projection.py +277 -0
  822. lilrae-8.0.0/src/aptl/api/schemas.py +338 -0
  823. lilrae-8.0.0/src/aptl/api/session.py +166 -0
  824. lilrae-8.0.0/src/aptl/appliance/__init__.py +1 -0
  825. lilrae-8.0.0/src/aptl/appliance/access_service.py +363 -0
  826. lilrae-8.0.0/src/aptl/appliance/access_service_support.py +208 -0
  827. lilrae-8.0.0/src/aptl/appliance/download.py +264 -0
  828. lilrae-8.0.0/src/aptl/appliance/errors.py +5 -0
  829. lilrae-8.0.0/src/aptl/appliance/guest_observation.py +631 -0
  830. lilrae-8.0.0/src/aptl/appliance/guest_services.py +27 -0
  831. lilrae-8.0.0/src/aptl/appliance/guest_surfaces.py +142 -0
  832. lilrae-8.0.0/src/aptl/appliance/input_images.py +185 -0
  833. lilrae-8.0.0/src/aptl/appliance/input_profile.py +244 -0
  834. lilrae-8.0.0/src/aptl/appliance/loopback_proxy.py +123 -0
  835. lilrae-8.0.0/src/aptl/appliance/policy.py +55 -0
  836. lilrae-8.0.0/src/aptl/appliance/seat/__init__.py +45 -0
  837. lilrae-8.0.0/src/aptl/appliance/seat/_device.py +45 -0
  838. lilrae-8.0.0/src/aptl/appliance/seat/access.py +445 -0
  839. lilrae-8.0.0/src/aptl/appliance/seat/access_clients.py +87 -0
  840. lilrae-8.0.0/src/aptl/appliance/seat/access_state.py +104 -0
  841. lilrae-8.0.0/src/aptl/appliance/seat/allocation.py +359 -0
  842. lilrae-8.0.0/src/aptl/appliance/seat/aptl-seat.pub +4 -0
  843. lilrae-8.0.0/src/aptl/appliance/seat/context.py +71 -0
  844. lilrae-8.0.0/src/aptl/appliance/seat/errors.py +12 -0
  845. lilrae-8.0.0/src/aptl/appliance/seat/exposure.py +136 -0
  846. lilrae-8.0.0/src/aptl/appliance/seat/image.py +492 -0
  847. lilrae-8.0.0/src/aptl/appliance/seat/image_config.py +99 -0
  848. lilrae-8.0.0/src/aptl/appliance/seat/image_disk_cache.py +149 -0
  849. lilrae-8.0.0/src/aptl/appliance/seat/image_selection.py +466 -0
  850. lilrae-8.0.0/src/aptl/appliance/seat/image_trust.py +190 -0
  851. lilrae-8.0.0/src/aptl/appliance/seat/image_update.py +96 -0
  852. lilrae-8.0.0/src/aptl/appliance/seat/kiosk.py +144 -0
  853. lilrae-8.0.0/src/aptl/appliance/seat/launch_descriptor.py +104 -0
  854. lilrae-8.0.0/src/aptl/appliance/seat/lifecycle.py +1272 -0
  855. lilrae-8.0.0/src/aptl/appliance/seat/locking.py +129 -0
  856. lilrae-8.0.0/src/aptl/appliance/seat/maintenance.py +66 -0
  857. lilrae-8.0.0/src/aptl/appliance/seat/models.py +81 -0
  858. lilrae-8.0.0/src/aptl/appliance/seat/namespace.py +48 -0
  859. lilrae-8.0.0/src/aptl/appliance/seat/observation.py +403 -0
  860. lilrae-8.0.0/src/aptl/appliance/seat/overlay.py +172 -0
  861. lilrae-8.0.0/src/aptl/appliance/seat/overlay_cleanup.py +38 -0
  862. lilrae-8.0.0/src/aptl/appliance/seat/overlay_identity.py +130 -0
  863. lilrae-8.0.0/src/aptl/appliance/seat/paths.py +48 -0
  864. lilrae-8.0.0/src/aptl/appliance/seat/persistence.py +96 -0
  865. lilrae-8.0.0/src/aptl/appliance/seat/prereqs.py +289 -0
  866. lilrae-8.0.0/src/aptl/appliance/seat/private_vm.py +156 -0
  867. lilrae-8.0.0/src/aptl/appliance/seat/privileges.py +122 -0
  868. lilrae-8.0.0/src/aptl/appliance/seat/readiness.py +247 -0
  869. lilrae-8.0.0/src/aptl/appliance/seat/retained_image.py +83 -0
  870. lilrae-8.0.0/src/aptl/appliance/seat/vm.py +465 -0
  871. lilrae-8.0.0/src/aptl/appliance/versioning.py +35 -0
  872. lilrae-8.0.0/src/aptl/backends/__init__.py +6 -0
  873. lilrae-8.0.0/src/aptl/backends/_compose_profile_index.py +160 -0
  874. lilrae-8.0.0/src/aptl/backends/_raes_admission_helpers.py +86 -0
  875. lilrae-8.0.0/src/aptl/backends/_raes_apply_helpers.py +77 -0
  876. lilrae-8.0.0/src/aptl/backends/_raes_apply_reporting.py +172 -0
  877. lilrae-8.0.0/src/aptl/backends/_raes_artifact_delivery_observation.py +332 -0
  878. lilrae-8.0.0/src/aptl/backends/_raes_backend_generated_artifacts.py +204 -0
  879. lilrae-8.0.0/src/aptl/backends/_raes_backend_implementation_catalog.py +449 -0
  880. lilrae-8.0.0/src/aptl/backends/_raes_backend_implementation_images.py +17 -0
  881. lilrae-8.0.0/src/aptl/backends/_raes_backend_implementation_profiles.py +259 -0
  882. lilrae-8.0.0/src/aptl/backends/_raes_backend_implementation_types.py +96 -0
  883. lilrae-8.0.0/src/aptl/backends/_raes_conformance_probe.py +146 -0
  884. lilrae-8.0.0/src/aptl/backends/_raes_content_spec.py +50 -0
  885. lilrae-8.0.0/src/aptl/backends/_raes_dataset_content.py +82 -0
  886. lilrae-8.0.0/src/aptl/backends/_raes_docker_materializer_observations.py +182 -0
  887. lilrae-8.0.0/src/aptl/backends/_raes_docker_observation_values.py +53 -0
  888. lilrae-8.0.0/src/aptl/backends/_raes_evaluator_engine.py +333 -0
  889. lilrae-8.0.0/src/aptl/backends/_raes_evaluator_progress.py +170 -0
  890. lilrae-8.0.0/src/aptl/backends/_raes_evidence_refresh_policy.py +46 -0
  891. lilrae-8.0.0/src/aptl/backends/_raes_guest_os_observation.py +63 -0
  892. lilrae-8.0.0/src/aptl/backends/_raes_guest_package_observation.py +174 -0
  893. lilrae-8.0.0/src/aptl/backends/_raes_guest_process_limits.py +125 -0
  894. lilrae-8.0.0/src/aptl/backends/_raes_image_policy.py +154 -0
  895. lilrae-8.0.0/src/aptl/backends/_raes_manifest_resources.py +26 -0
  896. lilrae-8.0.0/src/aptl/backends/_raes_native_evidence_acquisition.py +181 -0
  897. lilrae-8.0.0/src/aptl/backends/_raes_network_observation.py +41 -0
  898. lilrae-8.0.0/src/aptl/backends/_raes_node_realization.py +278 -0
  899. lilrae-8.0.0/src/aptl/backends/_raes_observation_helpers.py +478 -0
  900. lilrae-8.0.0/src/aptl/backends/_raes_observation_index.py +161 -0
  901. lilrae-8.0.0/src/aptl/backends/_raes_observation_ordering.py +198 -0
  902. lilrae-8.0.0/src/aptl/backends/_raes_operational_observation.py +229 -0
  903. lilrae-8.0.0/src/aptl/backends/_raes_participant_crossing.py +215 -0
  904. lilrae-8.0.0/src/aptl/backends/_raes_participant_evidence.py +203 -0
  905. lilrae-8.0.0/src/aptl/backends/_raes_participant_execution.py +485 -0
  906. lilrae-8.0.0/src/aptl/backends/_raes_participant_manifest.py +82 -0
  907. lilrae-8.0.0/src/aptl/backends/_raes_participant_models.py +73 -0
  908. lilrae-8.0.0/src/aptl/backends/_raes_participant_planning.py +383 -0
  909. lilrae-8.0.0/src/aptl/backends/_raes_participant_snapshot.py +37 -0
  910. lilrae-8.0.0/src/aptl/backends/_raes_participant_transport.py +352 -0
  911. lilrae-8.0.0/src/aptl/backends/_raes_proposition_truth.py +395 -0
  912. lilrae-8.0.0/src/aptl/backends/_raes_provisioner_start.py +296 -0
  913. lilrae-8.0.0/src/aptl/backends/_raes_provisioning_helpers.py +135 -0
  914. lilrae-8.0.0/src/aptl/backends/_raes_realization_diagnostics.py +92 -0
  915. lilrae-8.0.0/src/aptl/backends/_raes_runtime_container_observation.py +250 -0
  916. lilrae-8.0.0/src/aptl/backends/_raes_runtime_environment_observation.py +93 -0
  917. lilrae-8.0.0/src/aptl/backends/_raes_runtime_materialization_admission.py +168 -0
  918. lilrae-8.0.0/src/aptl/backends/_raes_runtime_network_observation.py +154 -0
  919. lilrae-8.0.0/src/aptl/backends/_raes_runtime_target_options.py +31 -0
  920. lilrae-8.0.0/src/aptl/backends/_raes_scenario_queries.py +187 -0
  921. lilrae-8.0.0/src/aptl/backends/_raes_scenario_resolution.py +76 -0
  922. lilrae-8.0.0/src/aptl/backends/_raes_service_index_placement.py +84 -0
  923. lilrae-8.0.0/src/aptl/backends/_raes_shuffle_implementation_catalog.py +103 -0
  924. lilrae-8.0.0/src/aptl/backends/_raes_start_failure.py +49 -0
  925. lilrae-8.0.0/src/aptl/backends/_raes_stateful_observation.py +264 -0
  926. lilrae-8.0.0/src/aptl/backends/_raes_stateful_values.py +39 -0
  927. lilrae-8.0.0/src/aptl/backends/_raes_transcript_qualification.py +71 -0
  928. lilrae-8.0.0/src/aptl/backends/_runtime_concern_disclosure.py +60 -0
  929. lilrae-8.0.0/src/aptl/backends/_runtime_concern_excess.py +248 -0
  930. lilrae-8.0.0/src/aptl/backends/_runtime_mount_observation.py +113 -0
  931. lilrae-8.0.0/src/aptl/backends/_scenario_environment.py +78 -0
  932. lilrae-8.0.0/src/aptl/backends/_scenario_startup_runtime.py +172 -0
  933. lilrae-8.0.0/src/aptl/backends/identity.py +28 -0
  934. lilrae-8.0.0/src/aptl/backends/pack_interaction.py +110 -0
  935. lilrae-8.0.0/src/aptl/backends/pack_interaction_discovery.py +336 -0
  936. lilrae-8.0.0/src/aptl/backends/raes.py +495 -0
  937. lilrae-8.0.0/src/aptl/backends/raes_account_realization.py +134 -0
  938. lilrae-8.0.0/src/aptl/backends/raes_acl_realization.py +228 -0
  939. lilrae-8.0.0/src/aptl/backends/raes_artifact_availability.py +495 -0
  940. lilrae-8.0.0/src/aptl/backends/raes_artifact_mechanisms.py +460 -0
  941. lilrae-8.0.0/src/aptl/backends/raes_artifact_satisfaction.py +425 -0
  942. lilrae-8.0.0/src/aptl/backends/raes_backend_implementation.py +410 -0
  943. lilrae-8.0.0/src/aptl/backends/raes_base_substrate.py +409 -0
  944. lilrae-8.0.0/src/aptl/backends/raes_content_realization.py +480 -0
  945. lilrae-8.0.0/src/aptl/backends/raes_content_satisfaction.py +196 -0
  946. lilrae-8.0.0/src/aptl/backends/raes_content_source_policy.py +74 -0
  947. lilrae-8.0.0/src/aptl/backends/raes_dependency_closure.py +374 -0
  948. lilrae-8.0.0/src/aptl/backends/raes_diagnostics.py +314 -0
  949. lilrae-8.0.0/src/aptl/backends/raes_docker_materializer.py +474 -0
  950. lilrae-8.0.0/src/aptl/backends/raes_evaluator.py +488 -0
  951. lilrae-8.0.0/src/aptl/backends/raes_evidence.py +175 -0
  952. lilrae-8.0.0/src/aptl/backends/raes_evidence_acquisition.py +466 -0
  953. lilrae-8.0.0/src/aptl/backends/raes_execution_helpers.py +46 -0
  954. lilrae-8.0.0/src/aptl/backends/raes_image_realization.py +460 -0
  955. lilrae-8.0.0/src/aptl/backends/raes_literal_content_realization.py +267 -0
  956. lilrae-8.0.0/src/aptl/backends/raes_manifest.py +493 -0
  957. lilrae-8.0.0/src/aptl/backends/raes_materializer.py +466 -0
  958. lilrae-8.0.0/src/aptl/backends/raes_materializer_engine.py +415 -0
  959. lilrae-8.0.0/src/aptl/backends/raes_node_materialization.py +232 -0
  960. lilrae-8.0.0/src/aptl/backends/raes_observability_scope.py +112 -0
  961. lilrae-8.0.0/src/aptl/backends/raes_observation.py +492 -0
  962. lilrae-8.0.0/src/aptl/backends/raes_operating_systems.py +151 -0
  963. lilrae-8.0.0/src/aptl/backends/raes_operator_access.py +52 -0
  964. lilrae-8.0.0/src/aptl/backends/raes_orchestrator.py +309 -0
  965. lilrae-8.0.0/src/aptl/backends/raes_pack_interaction.py +73 -0
  966. lilrae-8.0.0/src/aptl/backends/raes_package_managers.py +247 -0
  967. lilrae-8.0.0/src/aptl/backends/raes_participant_actions.py +480 -0
  968. lilrae-8.0.0/src/aptl/backends/raes_participant_apparatus.py +278 -0
  969. lilrae-8.0.0/src/aptl/backends/raes_participant_apparatus_models.py +44 -0
  970. lilrae-8.0.0/src/aptl/backends/raes_participant_bindings.py +490 -0
  971. lilrae-8.0.0/src/aptl/backends/raes_participant_candidates.py +171 -0
  972. lilrae-8.0.0/src/aptl/backends/raes_participant_control_evidence.py +155 -0
  973. lilrae-8.0.0/src/aptl/backends/raes_participant_delivery.py +33 -0
  974. lilrae-8.0.0/src/aptl/backends/raes_participant_driver.py +495 -0
  975. lilrae-8.0.0/src/aptl/backends/raes_participant_evidence_publication.py +127 -0
  976. lilrae-8.0.0/src/aptl/backends/raes_participant_execution_support.py +69 -0
  977. lilrae-8.0.0/src/aptl/backends/raes_participant_exposure.py +159 -0
  978. lilrae-8.0.0/src/aptl/backends/raes_participant_fixture.py +72 -0
  979. lilrae-8.0.0/src/aptl/backends/raes_participant_fixture_blue.py +311 -0
  980. lilrae-8.0.0/src/aptl/backends/raes_participant_fixture_core.py +456 -0
  981. lilrae-8.0.0/src/aptl/backends/raes_participant_fixture_green.py +339 -0
  982. lilrae-8.0.0/src/aptl/backends/raes_participant_fixture_red.py +285 -0
  983. lilrae-8.0.0/src/aptl/backends/raes_participant_projection.py +415 -0
  984. lilrae-8.0.0/src/aptl/backends/raes_participant_provider.py +285 -0
  985. lilrae-8.0.0/src/aptl/backends/raes_participant_realization_execution.py +485 -0
  986. lilrae-8.0.0/src/aptl/backends/raes_participant_realizations.py +482 -0
  987. lilrae-8.0.0/src/aptl/backends/raes_participant_runtime.py +484 -0
  988. lilrae-8.0.0/src/aptl/backends/raes_participant_support.py +101 -0
  989. lilrae-8.0.0/src/aptl/backends/raes_placement_realization.py +223 -0
  990. lilrae-8.0.0/src/aptl/backends/raes_planning_compat.py +499 -0
  991. lilrae-8.0.0/src/aptl/backends/raes_profiles.py +412 -0
  992. lilrae-8.0.0/src/aptl/backends/raes_provisioner.py +364 -0
  993. lilrae-8.0.0/src/aptl/backends/raes_realization.py +404 -0
  994. lilrae-8.0.0/src/aptl/backends/raes_realization_envelope.py +145 -0
  995. lilrae-8.0.0/src/aptl/backends/raes_realization_model.py +394 -0
  996. lilrae-8.0.0/src/aptl/backends/raes_realization_networks.py +285 -0
  997. lilrae-8.0.0/src/aptl/backends/raes_realization_values.py +378 -0
  998. lilrae-8.0.0/src/aptl/backends/raes_repro.py +201 -0
  999. lilrae-8.0.0/src/aptl/backends/raes_runtime_attestation.py +391 -0
  1000. lilrae-8.0.0/src/aptl/backends/raes_runtime_guest_observation.py +437 -0
  1001. lilrae-8.0.0/src/aptl/backends/raes_runtime_model_artifact.py +66 -0
  1002. lilrae-8.0.0/src/aptl/backends/raes_runtime_observation.py +478 -0
  1003. lilrae-8.0.0/src/aptl/backends/raes_runtime_orchestration.py +318 -0
  1004. lilrae-8.0.0/src/aptl/backends/raes_service_index_schema.py +192 -0
  1005. lilrae-8.0.0/src/aptl/backends/raes_start_model.py +73 -0
  1006. lilrae-8.0.0/src/aptl/backends/raes_stateful_realization.py +479 -0
  1007. lilrae-8.0.0/src/aptl/backends/raes_substrate.py +172 -0
  1008. lilrae-8.0.0/src/aptl/backends/scenario_capture.py +80 -0
  1009. lilrae-8.0.0/src/aptl/backends/scenario_capture_discovery.py +159 -0
  1010. lilrae-8.0.0/src/aptl/backends/scenario_planning_compatibility.py +130 -0
  1011. lilrae-8.0.0/src/aptl/backends/scenario_planning_compatibility_discovery.py +182 -0
  1012. lilrae-8.0.0/src/aptl/backends/scenario_runtime_hooks.py +65 -0
  1013. lilrae-8.0.0/src/aptl/backends/scenario_runtime_parameters.py +118 -0
  1014. lilrae-8.0.0/src/aptl/backends/scenario_runtime_selection.py +52 -0
  1015. lilrae-8.0.0/src/aptl/backends/scenario_service_policy.py +303 -0
  1016. lilrae-8.0.0/src/aptl/backends/scenario_startup.py +496 -0
  1017. lilrae-8.0.0/src/aptl/backends/scenario_startup_policy.py +211 -0
  1018. lilrae-8.0.0/src/aptl/cli/__init__.py +0 -0
  1019. lilrae-8.0.0/src/aptl/cli/_common.py +148 -0
  1020. lilrae-8.0.0/src/aptl/cli/_start_residue.py +70 -0
  1021. lilrae-8.0.0/src/aptl/cli/config.py +88 -0
  1022. lilrae-8.0.0/src/aptl/cli/container.py +126 -0
  1023. lilrae-8.0.0/src/aptl/cli/continuity.py +363 -0
  1024. lilrae-8.0.0/src/aptl/cli/doctor.py +92 -0
  1025. lilrae-8.0.0/src/aptl/cli/experiment.py +143 -0
  1026. lilrae-8.0.0/src/aptl/cli/kill.py +66 -0
  1027. lilrae-8.0.0/src/aptl/cli/lab.py +735 -0
  1028. lilrae-8.0.0/src/aptl/cli/lab_init.py +66 -0
  1029. lilrae-8.0.0/src/aptl/cli/lab_render.py +466 -0
  1030. lilrae-8.0.0/src/aptl/cli/lifecycle.py +155 -0
  1031. lilrae-8.0.0/src/aptl/cli/main.py +57 -0
  1032. lilrae-8.0.0/src/aptl/cli/mcp_access.py +179 -0
  1033. lilrae-8.0.0/src/aptl/cli/participant_profile.py +88 -0
  1034. lilrae-8.0.0/src/aptl/cli/runs.py +344 -0
  1035. lilrae-8.0.0/src/aptl/cli/seat.py +489 -0
  1036. lilrae-8.0.0/src/aptl/cli/seat_inputs.py +119 -0
  1037. lilrae-8.0.0/src/aptl/cli/web.py +164 -0
  1038. lilrae-8.0.0/src/aptl/core/__init__.py +0 -0
  1039. lilrae-8.0.0/src/aptl/core/_credential_sources.py +122 -0
  1040. lilrae-8.0.0/src/aptl/core/_doctor_common.py +59 -0
  1041. lilrae-8.0.0/src/aptl/core/_doctor_runtime.py +405 -0
  1042. lilrae-8.0.0/src/aptl/core/_pack_staging.py +76 -0
  1043. lilrae-8.0.0/src/aptl/core/_port_bindings.py +119 -0
  1044. lilrae-8.0.0/src/aptl/core/_soc_ca_builders.py +136 -0
  1045. lilrae-8.0.0/src/aptl/core/_soc_ca_chain.py +405 -0
  1046. lilrae-8.0.0/src/aptl/core/_soc_ca_generation.py +205 -0
  1047. lilrae-8.0.0/src/aptl/core/_soc_ca_io.py +182 -0
  1048. lilrae-8.0.0/src/aptl/core/appliance_boundary.py +300 -0
  1049. lilrae-8.0.0/src/aptl/core/appliance_boundary_gate.py +62 -0
  1050. lilrae-8.0.0/src/aptl/core/appliance_boundary_inventory.py +422 -0
  1051. lilrae-8.0.0/src/aptl/core/archival/__init__.py +58 -0
  1052. lilrae-8.0.0/src/aptl/core/archival/context.py +111 -0
  1053. lilrae-8.0.0/src/aptl/core/archival/coordinator.py +230 -0
  1054. lilrae-8.0.0/src/aptl/core/archival/discovery_index.py +432 -0
  1055. lilrae-8.0.0/src/aptl/core/archival/layout.py +62 -0
  1056. lilrae-8.0.0/src/aptl/core/archival/legacy_manifest.py +153 -0
  1057. lilrae-8.0.0/src/aptl/core/archival/run_record.py +144 -0
  1058. lilrae-8.0.0/src/aptl/core/archival/seal.py +233 -0
  1059. lilrae-8.0.0/src/aptl/core/archival/status.py +128 -0
  1060. lilrae-8.0.0/src/aptl/core/archival/verify.py +149 -0
  1061. lilrae-8.0.0/src/aptl/core/assets.py +289 -0
  1062. lilrae-8.0.0/src/aptl/core/attacks.py +91 -0
  1063. lilrae-8.0.0/src/aptl/core/certs.py +394 -0
  1064. lilrae-8.0.0/src/aptl/core/collectors.py +384 -0
  1065. lilrae-8.0.0/src/aptl/core/config.py +461 -0
  1066. lilrae-8.0.0/src/aptl/core/content_seed.py +196 -0
  1067. lilrae-8.0.0/src/aptl/core/continuity.py +651 -0
  1068. lilrae-8.0.0/src/aptl/core/contracts.py +79 -0
  1069. lilrae-8.0.0/src/aptl/core/correlation/__init__.py +10 -0
  1070. lilrae-8.0.0/src/aptl/core/correlation/_assemble.py +362 -0
  1071. lilrae-8.0.0/src/aptl/core/correlation/_extract.py +268 -0
  1072. lilrae-8.0.0/src/aptl/core/correlation/builder.py +131 -0
  1073. lilrae-8.0.0/src/aptl/core/correlation/clock.py +131 -0
  1074. lilrae-8.0.0/src/aptl/core/correlation/identity.py +93 -0
  1075. lilrae-8.0.0/src/aptl/core/correlation/models.py +412 -0
  1076. lilrae-8.0.0/src/aptl/core/correlation/persistence.py +240 -0
  1077. lilrae-8.0.0/src/aptl/core/correlation/rules.py +98 -0
  1078. lilrae-8.0.0/src/aptl/core/credentials.py +464 -0
  1079. lilrae-8.0.0/src/aptl/core/deployment/__init__.py +122 -0
  1080. lilrae-8.0.0/src/aptl/core/deployment/_account_credentials.py +174 -0
  1081. lilrae-8.0.0/src/aptl/core/deployment/_account_provider.py +442 -0
  1082. lilrae-8.0.0/src/aptl/core/deployment/_application_provider_realization.py +91 -0
  1083. lilrae-8.0.0/src/aptl/core/deployment/_authored_service_hosts.py +61 -0
  1084. lilrae-8.0.0/src/aptl/core/deployment/_compose_account_realization.py +479 -0
  1085. lilrae-8.0.0/src/aptl/core/deployment/_compose_account_verification.py +197 -0
  1086. lilrae-8.0.0/src/aptl/core/deployment/_compose_autoremove.py +165 -0
  1087. lilrae-8.0.0/src/aptl/core/deployment/_compose_base_container_realization.py +353 -0
  1088. lilrae-8.0.0/src/aptl/core/deployment/_compose_base_substrate.py +489 -0
  1089. lilrae-8.0.0/src/aptl/core/deployment/_compose_boundary.py +211 -0
  1090. lilrae-8.0.0/src/aptl/core/deployment/_compose_boundary_realization.py +346 -0
  1091. lilrae-8.0.0/src/aptl/core/deployment/_compose_build_dedupe.py +98 -0
  1092. lilrae-8.0.0/src/aptl/core/deployment/_compose_capture_apparatus.py +404 -0
  1093. lilrae-8.0.0/src/aptl/core/deployment/_compose_capture_config.py +196 -0
  1094. lilrae-8.0.0/src/aptl/core/deployment/_compose_content_mounts.py +260 -0
  1095. lilrae-8.0.0/src/aptl/core/deployment/_compose_content_realization.py +211 -0
  1096. lilrae-8.0.0/src/aptl/core/deployment/_compose_direct_network.py +130 -0
  1097. lilrae-8.0.0/src/aptl/core/deployment/_compose_environment.py +316 -0
  1098. lilrae-8.0.0/src/aptl/core/deployment/_compose_generic_base_images.py +190 -0
  1099. lilrae-8.0.0/src/aptl/core/deployment/_compose_image_fetch.py +81 -0
  1100. lilrae-8.0.0/src/aptl/core/deployment/_compose_image_realization.py +491 -0
  1101. lilrae-8.0.0/src/aptl/core/deployment/_compose_lifecycle.py +177 -0
  1102. lilrae-8.0.0/src/aptl/core/deployment/_compose_mixed_realization.py +275 -0
  1103. lilrae-8.0.0/src/aptl/core/deployment/_compose_model_realization.py +289 -0
  1104. lilrae-8.0.0/src/aptl/core/deployment/_compose_network_conflicts.py +124 -0
  1105. lilrae-8.0.0/src/aptl/core/deployment/_compose_network_realization.py +497 -0
  1106. lilrae-8.0.0/src/aptl/core/deployment/_compose_node_generation.py +229 -0
  1107. lilrae-8.0.0/src/aptl/core/deployment/_compose_node_topology.py +165 -0
  1108. lilrae-8.0.0/src/aptl/core/deployment/_compose_observability.py +263 -0
  1109. lilrae-8.0.0/src/aptl/core/deployment/_compose_owned_start.py +345 -0
  1110. lilrae-8.0.0/src/aptl/core/deployment/_compose_owner_labels.py +31 -0
  1111. lilrae-8.0.0/src/aptl/core/deployment/_compose_ownership_override.py +250 -0
  1112. lilrae-8.0.0/src/aptl/core/deployment/_compose_port_readback.py +57 -0
  1113. lilrae-8.0.0/src/aptl/core/deployment/_compose_port_realization.py +166 -0
  1114. lilrae-8.0.0/src/aptl/core/deployment/_compose_post_start.py +172 -0
  1115. lilrae-8.0.0/src/aptl/core/deployment/_compose_project_cleanup.py +127 -0
  1116. lilrae-8.0.0/src/aptl/core/deployment/_compose_project_inventory.py +174 -0
  1117. lilrae-8.0.0/src/aptl/core/deployment/_compose_queries.py +468 -0
  1118. lilrae-8.0.0/src/aptl/core/deployment/_compose_realization.py +463 -0
  1119. lilrae-8.0.0/src/aptl/core/deployment/_compose_realization_networks.py +299 -0
  1120. lilrae-8.0.0/src/aptl/core/deployment/_compose_receipt_capture.py +482 -0
  1121. lilrae-8.0.0/src/aptl/core/deployment/_compose_resource_ownership.py +357 -0
  1122. lilrae-8.0.0/src/aptl/core/deployment/_compose_resource_resolution.py +487 -0
  1123. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_config.py +386 -0
  1124. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_inventory.py +99 -0
  1125. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_materialization.py +102 -0
  1126. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_observation.py +164 -0
  1127. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_observation_helpers.py +105 -0
  1128. lilrae-8.0.0/src/aptl/core/deployment/_compose_runtime_orchestration.py +360 -0
  1129. lilrae-8.0.0/src/aptl/core/deployment/_compose_seed_attribution.py +202 -0
  1130. lilrae-8.0.0/src/aptl/core/deployment/_compose_seed_execution.py +147 -0
  1131. lilrae-8.0.0/src/aptl/core/deployment/_compose_seed_safety.py +30 -0
  1132. lilrae-8.0.0/src/aptl/core/deployment/_compose_service_health.py +262 -0
  1133. lilrae-8.0.0/src/aptl/core/deployment/_compose_service_index_realization.py +210 -0
  1134. lilrae-8.0.0/src/aptl/core/deployment/_compose_spawn_image_realization.py +352 -0
  1135. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_artifact_helpers.py +232 -0
  1136. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_constants.py +86 -0
  1137. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_graph.py +265 -0
  1138. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_model.py +492 -0
  1139. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_override.py +47 -0
  1140. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_readiness.py +435 -0
  1141. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_realization.py +459 -0
  1142. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_services.py +49 -0
  1143. lilrae-8.0.0/src/aptl/core/deployment/_compose_stateful_volumes.py +93 -0
  1144. lilrae-8.0.0/src/aptl/core/deployment/_compose_stop.py +181 -0
  1145. lilrae-8.0.0/src/aptl/core/deployment/_compose_substrate_attestation.py +309 -0
  1146. lilrae-8.0.0/src/aptl/core/deployment/_compose_substrate_gate.py +337 -0
  1147. lilrae-8.0.0/src/aptl/core/deployment/_compose_traffic_mirror.py +266 -0
  1148. lilrae-8.0.0/src/aptl/core/deployment/_compose_volume_cleanup.py +80 -0
  1149. lilrae-8.0.0/src/aptl/core/deployment/_cortex_service_credentials.py +102 -0
  1150. lilrae-8.0.0/src/aptl/core/deployment/_declared_listener_readiness.py +125 -0
  1151. lilrae-8.0.0/src/aptl/core/deployment/_docker_endpoint_binding.py +205 -0
  1152. lilrae-8.0.0/src/aptl/core/deployment/_docker_image_identity.py +211 -0
  1153. lilrae-8.0.0/src/aptl/core/deployment/_environment_bindings.py +460 -0
  1154. lilrae-8.0.0/src/aptl/core/deployment/_flag_signing_keys.py +102 -0
  1155. lilrae-8.0.0/src/aptl/core/deployment/_forwarding_agent_realization.py +321 -0
  1156. lilrae-8.0.0/src/aptl/core/deployment/_misp_cache_credential.py +178 -0
  1157. lilrae-8.0.0/src/aptl/core/deployment/_misp_server_tls.py +119 -0
  1158. lilrae-8.0.0/src/aptl/core/deployment/_operator_access.py +411 -0
  1159. lilrae-8.0.0/src/aptl/core/deployment/_operator_access_endpoints.py +90 -0
  1160. lilrae-8.0.0/src/aptl/core/deployment/_operator_access_proof.py +251 -0
  1161. lilrae-8.0.0/src/aptl/core/deployment/_proc_net_listeners.py +232 -0
  1162. lilrae-8.0.0/src/aptl/core/deployment/_realization_primitives.py +222 -0
  1163. lilrae-8.0.0/src/aptl/core/deployment/_runtime_materialization_effective.py +327 -0
  1164. lilrae-8.0.0/src/aptl/core/deployment/_runtime_materialization_qualification.py +392 -0
  1165. lilrae-8.0.0/src/aptl/core/deployment/_runtime_materialization_types.py +50 -0
  1166. lilrae-8.0.0/src/aptl/core/deployment/_service_index_materialization.py +453 -0
  1167. lilrae-8.0.0/src/aptl/core/deployment/_ssh_key_bundle.py +217 -0
  1168. lilrae-8.0.0/src/aptl/core/deployment/_stateful_certificates.py +352 -0
  1169. lilrae-8.0.0/src/aptl/core/deployment/_wazuh_agent_configuration.py +201 -0
  1170. lilrae-8.0.0/src/aptl/core/deployment/_wazuh_agent_realization.py +406 -0
  1171. lilrae-8.0.0/src/aptl/core/deployment/_wazuh_attestation.py +377 -0
  1172. lilrae-8.0.0/src/aptl/core/deployment/_wazuh_identity.py +129 -0
  1173. lilrae-8.0.0/src/aptl/core/deployment/backend.py +441 -0
  1174. lilrae-8.0.0/src/aptl/core/deployment/backend_container_ops.py +183 -0
  1175. lilrae-8.0.0/src/aptl/core/deployment/backend_host_inventory.py +92 -0
  1176. lilrae-8.0.0/src/aptl/core/deployment/boundary.py +395 -0
  1177. lilrae-8.0.0/src/aptl/core/deployment/boundary_compiler.py +311 -0
  1178. lilrae-8.0.0/src/aptl/core/deployment/docker_compose.py +437 -0
  1179. lilrae-8.0.0/src/aptl/core/deployment/errors.py +40 -0
  1180. lilrae-8.0.0/src/aptl/core/deployment/observation.py +86 -0
  1181. lilrae-8.0.0/src/aptl/core/deployment/realization.py +472 -0
  1182. lilrae-8.0.0/src/aptl/core/deployment/runtime_materialization.py +21 -0
  1183. lilrae-8.0.0/src/aptl/core/deployment/ssh_compose.py +143 -0
  1184. lilrae-8.0.0/src/aptl/core/detection.py +248 -0
  1185. lilrae-8.0.0/src/aptl/core/doctor.py +247 -0
  1186. lilrae-8.0.0/src/aptl/core/endpoints.py +350 -0
  1187. lilrae-8.0.0/src/aptl/core/env.py +424 -0
  1188. lilrae-8.0.0/src/aptl/core/ephemeral_containers.py +175 -0
  1189. lilrae-8.0.0/src/aptl/core/evidence/__init__.py +6 -0
  1190. lilrae-8.0.0/src/aptl/core/evidence/_persist.py +373 -0
  1191. lilrae-8.0.0/src/aptl/core/evidence/adapters/__init__.py +6 -0
  1192. lilrae-8.0.0/src/aptl/core/evidence/adapters/builtins.py +129 -0
  1193. lilrae-8.0.0/src/aptl/core/evidence/adapters/sources.py +154 -0
  1194. lilrae-8.0.0/src/aptl/core/evidence/adapters/wiring.py +49 -0
  1195. lilrae-8.0.0/src/aptl/core/evidence/content_store.py +123 -0
  1196. lilrae-8.0.0/src/aptl/core/evidence/coordinator.py +465 -0
  1197. lilrae-8.0.0/src/aptl/core/evidence/outcomes.py +110 -0
  1198. lilrae-8.0.0/src/aptl/core/evidence/protocol.py +119 -0
  1199. lilrae-8.0.0/src/aptl/core/evidence/records.py +172 -0
  1200. lilrae-8.0.0/src/aptl/core/evidence/visibility.py +39 -0
  1201. lilrae-8.0.0/src/aptl/core/evidence_bundle/__init__.py +31 -0
  1202. lilrae-8.0.0/src/aptl/core/evidence_bundle/_collect.py +430 -0
  1203. lilrae-8.0.0/src/aptl/core/evidence_bundle/_io.py +78 -0
  1204. lilrae-8.0.0/src/aptl/core/evidence_bundle/archive.py +247 -0
  1205. lilrae-8.0.0/src/aptl/core/evidence_bundle/build.py +259 -0
  1206. lilrae-8.0.0/src/aptl/core/evidence_bundle/closure.py +148 -0
  1207. lilrae-8.0.0/src/aptl/core/evidence_bundle/codes.py +43 -0
  1208. lilrae-8.0.0/src/aptl/core/evidence_bundle/envelope.py +158 -0
  1209. lilrae-8.0.0/src/aptl/core/evidence_bundle/errors.py +24 -0
  1210. lilrae-8.0.0/src/aptl/core/evidence_bundle/inventory.py +175 -0
  1211. lilrae-8.0.0/src/aptl/core/evidence_bundle/limits.py +48 -0
  1212. lilrae-8.0.0/src/aptl/core/evidence_bundle/models.py +92 -0
  1213. lilrae-8.0.0/src/aptl/core/evidence_bundle/projections/__init__.py +31 -0
  1214. lilrae-8.0.0/src/aptl/core/evidence_bundle/projections/jsonl.py +109 -0
  1215. lilrae-8.0.0/src/aptl/core/evidence_bundle/projections/ocsf.py +105 -0
  1216. lilrae-8.0.0/src/aptl/core/evidence_bundle/projections/parquet.py +267 -0
  1217. lilrae-8.0.0/src/aptl/core/evidence_bundle/projections/registry.py +120 -0
  1218. lilrae-8.0.0/src/aptl/core/evidence_bundle/schemas.py +111 -0
  1219. lilrae-8.0.0/src/aptl/core/evidence_bundle/verify.py +366 -0
  1220. lilrae-8.0.0/src/aptl/core/execution/__init__.py +31 -0
  1221. lilrae-8.0.0/src/aptl/core/execution/apparatus.py +173 -0
  1222. lilrae-8.0.0/src/aptl/core/execution/assembly.py +417 -0
  1223. lilrae-8.0.0/src/aptl/core/execution/bridges.py +177 -0
  1224. lilrae-8.0.0/src/aptl/core/execution/executor.py +272 -0
  1225. lilrae-8.0.0/src/aptl/core/execution_boundary.py +454 -0
  1226. lilrae-8.0.0/src/aptl/core/experiment/__init__.py +10 -0
  1227. lilrae-8.0.0/src/aptl/core/experiment/_capture_matching.py +89 -0
  1228. lilrae-8.0.0/src/aptl/core/experiment/admission.py +412 -0
  1229. lilrae-8.0.0/src/aptl/core/experiment/admission_artifacts.py +273 -0
  1230. lilrae-8.0.0/src/aptl/core/experiment/admission_steps.py +375 -0
  1231. lilrae-8.0.0/src/aptl/core/experiment/apparatus.py +452 -0
  1232. lilrae-8.0.0/src/aptl/core/experiment/bindings.py +434 -0
  1233. lilrae-8.0.0/src/aptl/core/experiment/capture_mapping.py +122 -0
  1234. lilrae-8.0.0/src/aptl/core/experiment/capture_plan.py +207 -0
  1235. lilrae-8.0.0/src/aptl/core/experiment/capture_registry.py +462 -0
  1236. lilrae-8.0.0/src/aptl/core/experiment/controller.py +142 -0
  1237. lilrae-8.0.0/src/aptl/core/experiment/errors.py +227 -0
  1238. lilrae-8.0.0/src/aptl/core/experiment/policy.py +182 -0
  1239. lilrae-8.0.0/src/aptl/core/experiment/resolver.py +367 -0
  1240. lilrae-8.0.0/src/aptl/core/experiment/spec_loading.py +311 -0
  1241. lilrae-8.0.0/src/aptl/core/experiment/trial_plan.py +483 -0
  1242. lilrae-8.0.0/src/aptl/core/experiment/trial_plan_models.py +111 -0
  1243. lilrae-8.0.0/src/aptl/core/exporter.py +200 -0
  1244. lilrae-8.0.0/src/aptl/core/flags.py +176 -0
  1245. lilrae-8.0.0/src/aptl/core/health.py +139 -0
  1246. lilrae-8.0.0/src/aptl/core/host_keys.py +242 -0
  1247. lilrae-8.0.0/src/aptl/core/host_ports.py +422 -0
  1248. lilrae-8.0.0/src/aptl/core/hostenv.py +141 -0
  1249. lilrae-8.0.0/src/aptl/core/kill.py +497 -0
  1250. lilrae-8.0.0/src/aptl/core/lab.py +4888 -0
  1251. lilrae-8.0.0/src/aptl/core/lab_types.py +221 -0
  1252. lilrae-8.0.0/src/aptl/core/lifecycle_cleanup.py +248 -0
  1253. lilrae-8.0.0/src/aptl/core/lifecycle_enforce.py +346 -0
  1254. lilrae-8.0.0/src/aptl/core/lifecycle_guard.py +454 -0
  1255. lilrae-8.0.0/src/aptl/core/lifecycle_policy.py +257 -0
  1256. lilrae-8.0.0/src/aptl/core/mcp_ingress.py +56 -0
  1257. lilrae-8.0.0/src/aptl/core/objectives.py +161 -0
  1258. lilrae-8.0.0/src/aptl/core/operator_group_state.py +100 -0
  1259. lilrae-8.0.0/src/aptl/core/provenance/__init__.py +27 -0
  1260. lilrae-8.0.0/src/aptl/core/provenance/coordinator.py +370 -0
  1261. lilrae-8.0.0/src/aptl/core/provenance/identity.py +150 -0
  1262. lilrae-8.0.0/src/aptl/core/provenance/outcomes.py +172 -0
  1263. lilrae-8.0.0/src/aptl/core/provenance/protocol.py +97 -0
  1264. lilrae-8.0.0/src/aptl/core/provenance/providers/__init__.py +13 -0
  1265. lilrae-8.0.0/src/aptl/core/provenance/providers/_degraded.py +93 -0
  1266. lilrae-8.0.0/src/aptl/core/provenance/providers/apparatus.py +111 -0
  1267. lilrae-8.0.0/src/aptl/core/provenance/providers/artifacts.py +156 -0
  1268. lilrae-8.0.0/src/aptl/core/provenance/providers/config_identity.py +173 -0
  1269. lilrae-8.0.0/src/aptl/core/provenance/providers/detection.py +284 -0
  1270. lilrae-8.0.0/src/aptl/core/provenance/providers/experiment.py +166 -0
  1271. lilrae-8.0.0/src/aptl/core/provenance/providers/participant.py +103 -0
  1272. lilrae-8.0.0/src/aptl/core/provenance/providers/runtime_facts.py +269 -0
  1273. lilrae-8.0.0/src/aptl/core/provenance/record.py +133 -0
  1274. lilrae-8.0.0/src/aptl/core/provenance/registrations.py +222 -0
  1275. lilrae-8.0.0/src/aptl/core/provenance/registry.py +219 -0
  1276. lilrae-8.0.0/src/aptl/core/runstore.py +487 -0
  1277. lilrae-8.0.0/src/aptl/core/runstore_internals.py +234 -0
  1278. lilrae-8.0.0/src/aptl/core/runtime/__init__.py +13 -0
  1279. lilrae-8.0.0/src/aptl/core/runtime/workflow_engine.py +436 -0
  1280. lilrae-8.0.0/src/aptl/core/scenario_bundle.py +317 -0
  1281. lilrae-8.0.0/src/aptl/core/scenario_catalog.py +285 -0
  1282. lilrae-8.0.0/src/aptl/core/scenarios.py +39 -0
  1283. lilrae-8.0.0/src/aptl/core/seed_spec.py +59 -0
  1284. lilrae-8.0.0/src/aptl/core/services.py +320 -0
  1285. lilrae-8.0.0/src/aptl/core/session.py +408 -0
  1286. lilrae-8.0.0/src/aptl/core/snapshot.py +469 -0
  1287. lilrae-8.0.0/src/aptl/core/snapshot_models.py +127 -0
  1288. lilrae-8.0.0/src/aptl/core/soc_ca.py +365 -0
  1289. lilrae-8.0.0/src/aptl/core/ssh.py +362 -0
  1290. lilrae-8.0.0/src/aptl/core/startup_reset_state.py +407 -0
  1291. lilrae-8.0.0/src/aptl/core/suricata_seed.py +377 -0
  1292. lilrae-8.0.0/src/aptl/core/sysreqs.py +266 -0
  1293. lilrae-8.0.0/src/aptl/core/telemetry.py +277 -0
  1294. lilrae-8.0.0/src/aptl/core/telemetry_export.py +87 -0
  1295. lilrae-8.0.0/src/aptl/runtime_authority.py +123 -0
  1296. lilrae-8.0.0/src/aptl/services/__init__.py +1 -0
  1297. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/__init__.py +10 -0
  1298. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/config.py +174 -0
  1299. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/main.py +191 -0
  1300. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/misp_client.py +108 -0
  1301. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/models.py +48 -0
  1302. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/rule_writer.py +46 -0
  1303. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/suricata_reloader.py +95 -0
  1304. lilrae-8.0.0/src/aptl/services/misp_suricata_sync/translator.py +357 -0
  1305. lilrae-8.0.0/src/aptl/utils/__init__.py +0 -0
  1306. lilrae-8.0.0/src/aptl/utils/_pathsafe_core.py +231 -0
  1307. lilrae-8.0.0/src/aptl/utils/_pathsafe_read.py +188 -0
  1308. lilrae-8.0.0/src/aptl/utils/curl_safe.py +286 -0
  1309. lilrae-8.0.0/src/aptl/utils/deterministic_archive.py +82 -0
  1310. lilrae-8.0.0/src/aptl/utils/logging.py +44 -0
  1311. lilrae-8.0.0/src/aptl/utils/mcp_packaging.py +262 -0
  1312. lilrae-8.0.0/src/aptl/utils/pathsafe.py +409 -0
  1313. lilrae-8.0.0/src/aptl/utils/placeholders.py +32 -0
  1314. lilrae-8.0.0/src/aptl/utils/redaction.py +1094 -0
  1315. lilrae-8.0.0/src/aptl/utils/shell.py +134 -0
  1316. lilrae-8.0.0/src/aptl/utils/strict_json.py +47 -0
  1317. lilrae-8.0.0/src/aptl/validation/__init__.py +1 -0
  1318. lilrae-8.0.0/src/aptl/validation/_account_parity.py +126 -0
  1319. lilrae-8.0.0/src/aptl/validation/_gate_checks.py +430 -0
  1320. lilrae-8.0.0/src/aptl/validation/_gate_no_start_backend.py +295 -0
  1321. lilrae-8.0.0/src/aptl/validation/_gate_raes_cli.py +100 -0
  1322. lilrae-8.0.0/src/aptl/validation/_live_gate_alerts.py +25 -0
  1323. lilrae-8.0.0/src/aptl/validation/_live_gate_checks.py +414 -0
  1324. lilrae-8.0.0/src/aptl/validation/_live_gate_models.py +198 -0
  1325. lilrae-8.0.0/src/aptl/validation/_live_gate_operations.py +260 -0
  1326. lilrae-8.0.0/src/aptl/validation/_live_gate_probes.py +437 -0
  1327. lilrae-8.0.0/src/aptl/validation/_live_gate_readiness.py +192 -0
  1328. lilrae-8.0.0/src/aptl/validation/_live_gate_telemetry.py +110 -0
  1329. lilrae-8.0.0/src/aptl/validation/_live_gate_variation.py +92 -0
  1330. lilrae-8.0.0/src/aptl/validation/_scenario_verification_contract.py +323 -0
  1331. lilrae-8.0.0/src/aptl/validation/curated_live_proof.py +325 -0
  1332. lilrae-8.0.0/src/aptl/validation/mcp_protocol.py +271 -0
  1333. lilrae-8.0.0/src/aptl/validation/participant_live_proof.py +452 -0
  1334. lilrae-8.0.0/src/aptl/validation/participant_mcp_smoke.py +223 -0
  1335. lilrae-8.0.0/src/aptl/validation/participant_profile.py +369 -0
  1336. lilrae-8.0.0/src/aptl/validation/participant_profile_models.py +366 -0
  1337. lilrae-8.0.0/src/aptl/validation/participant_proof_redaction.py +107 -0
  1338. lilrae-8.0.0/src/aptl/validation/participant_qualification.py +320 -0
  1339. lilrae-8.0.0/src/aptl/validation/participant_qualification_evidence.py +333 -0
  1340. lilrae-8.0.0/src/aptl/validation/range_snapshot_summary.py +51 -0
  1341. lilrae-8.0.0/src/aptl/validation/realization_declaration_gate.py +112 -0
  1342. lilrae-8.0.0/src/aptl/validation/research_scenario_catalog.py +45 -0
  1343. lilrae-8.0.0/src/aptl/validation/scenario_verification.py +343 -0
  1344. lilrae-8.0.0/src/aptl/validation/scenario_verification_discovery.py +395 -0
  1345. lilrae-8.0.0/src/aptl/validation/techvault_gate.py +152 -0
  1346. lilrae-8.0.0/src/aptl/validation/techvault_live_gate.py +475 -0
  1347. lilrae-8.0.0/src/aptl/workbench/__init__.py +57 -0
  1348. lilrae-8.0.0/src/aptl/workbench/_pipe_exchange.py +186 -0
  1349. lilrae-8.0.0/src/aptl/workbench/access.py +154 -0
  1350. lilrae-8.0.0/src/aptl/workbench/access_clients.py +183 -0
  1351. lilrae-8.0.0/src/aptl/workbench/agent.py +493 -0
  1352. lilrae-8.0.0/src/aptl/workbench/app.py +326 -0
  1353. lilrae-8.0.0/src/aptl/workbench/bootstrap.py +299 -0
  1354. lilrae-8.0.0/src/aptl/workbench/browser_gateway.py +372 -0
  1355. lilrae-8.0.0/src/aptl/workbench/browser_mcp.py +190 -0
  1356. lilrae-8.0.0/src/aptl/workbench/client_files.py +163 -0
  1357. lilrae-8.0.0/src/aptl/workbench/codex_agent.py +313 -0
  1358. lilrae-8.0.0/src/aptl/workbench/credentials.py +81 -0
  1359. lilrae-8.0.0/src/aptl/workbench/decision_schema.py +63 -0
  1360. lilrae-8.0.0/src/aptl/workbench/dispatch.py +224 -0
  1361. lilrae-8.0.0/src/aptl/workbench/guest_binding.py +464 -0
  1362. lilrae-8.0.0/src/aptl/workbench/mcp_results.py +76 -0
  1363. lilrae-8.0.0/src/aptl/workbench/participant_source_binding.py +156 -0
  1364. lilrae-8.0.0/src/aptl/workbench/preparation.py +262 -0
  1365. lilrae-8.0.0/src/aptl/workbench/process.py +385 -0
  1366. lilrae-8.0.0/src/aptl/workbench/profiles.py +334 -0
  1367. lilrae-8.0.0/src/aptl/workbench/relay.py +295 -0
  1368. lilrae-8.0.0/src/aptl/workbench/runtime.py +363 -0
  1369. lilrae-8.0.0/src/aptl_techvault/README.md +102 -0
  1370. lilrae-8.0.0/src/aptl_techvault/__init__.py +30 -0
  1371. lilrae-8.0.0/src/aptl_techvault/build_cache.py +113 -0
  1372. lilrae-8.0.0/src/aptl_techvault/capture.py +123 -0
  1373. lilrae-8.0.0/src/aptl_techvault/capture_registrations.py +478 -0
  1374. lilrae-8.0.0/src/aptl_techvault/database.py +312 -0
  1375. lilrae-8.0.0/src/aptl_techvault/database_access.py +287 -0
  1376. lilrae-8.0.0/src/aptl_techvault/database_support.py +99 -0
  1377. lilrae-8.0.0/src/aptl_techvault/evidence/__init__.py +1 -0
  1378. lilrae-8.0.0/src/aptl_techvault/evidence/_techvault_native_cortex.py +183 -0
  1379. lilrae-8.0.0/src/aptl_techvault/evidence/proposition_truth.py +211 -0
  1380. lilrae-8.0.0/src/aptl_techvault/evidence/techvault.py +441 -0
  1381. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_enrollment_baseline.py +99 -0
  1382. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_manager_alerts.py +98 -0
  1383. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_misp_readiness.py +179 -0
  1384. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_native.py +457 -0
  1385. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_native_readiness.py +465 -0
  1386. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_native_support.py +209 -0
  1387. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_readiness.py +164 -0
  1388. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_readiness_probes.py +446 -0
  1389. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_telemetry_stimulus.py +215 -0
  1390. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_transcript.py +384 -0
  1391. lilrae-8.0.0/src/aptl_techvault/evidence/techvault_wazuh_agent_readiness.py +180 -0
  1392. lilrae-8.0.0/src/aptl_techvault/evidence/transcript_parsing.py +303 -0
  1393. lilrae-8.0.0/src/aptl_techvault/log_source_support.py +407 -0
  1394. lilrae-8.0.0/src/aptl_techvault/log_sources.py +445 -0
  1395. lilrae-8.0.0/src/aptl_techvault/participant_smoke.py +202 -0
  1396. lilrae-8.0.0/src/aptl_techvault/planning_compatibility.py +68 -0
  1397. lilrae-8.0.0/src/aptl_techvault/redis_acl_observation.py +149 -0
  1398. lilrae-8.0.0/src/aptl_techvault/runtime_parameters.py +77 -0
  1399. lilrae-8.0.0/src/aptl_techvault/serving.py +89 -0
  1400. lilrae-8.0.0/src/aptl_techvault/startup.py +493 -0
  1401. lilrae-8.0.0/src/aptl_techvault/study.py +105 -0
  1402. lilrae-8.0.0/src/aptl_techvault/study_capture_registrations.py +62 -0
  1403. lilrae-8.0.0/src/aptl_techvault/verification.py +255 -0
  1404. lilrae-8.0.0/src/aptl_techvault/wazuh_credentials.py +62 -0
  1405. lilrae-8.0.0/tests/__init__.py +0 -0
  1406. lilrae-8.0.0/tests/_bundle_fixtures.py +204 -0
  1407. lilrae-8.0.0/tests/archival_fixtures.py +72 -0
  1408. lilrae-8.0.0/tests/conftest.py +219 -0
  1409. lilrae-8.0.0/tests/fixture_pack.py +77 -0
  1410. lilrae-8.0.0/tests/fixtures/mcp_transport_dispatch.py +38 -0
  1411. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/assets/content/notice.txt +1 -0
  1412. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/assets/content/tree.tar +0 -0
  1413. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/associated-artifacts.json +97 -0
  1414. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/docs/provenance-ledger.yaml +45 -0
  1415. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/pack.yaml +18 -0
  1416. lilrae-8.0.0/tests/fixtures/packs/materialization-envelope/sdl/materialization-envelope.sdl.yaml +90 -0
  1417. lilrae-8.0.0/tests/fixtures/redaction_parity_corpus.json +289 -0
  1418. lilrae-8.0.0/tests/fixtures/workbench_mcp_server.py +43 -0
  1419. lilrae-8.0.0/tests/helpers.py +693 -0
  1420. lilrae-8.0.0/tests/techvault_pack.py +69 -0
  1421. lilrae-8.0.0/tests/test_account_credentials.py +189 -0
  1422. lilrae-8.0.0/tests/test_account_provider.py +347 -0
  1423. lilrae-8.0.0/tests/test_adr_049_appliance_contract.py +106 -0
  1424. lilrae-8.0.0/tests/test_api_auth.py +255 -0
  1425. lilrae-8.0.0/tests/test_api_bff.py +727 -0
  1426. lilrae-8.0.0/tests/test_api_config.py +173 -0
  1427. lilrae-8.0.0/tests/test_api_integration.py +190 -0
  1428. lilrae-8.0.0/tests/test_api_kill.py +104 -0
  1429. lilrae-8.0.0/tests/test_api_lab.py +553 -0
  1430. lilrae-8.0.0/tests/test_api_scenarios.py +93 -0
  1431. lilrae-8.0.0/tests/test_api_terminal.py +865 -0
  1432. lilrae-8.0.0/tests/test_appliance_access_service.py +446 -0
  1433. lilrae-8.0.0/tests/test_appliance_boundary_gate.py +184 -0
  1434. lilrae-8.0.0/tests/test_appliance_boundary_integration.py +479 -0
  1435. lilrae-8.0.0/tests/test_appliance_boundary_inventory.py +257 -0
  1436. lilrae-8.0.0/tests/test_appliance_boundary_policy.py +187 -0
  1437. lilrae-8.0.0/tests/test_appliance_download.py +123 -0
  1438. lilrae-8.0.0/tests/test_appliance_egress_proxy.py +158 -0
  1439. lilrae-8.0.0/tests/test_appliance_guest_observation.py +462 -0
  1440. lilrae-8.0.0/tests/test_appliance_guest_surfaces.py +82 -0
  1441. lilrae-8.0.0/tests/test_appliance_loopback_proxy.py +93 -0
  1442. lilrae-8.0.0/tests/test_appliance_policy.py +35 -0
  1443. lilrae-8.0.0/tests/test_appliance_release_workflow.py +209 -0
  1444. lilrae-8.0.0/tests/test_appliance_seat_access.py +355 -0
  1445. lilrae-8.0.0/tests/test_appliance_seat_allocation.py +252 -0
  1446. lilrae-8.0.0/tests/test_appliance_seat_cli.py +548 -0
  1447. lilrae-8.0.0/tests/test_appliance_seat_device.py +34 -0
  1448. lilrae-8.0.0/tests/test_appliance_seat_exposure.py +134 -0
  1449. lilrae-8.0.0/tests/test_appliance_seat_kiosk.py +91 -0
  1450. lilrae-8.0.0/tests/test_appliance_seat_lifecycle.py +1060 -0
  1451. lilrae-8.0.0/tests/test_appliance_seat_namespace.py +89 -0
  1452. lilrae-8.0.0/tests/test_appliance_seat_observation.py +287 -0
  1453. lilrae-8.0.0/tests/test_appliance_seat_paths.py +49 -0
  1454. lilrae-8.0.0/tests/test_appliance_seat_persistence.py +83 -0
  1455. lilrae-8.0.0/tests/test_appliance_seat_portability.py +60 -0
  1456. lilrae-8.0.0/tests/test_appliance_seat_prereqs.py +179 -0
  1457. lilrae-8.0.0/tests/test_appliance_seat_readiness.py +166 -0
  1458. lilrae-8.0.0/tests/test_appliance_seat_vm.py +595 -0
  1459. lilrae-8.0.0/tests/test_appliance_versioning.py +37 -0
  1460. lilrae-8.0.0/tests/test_appliance_vm_containment.py +143 -0
  1461. lilrae-8.0.0/tests/test_application_provider_realization.py +72 -0
  1462. lilrae-8.0.0/tests/test_archival_discovery_index.py +234 -0
  1463. lilrae-8.0.0/tests/test_archival_legacy_manifest.py +82 -0
  1464. lilrae-8.0.0/tests/test_archival_run_record.py +163 -0
  1465. lilrae-8.0.0/tests/test_archival_seal.py +296 -0
  1466. lilrae-8.0.0/tests/test_archival_security.py +75 -0
  1467. lilrae-8.0.0/tests/test_archival_status.py +112 -0
  1468. lilrae-8.0.0/tests/test_archival_terminal_states.py +96 -0
  1469. lilrae-8.0.0/tests/test_assert_project_teardown.py +208 -0
  1470. lilrae-8.0.0/tests/test_assets.py +369 -0
  1471. lilrae-8.0.0/tests/test_attacks.py +14 -0
  1472. lilrae-8.0.0/tests/test_backend_observability.py +310 -0
  1473. lilrae-8.0.0/tests/test_base_container_admission_integration.py +197 -0
  1474. lilrae-8.0.0/tests/test_boot_realization_gate.py +708 -0
  1475. lilrae-8.0.0/tests/test_boundary_compiler.py +334 -0
  1476. lilrae-8.0.0/tests/test_bounded_participant_agency_scenario.py +259 -0
  1477. lilrae-8.0.0/tests/test_bounded_participant_runtime.py +1606 -0
  1478. lilrae-8.0.0/tests/test_browser_gateway.py +137 -0
  1479. lilrae-8.0.0/tests/test_capture_apparatus.py +359 -0
  1480. lilrae-8.0.0/tests/test_capture_registry.py +527 -0
  1481. lilrae-8.0.0/tests/test_certs.py +611 -0
  1482. lilrae-8.0.0/tests/test_cli.py +2683 -0
  1483. lilrae-8.0.0/tests/test_cli_config.py +199 -0
  1484. lilrae-8.0.0/tests/test_cli_container.py +276 -0
  1485. lilrae-8.0.0/tests/test_cli_kill.py +178 -0
  1486. lilrae-8.0.0/tests/test_cli_lifecycle.py +136 -0
  1487. lilrae-8.0.0/tests/test_cli_web.py +258 -0
  1488. lilrae-8.0.0/tests/test_collectors.py +592 -0
  1489. lilrae-8.0.0/tests/test_compose_autoremove.py +187 -0
  1490. lilrae-8.0.0/tests/test_compose_base_substrate.py +1824 -0
  1491. lilrae-8.0.0/tests/test_compose_boundary_realization.py +196 -0
  1492. lilrae-8.0.0/tests/test_compose_capability_necessity.py +222 -0
  1493. lilrae-8.0.0/tests/test_compose_environment_bindings.py +1299 -0
  1494. lilrae-8.0.0/tests/test_compose_network_readback.py +340 -0
  1495. lilrae-8.0.0/tests/test_compose_platform_boundary.py +326 -0
  1496. lilrae-8.0.0/tests/test_compose_port_realization.py +179 -0
  1497. lilrae-8.0.0/tests/test_compose_resource_ownership.py +1143 -0
  1498. lilrae-8.0.0/tests/test_compose_service_health.py +257 -0
  1499. lilrae-8.0.0/tests/test_compose_substrate_attestation.py +384 -0
  1500. lilrae-8.0.0/tests/test_compose_version.py +20 -0
  1501. lilrae-8.0.0/tests/test_compose_volume_cleanup.py +114 -0
  1502. lilrae-8.0.0/tests/test_config.py +554 -0
  1503. lilrae-8.0.0/tests/test_config_fuzz.py +121 -0
  1504. lilrae-8.0.0/tests/test_consistency.py +379 -0
  1505. lilrae-8.0.0/tests/test_container_lifecycle_policy.py +203 -0
  1506. lilrae-8.0.0/tests/test_container_ssh_policy.py +107 -0
  1507. lilrae-8.0.0/tests/test_content_realization_fuzz.py +124 -0
  1508. lilrae-8.0.0/tests/test_content_realization_source_policy.py +261 -0
  1509. lilrae-8.0.0/tests/test_continuity.py +1113 -0
  1510. lilrae-8.0.0/tests/test_contracts.py +132 -0
  1511. lilrae-8.0.0/tests/test_correlation_builder.py +945 -0
  1512. lilrae-8.0.0/tests/test_correlation_clock.py +215 -0
  1513. lilrae-8.0.0/tests/test_correlation_identity.py +234 -0
  1514. lilrae-8.0.0/tests/test_correlation_models.py +534 -0
  1515. lilrae-8.0.0/tests/test_correlation_persistence.py +384 -0
  1516. lilrae-8.0.0/tests/test_cortex_integration_config.py +199 -0
  1517. lilrae-8.0.0/tests/test_credentials.py +1156 -0
  1518. lilrae-8.0.0/tests/test_credentials_fuzz.py +301 -0
  1519. lilrae-8.0.0/tests/test_curated_live_proof.py +329 -0
  1520. lilrae-8.0.0/tests/test_curl_safe.py +187 -0
  1521. lilrae-8.0.0/tests/test_declared_listener_readiness.py +203 -0
  1522. lilrae-8.0.0/tests/test_deployment_backend.py +5080 -0
  1523. lilrae-8.0.0/tests/test_deployment_stateful_realization.py +2681 -0
  1524. lilrae-8.0.0/tests/test_detection.py +337 -0
  1525. lilrae-8.0.0/tests/test_deterministic_archive.py +81 -0
  1526. lilrae-8.0.0/tests/test_docker_compose_port_bindings.py +218 -0
  1527. lilrae-8.0.0/tests/test_docker_image_identity.py +87 -0
  1528. lilrae-8.0.0/tests/test_docs_publishing.py +70 -0
  1529. lilrae-8.0.0/tests/test_docs_user_journey.py +195 -0
  1530. lilrae-8.0.0/tests/test_doctor.py +730 -0
  1531. lilrae-8.0.0/tests/test_endpoints.py +537 -0
  1532. lilrae-8.0.0/tests/test_env.py +376 -0
  1533. lilrae-8.0.0/tests/test_env_fuzz.py +212 -0
  1534. lilrae-8.0.0/tests/test_env_hydration.py +204 -0
  1535. lilrae-8.0.0/tests/test_env_pack_bundle.py +151 -0
  1536. lilrae-8.0.0/tests/test_env_pack_realization.py +1327 -0
  1537. lilrae-8.0.0/tests/test_ephemeral_containers.py +248 -0
  1538. lilrae-8.0.0/tests/test_evidence_adapters.py +214 -0
  1539. lilrae-8.0.0/tests/test_evidence_bundle_archive.py +190 -0
  1540. lilrae-8.0.0/tests/test_evidence_bundle_cli.py +76 -0
  1541. lilrae-8.0.0/tests/test_evidence_bundle_closure.py +318 -0
  1542. lilrae-8.0.0/tests/test_evidence_bundle_fuzz.py +128 -0
  1543. lilrae-8.0.0/tests/test_evidence_bundle_inventory.py +181 -0
  1544. lilrae-8.0.0/tests/test_evidence_bundle_projections.py +279 -0
  1545. lilrae-8.0.0/tests/test_evidence_bundle_security.py +206 -0
  1546. lilrae-8.0.0/tests/test_evidence_bundle_verify.py +246 -0
  1547. lilrae-8.0.0/tests/test_evidence_coordinator.py +513 -0
  1548. lilrae-8.0.0/tests/test_evidence_correlation.py +86 -0
  1549. lilrae-8.0.0/tests/test_evidence_fuzz.py +66 -0
  1550. lilrae-8.0.0/tests/test_evidence_records.py +156 -0
  1551. lilrae-8.0.0/tests/test_evidence_security.py +350 -0
  1552. lilrae-8.0.0/tests/test_execution_boundary.py +325 -0
  1553. lilrae-8.0.0/tests/test_execution_bridges.py +170 -0
  1554. lilrae-8.0.0/tests/test_execution_executor.py +302 -0
  1555. lilrae-8.0.0/tests/test_experiment_admission.py +1872 -0
  1556. lilrae-8.0.0/tests/test_experiment_apparatus.py +919 -0
  1557. lilrae-8.0.0/tests/test_experiment_bindings.py +660 -0
  1558. lilrae-8.0.0/tests/test_experiment_capture_mapping.py +334 -0
  1559. lilrae-8.0.0/tests/test_experiment_cli.py +394 -0
  1560. lilrae-8.0.0/tests/test_experiment_contract.py +291 -0
  1561. lilrae-8.0.0/tests/test_experiment_controller.py +507 -0
  1562. lilrae-8.0.0/tests/test_experiment_errors.py +326 -0
  1563. lilrae-8.0.0/tests/test_experiment_persistence.py +162 -0
  1564. lilrae-8.0.0/tests/test_experiment_policy.py +141 -0
  1565. lilrae-8.0.0/tests/test_experiment_resolver.py +430 -0
  1566. lilrae-8.0.0/tests/test_experiment_spec_loading.py +489 -0
  1567. lilrae-8.0.0/tests/test_experiment_trial_plan.py +970 -0
  1568. lilrae-8.0.0/tests/test_exporter.py +249 -0
  1569. lilrae-8.0.0/tests/test_flag_signing_keys.py +103 -0
  1570. lilrae-8.0.0/tests/test_ground_control_config.py +54 -0
  1571. lilrae-8.0.0/tests/test_guest_transport_preparation.py +51 -0
  1572. lilrae-8.0.0/tests/test_hashed_requirements.py +178 -0
  1573. lilrae-8.0.0/tests/test_hatch_build_hook.py +237 -0
  1574. lilrae-8.0.0/tests/test_health.py +183 -0
  1575. lilrae-8.0.0/tests/test_host_keys.py +186 -0
  1576. lilrae-8.0.0/tests/test_host_mcp_boundary.py +51 -0
  1577. lilrae-8.0.0/tests/test_host_ports.py +394 -0
  1578. lilrae-8.0.0/tests/test_hosted_seat_helper.py +293 -0
  1579. lilrae-8.0.0/tests/test_hostenv.py +131 -0
  1580. lilrae-8.0.0/tests/test_in_process_agents.py +75 -0
  1581. lilrae-8.0.0/tests/test_kali_capture_broker.py +363 -0
  1582. lilrae-8.0.0/tests/test_kali_capture_compose.py +638 -0
  1583. lilrae-8.0.0/tests/test_kill.py +661 -0
  1584. lilrae-8.0.0/tests/test_lab.py +6164 -0
  1585. lilrae-8.0.0/tests/test_lab_core_only_artifact.py +114 -0
  1586. lilrae-8.0.0/tests/test_lab_fresh_start.py +98 -0
  1587. lilrae-8.0.0/tests/test_lab_init_cli.py +62 -0
  1588. lilrae-8.0.0/tests/test_lab_lifecycle_selection.py +497 -0
  1589. lilrae-8.0.0/tests/test_lifecycle_cleanup.py +1038 -0
  1590. lilrae-8.0.0/tests/test_lifecycle_guard.py +350 -0
  1591. lilrae-8.0.0/tests/test_lifecycle_policy.py +497 -0
  1592. lilrae-8.0.0/tests/test_lilrae_rename_boundary.py +192 -0
  1593. lilrae-8.0.0/tests/test_line_endings.py +55 -0
  1594. lilrae-8.0.0/tests/test_listener_observation_integration.py +108 -0
  1595. lilrae-8.0.0/tests/test_live_gate_operations.py +493 -0
  1596. lilrae-8.0.0/tests/test_live_helpers.py +39 -0
  1597. lilrae-8.0.0/tests/test_logging.py +46 -0
  1598. lilrae-8.0.0/tests/test_manifest_observation.py +105 -0
  1599. lilrae-8.0.0/tests/test_materializer_integration.py +107 -0
  1600. lilrae-8.0.0/tests/test_mcp_access.py +117 -0
  1601. lilrae-8.0.0/tests/test_mcp_access_cli.py +79 -0
  1602. lilrae-8.0.0/tests/test_mcp_access_clients.py +206 -0
  1603. lilrae-8.0.0/tests/test_mcp_appliance_admission.py +166 -0
  1604. lilrae-8.0.0/tests/test_mcp_build_script.py +28 -0
  1605. lilrae-8.0.0/tests/test_mcp_config_example.py +211 -0
  1606. lilrae-8.0.0/tests/test_mcp_dispatch.py +150 -0
  1607. lilrae-8.0.0/tests/test_mcp_guest_binding.py +314 -0
  1608. lilrae-8.0.0/tests/test_mcp_guest_management.py +245 -0
  1609. lilrae-8.0.0/tests/test_mcp_native_ingress.py +79 -0
  1610. lilrae-8.0.0/tests/test_mcp_payload_processes.py +140 -0
  1611. lilrae-8.0.0/tests/test_mcp_protocol.py +168 -0
  1612. lilrae-8.0.0/tests/test_mcp_relay.py +121 -0
  1613. lilrae-8.0.0/tests/test_mcp_result_redaction.py +61 -0
  1614. lilrae-8.0.0/tests/test_mcp_transport_processes.py +452 -0
  1615. lilrae-8.0.0/tests/test_misp_redis_realization_contract.py +509 -0
  1616. lilrae-8.0.0/tests/test_misp_suricata_sync.py +1220 -0
  1617. lilrae-8.0.0/tests/test_mixed_realization_dispatch.py +257 -0
  1618. lilrae-8.0.0/tests/test_mixed_realization_integration.py +262 -0
  1619. lilrae-8.0.0/tests/test_network_boundary_helper.py +303 -0
  1620. lilrae-8.0.0/tests/test_network_boundary_probe.py +49 -0
  1621. lilrae-8.0.0/tests/test_no_silent_privilege_escalation.py +108 -0
  1622. lilrae-8.0.0/tests/test_node_materialization_integration.py +257 -0
  1623. lilrae-8.0.0/tests/test_operator_access.py +727 -0
  1624. lilrae-8.0.0/tests/test_out_of_tree_bundle_integration.py +109 -0
  1625. lilrae-8.0.0/tests/test_pack_adapter_install_artifact.py +501 -0
  1626. lilrae-8.0.0/tests/test_pack_adapter_install_seam.py +477 -0
  1627. lilrae-8.0.0/tests/test_pack_backend_interaction.py +362 -0
  1628. lilrae-8.0.0/tests/test_pack_backend_realization.py +338 -0
  1629. lilrae-8.0.0/tests/test_pack_content_resolution.py +391 -0
  1630. lilrae-8.0.0/tests/test_paper_scenario_static_gate.py +245 -0
  1631. lilrae-8.0.0/tests/test_participant_mcp_smoke.py +312 -0
  1632. lilrae-8.0.0/tests/test_participant_profile.py +162 -0
  1633. lilrae-8.0.0/tests/test_participant_qualification.py +625 -0
  1634. lilrae-8.0.0/tests/test_participant_workbench.py +846 -0
  1635. lilrae-8.0.0/tests/test_participant_workbench_adapter.py +962 -0
  1636. lilrae-8.0.0/tests/test_pathsafe.py +611 -0
  1637. lilrae-8.0.0/tests/test_platform_ci_gates.py +357 -0
  1638. lilrae-8.0.0/tests/test_plugin_pack_compatibility.py +93 -0
  1639. lilrae-8.0.0/tests/test_pr_title_guard.py +176 -0
  1640. lilrae-8.0.0/tests/test_precommit_config.py +111 -0
  1641. lilrae-8.0.0/tests/test_proc_net_listeners.py +198 -0
  1642. lilrae-8.0.0/tests/test_promotion_workflow.py +168 -0
  1643. lilrae-8.0.0/tests/test_provenance_apparatus.py +219 -0
  1644. lilrae-8.0.0/tests/test_provenance_artifacts_host.py +231 -0
  1645. lilrae-8.0.0/tests/test_provenance_builtin_fleet.py +278 -0
  1646. lilrae-8.0.0/tests/test_provenance_config_runtime.py +330 -0
  1647. lilrae-8.0.0/tests/test_provenance_coordinator.py +369 -0
  1648. lilrae-8.0.0/tests/test_provenance_detection.py +270 -0
  1649. lilrae-8.0.0/tests/test_provenance_identity.py +160 -0
  1650. lilrae-8.0.0/tests/test_provenance_outcomes.py +108 -0
  1651. lilrae-8.0.0/tests/test_provenance_record.py +191 -0
  1652. lilrae-8.0.0/tests/test_provenance_registry.py +183 -0
  1653. lilrae-8.0.0/tests/test_provenance_review_fixes.py +362 -0
  1654. lilrae-8.0.0/tests/test_raes_acl_realization.py +361 -0
  1655. lilrae-8.0.0/tests/test_raes_artifact_availability.py +420 -0
  1656. lilrae-8.0.0/tests/test_raes_artifact_mechanisms.py +307 -0
  1657. lilrae-8.0.0/tests/test_raes_artifact_satisfaction.py +266 -0
  1658. lilrae-8.0.0/tests/test_raes_authored_artifact_authority.py +161 -0
  1659. lilrae-8.0.0/tests/test_raes_backend.py +4732 -0
  1660. lilrae-8.0.0/tests/test_raes_backend_implementation.py +496 -0
  1661. lilrae-8.0.0/tests/test_raes_base_substrate.py +326 -0
  1662. lilrae-8.0.0/tests/test_raes_content_satisfaction.py +501 -0
  1663. lilrae-8.0.0/tests/test_raes_diagnostics.py +60 -0
  1664. lilrae-8.0.0/tests/test_raes_docker_materializer.py +836 -0
  1665. lilrae-8.0.0/tests/test_raes_dynamic_composition.py +532 -0
  1666. lilrae-8.0.0/tests/test_raes_evaluator.py +567 -0
  1667. lilrae-8.0.0/tests/test_raes_evidence.py +228 -0
  1668. lilrae-8.0.0/tests/test_raes_evidence_acquisition.py +1144 -0
  1669. lilrae-8.0.0/tests/test_raes_materializer.py +372 -0
  1670. lilrae-8.0.0/tests/test_raes_materializer_engine.py +393 -0
  1671. lilrae-8.0.0/tests/test_raes_namespace_cutover.py +114 -0
  1672. lilrae-8.0.0/tests/test_raes_native_evidence_truth.py +397 -0
  1673. lilrae-8.0.0/tests/test_raes_node_desired_state.py +75 -0
  1674. lilrae-8.0.0/tests/test_raes_node_materialization.py +235 -0
  1675. lilrae-8.0.0/tests/test_raes_observation.py +1911 -0
  1676. lilrae-8.0.0/tests/test_raes_orchestrator.py +426 -0
  1677. lilrae-8.0.0/tests/test_raes_package_managers.py +112 -0
  1678. lilrae-8.0.0/tests/test_raes_participant_delivery.py +854 -0
  1679. lilrae-8.0.0/tests/test_raes_planning_compat.py +541 -0
  1680. lilrae-8.0.0/tests/test_raes_realization_service_ports.py +106 -0
  1681. lilrae-8.0.0/tests/test_raes_repro.py +276 -0
  1682. lilrae-8.0.0/tests/test_raes_runtime_attestation.py +198 -0
  1683. lilrae-8.0.0/tests/test_raes_runtime_environment.py +971 -0
  1684. lilrae-8.0.0/tests/test_raes_runtime_observation.py +2802 -0
  1685. lilrae-8.0.0/tests/test_raes_runtime_orchestration.py +1832 -0
  1686. lilrae-8.0.0/tests/test_raes_service_index_schema.py +141 -0
  1687. lilrae-8.0.0/tests/test_raes_service_index_schema_lowering.py +115 -0
  1688. lilrae-8.0.0/tests/test_raes_stateful_realization.py +320 -0
  1689. lilrae-8.0.0/tests/test_range_integration.py +1663 -0
  1690. lilrae-8.0.0/tests/test_realization_declaration_gate.py +102 -0
  1691. lilrae-8.0.0/tests/test_realization_declaration_gate_contract.py +120 -0
  1692. lilrae-8.0.0/tests/test_realization_routing.py +125 -0
  1693. lilrae-8.0.0/tests/test_redaction.py +1019 -0
  1694. lilrae-8.0.0/tests/test_redaction_fuzz.py +238 -0
  1695. lilrae-8.0.0/tests/test_redaction_parity.py +35 -0
  1696. lilrae-8.0.0/tests/test_runstore.py +543 -0
  1697. lilrae-8.0.0/tests/test_runstore_content_store.py +119 -0
  1698. lilrae-8.0.0/tests/test_runtime_materialization.py +454 -0
  1699. lilrae-8.0.0/tests/test_scenario_bundle.py +502 -0
  1700. lilrae-8.0.0/tests/test_scenario_bundle_realization_roots.py +362 -0
  1701. lilrae-8.0.0/tests/test_scenario_bundle_wiring.py +120 -0
  1702. lilrae-8.0.0/tests/test_scenario_catalog.py +225 -0
  1703. lilrae-8.0.0/tests/test_scenario_detail.py +176 -0
  1704. lilrae-8.0.0/tests/test_scenario_pack_ownership_contract.py +266 -0
  1705. lilrae-8.0.0/tests/test_scenario_source_config.py +131 -0
  1706. lilrae-8.0.0/tests/test_scenario_verification_artifacts.py +312 -0
  1707. lilrae-8.0.0/tests/test_scenario_verification_seam.py +681 -0
  1708. lilrae-8.0.0/tests/test_scenarios.py +80 -0
  1709. lilrae-8.0.0/tests/test_scorecard_workflow.py +141 -0
  1710. lilrae-8.0.0/tests/test_seat_desktop.py +226 -0
  1711. lilrae-8.0.0/tests/test_seat_image.py +261 -0
  1712. lilrae-8.0.0/tests/test_seat_image_build.py +301 -0
  1713. lilrae-8.0.0/tests/test_seat_image_config.py +162 -0
  1714. lilrae-8.0.0/tests/test_seat_image_consent.py +88 -0
  1715. lilrae-8.0.0/tests/test_seat_image_runtime.py +286 -0
  1716. lilrae-8.0.0/tests/test_seat_image_selection.py +325 -0
  1717. lilrae-8.0.0/tests/test_seat_image_trust.py +165 -0
  1718. lilrae-8.0.0/tests/test_seat_image_update.py +189 -0
  1719. lilrae-8.0.0/tests/test_seat_launch_descriptor.py +62 -0
  1720. lilrae-8.0.0/tests/test_seat_local_release.py +71 -0
  1721. lilrae-8.0.0/tests/test_seat_maintenance.py +87 -0
  1722. lilrae-8.0.0/tests/test_seat_overlay.py +171 -0
  1723. lilrae-8.0.0/tests/test_seat_overlay_identity.py +103 -0
  1724. lilrae-8.0.0/tests/test_seat_privilege_qualification.py +78 -0
  1725. lilrae-8.0.0/tests/test_seat_privileges.py +326 -0
  1726. lilrae-8.0.0/tests/test_seed_misp_script.py +76 -0
  1727. lilrae-8.0.0/tests/test_seed_prime_failures.py +83 -0
  1728. lilrae-8.0.0/tests/test_seed_script_env.py +139 -0
  1729. lilrae-8.0.0/tests/test_seed_shuffle_script.py +176 -0
  1730. lilrae-8.0.0/tests/test_service_index_materialization.py +316 -0
  1731. lilrae-8.0.0/tests/test_services.py +604 -0
  1732. lilrae-8.0.0/tests/test_session.py +592 -0
  1733. lilrae-8.0.0/tests/test_shell.py +67 -0
  1734. lilrae-8.0.0/tests/test_shuffle_realization_contract.py +174 -0
  1735. lilrae-8.0.0/tests/test_smoke.py +325 -0
  1736. lilrae-8.0.0/tests/test_snapshot.py +741 -0
  1737. lilrae-8.0.0/tests/test_snapshot_status.py +169 -0
  1738. lilrae-8.0.0/tests/test_soc_ca.py +637 -0
  1739. lilrae-8.0.0/tests/test_sonar_assert_no_new_issues.py +115 -0
  1740. lilrae-8.0.0/tests/test_ssh.py +706 -0
  1741. lilrae-8.0.0/tests/test_ssh_key_bundle.py +433 -0
  1742. lilrae-8.0.0/tests/test_stage_hosted_seat_payload.py +100 -0
  1743. lilrae-8.0.0/tests/test_stranded_helper_cleanup.py +285 -0
  1744. lilrae-8.0.0/tests/test_substrate_daemon_gate.py +363 -0
  1745. lilrae-8.0.0/tests/test_substrate_posture_real_docker.py +264 -0
  1746. lilrae-8.0.0/tests/test_supply_chain_pinning.py +423 -0
  1747. lilrae-8.0.0/tests/test_sysreqs.py +376 -0
  1748. lilrae-8.0.0/tests/test_techvault_build_cache.py +71 -0
  1749. lilrae-8.0.0/tests/test_techvault_curated_variants.py +220 -0
  1750. lilrae-8.0.0/tests/test_techvault_database.py +582 -0
  1751. lilrae-8.0.0/tests/test_techvault_dns_integration.py +141 -0
  1752. lilrae-8.0.0/tests/test_techvault_evidence_sources.py +241 -0
  1753. lilrae-8.0.0/tests/test_techvault_live_gate.py +1962 -0
  1754. lilrae-8.0.0/tests/test_techvault_log_sources.py +464 -0
  1755. lilrae-8.0.0/tests/test_techvault_native_evidence.py +471 -0
  1756. lilrae-8.0.0/tests/test_techvault_pack_interaction_provider.py +69 -0
  1757. lilrae-8.0.0/tests/test_techvault_readiness_probe_scripts.py +274 -0
  1758. lilrae-8.0.0/tests/test_techvault_readiness_sources.py +766 -0
  1759. lilrae-8.0.0/tests/test_techvault_runtime_parameters.py +78 -0
  1760. lilrae-8.0.0/tests/test_techvault_scenario_verifier.py +167 -0
  1761. lilrae-8.0.0/tests/test_techvault_startup_adapter.py +606 -0
  1762. lilrae-8.0.0/tests/test_techvault_static_gate.py +1246 -0
  1763. lilrae-8.0.0/tests/test_techvault_study_adapter.py +54 -0
  1764. lilrae-8.0.0/tests/test_techvault_telemetry_spine.py +176 -0
  1765. lilrae-8.0.0/tests/test_techvault_telemetry_stimulus.py +183 -0
  1766. lilrae-8.0.0/tests/test_telemetry.py +387 -0
  1767. lilrae-8.0.0/tests/test_traffic_mirror.py +117 -0
  1768. lilrae-8.0.0/tests/test_version.py +10 -0
  1769. lilrae-8.0.0/tests/test_version_consistency.py +62 -0
  1770. lilrae-8.0.0/tests/test_wazuh_active_response.py +999 -0
  1771. lilrae-8.0.0/tests/test_wazuh_identity.py +156 -0
  1772. lilrae-8.0.0/tests/test_web_api_identity.py +66 -0
  1773. lilrae-8.0.0/tests/test_web_dockerfile_cmd.py +54 -0
  1774. lilrae-8.0.0/tests/test_workbench_authorization.py +168 -0
  1775. lilrae-8.0.0/tests/test_workbench_process.py +787 -0
  1776. lilrae-8.0.0/tests/test_workflow_engine.py +359 -0
  1777. lilrae-8.0.0/tools/.gitignore +4 -0
  1778. lilrae-8.0.0/tools/check_pr_title.py +279 -0
  1779. lilrae-8.0.0/tools/install-vale.sh +169 -0
  1780. lilrae-8.0.0/tools/run-targeted-tests.sh +78 -0
  1781. lilrae-8.0.0/tools/sonar/README.md +20 -0
  1782. lilrae-8.0.0/tools/sonar/assert_no_new_issues.py +174 -0
  1783. lilrae-8.0.0/tools/vale-lint-all.sh +22 -0
  1784. lilrae-8.0.0/tools/vale-lint-hook.sh +34 -0
  1785. lilrae-8.0.0/tools/workshop/arsenal-2026/README.md +17 -0
  1786. lilrae-8.0.0/tools/workshop/arsenal-2026/aptl-range.service.txt +25 -0
  1787. lilrae-8.0.0/tools/workshop/arsenal-2026/envpack-kali-fixups.sh.txt +122 -0
  1788. lilrae-8.0.0/tools/workshop/arsenal-2026/envpack-soar-fixups.sh.txt +195 -0
  1789. lilrae-8.0.0/tools/workshop/arsenal-2026/envpack-suricata-fixups.sh.txt +130 -0
  1790. lilrae-8.0.0/tools/workshop/arsenal-2026/launch-ranges.sh.txt +119 -0
  1791. lilrae-8.0.0/tools/workshop/arsenal-2026/provision-range.sh.txt +156 -0
  1792. lilrae-8.0.0/tools/workshop/arsenal-2026/setup-purple-demo.sh.txt +75 -0
  1793. lilrae-8.0.0/tools/workshop/arsenal-2026/setup-rdp.sh.txt +98 -0
  1794. lilrae-8.0.0/tools/workshop/hosted-seat-kali-node.patch +19 -0
  1795. lilrae-8.0.0/tools/workshop/hosted_seat.py +401 -0
  1796. lilrae-8.0.0/tools/workshop/stage_hosted_seat_payload.py +172 -0
  1797. lilrae-8.0.0/uv.lock +2928 -0
  1798. lilrae-8.0.0/web/.dockerignore +6 -0
  1799. lilrae-8.0.0/web/Caddyfile +33 -0
  1800. lilrae-8.0.0/web/Dockerfile +39 -0
  1801. lilrae-8.0.0/web/Dockerfile.api +57 -0
  1802. lilrae-8.0.0/web/caddy-build/go.mod +171 -0
  1803. lilrae-8.0.0/web/caddy-build/go.sum +587 -0
  1804. lilrae-8.0.0/web/caddy-build/main.go +12 -0
  1805. lilrae-8.0.0/web/package-lock.json +3749 -0
  1806. lilrae-8.0.0/web/package.json +41 -0
  1807. lilrae-8.0.0/web/src/app.css +225 -0
  1808. lilrae-8.0.0/web/src/app.html +16 -0
  1809. lilrae-8.0.0/web/src/lib/api.ts +182 -0
  1810. lilrae-8.0.0/web/src/lib/bff.ts +138 -0
  1811. lilrae-8.0.0/web/src/lib/components/ConfigSummaryList.svelte +84 -0
  1812. lilrae-8.0.0/web/src/lib/components/ContainerCard.svelte +96 -0
  1813. lilrae-8.0.0/web/src/lib/components/ContainerGrid.svelte +22 -0
  1814. lilrae-8.0.0/web/src/lib/components/KillConfirmDialog.svelte +70 -0
  1815. lilrae-8.0.0/web/src/lib/components/LabStartNotice.svelte +111 -0
  1816. lilrae-8.0.0/web/src/lib/components/LabStatusBadge.svelte +20 -0
  1817. lilrae-8.0.0/web/src/lib/components/LocalUseNoticeDialog.svelte +45 -0
  1818. lilrae-8.0.0/web/src/lib/components/NavBar.svelte +32 -0
  1819. lilrae-8.0.0/web/src/lib/components/PrivacyDetailsPanel.svelte +61 -0
  1820. lilrae-8.0.0/web/src/lib/components/ScenarioCard.svelte +72 -0
  1821. lilrae-8.0.0/web/src/lib/components/SettingsDialog.svelte +169 -0
  1822. lilrae-8.0.0/web/src/lib/components/Terminal.svelte +217 -0
  1823. lilrae-8.0.0/web/src/lib/components/kit/Badge.svelte +37 -0
  1824. lilrae-8.0.0/web/src/lib/components/kit/Button.svelte +57 -0
  1825. lilrae-8.0.0/web/src/lib/components/kit/Dialog.svelte +96 -0
  1826. lilrae-8.0.0/web/src/lib/components/kit/Field.svelte +60 -0
  1827. lilrae-8.0.0/web/src/lib/components/kit/Menu.svelte +153 -0
  1828. lilrae-8.0.0/web/src/lib/components/kit/Select.svelte +62 -0
  1829. lilrae-8.0.0/web/src/lib/components/kit/StatusBadge.svelte +17 -0
  1830. lilrae-8.0.0/web/src/lib/components/kit/Table.svelte +48 -0
  1831. lilrae-8.0.0/web/src/lib/components/kit/TextInput.svelte +56 -0
  1832. lilrae-8.0.0/web/src/lib/components/kit/field-context.ts +16 -0
  1833. lilrae-8.0.0/web/src/lib/components/kit/focus-trap.ts +70 -0
  1834. lilrae-8.0.0/web/src/lib/components/kit/id.ts +13 -0
  1835. lilrae-8.0.0/web/src/lib/components/kit/index.ts +28 -0
  1836. lilrae-8.0.0/web/src/lib/components/kit/tone.ts +64 -0
  1837. lilrae-8.0.0/web/src/lib/components/workbench/ContainerStatusBlock.svelte +35 -0
  1838. lilrae-8.0.0/web/src/lib/components/workbench/NarrativeBlock.svelte +15 -0
  1839. lilrae-8.0.0/web/src/lib/components/workbench/ObjectiveBlock.svelte +33 -0
  1840. lilrae-8.0.0/web/src/lib/components/workbench/SectionDivider.svelte +13 -0
  1841. lilrae-8.0.0/web/src/lib/components/workbench/SiemQueryBlock.svelte +31 -0
  1842. lilrae-8.0.0/web/src/lib/components/workbench/StepBlock.svelte +32 -0
  1843. lilrae-8.0.0/web/src/lib/components/workbench/TerminalBlock.svelte +41 -0
  1844. lilrae-8.0.0/web/src/lib/components/workbench/WorkbenchStatusBar.svelte +92 -0
  1845. lilrae-8.0.0/web/src/lib/container-state.ts +6 -0
  1846. lilrae-8.0.0/web/src/lib/markdown.ts +12 -0
  1847. lilrae-8.0.0/web/src/lib/session.ts +75 -0
  1848. lilrae-8.0.0/web/src/lib/stores/lab.ts +91 -0
  1849. lilrae-8.0.0/web/src/lib/stores/preferences.ts +259 -0
  1850. lilrae-8.0.0/web/src/lib/stores/ui.ts +60 -0
  1851. lilrae-8.0.0/web/src/lib/time.ts +44 -0
  1852. lilrae-8.0.0/web/src/lib/types.ts +221 -0
  1853. lilrae-8.0.0/web/src/routes/+error.svelte +16 -0
  1854. lilrae-8.0.0/web/src/routes/+layout.svelte +53 -0
  1855. lilrae-8.0.0/web/src/routes/+layout.ts +16 -0
  1856. lilrae-8.0.0/web/src/routes/+page.svelte +245 -0
  1857. lilrae-8.0.0/web/src/routes/+page.ts +24 -0
  1858. lilrae-8.0.0/web/src/routes/config/+page.svelte +26 -0
  1859. lilrae-8.0.0/web/src/routes/config/+page.ts +21 -0
  1860. lilrae-8.0.0/web/src/routes/scenarios/[id]/+page.svelte +52 -0
  1861. lilrae-8.0.0/web/src/routes/scenarios/[id]/+page.ts +27 -0
  1862. lilrae-8.0.0/web/src/routes/terminal/[container]/+page.svelte +95 -0
  1863. lilrae-8.0.0/web/svelte.config.js +36 -0
  1864. lilrae-8.0.0/web/tests/components/ConfigSummaryList.test.ts +76 -0
  1865. lilrae-8.0.0/web/tests/components/KillConfirmDialog.test.ts +81 -0
  1866. lilrae-8.0.0/web/tests/components/LabStartNotice.test.ts +147 -0
  1867. lilrae-8.0.0/web/tests/components/LabStatusBadge.test.ts +17 -0
  1868. lilrae-8.0.0/web/tests/components/LocalUseNoticeDialog.test.ts +55 -0
  1869. lilrae-8.0.0/web/tests/components/NavBar.test.ts +31 -0
  1870. lilrae-8.0.0/web/tests/components/PrivacyDetailsPanel.test.ts +40 -0
  1871. lilrae-8.0.0/web/tests/components/ScenarioCard.test.ts +76 -0
  1872. lilrae-8.0.0/web/tests/components/SettingsDialog.test.ts +60 -0
  1873. lilrae-8.0.0/web/tests/components/Terminal.test.ts +231 -0
  1874. lilrae-8.0.0/web/tests/components/kit/Badge.test.ts +42 -0
  1875. lilrae-8.0.0/web/tests/components/kit/Button.test.ts +51 -0
  1876. lilrae-8.0.0/web/tests/components/kit/Dialog.test.ts +64 -0
  1877. lilrae-8.0.0/web/tests/components/kit/Field.test.ts +37 -0
  1878. lilrae-8.0.0/web/tests/components/kit/Menu.test.ts +74 -0
  1879. lilrae-8.0.0/web/tests/components/kit/Select.test.ts +35 -0
  1880. lilrae-8.0.0/web/tests/components/kit/StatusBadge.test.ts +17 -0
  1881. lilrae-8.0.0/web/tests/components/kit/Table.test.ts +28 -0
  1882. lilrae-8.0.0/web/tests/components/kit/TextInput.test.ts +28 -0
  1883. lilrae-8.0.0/web/tests/components/kit/fixtures/DialogHarness.svelte +22 -0
  1884. lilrae-8.0.0/web/tests/components/kit/fixtures/FieldHarness.svelte +17 -0
  1885. lilrae-8.0.0/web/tests/components/kit/fixtures/SelectHarness.svelte +23 -0
  1886. lilrae-8.0.0/web/tests/components/kit/fixtures/TableHarness.svelte +20 -0
  1887. lilrae-8.0.0/web/tests/components/kit/fixtures/TextInputHarness.svelte +16 -0
  1888. lilrae-8.0.0/web/tests/components/kit/focus-trap.test.ts +78 -0
  1889. lilrae-8.0.0/web/tests/components/kit/helpers.ts +15 -0
  1890. lilrae-8.0.0/web/tests/components/kit/tone.test.ts +48 -0
  1891. lilrae-8.0.0/web/tests/components/workbench/blocks.test.ts +99 -0
  1892. lilrae-8.0.0/web/tests/lib/api.test.ts +331 -0
  1893. lilrae-8.0.0/web/tests/lib/bff.test.ts +185 -0
  1894. lilrae-8.0.0/web/tests/lib/container-state.test.ts +23 -0
  1895. lilrae-8.0.0/web/tests/lib/markdown.test.ts +48 -0
  1896. lilrae-8.0.0/web/tests/lib/preferences.test.ts +158 -0
  1897. lilrae-8.0.0/web/tests/lib/routes.test.ts +130 -0
  1898. lilrae-8.0.0/web/tests/lib/session.test.ts +79 -0
  1899. lilrae-8.0.0/web/tests/lib/stores.test.ts +220 -0
  1900. lilrae-8.0.0/web/tests/lib/time.test.ts +30 -0
  1901. lilrae-8.0.0/web/tests/lib/ui.test.ts +84 -0
  1902. lilrae-8.0.0/web/tests/routes/config-page.test.ts +64 -0
  1903. lilrae-8.0.0/web/tests/routes/fixtures/LayoutHarness.svelte +7 -0
  1904. lilrae-8.0.0/web/tests/routes/layout.test.ts +32 -0
  1905. lilrae-8.0.0/web/tests/routes/page.test.ts +193 -0
  1906. lilrae-8.0.0/web/tests/routes/scenario-workbench.test.ts +139 -0
  1907. lilrae-8.0.0/web/tests/routes/terminal-page.test.ts +97 -0
  1908. lilrae-8.0.0/web/tests/setup.ts +1 -0
  1909. lilrae-8.0.0/web/tsconfig.json +14 -0
  1910. lilrae-8.0.0/web/vite.config.ts +20 -0
  1911. lilrae-8.0.0/web/vitest.config.ts +22 -0
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "APTL — Advanced Purple Team Lab",
3
+ "description": "A local Docker-based purple-team lab for exercising human and AI red- and blue-team workflows in an intentionally vulnerable enterprise range.",
4
+ "homepage_url": "https://openrae.github.io/lilrae/",
5
+ "repo_url": "https://github.com/OpenRAE/lilrae",
6
+ "license": "MIT",
7
+ "description_good_status": "Met",
8
+ "description_good_justification": "https://openrae.github.io/lilrae/",
9
+ "interact_status": "Met",
10
+ "interact_justification": "https://openrae.github.io/lilrae/#help-and-project-policies",
11
+ "contribution_status": "Met",
12
+ "contribution_justification": "https://github.com/OpenRAE/lilrae/blob/main/CONTRIBUTING.md",
13
+ "contribution_requirements_status": "Met",
14
+ "contribution_requirements_justification": "https://github.com/OpenRAE/lilrae/blob/main/CONTRIBUTING.md#making-changes",
15
+ "floss_license_status": "Met",
16
+ "floss_license_justification": "APTL is distributed under the OSI-approved MIT License.",
17
+ "floss_license_osi_status": "Met",
18
+ "floss_license_osi_justification": "The MIT License is OSI approved.",
19
+ "license_location_status": "Met",
20
+ "license_location_justification": "https://github.com/OpenRAE/lilrae/blob/main/LICENSE",
21
+ "documentation_basics_status": "Met",
22
+ "documentation_basics_justification": "https://openrae.github.io/lilrae/getting-started/",
23
+ "documentation_interface_status": "Met",
24
+ "documentation_interface_justification": "https://openrae.github.io/lilrae/reference/cli/",
25
+ "sites_https_status": "Met",
26
+ "sites_https_justification": "The repository, package index, and both documentation hosts use HTTPS.",
27
+ "discussion_status": "Met",
28
+ "discussion_justification": "https://github.com/OpenRAE/lilrae/issues",
29
+ "english_status": "Met",
30
+ "english_justification": "Project documentation and contribution channels use English.",
31
+ "maintained_status": "Met",
32
+ "repo_public_status": "Met",
33
+ "repo_public_justification": "https://github.com/OpenRAE/lilrae",
34
+ "repo_track_status": "Met",
35
+ "repo_track_justification": "The public Git repository records changes, authors, and timestamps.",
36
+ "repo_interim_status": "Met",
37
+ "repo_interim_justification": "Feature branches and pull requests expose interim changes for review.",
38
+ "repo_distributed_status": "Met",
39
+ "repo_distributed_justification": "The project uses Git.",
40
+ "version_unique_status": "Met",
41
+ "version_unique_justification": "Every release has a unique PEP 440 version and Git tag.",
42
+ "version_semver_status": "Met",
43
+ "version_semver_justification": "APTL publishes three-part semantic versions.",
44
+ "version_tags_status": "Met",
45
+ "version_tags_justification": "https://github.com/OpenRAE/lilrae/tags",
46
+ "release_notes_status": "Met",
47
+ "release_notes_justification": "https://github.com/OpenRAE/lilrae/releases",
48
+ "release_notes_vulns_status": "Met",
49
+ "release_notes_vulns_justification": "Release notes identify user-visible fixes; no public APTL vulnerability with a CVE has been fixed to date.",
50
+ "report_process_status": "Met",
51
+ "report_process_justification": "https://github.com/OpenRAE/lilrae/blob/main/SUPPORT.md",
52
+ "report_tracker_status": "Met",
53
+ "report_tracker_justification": "https://github.com/OpenRAE/lilrae/issues",
54
+ "report_archive_status": "Met",
55
+ "report_archive_justification": "https://github.com/OpenRAE/lilrae/issues?q=is%3Aissue",
56
+ "vulnerability_report_process_status": "Met",
57
+ "vulnerability_report_process_justification": "https://github.com/OpenRAE/lilrae/security/policy",
58
+ "vulnerability_report_private_status": "Met",
59
+ "vulnerability_report_private_justification": "https://github.com/OpenRAE/lilrae/security/advisories/new",
60
+ "test_status": "Met",
61
+ "test_justification": "https://github.com/OpenRAE/lilrae/blob/main/CONTRIBUTING.md#verification",
62
+ "test_invocation_status": "Met",
63
+ "test_invocation_justification": "The Python suite uses pytest and the TypeScript suites use npm test.",
64
+ "test_continuous_integration_status": "Met",
65
+ "test_continuous_integration_justification": "https://github.com/OpenRAE/lilrae/actions/workflows/checks.yml",
66
+ "test_policy_status": "Met",
67
+ "test_policy_justification": "https://github.com/OpenRAE/lilrae/blob/main/CONTRIBUTING.md#making-changes",
68
+ "tests_are_added_status": "Met",
69
+ "tests_are_added_justification": "Recent feature and fix pull requests include focused regression tests.",
70
+ "tests_documented_added_status": "Met",
71
+ "tests_documented_added_justification": "https://github.com/OpenRAE/lilrae/blob/main/CONTRIBUTING.md#making-changes",
72
+ "warnings_status": "Met",
73
+ "warnings_justification": "Pre-commit, Ruff, Vale, strict MkDocs, TypeScript checks, and SonarCloud run in CI.",
74
+ "warnings_fixed_status": "Met",
75
+ "warnings_fixed_justification": "Required checks must pass before protected-branch integration.",
76
+ "warnings_strict_status": "Met",
77
+ "warnings_strict_justification": "The project uses strict documentation builds and blocking lint, type, complexity, and new-code quality gates.",
78
+ "no_leaked_credentials_status": "Met",
79
+ "no_leaked_credentials_justification": "Secret detection runs in pre-commit and CI; committed fixture credentials are intentionally public lab data.",
80
+ "static_analysis_status": "Met",
81
+ "static_analysis_justification": "SonarCloud analyzes proposed releases and a blocking gate rejects new issues.",
82
+ "static_analysis_common_vulnerabilities_status": "Met",
83
+ "static_analysis_common_vulnerabilities_justification": "SonarCloud, Trivy, pip-audit, and OSV-Scanner examine common defect and vulnerability classes.",
84
+ "static_analysis_often_status": "Met",
85
+ "static_analysis_often_justification": "Static analysis runs in the pull-request and integration-branch checks.",
86
+ "dynamic_analysis_status": "Met",
87
+ "dynamic_analysis_justification": "Property-based fuzz tests vary parser and configuration inputs; live release qualification exercises the deployed lab.",
88
+ "dynamic_analysis_unsafe_status": "N/A",
89
+ "dynamic_analysis_unsafe_justification": "APTL production source is Python and TypeScript, not a memory-unsafe language.",
90
+ "dynamic_analysis_enable_assertions_status": "Met",
91
+ "dynamic_analysis_enable_assertions_justification": "Pytest, Hypothesis, and Vitest execute with their assertions enabled.",
92
+ "general_comments": "The complete passing-level assessment and evidence links are maintained at https://openrae.github.io/lilrae/security/openssf-best-practices/. Account-only attestations must be confirmed by the maintainer in the badge application."
93
+ }
@@ -0,0 +1,39 @@
1
+ #!/bin/bash
2
+ # Block edits to sensitive files (.env, credentials, keys)
3
+ FILE_PATH=$(jq -r '.tool_input.file_path // empty')
4
+
5
+ if [[ -z "$FILE_PATH" ]]; then
6
+ exit 0
7
+ fi
8
+
9
+ BASENAME=$(basename "$FILE_PATH")
10
+
11
+ # Block .env files, but allow committed templates (`.env.example`,
12
+ # `.env.*.example`) since those carry placeholders, not secrets.
13
+ if [[ "$BASENAME" == .env* ]] && [[ "$BASENAME" != *.example ]]; then
14
+ echo "BLOCKED: Editing $BASENAME is not allowed. These files contain secrets." >&2
15
+ exit 2
16
+ fi
17
+
18
+ if [[ "$BASENAME" == "local_settings.py" ]]; then
19
+ echo "BLOCKED: Editing $BASENAME is not allowed. These files contain secrets." >&2
20
+ exit 2
21
+ fi
22
+
23
+ # The config-rendering source module src/aptl/core/credentials.py is NOT a
24
+ # secret store — it renders credentialized service config from checked-in
25
+ # templates (ADR-028) and holds no secrets. The credential-store glob below
26
+ # (`credentials*`) otherwise catches it; exempt this one source path so the
27
+ # module stays editable while every real secret file (.env*, *.key, *.pem,
28
+ # credential data files) remains protected.
29
+ if [[ "$FILE_PATH" == */src/aptl/core/credentials.py || "$FILE_PATH" == "src/aptl/core/credentials.py" ]]; then
30
+ exit 0
31
+ fi
32
+
33
+ # Block key/credential files
34
+ if [[ "$BASENAME" == *.key ]] || [[ "$BASENAME" == *.pem ]] || [[ "$BASENAME" == "credentials"* ]]; then
35
+ echo "BLOCKED: Editing $BASENAME is not allowed. These files contain secrets." >&2
36
+ exit 2
37
+ fi
38
+
39
+ exit 0
@@ -0,0 +1,25 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "mcp__aptl-reverse__reverse_info",
5
+ "mcp__aptl-soar__soar_get_execution",
6
+ "mcp__aptl-case-mgmt__cases_update_case",
7
+ "mcp__aptl-reverse__reverse_run_command",
8
+ "WebFetch(domain:raw.githubusercontent.com)",
9
+ "Bash(git clone:*)"
10
+ ]
11
+ },
12
+ "hooks": {
13
+ "PreToolUse": [
14
+ {
15
+ "matcher": "Edit|Write",
16
+ "hooks": [
17
+ {
18
+ "type": "command",
19
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/protect_files.sh"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ }
25
+ }
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: gh-workflow-monitor
3
+ description: Monitor GitHub workflows, propose fixes for failures, and report status
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # GitHub Workflow Monitor
8
+
9
+ Use the `gh` for GitHub operations.
10
+
11
+ ## Step 1: Check current branch.
12
+
13
+ ## Step 2: If the branch is not green, find the GitHub Actions workflow run associated with the current branch. Use the gh cli.
14
+
15
+ ## Step 3: Monitor the workflow run for failures.
16
+
17
+ ## Step 4: If the workflow run fails, propose a fix.
18
+
19
+ ## Step 5: If the workflow run succeeds, exit plan mode and report the status.
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: ship
3
+ description: Ship current branch — CI, SonarCloud, code review, security review, fix all issues, merge. Assumes code is already committed and pushed.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Ship Current Branch
8
+
9
+ Assumes code is already committed and pushed. Handles: PR creation, CI monitoring, SonarCloud, code review, security review, fixing all issues, and merging.
10
+
11
+ **IMPORTANT:** NEVER include Co-Authored-By, "Generated with Claude Code", or any Claude/AI attribution in commit messages, PR descriptions, or any other artifacts.
12
+
13
+ ## Phase 1: Create PR
14
+
15
+ 1. Determine the current branch: `git branch --show-current`
16
+ 2. Check if a PR already exists: `gh pr list --head <branch> --json number,url`
17
+ 3. If no PR exists, create one:
18
+ ```
19
+ gh pr create --base dev --title "<concise title>" --body "<description>"
20
+ ```
21
+ 4. Note the PR number.
22
+
23
+ ## Phase 2: CI Monitor
24
+
25
+ 1. Find the latest workflow run: `gh run list --branch <branch> --limit 1 --json status,conclusion,databaseId`
26
+ 2. If the run is in progress, watch it: `gh run watch <id>`
27
+ 3. If it failed:
28
+ - Get failed logs: `gh run view <id> --log-failed`
29
+ - Diagnose and fix the issue.
30
+ - `git add`, `git commit`, `git push`.
31
+ - Go back to step 1.
32
+ 4. If it succeeded, proceed.
33
+
34
+ ## Phase 3: SonarCloud Check
35
+
36
+ 1. Wait 60 seconds for SonarCloud analysis to propagate.
37
+ 2. Use `get_project_quality_gate_status` with project key `Brad-Edwards_aptl` to check the quality gate.
38
+ 3. Use `search_sonar_issues_in_projects` to find new issues on the current branch.
39
+ 4. If issues found:
40
+ - Fix them.
41
+ - `git add`, `git commit`, `git push`.
42
+ - Re-run Phase 2.
43
+ 5. If clean, proceed.
44
+
45
+ ## Phase 4: Code Review
46
+
47
+ **CRITICAL: You MUST use the Skill tool to invoke the built-in review skill.**
48
+
49
+ 1. Merge dev into the current branch: `git fetch origin dev && git merge origin/dev`
50
+ 2. If there are merge conflicts, resolve them, commit, and push.
51
+ 3. Call the Skill tool with `skill="review"` to invoke the real built-in code review.
52
+ 4. After the review completes, fix ALL issues it identified.
53
+ - Do NOT defer ANY issues.
54
+ - Do NOT categorize issues as "low priority" to avoid work.
55
+ - You are an LLM. You have no time constraints. Fix everything.
56
+ - The ONLY reason to stop and escalate to the user is if a fix requires
57
+ a significant architectural change touching 5+ files outside the
58
+ current feature scope.
59
+ 5. After fixing, re-read all findings and confirm each one was addressed.
60
+
61
+ ## Phase 5: Security Review
62
+
63
+ **CRITICAL: You MUST use the Skill tool to invoke the built-in security-review skill.**
64
+
65
+ 1. Call the Skill tool with `skill="security-review"` to invoke the real built-in security review.
66
+ 2. After the review completes, fix ALL issues it identified.
67
+ - Same rules as Phase 4: fix everything, defer nothing.
68
+ 3. After fixing, confirm all findings were addressed.
69
+
70
+ ## Phase 6: Final Commit & CI
71
+
72
+ If ANY fixes were made in Phases 4-5:
73
+ 1. `git add` all changed files.
74
+ 2. `git commit -m "Fix code review and security review findings"`
75
+ 3. `git push`
76
+ 4. Re-run Phase 2 (CI Monitor).
77
+ 5. Re-run Phase 3 (SonarCloud).
78
+
79
+ ## Phase 7: Report (DO NOT MERGE)
80
+
81
+ **You MUST NOT merge the PR. You MUST NOT run `gh pr merge`. The user reviews and merges.**
82
+
83
+ - Summary of all changes made during the ship process
84
+ - Review findings and what was fixed
85
+ - Security review findings and what was fixed
86
+ - Confirmation: CI green, SonarCloud passed, PR ready for user review
87
+ - PR URL
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: stage
3
+ description: Stage files, run pre-commit, fix failures, loop until clean
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Stage Changes
8
+
9
+ ## Step 1: Identify Changed Files
10
+
11
+ 1. Run `git status` to see all changed and untracked files.
12
+ 2. Exclude from staging: .env files, credentials, secrets, large binaries.
13
+
14
+ ## Step 2: Stage Files
15
+
16
+ 1. `git add` all relevant changed files.
17
+
18
+ ## Step 3: Pre-commit Loop
19
+
20
+ Run up to 5 iterations:
21
+
22
+ 1. Run `pre-commit run` against the staged files. Never use `--all-files`
23
+ locally; CI/CD owns whole-tree checks.
24
+ 2. If it passes, proceed to Step 4.
25
+ 3. If it fails:
26
+ - Read the failure output.
27
+ - Fix the issues.
28
+ - Re-stage any modified files with `git add`.
29
+ - Go back to step 1.
30
+ 4. If still failing after 5 attempts, report the failure details to the user and stop.
31
+
32
+ ## Step 4: Report
33
+
34
+ - List what is staged: `git diff --cached --name-only`
35
+ - Confirm pre-commit passes.
36
+ - "All files staged and pre-commit clean. Ready for commit."
@@ -0,0 +1,119 @@
1
+ ---
2
+ name: wave-issue-coverage
3
+ description: For each DRAFT requirement in a given Ground Control wave (or all waves), ensure a GitHub issue covers it and is bidirectionally linked. Use when the user asks to "cover wave N requirements with issues", "back-fill issues for draft requirements", or similar. Requires the Ground Control MCP and `gh` CLI.
4
+ ---
5
+
6
+ # Wave Issue Coverage
7
+
8
+ Back-fill GitHub issue coverage for DRAFT Ground Control requirements in a given wave.
9
+
10
+ ## Inputs
11
+
12
+ - **wave**: integer wave number (e.g. `1`, `2`, `3`) OR the literal string `all`
13
+ - `all` → process every wave that has DRAFT requirements, smallest wave first
14
+
15
+ ## Preconditions
16
+
17
+ 1. Read `.ground-control.yaml` at the repo root via `gc_get_repo_ground_control_context` to obtain:
18
+ - `project` — Ground Control project identifier
19
+ - `github_repo` — `owner/repo` for `gh` calls
20
+ These values are passed to every MCP and `gh` call in this workflow. Do not hard-code them.
21
+ 2. The GC MCP server (`mcp__ground-control__*`) must be available.
22
+ 3. `gh auth status` must be authenticated with write access to `github_repo`.
23
+
24
+ ## Workflow
25
+
26
+ ### 1. Resolve the requirement list
27
+
28
+ Call `gc_list_requirements` with `project=<project>`, `status=DRAFT`, `size=200`, and:
29
+ - `wave=<N>` if a single wave was given, OR
30
+ - no `wave` filter if `all` was given (then group results by wave and process oldest wave first).
31
+
32
+ Capture the full list of `(uid, id, title, requirement_type, priority, wave)` tuples. This is the work list.
33
+
34
+ ### 2. Choose progress tracker
35
+
36
+ Pick based on the size of the work list:
37
+
38
+ | Count | Tracker |
39
+ |---|---|
40
+ | ≤ 25 | `TaskCreate` — one task per requirement, processed in order |
41
+ | > 25 | A temp file at `/tmp/wave-issue-coverage-<wave>-<timestamp>.md` with a checkbox per requirement; update inline as each completes |
42
+
43
+ For the temp-file path, use a single in-progress `TaskCreate` task ("Process wave N coverage — see temp file") so the user still sees forward motion in their TaskList.
44
+
45
+ ### 3. Process sequentially — DO NOT parallelize
46
+
47
+ For each requirement, in order:
48
+
49
+ 1. **Check existing GC traceability**
50
+ `gc_get_traceability` with the requirement UUID. Note any existing `GITHUB_ISSUE` artifact links.
51
+
52
+ 2. **Search GitHub for the UID**
53
+ `gh issue list --repo <github_repo> --state all --search "<UID> in:title,body" --json number,title,state`
54
+
55
+ 3. **Search GitHub for topic overlap (only if no UID match)**
56
+ Run a small number of focused keyword searches drawn from the requirement title/statement. The goal is to catch issues that pre-date the UID convention or were filed under a different name. Pick the strongest 1–3 keywords; do not flood with searches.
57
+
58
+ 4. **Decide coverage**
59
+ - **Issue found that fully or substantially covers the requirement** → link it and update its body (step 5).
60
+ - **Issue found that partially covers** → link it (step 5) AND create a new issue for the remaining scope (step 6).
61
+ - **No relevant issue** → create a new issue (step 6).
62
+
63
+ 5. **Link existing issue + update body**
64
+ - If GC has no link to the issue yet, call `gc_create_traceability_link` with `link_type=DOCUMENTS` (DRAFT requirements reject `IMPLEMENTS` — see Notes).
65
+ - Read the current issue body; if it does not already have a `## Requirements` section, prepend one:
66
+ ```markdown
67
+ ## Requirements
68
+
69
+ - <UID> — <Requirement Title>
70
+ ```
71
+ If it has one but the UID is missing, add the bullet to the existing list. Save via `gh issue edit <n> --body-file <tempfile>`.
72
+ - Apply labels (step 7).
73
+
74
+ 6. **Create new issue**
75
+ - Call `gc_create_github_issue` with `uid=<UID>`, `project=<project>`, `repo=<github_repo>`, `extra_body="## Requirements\n\n- <UID> — <Title>"`, and `labels=[...]` (step 7 list).
76
+ - The MCP tool will return a warning that the auto-link failed because the requirement is DRAFT (it tries `IMPLEMENTS`). Manually create the link with `gc_create_traceability_link` using `link_type=DOCUMENTS`.
77
+
78
+ 7. **Tag the issue**
79
+ Every issue touched or created in this workflow must carry, at minimum:
80
+ - `requirement`
81
+ - `wave-<N>` (the requirement's wave; create the label if it does not exist via `gh label create wave-<N> --description "Wave <N> requirement" --color B60205`)
82
+
83
+ Plus 1–3 topic-specific labels chosen from the repo's existing label set. Pick conservatively; do not invent new topic labels. Common picks:
84
+ - GC-D* (GitHub integration) → `integrations`, `backend`
85
+ - GC-E* (traceability semantics) → `domain`, `backend`
86
+ - GC-L* (MCP tools) → `mcp-grc`, `api`
87
+ - GC-C* (analysis / quality gates) → `quality`, `ci-cd`
88
+ - GC-Q* (web UI) → `frontend`, `ui`
89
+ - GC-O* (workflow / agents) → `agents`, `workflow`, `documentation`
90
+ - GC-P* (platform / security) → `security` or `auth`
91
+ - TC-* (test management) → `testing`, plus `data-model` / `domain` / `frontend` as fits
92
+
93
+ Apply with `gh issue edit <n> --add-label "a,b,c"`. If a pre-existing issue already has labels, add to them; do not strip.
94
+
95
+ 8. **Mark the task / temp-file row complete** and move to the next requirement. Never advance two requirements in parallel.
96
+
97
+ ### 4. Report back
98
+
99
+ Single short summary: how many requirements processed, how many already had coverage, how many issues created. Do NOT enumerate everything done — the user will read the TaskList or temp file if they want detail.
100
+
101
+ ## Notes
102
+
103
+ - **DRAFT requirements + IMPLEMENTS link**: `gc_create_traceability_link` with `link_type=IMPLEMENTS` rejects DRAFT requirements with `422`. Always use `DOCUMENTS` for issue → DRAFT links. This matches what `gc_create_github_issue` is *trying* to do but the auto-link inside that tool currently uses `IMPLEMENTS` and silently warns; do the link yourself.
104
+ - **Issue body `## Requirements` section**: per `docs/DEVELOPMENT_WORKFLOW.md`, the `/implement` skill parses this section. Format must be a markdown H2 named exactly `## Requirements` followed by a bulleted list, each bullet starting with the UID. This is what makes the issue routable through `/implement` later.
105
+ - **Sequential, not parallel**: the tooling will let you fan out, but the user has explicitly asked for serial processing every time. Honor it.
106
+ - **Don't invent labels**: if a topic label doesn't exist in `gh label list`, skip it rather than creating it. The only label this skill creates is `wave-<N>` when missing.
107
+ - **Idempotency**: re-running this skill on the same wave should be a no-op for already-covered requirements. The presence of a `GITHUB_ISSUE` traceability link AND a `## Requirements` section listing the UID AND `requirement` + `wave-<N>` labels means there is nothing to do; move on.
108
+
109
+ ## Quick reference — MCP calls
110
+
111
+ ```text
112
+ gc_get_repo_ground_control_context(repo_path=<absolute repo path>)
113
+ gc_list_requirements(project, status="DRAFT", wave=<N>, size=200)
114
+ gc_get_traceability(id=<requirement UUID>)
115
+ gc_create_github_issue(uid, project, repo, extra_body, labels)
116
+ gc_create_traceability_link(requirement_id, artifact_type="GITHUB_ISSUE",
117
+ artifact_identifier="#<n>", artifact_title,
118
+ artifact_url, link_type="DOCUMENTS")
119
+ ```
@@ -0,0 +1,4 @@
1
+ {
2
+ "agentCanUpdateSnapshot": true,
3
+ "install": "apt-get update && apt-get install -y nodejs npm jq && cd red_team/kali_mcp && npm install && npm run build"
4
+ }
@@ -0,0 +1,50 @@
1
+ ---
2
+ description:
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # DO NOT JUMP AHEAD
7
+
8
+ ALWAYS follow these rules when working on this codebase:
9
+
10
+ 1. **ONLY do what is explicitly requested** - Do not add extra features, scripts, or files that weren't asked for
11
+ 2. **DO NOT assume what the user wants** - If unclear, ask for clarification rather than making assumptions
12
+ 3. **CHECK before going beyond the request** - If you think something additional might be helpful, ask first
13
+ 4. **STOP when the task is complete** - Don't continue adding "helpful" extras
14
+ 5. **RESPECT the user's workflow** - They know their codebase and requirements better than you do
15
+
16
+ ## What NOT to do:
17
+ - Create helper scripts without being asked
18
+ - Add complex setup procedures when simple ones exist
19
+ - Generate documentation for features that don't exist yet
20
+ - Modify files beyond what was specifically requested
21
+ - Add "best practices" that weren't requested
22
+
23
+ ## What TO do:
24
+ - Answer the specific question asked
25
+ - Make only the changes explicitly requested
26
+ - Ask for clarification when requirements are unclear
27
+ - Keep responses focused and concise
28
+ - Respect existing code patterns and structure
29
+
30
+ **Remember: Being helpful means doing exactly what was asked, not what you think might be helpful.**
31
+
32
+ # WRITING STYLE GUIDELINES
33
+
34
+ ALWAYS follow these writing rules for this technical/cyber audience:
35
+
36
+ ## DO NOT:
37
+ - Use marketing language, boosterism, or sales-y content
38
+ - Write verbose explanations or "value propositions"
39
+ - Use excessive emojis or excitement
40
+ - Create bulleted lists with bold formatting everywhere
41
+ - Write like you're selling something
42
+
43
+ ## DO:
44
+ - Use plain, simple, direct language
45
+ - Write for busy technical professionals
46
+ - Be concise and to the point
47
+ - Focus on facts and functionality
48
+ - Remember: technical people get turned off by marketing speak
49
+
50
+ **Remember: This audience wants information, not persuasion. Write documentation like you're talking to a colleague, not a prospect.**
@@ -0,0 +1,26 @@
1
+ .git
2
+ .github
3
+ .venv
4
+ .pytest_cache
5
+ .mypy_cache
6
+ __pycache__
7
+ *.pyc
8
+ node_modules
9
+ **/node_modules
10
+ # `containers/` is intentionally NOT excluded: the in-process target
11
+ # images (ad / dns / fileshare / webapp; issue #248) and the remaining
12
+ # `wazuh-sidecar` image build from the repo root and need access to the
13
+ # shared `containers/_wazuh-agent/` files plus their own per-container
14
+ # subdirectory. Per-container build contexts (victim, workstation, kali,
15
+ # etc.) read their own `.dockerignore` so they're unaffected.
16
+ docs/
17
+ notes/
18
+ coverage.xml
19
+ .coverage
20
+ *.egg-info
21
+ dist/
22
+ build/
23
+ .svelte-kit
24
+ web/node_modules
25
+ web/.svelte-kit
26
+ web/tests
@@ -0,0 +1,84 @@
1
+ # APTL Lab Credentials
2
+ # Copy this file to .env; `aptl lab start` hydrates it, filling every
3
+ # CHANGE_ME placeholder with a runnable value (randomizing real secrets). You
4
+ # only need to supply values you specifically want to pin.
5
+ # The .env file is gitignored and will not be committed.
6
+ #
7
+ # NOTE: INDEXER_* and DASHBOARD_* below are NOT user-selectable. They must match
8
+ # the OpenSearch demo-user hashes baked into the checked-in
9
+ # config/wazuh_indexer/internal_users.yml (admin=SecretPassword,
10
+ # kibanaserver=kibanaserver); the indexer never recomputes those hashes from
11
+ # .env. Leave the placeholders (hydration fills the correct fixtures) or set the
12
+ # exact fixture values. Any other value is reconciled back at start with a
13
+ # warning, because the indexer would otherwise reject it.
14
+
15
+ # Wazuh Indexer / OpenSearch admin credentials (auto-managed fixture)
16
+ INDEXER_USERNAME=admin
17
+ INDEXER_PASSWORD=CHANGE_ME_indexer_password
18
+
19
+ # Wazuh Dashboard internal user (auto-managed fixture)
20
+ DASHBOARD_USERNAME=kibanaserver
21
+ DASHBOARD_PASSWORD=CHANGE_ME_dashboard_password
22
+
23
+ # Wazuh API credentials
24
+ API_USERNAME=wazuh-wui
25
+ API_PASSWORD=CHANGE_ME_api_password
26
+
27
+ # Wazuh cluster key
28
+ WAZUH_CLUSTER_KEY=CHANGE_ME_cluster_key
29
+
30
+ # Web control-plane API token (ADR-039). Required when running the optional
31
+ # aptl-web-api and aptl-web-ui services. The API rejects missing, empty, or
32
+ # placeholder values at runtime. Generate a real token with:
33
+ # python3 -c 'import secrets; print(secrets.token_hex(32))'
34
+ APTL_API_TOKEN=CHANGE_ME_api_token
35
+
36
+ # Identity of the aptl-web-api container (issue #1193). It never runs as root:
37
+ # it runs as the user that owns this project (the one who runs `aptl lab
38
+ # start`), so it can read the owner-only lab state under .aptl/, and joins only
39
+ # the Docker socket's group. Set both from the project owner's shell:
40
+ # echo "APTL_WEB_API_USER=$(id -u):$(id -g)"
41
+ # echo "APTL_DOCKER_SOCKET_GID=$(stat -c %g /var/run/docker.sock)"
42
+ # Left unset, the web API container refuses to start.
43
+ APTL_WEB_API_USER=CHANGE_ME_uid:gid
44
+ APTL_DOCKER_SOCKET_GID=CHANGE_ME_docker_socket_gid
45
+
46
+ # Enterprise services
47
+ DB_PASSWORD=techvault_db_pass
48
+ AD_ADMIN_PASSWORD=Admin123!
49
+
50
+ # SOC tools
51
+ MISP_ADMIN_PASSWORD=MispAdmin2024!
52
+ # MISP REST API auth key. Used by both the MISP server (as ADMIN_KEY) and
53
+ # every downstream consumer (aptl-misp-suricata-sync, mcp-threatintel, etc.).
54
+ # Generate a fresh 40-character alphanumeric value with:
55
+ # tr -dc A-Za-z0-9 </dev/urandom | head -c 40 ; echo
56
+ # The placeholder below is rejected by aptl-misp-suricata-sync at startup
57
+ # so the lab fails loudly if you forget to replace it.
58
+ MISP_API_KEY=PLEASEREPLACEMEPLEASEREPLACEMEPLEASEREPLACE
59
+ # TLS verification for SOC stack consumers connecting to MISP.
60
+ # SEC-006 / ADR-034 (issue #258) made the lab-managed CA the default
61
+ # trust anchor: ServiceConfig defaults MISP_VERIFY_SSL to true, and the
62
+ # misp-suricata-sync container mounts the CA bundle at
63
+ # /etc/lab-ca/lab-ca.pem. Leaving these lines commented out (or unset)
64
+ # lets the in-code defaults win. Override only for local debugging, e.g.
65
+ # while iterating on a self-signed MISP fork:
66
+ # MISP_VERIFY_SSL=false
67
+ # MISP_CA_CERT_PATH=
68
+ # MISP_VERIFY_SSL=true
69
+ # MISP_CA_CERT_PATH=/etc/lab-ca/lab-ca.pem
70
+ THEHIVE_SECRET=aptl-thehive-lab-secret-key-2024-purple
71
+ SHUFFLE_ADMIN_PASSWORD=ShuffleAdmin2024!
72
+ SHUFFLE_API_KEY=31a211c4-ea5c-4a49-b022-5e2434e758a7
73
+
74
+ # Grafana (OTel observability stack)
75
+ GRAFANA_ADMIN_USER=admin
76
+ GRAFANA_ADMIN_PASSWORD=CHANGE_ME_grafana_password
77
+
78
+ # Host-port publishing. Every service's published host port has a
79
+ # `${APTL_HP_<SERVICE>_<PORT>:-default}` override. `aptl lab start` probes
80
+ # each default and, if it is already in use on this host (e.g. an editor's
81
+ # port-forwarding, another app), automatically publishes that service on a
82
+ # free port instead and reports the real port in the start summary. Set any of
83
+ # these to pin a specific port; a value you set here is always honored as-is.
84
+ # APTL_HP_WAZUH_DASHBOARD_5601=443
@@ -0,0 +1,44 @@
1
+ # LilRAE plan rules
2
+
3
+ Mandatory constraints the `/implement` skill applies during plan phase.
4
+
5
+ - One issue = one PR. A delivery PR MUST address every acceptance criterion
6
+ of its issue, including code, documentation, and tests. Extend the existing
7
+ PR; do not distribute one issue across multiple PRs. If an issue is too large,
8
+ create smaller linked issues with explicit acceptance criteria and one
9
+ complete PR per smaller issue. The parent tracks their delivery.
10
+ - Plans that add or change Python code MUST include corresponding pytest
11
+ tests in `tests/`. Use `pytest -m fuzz` for property-based tests
12
+ (the default test run skips them per `pyproject.toml`).
13
+ - Plans that add or change MCP TypeScript servers (anything under `mcp/`)
14
+ MUST include corresponding vitest tests in that server's `tests/`
15
+ directory.
16
+ - Plans that add or change web frontend code MUST include corresponding
17
+ vitest tests in `web/tests/`.
18
+ - Plans that touch `mcp/aptl-mcp-common` MUST account for the fact that
19
+ every MCP server consumes it. Run only targeted common and consumer tests
20
+ locally; CI/CD rebuilds and tests every dependent MCP before the change is
21
+ considered complete.
22
+ - Plans that change any Compose asset (`docker-compose*.yml`), container
23
+ Dockerfiles, or `config/` files MUST include focused local contract tests.
24
+ CI/CD owns the clean `aptl lab stop -v && aptl lab start` validation on a
25
+ fresh machine — the lab is the primary product, not the codebase.
26
+ - Local verification MUST remain change-scoped: targeted pytest or Vitest
27
+ paths plus `pre-commit run` on staged files. Bare/full suites,
28
+ `pre-commit run --all-files`, whole-tree prose checks, dependency checks, and
29
+ coverage runs are CI/CD-only.
30
+ - Plans MUST NOT edit `CHANGELOG.md` or the version. Releases are automated by
31
+ release-please from Conventional Commit PR titles: `feat:` (minor),
32
+ `fix:`/`perf:` (patch), `feat!:` or a `BREAKING CHANGE:` footer (major);
33
+ `docs`/`chore`/`refactor`/`test`/`ci`/`build` do not release. The PR title is
34
+ the changelog entry, so make it a clear Conventional Commit. See
35
+ `docs/releasing.md`.
36
+ - New code MUST use `lilrae` naming: a new module, package, service,
37
+ environment variable (`LILRAE_`), resource name, or configuration file is
38
+ named for LilRAE, not APTL. Code that extends an existing interface MUST keep
39
+ that interface's current identifiers (for example the `aptl` import root,
40
+ `aptl` CLI, `aptl.*` entry-point groups, existing config fields, `APTL_*`
41
+ variables, and runtime resource names); add no alias, shim, or parallel
42
+ `lilrae` spelling. Renaming an existing identifier needs its own
43
+ compatibility decision. See
44
+ [ADR-062](../docs/adrs/adr-062-lilrae-name-and-naming-convention.md).