docs(implplan): add DOCS cutover plan sprint, archive FE integration-hub sprint

Adds SPRINT_20260415_001_DOCS_real_service_cutover_plan tracking the doc
work needed to finalize the no-mocks / real-service migration.

Archives SPRINT_20260415_002_FE_integration_hub_truthful_status_and_button_styling
— both tasks complete (truthful integration status + button styling fix
landed in the earlier Web UI commit).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-15 11:27:31 +03:00
parent 07e227fdb7
commit c01ce36b62
11 changed files with 1324 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# Sprint 20260415-002 - FE Integration Hub Truthful Status And Button Styling
## Topic & Scope
- Fix the integration hub summary cards so they do not render misleading `Not started` states before counts are loaded.
- Fix the integration detail health-action buttons so they use the canonical button token contract and remain visible on hover.
- Working directory: `src/Web/StellaOps.Web`.
- Expected evidence: targeted Vitest coverage, rebuilt local Angular dist, and live Playwright verification against `stella-ops.local`.
## Dependencies & Concurrency
- Depends on the live local stack already being reachable through `stella-ops.local`.
- Safe parallelism: frontend-only; no backend contract changes.
## Documentation Prerequisites
- `src/Web/StellaOps.Web/AGENTS.md`
## Delivery Tracker
### FE-HUB-001 - Make integration hub summary truthful while counts are loading
Status: DONE
Dependency: none
Owners: Developer
Task description:
- The integration hub setup-order cards rendered `Not started` immediately because the UI treated zero-valued placeholder counts as final state before the six summary requests resolved.
- The Secrets card also queried `RepoSource` instead of `SecretsManager`, which made the summary disagree with the actual catalog.
Completion criteria:
- [x] Setup-order cards show a loading state until the summary requests resolve.
- [x] The Secrets summary counts `SecretsManager` integrations.
- [x] Targeted frontend tests cover the loading state and the corrected secrets count query.
### FE-HUB-002 - Remove health-tab action button style collisions
Status: DONE
Dependency: FE-HUB-001
Owners: Developer
Task description:
- The integration detail page used generic `.btn-primary/.btn-secondary/.btn-danger` classes with hardcoded colors. On the live health tab this collided with the shared button skin and made the `Test Connection` button visually misleading.
- Replace the generic classes with namespaced detail-button classes that use the shared button token contract and explicit hover/focus states.
Completion criteria:
- [x] The health-tab buttons use namespaced classes instead of generic `.btn-*`.
- [x] Primary and secondary buttons use the canonical `--color-btn-primary-*` and `--color-btn-secondary-*` tokens.
- [x] Live Playwright verification confirms the `Test Connection` button remains visible before and after hover.
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-04-15 | Sprint created for the post-bootstrap integration-hub truthfulness and button-styling regressions reported against the live local stack. | Developer |
| 2026-04-15 | Updated `src/app/features/integration-hub/integration-hub.component.ts` so the summary cards and tiles render loading indicators until counts resolve and the Secrets card counts `IntegrationType.SecretsManager` instead of `RepoSource`. Added regression coverage in `integration-hub.component.spec.ts` and `src/tests/integration_hub/integration-hub-ui.component.spec.ts`. | Developer |
| 2026-04-15 | Updated `src/app/features/integration-hub/integration-detail.component.ts` to replace generic `.btn-primary/.btn-secondary/.btn-danger` with namespaced `detail-btn` variants that use the shared button tokens. Added regression assertions in `integration-detail.component.spec.ts`. | Developer |
| 2026-04-15 | Targeted Vitest run passed: `integration-detail.component.spec.ts`, `integration-hub.component.spec.ts`, and `src/tests/integration_hub/integration-hub-ui.component.spec.ts` passed `26/26`. Rebuilt the Angular development dist and verified live on `/setup/integrations/41321ad0-4320-46c0-8b05-4ab312477488?tab=health` that `Test Connection` stayed visible before and after hover with `rgb(26, 15, 0)` text on the tokenized warm background. | Developer |
## Decisions & Risks
- Decision: summary cards must not infer final setup status from placeholder zeroes; loading is a first-class state.
- Decision: detail-page action buttons should use namespaced classes to avoid collisions with shared/global `.btn-*` selectors.
- Risk: the local dev UI override must stay attached to `router-gateway` for immediate visibility of Angular dist changes; otherwise a stale bundled UI can mask the fix.
## Next Checkpoints
- Confirm the live integration hub and health-tab experience after the next operator refresh.