Commit Graph

661 Commits

Author SHA1 Message Date
master
71db8d4386 docs(sprint): add sprint 003-005 planning and update sprint 002 log
- SPRINT 003: Router frontdoor contract repair tasks
- SPRINT 004: Notify service and AI runs repair tasks
- SPRINT 005: JobEngine migration and scope repair tasks
- Update sprint 002 execution log with expanded route inventory

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 07:53:56 +02:00
master
f218ec82ec Speed up scratch image builds with publish-first contexts 2026-03-09 07:37:24 +02:00
master
c9686edf07 Restore scratch setup bootstrap and live frontdoor sweep 2026-03-09 01:42:24 +02:00
master
b87ffeb237 Repair live releases deployment detail flows 2026-03-09 00:09:01 +02:00
master
faf6278941 merge: harden derived shared ui components 2026-03-08 23:50:53 +02:00
master
b55760fc76 fix(web): harden derived shared ui components 2026-03-08 23:49:23 +02:00
master
d27d68d8c6 feat(web): derive timeline-list into canonical audit-grade event-stream timeline [SPRINT-029]
Rework the orphan TimelineListComponent into a canonical audit-grade
event-stream primitive for all mounted chronology surfaces.

Canonical event model (FE-TLD-001):
- TimelineEvent with id, timestamp (ISO-8601 UTC), title, description,
  actor, eventKind (info/success/warning/error/critical/neutral), icon,
  evidenceLink, metadata key-value pairs, and expandable detail payload
- Relative time for <24h, absolute UTC for >=24h, full ISO on tooltip
- Date grouping when events span multiple days

Derived primitive (FE-TLD-002):
- Vertical timeline with colored severity markers
- Deterministic UTC timestamp formatting
- Expandable detail sections with expand/collapse toggle
- Optional actor, metadata chips, and evidence links
- Loading skeleton and empty state
- Accessibility: role="feed", role="article", aria-labels, datetime attrs
- Content projection via ng-template for domain-specific rendering

Adopted on 3 surfaces (FE-TLD-003):
- incident-timeline: replaces bespoke inline timeline markers with shared
  component; preserves affected-services chips and correlated-events via
  expandable and content projection
- audit-timeline-search: replaces bespoke timeline rendering; preserves
  module/action badges via content projection
- releases-activity: replaces timeline view mode (was rendering duplicate
  table) with canonical timeline; preserves lane/env/outcome chips

Tests (FE-TLD-004): 32 focused tests covering event rendering, severity
markers, timestamp formatting, expandable toggle, loading/empty states,
date grouping, accessibility, and default fallbacks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:23:23 +02:00
master
12a6ef831b feat(web): derive page-header into canonical context-header with unified header contract [SPRINT-027]
Enhance ContextHeaderComponent to be the single canonical header primitive:
- Add configurable heading level (h1/h2/h3) for semantic HTML in nested shells
- Add testId input for Playwright targeting (data-testid)
- Add ARIA labels on return button and chip list (role=list/listitem)
- Add back-arrow indicator for improved return-button affordance
- Add JSDoc on all inputs for developer ergonomics

Deprecate PageHeaderComponent to a thin compatibility wrapper that delegates
to ContextHeaderComponent.

Adopt canonical header on 4 representative pages:
- RegistryAdminComponent (admin/setup surface)
- PackRegistryBrowserComponent (operational surface)
- DeadLetterDashboardComponent (operational surface)
- OfflineKitComponent (operational surface)

Each adopted page gains eyebrow breadcrumb context, consistent subtitle
placement, and projected actions via the shared header-actions slot,
replacing ~80 lines of repeated ad-hoc header markup.

15 focused component tests covering title rendering, eyebrow/subtitle
display, chips with ARIA, back action, action slot projection, heading
levels, testId, and responsive layout structure. All pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:20:21 +02:00
master
d7f55b72c8 feat(web): derive witness-viewer into reusable proof-inspection sections for mounted surfaces [SPRINT-031]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 23:05:45 +02:00
master
2bf4d69bba feat(web): rationalize settings IA into personal-preferences shell with admin rehoming [SPRINT-026]
Settings shell now owns only personal user preferences (appearance,
language, layout, AI assistant). All 14 admin/tenant/ops leaves
converted to controlled redirects pointing at their canonical owners
(Administration, Setup, Ops). Language merged into user-preferences.
Identity-providers rehomed from settings to administration as
canonical owner. Navigation config updated. 22 new route tests added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:59:38 +02:00
master
ce59f66e97 feat(web): consolidate split-pane into list-detail-shell as canonical master-detail layout [SPRINT-030]
Extend ListDetailShellComponent with collapsible toggle button, detail panel
slide-in animation, and accessibility roles (complementary, aria-controls,
focus-visible). Adopt on signing-key-dashboard (trust-admin) for side-by-side
key list + detail browsing. Deprecate SplitPaneComponent. Add 15 focused
component tests covering rendering, toggle behavior, and accessibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:59:02 +02:00
master
d7c3d5ad62 feat(web): derive metric-card into canonical KPI card with semantic delta handling [SPRINT-028]
Rework MetricCardComponent from a basic label+value+delta card into the
canonical Stella Ops KPI card primitive with:

- deltaDirection input ('up-is-good' | 'up-is-bad' | 'neutral') to control
  green/red semantics per metric context
- severity input ('healthy' | 'warning' | 'critical' | 'unknown') for
  left-border health accents
- unit input for display units (ms, %, /hr, GB)
- loading, empty, and error states with skeleton/placeholder rendering
- ARIA accessibility (role="group", composite aria-label, delta labels)
- Responsive dense-grid support

Adopted on 3 representative dashboards (12 bespoke tiles replaced):
- signals-runtime-dashboard (3 cards)
- search-quality-dashboard (4 cards)
- delivery-analytics (5 cards)

40 focused tests covering delta direction semantics, all states, severity
accents, and accessibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 22:55:54 +02:00
master
5d5f4de2e1 Refine live Playwright changed-surface checks 2026-03-08 22:55:12 +02:00
master
4f445ad951 Fix live evidence and registry auth contracts 2026-03-08 22:54:36 +02:00
master
aa7e0e937c chore(web): prune dead ui cleanup artifacts 2026-03-08 21:59:38 +02:00
master
6efed23647 archive these 2026-03-08 21:41:38 +02:00
master
f40043ed50 fix(web): remediate orphan revival regressions 2026-03-08 20:23:37 +02:00
master
d6b2e354f0 docs(ui): update task board and plan for orphan revival batch [SPRINT-013..023]
Sync TASKS.md, implementation_plan.md, and orphan-revival-batch README
to reflect all 11 shipped orphan component adoption sprints.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:48 +02:00
master
2a25e7b2b0 feat(ui): reconnect registry-admin under integration hub [SPRINT-023]
Mount registry-admin routes under canonical /ops/integrations (and
/setup/integrations) with plans list, editor, and audit flows reachable
from integration-hub entry points.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:40 +02:00
master
38cbdb79dd feat(ui): reconnect release investigation routes [SPRINT-022]
Mount deploy-diff, change-trace, and timeline under /releases/investigation
as bounded secondary routes. Timeline uses correlation-based model to avoid
collision with shipped run-workspace tab.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:38 +02:00
master
1b934ad47a feat(ui): reconnect evidence-thread and persona workspace routes [SPRINT-021]
Mount evidence-thread, auditor-workspace, and developer-workspace routes
under canonical /evidence family as drill-in lenses, not standalone shells.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:32 +02:00
master
900b291560 feat(ui): consolidate finding lists on mounted surfaces [SPRINT-020]
Replace bespoke finding list in findings-container and inline table in
release-detail security tab with shared FindingListComponent and
FindingRowComponent using data adapters for type bridging.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:24 +02:00
master
1660a9138e feat(ui): adopt policy components on decisioning surfaces [SPRINT-019]
Wire PolicyEvaluatePanel, RemediationHint, and PolicyPackEditor into
policy-decisioning gates page and policy-studio editor within the
canonical /ops/policy shell.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:20 +02:00
master
7fbf04ab1e feat(ui): adopt evidence proof components on mounted flows [SPRINT-018]
Wire QuickVerifyDrawer, EvidenceChecklist, ProofChainViewer, and
DsseEnvelopeViewer into evidence-export, triage, and release-orchestrator
evidence-detail surfaces for richer proof verification workflows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:17 +02:00
master
d6521923fe feat(ui): adopt glossary tooltips on jargon-heavy shells [SPRINT-017]
Apply stellaopsGlossaryTooltip directive on vex-hub dashboard, trust-admin,
and policy-decisioning overview with auto-detect mode for security terms
(VEX, CVE, SBOM, DSSE, etc.).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:04 +02:00
master
822a92faee feat(ui): adopt persona visibility directives on mounted shells [SPRINT-016]
Apply stellaAuditorOnly and stellaOperatorOnly structural directives on
evidence-audit, promotions, and evidence-export surfaces with ViewModeToggle
surfaced for persona switching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:25:00 +02:00
master
646fccd641 feat(ui): unify filter bars on mounted list pages [SPRINT-015]
Migrate audit-log, evidence-pack, release-list, secret-detection,
certificate-inventory, and trust-audit-log to shared FilterBarComponent
with consistent FilterOption/ActiveFilter interfaces.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:24:56 +02:00
master
44cd1827c2 feat(ui): adopt copy-to-clipboard, inline-code, and truncate pipe [SPRINT-014]
Replace bespoke clipboard handlers, bare <code> tags, and manual
truncation with shared CopyToClipboardComponent, InlineCodeComponent,
and TruncatePipe across console-admin, offline-kit, and triage surfaces.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:24:46 +02:00
master
c52ca82652 feat(ui): adopt domain signal chips on mounted surfaces [SPRINT-013]
Replace hand-rolled digest truncation/copy and reachability badges with
shared DigestChipComponent and ReachabilityStateChipComponent on releases
list, evidence-thread, attestation-links, and reachability-center.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:24:39 +02:00
master
f24d49ddeb fix(web): ship degraded search readiness state 2026-03-08 16:27:51 +02:00
master
eb4ade0335 docs(ui): sync search rollout task board 2026-03-08 15:37:13 +02:00
master
cd3e8bbce1 docs(platform): archive release health evidence adapter sprint 2026-03-08 15:34:51 +02:00
master
c4b9373bf5 docs(router): archive header binding sprint 2026-03-08 15:34:26 +02:00
master
69813807a9 docs(router): archive messaging reregistration sprint 2026-03-08 15:33:25 +02:00
master
f4b507b021 docs(integrations): archive startup migration recovery sprint 2026-03-08 15:32:17 +02:00
master
72c0613e74 docs(web): archive findings toggle reactivity sprint 2026-03-08 15:29:46 +02:00
master
bbe0100861 docs(web): archive scope-preserving actions sprint 2026-03-08 15:29:13 +02:00
master
e169018f4a docs(web): archive mission board action scope sprint 2026-03-08 15:28:45 +02:00
master
cf6ad22ebf docs(web): archive signed-out shell guards sprint 2026-03-08 15:28:20 +02:00
master
42b761d471 docs(web): archive mission control release health sprint 2026-03-08 15:27:54 +02:00
master
ac14e8fb38 docs(web): archive context preferences sprint 2026-03-08 15:27:23 +02:00
master
0c7b065f79 docs(ui): archive restoration topic shapes sprint 2026-03-08 15:26:30 +02:00
master
971cdb3b8e docs(ui): enrich component preservation map 2026-03-08 15:19:53 +02:00
master
6be4a25d17 fix(web): ship findings compare baseline availability 2026-03-08 15:13:32 +02:00
master
30532800ec fix(router): ship audit bundle frontdoor cutover 2026-03-08 14:30:12 +02:00
master
3e531f0b9e Repair live AdvisoryAI search corpus parity 2026-03-08 13:33:21 +02:00
master
b521b5bde8 feat(ui): ship evidence capsules cutover 2026-03-08 12:41:09 +02:00
master
e4779a430f feat(ui): ship release promotions cutover 2026-03-08 11:54:57 +02:00
master
abbfe64bd7 Render clarify search prompts as guidance only 2026-03-08 11:50:34 +02:00
master
e01a499df9 Standardize live search Playwright setup lane 2026-03-08 11:17:05 +02:00