// The BugInvestigationEvent discriminated union and its BugWorkflowEventSink (ADR-0009 D5) plus
// the sibling status / limits names the event types reference. The envelope reuses the harness
// BaseEvent field shape ({ schemaVersion, runId, fingerprint, seq, ts }) by STRUCTURAL convention
// — NOT a TypeScript import — so the #10 audit ledger and #13 UI can narrow these events with the
// same envelope logic they apply to HarnessEvent. This union is SEPARATE from both HarnessEvent and
// the unit-test WorkflowEvent. Every member name is DISTINCT from the unit-test workflow's
// (ADR-0009 D5) so the package-root re-export does not collide. No runtime logic lives here beyond
// the frozen DEFAULT_BUG_WORKFLOW_LIMITS table. Members carry COUNTS/FLAGS only — never prose,
// diff, or raw paths; the one SENSITIVE field (failure message) is redacted before emit.
export const DEFAULT_BUG_WORKFLOW_LIMITS = {
    maxModelCalls: 3,
    maxRetries: 2,
    contextBudgetBytes: 65_536,
    maxBytesPerFile: 8_192,
    maxFilesChanged: 10,
    maxChangedLines: 300,
    maxPatchBytes: 65_536,
};
