- audit::verify_chain_from_cas() recorre prev_sha desde head hasta genesis,
valida sha256(blob)==sha del CAS para detectar tampering. Endpoint
VerifyAudit + brainctl audit-verify.
- autopromote loop background: cada N segundos detecta cristales sobre
threshold y los promueve sin operador. Anti-doble vía HashSet de pares
(ant, con). Flag --autopromote-secs.
- GapHistogram con buckets exponenciales (1ms..1000s) capturado en
observer.record(). top_gap_pairs(K) limita cardinalidad. Expuesto en
Prometheus como ente_brain_pair_gap_seconds histogram per pair.
- BusRequest::UpdateCapabilities con auth obligatorio (sólo el dueño puede
modificar sus caps). Incarnated.dynamic_provides separa runtime de la
Card immutable. Graph mediator actualiza providers index + revoca grants.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- AuditLog::flush_to_cas() persiste entries pendientes con bytes canónicos
(sha=[0;32]) para que CAS-sha == entry.sha. AuditHeadPointer en disco
tras cada flush — verificación posterior sin escanear el log entero.
- IntrospectRequest::FlushAudit / ReloadRules. brainctl flush-audit / reload.
- Auto-flush task cada 10s cuando --audit-head está configurado.
- ReloadRules { path? } vacía engine + carga (.k vía kcl CLI o .json).
- Observer con time-decay opcional: count * 0.5^(age/half_life).
conditional_prob y pmi consumen valores decayed transparentemente.
- --brain-half-life flag CLI.
- KCL Rust SDK descartado: kcl-* en crates.io son del proyecto KittyCAD,
no KusionStack. Subprocess al CLI sigue siendo la vía canónica.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>