feat: add non-sensitive raw evidence receipt

This commit is contained in:
732642856
2026-07-21 15:46:16 +08:00
parent b421883a51
commit ebdd1a40e1
3 changed files with 16 additions and 0 deletions
+3
View File
@@ -155,6 +155,9 @@ button:disabled { cursor: default; opacity: .45; }
.evidence-audit-row { display: grid; grid-template-columns: minmax(120px, 1fr) auto minmax(160px, 1.2fr); gap: var(--space-3); align-items: center; padding: var(--space-2) 0; border-top: 1px solid color-mix(in srgb, var(--color-border) 64%, transparent); font-size: 12px; }
.evidence-audit-row b { color: var(--color-action-hover); font-weight: 600; }
.evidence-audit-row small { color: var(--color-ink-tertiary); line-height: 1.45; }
.raw-evidence-receipt { margin: 0 var(--space-3) var(--space-3); border-top: 1px solid color-mix(in srgb, var(--color-border) 64%, transparent); padding-top: var(--space-2); }
.raw-evidence-receipt summary { padding: var(--space-1) 0; color: var(--color-ink-tertiary); font-size: 12px; }
.raw-evidence-receipt pre { max-height: 180px; overflow: auto; margin: var(--space-2) 0 0; padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-canvas); color: var(--color-ink-secondary); font-size: 11px; line-height: 1.5; }
.message-markdown p { margin: 0 0 14px; }
.message-markdown ul, .message-markdown ol { margin: 10px 0 16px; padding-left: 24px; }
.message-markdown li { margin: 6px 0; }
@@ -38,6 +38,11 @@ function workflowRows(receipt?: WorkflowReceipt): AuditRow[] {
export function EvidenceAuditPanel({ claimStatus, workflowReceipt }: { readonly claimStatus?: string; readonly workflowReceipt?: WorkflowReceipt }) {
const rows = workflowRows(workflowReceipt);
const rawReceipt = {
techniqueTruth: claimStatus || "unknown",
workflowReceipt: workflowReceipt ?? null,
privacyBoundary: "no_birth_data_or_private_case_raw",
};
return (
<details className="evidence-audit-panel">
<summary> · {claimStatus || "unknown"}</summary>
@@ -50,6 +55,10 @@ export function EvidenceAuditPanel({ claimStatus, workflowReceipt }: { readonly
</div>
))}
</div>
<details className="raw-evidence-receipt">
<summary> raw receipt</summary>
<pre>{JSON.stringify(rawReceipt, null, 2)}</pre>
</details>
</details>
);
}
@@ -20,7 +20,11 @@ test("assistant messages include a collapsible Technique Audit Table shell", ()
assert.match(panelSource, /Functional Benefic\/Malefic/);
assert.match(panelSource, /MEVG \/ Real Case Calibration/);
assert.match(panelSource, /组件 parity 未全闭环/);
assert.match(panelSource, /rawReceipt/);
assert.match(panelSource, /no_birth_data_or_private_case_raw/);
assert.match(panelSource, /查看非敏感 raw receipt/);
assert.match(globalStyles, /\.evidence-audit-panel/);
assert.match(globalStyles, /\.raw-evidence-receipt/);
});
test("consult responses persist workflow receipt headers for evidence rendering", () => {