capsule AI-native Unix-like composition layer

ai-report v0.1.2

subsystem education.ctf

capsule://capsule-examples/ai-report@0.1.2

Subscribes to lab lifecycle events, collects per-student behavior
traces (commands tried, files touched, errors hit), and generates a
natural-language progress report for the instructor at the end of a
lab session.

Owns

Does not own

AI orientation

You are looking at ai-report. It is downstream of lab-runtime-docker and
auth-core. It consumes lab.* events, never reaches into lab containers
directly. Reports are drafted by an LLM โ€” treat that LLM as untrusted:
sanitize trace inputs before prompting, and never echo back arbitrary
student input as instructions.

Avoid

Extension points

trace-redactor at src/aireport/redact.py:redact
Pure function (trace_event) -> trace_event with secrets removed.
Called before any LLM prompting.

Provides

Requires

Dependencies

Capsules

Runtime

Invariants (must always hold)

Glossary

trace
an append-only log of student actions within one lab session
report
an instructor-facing natural-language summary derived from a trace

Source

https://github.com/quake0day/capsule-examples/blob/main/wolfctf/ai-report/capsule.yaml

Pull this capsule locally:

capsule pull capsule://capsule-examples/ai-report@0.1.2

Or render to your terminal:

capsule man capsule://capsule-examples/ai-report@0.1.2