Automated PR created by Copilot: includes all local changes. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #334
51 lines
6.4 KiB
Markdown
51 lines
6.4 KiB
Markdown
# Standards Delta: Cross-Domain Progress Indicator Semantics Audit
|
|
|
|
**Target document**: `docs/ui/tenantpilot-enterprise-ui-standards.md`
|
|
**Source inventory**: `specs/278-cross-domain-indicator-audit/inventory.md`
|
|
**Follow-up map**: `specs/278-cross-domain-indicator-audit/follow-up-map.md`
|
|
**Status**: Applied as bounded standards input, not runtime implementation
|
|
|
|
## Standards Delta Rules
|
|
|
|
| Rule ID | Area | Current gap | Proposed guidance | Target doc | Follow-up lane |
|
|
|---|---|---|---|---|---|
|
|
| IND-STD-001 | allowed-categories | Current standards mostly discuss progress bars and OperationRun progress, not the product-wide indicator category set. | Every indicator-like cue must name exactly one semantic category: execution progress, activity state, coverage, completion, health, readiness, risk, pressure, usage, capacity, score, generation state, or unknown/ambiguous. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | standards patch lane |
|
|
| IND-STD-002 | determinate-progress | Some ratios and percentages outside OperationRun can look like execution progress. | Determinate progress UI is allowed only when a real numerator and denominator or real percent exists, the measured category is explicit, and the cue does not imply execution progress unless it measures active execution. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | standards patch lane |
|
|
| IND-STD-003 | freshness | Coverage, provider permissions, evidence, and review states can look current even when their basis is missing or stale. | Indicators must expose missing, stale, or unknown basis as state or supporting copy. Missing data must not render as healthy zero, calm, complete, or ready by default. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | standards patch lane |
|
|
| IND-STD-004 | wording | Labels such as `Active operations`, `No current result`, `Posture score`, and customer-safe output states can invite the wrong reading. | Labels must state the measured thing, not just a generic status noun. Avoid `progress`, `score`, `health`, `ready`, or `active` unless the source truth supports that exact meaning. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | standards patch lane |
|
|
| IND-STD-005 | dashboard | Tenant dashboard rollups combine provider permissions, findings, recovery, backup, evidence, reviews, and operations. | Dashboard indicators must remain decision-first and must not collapse execution outcome, data completeness, governance result, lifecycle/readiness, risk pressure, and customer handoff maturity into one unexplained status. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | metric/indicator contract foundation |
|
|
| IND-STD-006 | anti-pattern | Bars, counts, scores, badges, and colored cards can reuse the same visual language for incompatible meanings. | Forbidden: fake percentages; progress bars for provider health, risk, pressure, usage, score, or readiness without real denominator; outcome counters reused as progress; score values with no scale/direction; stale data shown as current truth; usage/capacity shown as success progress. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | standards patch lane |
|
|
| IND-STD-007 | provider-boundary | Provider health and permission posture can leak Microsoft-shaped terms into platform-core semantics. | Provider-owned cues must be labeled as provider posture or provider readiness examples. They must not define platform-core health, readiness, score, or success semantics by default. | `docs/ui/tenantpilot-enterprise-ui-standards.md` | metric/indicator contract foundation |
|
|
| IND-STD-008 | quality-gate | Future contributors can add local progress-like UI without category/freshness/denominator review. | New or changed indicator surfaces should include a review note answering: what is measured, which category applies, whether direction is higher/lower/neutral, how fresh the source is, what missing data means, and what action the operator should take. | `.specify/templates/*` later, plus active specs | quality gate lane |
|
|
|
|
## Applied Target-Doc Delta
|
|
|
|
The standards target should now include a product-wide "Indicator Semantics" rule block near the existing Progress Bar Pattern. The block must stay concise and not copy the full inventory.
|
|
|
|
Minimum applied guidance:
|
|
|
|
- Indicators are not interchangeable. A bar, percentage, score, KPI count, status badge, readiness label, health label, risk count, usage/capacity value, or generation-state hint must state what it measures.
|
|
- Execution progress is only active work progress. Coverage, review completion, provider health, backup posture, risk pressure, usage/capacity, scores, and generation state must not borrow execution-progress language.
|
|
- Determinate bars require truthful numerator/denominator or percent values and accessible visible text.
|
|
- Unknown, stale, or missing source truth must remain visible and must not default to calm, ready, healthy, complete, or zero.
|
|
- Provider-owned health and permission posture stay provider examples, not platform-core default semantics.
|
|
- Future runtime work must split into contract, component, quality-gate, and migration lanes instead of treating this audit as permission for broad UI rewrite.
|
|
|
|
## Anti-Patterns Derived From Inventory
|
|
|
|
| Anti-pattern | Example inventory entries | Required later disposition |
|
|
|---|---|---|
|
|
| Activity-only bar reads like determinate progress | `IND-002` | Standards language first; component lane later if visual drift persists. |
|
|
| Missing basis reads like calm or zero | `IND-008`, `IND-022`, `IND-037` | Copy-only or standards clarification before contract rollout. |
|
|
| Label promises the wrong metric | `IND-020` | Copy-only clarification; product decision only if label semantics are intentionally retained. |
|
|
| Score has no direction or scale | `IND-031`, `IND-032` | Contract follow-up before shared component or migration. |
|
|
| Provider health becomes platform health | `IND-028`, `IND-033` | Provider-boundary standards and contract fields. |
|
|
| Review completion reads like evidence completeness | `IND-026`, `IND-029` | Component/contract distinction between completion and generation/readiness. |
|
|
| Preview-impact ratio reads like progress | `IND-036` | Standards clarification and later component categorization. |
|
|
|
|
## Review Outcome
|
|
|
|
- The standards delta is applied at a documentation level only.
|
|
- No runtime component, contract, migration, quality gate, or test family is introduced by this slice.
|
|
- Later specs may quote this delta as input, but must still define their own implementation scope and proof lane.
|