25 lines
1.4 KiB
Go
25 lines
1.4 KiB
Go
// Package audit provides the subagent-auditing primitives specified by the
|
|
// Cyrene orchestration design (DevDocs/design/05-子代理.md §3 and §6) and the
|
|
// security/audit requirements in DevDocs/design/11-安全与权限.md §4 and §8.
|
|
//
|
|
// It has two halves:
|
|
//
|
|
// - ContextAuditor gives a main agent read-only, traceable access to a
|
|
// subagent's context (a []model.Message) so it can audit and pinpoint what
|
|
// the subagent did: the full context, a tail window, or a keyword hit with
|
|
// its surrounding lines. It is a pure value type over the message list the
|
|
// orchestral layer hands it; it holds no storage and no policy.
|
|
//
|
|
// - Approver records a main-agent review-and-approve (代审授权) of a
|
|
// subagent's sensitive action. It writes a structured audit log (who / what
|
|
// / when / result) and produces the short frontend notice "「xxx 想要干什么,
|
|
// 我审查后批准了」". Whether an action is actually sensitive and whether it is
|
|
// allowed is decided by the upper policy layer; this package only records,
|
|
// narrates, and returns the result model — it never judges permission.
|
|
//
|
|
// The package is a leaf: it depends only on the standard library,
|
|
// internal/runtime/model and internal/logger, and never imports the agent loop
|
|
// or other runtime packages, so it can sit inside runtime/orchestration without
|
|
// an import cycle.
|
|
package audit
|