Repository navigation
Conversation
…ether they come back GET /api/admin/career/funnel (admin only, counts only) derives the funnel from saved career records: cohort = profiles created in [from,to); steps profile → goal → occupation → brief → pay → roadmap → accepted → resume → export → photo selected → photo package bought after starting; plus active-day returns. Server-side so it covers users who decline analytics cookies. Shown on /admin/career-usage and pulled by scripts/career/stage3-usage.sh. Tests: SQLite funnel math + endpoint auth/shape; Playwright panel + axe.
Tests previously ran only in Simple Deploy after the merge to main. Performance tests stay out (#446).
…ET advisories; make the -warnaserror analyzer step actually rebuild Pkcs (GHSA-2fmv-rv2c-59x7, GHSA-846f-f764-76mx) pinned in the API (via SqlClient, PDFsharp). Xml (GHSA-7hqp-7c5m-4vq6, GHSA-c399-9853-6jmj, GHSA-r955-8q5j-3h83) pinned in the test project only: in the Web SDK project it is in the shared framework (NU1510). The analyzer step ran incrementally after the reviewdog build and never compiled; --no-incremental exposed 7 existing test warnings (nullable, obsolete PdfPig GlyphRectangle), fixed here.
Owner
Author
|
Closing: the service was shut down on 2026-10-21 (see docs/operations/SHUTDOWN-CHECKLIST.md). The branch is kept for reference. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two changes from the 2026-10-14 status review: (1) a way to see how far people get in the career workspace, (2) tests on every PR instead of only after merge.
1. Journey funnel (admin only, counts only)
Derived from saved career records, not browser events: GA4 only runs after cookie consent, so a browser funnel would miss everyone who declines. Exports are counted from the usage ledger because export files expire. Sources and limits are in
docs/career/api-funnel.md.scripts/career/stage3-usage.shnow pulls the funnel too, ready for the Stage 3 decision.2. PR CI
PR Static Analysis static-analysis (build, analyzers, eslint, tsc, axe) + tests dotnet test (all but Performance, #446) + KarmaEvidence
CareerFunnelReportTestsrun against SQLite (proves the queries translate to SQL; the in-memory provider would not). Seeds 4 people: one outside the window, a pre-start purchase, a refunded purchase, a failed export. None of those may count, and all four tests pass.CareerAdminFunnelEndpointTests: non-admin 403; admin 200 with no owner ids; reversed window 400.career-usage.spec.ts: 12/12 pass, including the new panel and axe + 320px no-overflow on/admin/career-usage.dotnet test -c Release --filter "FullyQualifiedName!~Performance"→ 1381 passed, 1 skipped, 0 failed (56 s). Karma → 746/748, 2 skipped, 0 failed.testsjob on this PR is its own first run.Merge Danger
Door: two-way. The change adds one read-only GET endpoint and one admin panel, with no schema change and no writes.
Blast Radius: admin-only. PRs take a few minutes longer to check, and a red test now blocks the merge instead of failing the deploy.
3. Fixes needed to make CI pass (third commit)
System.Security.Cryptography.Pkcsin the API (it comes in through SqlClient and PDFsharp).System.Security.Cryptography.Xmlis pinned in the test project only, because the Web SDK API gets it from the ASP.NET Core shared framework (NU1510), so the runtime patch covers it there. Both pins should be removed once the parent packages move to 10.0.13 or later.-warnaserroranalyzer step ran incrementally after the reviewdog build, so it never compiled anything and always passed. It now uses--no-incremental. That turned up 7 existing warnings inCareerSummariesExportsApiTests.cs(nullable dereferences and the obsolete PdfPigGlyphRectangle, nowBoundingBox), which this commit fixes.aspnet:10.0-preview. Check that the image the deploy pulls includes the 10.0.13 servicing fix for the shared-framework copy of Xml.CI on this PR: Static Analysis ✅, Tests (API + UI) ✅, CodeQL ✅.