fix: preserve workspace evidence in browser drafts
This commit is contained in:
@@ -108,6 +108,23 @@ function Section({ title, children }: { title: string; children: React.ReactNode
|
||||
);
|
||||
}
|
||||
|
||||
function EvidenceSummary({ evidence }: { evidence: NonNullable<CanonicalWorkspace["evidence"]> }) {
|
||||
const sourceIdentity = evidence.source.type === "http"
|
||||
? `${evidence.source.uris.length} canonical URI${evidence.source.uris.length === 1 ? "" : "s"}`
|
||||
: evidence.source.uri;
|
||||
return (
|
||||
<Section title="Evidence">
|
||||
<dl className="grid gap-2 text-sm sm:col-span-2 sm:grid-cols-2">
|
||||
<div><dt className="font-medium text-foreground">Source type</dt><dd className="text-muted-foreground">{evidence.source.type}</dd></div>
|
||||
<div><dt className="font-medium text-foreground">Source</dt><dd className="break-all text-muted-foreground">{sourceIdentity}</dd></div>
|
||||
<div><dt className="font-medium text-foreground">Chunk size</dt><dd className="text-muted-foreground">{evidence.policy.max_chunk_chars.toLocaleString("en-US")} characters</dd></div>
|
||||
<div><dt className="font-medium text-foreground">Retention</dt><dd className="text-muted-foreground">{evidence.policy.retain_published_generations.toLocaleString("en-US")} published generations</dd></div>
|
||||
</dl>
|
||||
<p className="sm:col-span-2 text-sm text-muted-foreground">Evidence is managed by the registry descriptor in P1.</p>
|
||||
</Section>
|
||||
);
|
||||
}
|
||||
|
||||
const fieldClass = "h-9 w-full rounded-md border border-input bg-background px-2.5 text-sm shadow-xs outline-none focus-visible:ring-3 focus-visible:ring-ring/25 aria-invalid:border-destructive";
|
||||
|
||||
export function WorkspaceEditor({ draft, onSaveDraft, onPublish, idLocked = Boolean(draft?.baseBlob) }: WorkspaceEditorProps) {
|
||||
@@ -220,6 +237,8 @@ export function WorkspaceEditor({ draft, onSaveDraft, onPublish, idLocked = Bool
|
||||
</Field>
|
||||
</Section>
|
||||
|
||||
{workspace.evidence && <EvidenceSummary evidence={workspace.evidence} />}
|
||||
|
||||
<Section title="Installation requirements">
|
||||
<p className="sm:col-span-2 text-sm text-muted-foreground">Hosts, users, secret-file paths, and credentials are installation bindings. They are intentionally not editable or stored in workspace drafts.</p>
|
||||
</Section>
|
||||
|
||||
Reference in New Issue
Block a user