Plan {planId}
{detail ? (
<>Current state: {detail.current_state.replace(/_/g, ' ')}>
) : (
'Loading plan state…'
)}
{error &&
{error}
}
12-state machine
{detail ? (
) : (
Loading…
)}
Audit trail
{detail === null ? (
Loading…
) : detail.transitions.length === 0 ? (
No transitions recorded.
) : (
| # |
From → To |
Actor |
Role |
Reason |
At |
{detail.transitions.map((t, i) => (
| {i + 1} |
{t.from_state ?? '∅'} → {t.to_state}
|
{t.actor_id} |
{t.actor_role}
|
{t.reason ?? '—'} |
{new Date(t.occurred_at).toLocaleString()} |
))}
)}
Signed event stream
{events === null ? (
Loading…
) : events.length === 0 ? (
No events.
) : (
| # |
Type |
Signature |
Prev hash |
At |
{events.map((e) => (
| {e.id} |
{e.type} |
{e.signature} |
{e.prev_hash ?? '∅'} |
{new Date(e.created_at).toLocaleString()} |
))}
)}
);
}