feat: add non-sensitive raw evidence receipt
This commit is contained in:
@@ -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", () => {
|
||||
|
||||
Reference in New Issue
Block a user