Standalone CLI + MCP server for capturing root-cause analyses, sanitizing evidence, and publishing safe, idempotent "why cases" to aihangout.ai.
- Default mode (recommended):
--target outboxwrites to.why-engine/outbox/<idempotencyKey>.jsonwith dedupe via ledger. - Secrets present: outbox always writes a stub-only record (hashes + metadata only) and blocks API publish.
- Sensitive prose present: content classification can block API publish even when no literal token/key is present.
- API publish: use
--target apior--target bothwith--dry-run truefirst; require--problem-idinitially to avoid creating new problems by accident. - History: optional
--keep-historywrites.why-engine/outbox/history/<idempotencyKey>-<timestamp>.json.
WHY.md is the reviewed, human/agent-readable surface for project rationale.
Architectural decisions are written proactively. Fix Intelligence is promoted from
public WhyCases with a meaningful generalizablePattern.
why-engine promote-why --repo-path . # dry-run by default
why-engine promote-why --repo-path . --dry-run false # write qualifying casesPromotion requires the quality gate to pass, the score to meet --min-score
(default 70), sensitivity === "public", and content classification to allow
publication.
- Full Command Parity: Added
verify-auditcommand alias to resolve web-to-CLI invocation mismatches. - Outbox Detail Retrieval: Fixed the critical outbox page 404 by adding fallback routing lookup on
idempotencyKey. - Advanced Secret Redaction: Recursive deep object and array traversal scanner to detect and redact Stripe keys, JWT tokens, GitHub tokens, and DB connection strings.
- Testing Coverage: Expanded the test suite from 11 tests to 50 tests covering all CLI endpoints, tamper detection, and security constraints.