Skip to content

Feat/post deploy fixes#64

Merged
self9dmin merged 27 commits into
masterfrom
feat/post-deploy-fixes
Mar 27, 2026
Merged

Feat/post deploy fixes#64
self9dmin merged 27 commits into
masterfrom
feat/post-deploy-fixes

Conversation

@self9dmin

Copy link
Copy Markdown
Owner

What does this PR do?

Type of change

  • Bug fix
  • New mission
  • UI improvement
  • Infrastructure / tooling

Checklist

  • TypeScript compiles clean (npx tsc --noEmit)
  • Tested locally with npx dt-app dev
  • No changes to app.config.json
  • Branch follows naming convention (feat/, fix/, chore/)

claude and others added 27 commits March 26, 2026 23:28
Replace the mission-what-are-you mission with updated briefing, timer (600s),
disciplines (75 xp), topics, apps, and 5 new checkpoints covering the platform
model, intelligence workflow, DQL foundation, app categories, and Dynatrace Assist.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Clarify navigation by telling the user to scroll past the YouTube guides
to reach the 'What Makes Dynatrace Unique?' section.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Update timer (420s), checkpoint titles, instructions, hints, choices,
and point values. New checkpoints cover Assist location, search shortcut,
Developer portal, Community tagline, and Site Reliability Guardian app.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
… circuit

New rookie mission covering keyboard shortcuts, Workflows, Investigations,
and Discovery & Coverage. 5 checkpoints, 480s timer, prerequisites on
mission-the-dock. Added to ground-zero circuit in circuits.ts.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
…eparately

Each discipline row now shows:
- Circuit name (bold)
- Driver name + difficulty tier on same line (e.g. "Arvid Lindblad · Rookie")
- Skill level + XP progress on next line (e.g. "Recruit · 0 / 500 XP")

Removes redundant role label. Difficulty tiers: incident-commander=Rookie,
developer=Intermediate, platform-engineer=Advanced, sre=Elite.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
…Tab status strip

- Create shared ChangeDriverModal component with isOpen/onClose/currentDiscipline/onSelect props
- Replace inline modal in ProgressTab with ChangeDriverModal
- Add clickable driver helmet section to MissionsTab player status strip showing
  helmet, driver name, difficulty tier, and mini XP progress bar
- Wire driver selection to difficulty filter (incident-commander sets rookie, others clear)

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Remove the Difficulty section (chips, counts, toggle state) from AppSidebar.
Keep the difficulty field in SidebarFilters so programmatic filtering via
driver selection still works. Status and Topic Track sections remain.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Map each driver to a recommended starting circuit:
- Arvid (incident-commander) → ground-zero
- Liam (developer) → operator-readiness
- Isack (platform-engineer) → reliability-driver
- Max (sre) → null (All missions, pending race-day circuit)

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
- Add DriverTier type, CIRCUIT_TIER_MAP, and TIER_XP_THRESHOLDS to circuits.ts
- Create utils/xp.ts with getUnlockedTier, isTierUnlocked, getNextTierInfo
- Add tierLocked prop to MissionCard — shows locked button with tooltip
  when mission's circuit tier exceeds player's unlocked tier
- Compute tier locks in MissionsTab using lowest tier across circuits
- Show unlock progress in driver helmet section (e.g. "75 / 500 XP to unlock Liam Lawson")

Tier thresholds: rookie=0, intermediate=500, advanced=1500, elite=3000

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Onboarding:
- Remove Starting Circuit step — now 4 steps: Welcome → Driver → Country → Confirm
- Auto-assign circuit based on driver: incident-commander→ground-zero,
  developer→operator-readiness, platform-engineer→reliability-driver, sre→null
- Remove PRE_SEASON_IDS, EXPERIENCE_TO_DEFAULT_CIRCUIT, selectedCircuit state,
  getCircuitTier helper

Circuit mission reassignment by difficulty tier:
- ground-zero (rookie): keep all 5 rookie missions
- speed-driver (intermediate): remove mission-code-fix-brief (elite)
- strategist (advanced): remove mission-war-room-brief (rookie),
  mission-command-postmortem (elite)
- builder (advanced): remove mission-fleet-report, mission-disk-forecast (rookie),
  mission-approval-gate (elite)
- reliability-driver (elite): remove mission-first-briefing,
  mission-blast-radius (rookie); add mission-code-fix-brief,
  mission-command-postmortem, mission-approval-gate (elite)

Orphaned missions (intentional): mission-first-briefing, mission-blast-radius,
mission-fleet-report, mission-disk-forecast, mission-war-room-brief

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
New missions:
- mission-read-the-room (SITUATION REPORT): Problems app severity categories,
  impact layers, availability filtering, Davis AI
- mission-follow-the-signal (LOG HUNT): Log status values, ERROR filtering,
  topology fields, DQL log queries
- mission-map-the-service (SERVICE RECON): Service counting, golden signals,
  service types, database service identification

All 3 added to operator-readiness circuit missionIds.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Full-width 420px hero container with ft-car.png as background-cover.
Dark gradient overlays on top (30%) and bottom (50%). Top overlay shows
"MISSION CONTROL" in small caps with tagline. Bottom overlay shows
user's first name, confirmation text, and a translucent entry button.
Hero is full-bleed (no padding on step 0). Other steps retain the
centered 640px container layout.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
- Replace fixed 420px height with min-height: calc(100vh - 48px)
- Move top overlay content down to 40px for clear dark space above cars
- Add overflow: hidden on step 0 wrapper
- Step dots already hidden on step 0 via existing conditional

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
- Move top overlay from 40px to 60px to clear DT shell top bar
- Move bottom overlay from 32px to 48px for more breathing room
- Show full name instead of first name, fallback to "Operator" if dt.missing

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
Set backgroundColor #05060f on both the outer wrapper (step 0) and the
hero container so any gap between DT shell and the background image
blends seamlessly.

https://claude.ai/code/session_01M3vQCL52FZRZ49VNKNYpTm
@self9dmin self9dmin merged commit 8032603 into master Mar 27, 2026
1 check passed
self9dmin added a commit that referenced this pull request Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants