4.7 KiB
UX Reference: Clean Release Compliance Subsystem Redesign
Feature Branch: 025-clean-release-compliance
Created: 2026-03-09
Status: Draft
1. User Persona & Context
- Who is the user?: Release manager, compliance operator, enterprise support engineer.
- What is their goal?: Safely move a release candidate through candidate preparation, compliance, approval and publication without hidden state.
- Context: Usually works in terminal-first infrastructure, often in restricted or headless environments, sometimes with a TTY, sometimes from CI.
2. The Happy Path Narrative
Оператор регистрирует кандидата и импортирует артефакты через CLI или API. Затем он открывает TUI и сразу видит candidate overview: latest manifest, active policy snapshot, latest run, violations и publication state. Нажатие F6 строит manifest, F5 запускает compliance, а экран показывает реальный прогресс stage-by-stage из task/run logs, а не локальную имитацию. После PASSED оператор выполняет F8 approve и F9 publish, и каждое действие мгновенно отражается в overview без скрытых сайд-эффектов.
3. Interface Mockups
CLI Interaction
$ clean-release candidate register \
--candidate-id 2026.03.09-rc1 \
--version 1.2.0 \
--source-snapshot v1.2.0-rc1
Candidate created: 2026.03.09-rc1
Status: DRAFT
$ clean-release manifest build --candidate-id 2026.03.09-rc1
Manifest created: man-001
Manifest digest: sha256:9fa...
Status: MANIFEST_BUILT
$ clean-release compliance run --candidate-id 2026.03.09-rc1 --json
{
"run_id": "run-001",
"candidate_id": "2026.03.09-rc1",
"status": "PENDING",
"task_id": "task-123"
}
TUI Layout & Flow
Screen/Component: Clean Release Overview
- Layout: Three-pane terminal layout.
- Top header: current candidate, lifecycle state, active mode (
realordemo). - Left pane: candidate summary, latest manifest, approval/publication state.
- Right pane: latest compliance run, stage timeline, violations list.
- Bottom action bar:
F5 Run,F6 Manifest,F7 Refresh,F8 Approve,F9 Publish,F10 Exit.
- Top header: current candidate, lifecycle state, active mode (
- Key Elements:
- Candidate Summary: shows candidate id, version, source snapshot, current state.
- Latest Manifest Card: manifest id, version, digest, created time.
- Policy Snapshot Card: policy id/version and registry version used for latest run.
- Violations Table: severity, code, artifact path, short message.
- States:
- Default: Existing overview visible, no hidden mutation.
- Running: Current run and current stage are highlighted; logs update live from task events.
- Passed: Action bar enables
Approvewhen transition is legal. - Blocked/Error: Violations or failure reason become the dominant focus; approval/publish actions stay disabled.
4. The Error Experience
Philosophy: Surface the real state and tell the operator what transition is blocked. Never hide missing prerequisites by auto-fixing them in the UI.
Scenario A: Missing Manifest
- User Action: Presses
F5to run compliance before a manifest exists. - System Response:
- TUI: inline error banner
Manifest required before compliance runand highlight onF6 Build manifest. - CLI:
Error: candidate 2026.03.09-rc1 has no manifest. Build a manifest first.
- TUI: inline error banner
- Recovery: Operator runs build manifest, returns to overview, retries compliance.
Scenario B: Blocked By Policy
- System Response: Run ends in
BLOCKED, latest report card turns warning state, violations table is focused automatically. - Recovery: Operator can inspect violations, export/report details, fix candidate inputs, build a new manifest and request a new run.
Scenario C: Policy Store Unavailable
- System Response: Request is rejected as input/system error before stage execution; UI explicitly says policy snapshot could not be resolved.
- Recovery: Retry when trusted policy source is restored. No fake run is shown.
Scenario D: Headless Environment
- System Response: TUI refuses to start without TTY and instructs operator to use CLI/API flow.
- Recovery: Run equivalent
clean-release ...command or call API.
5. Tone & Voice
- Style: Concise, operational, deterministic.
- Terminology: Use
candidate,manifest,policy snapshot,compliance run,report,approval,publicationconsistently. - Avoided Terms: Avoid vague legacy words like
checker,fake run,history cleanup,headless readyinside the operator UX.