Files
jobtrackingapp/docs/redesign/phase-3/OPEN_DECISIONS.md
T
2026-09-10 18:15:05 +02:00

9.6 KiB
Raw Blame History

Open decisions and requirement boundaries

No answer is required to complete this documentation checkpoint. This register makes future dependent work reviewable; proposals are not silent product decisions.

Decisions required from Connor

ID / decision Proposal / alternatives When it affects implementation
OD-01 Product name Keep Jobjakt until chosen. Explore Norwegian-first descriptive vs Scandinavian professional/supportive internationally readable naming; no proposed name is trademark/domain-vetted Before brand/public-copy rollout; does not block state/focus foundations
OD-02 Logo/identity New wordmark + compact mark + favicon in both modes; retain existing mark meanwhile. Avoid generic AI-sparkle identity Before branded shell assets; no logo generated/selected here
OD-03 Final primary color One hue. Current indigo #5B5BD6 is continuity only; muted Nordic blue/teal direction is an untested alternative Before palette identity sign-off; semantic contrast fixes can use current hue
OD-04 Dashboard persistence Recommend owner-scoped device-local layout first; alternative account-synced layout. Both satisfy per-user isolation, only latter follows devices Before Phase 8 persistence; server option needs API/recovery/migration assessment
OD-05 Email delivery provider Existing SMTP architecture remains. Managed transactional provider choice can change deployment/config, not the redesign's ownership of notification/mail flows Before new email rollout or infrastructure change
OD-06 External jobs/calendar scope Preserve NAV and existing Google/Outlook deadline/follow-up + ICS. Decide separately on scheduled interviews, wider event sync or additional providers Before NEW-06; no LinkedIn integration or auto-apply presumed
OD-07 Monetisation-specific UX Retain server Free/Pro capabilities and honest unavailable billing; no invented prices/trial countdown/checkout promises Before new trial, paywall, pricing or aggregate subscription UI
OD-08 Favourite vs priority Recommend optional favourite only initially; richer priority levels need clear user need and persistence semantics Before NEW-09 schema/API/UI, not a phase-4 prerequisite
OD-09 Aggregate admin/privacy scope Start with a small approved total/period set; fixed coarse breakdowns, proposed suppression threshold 10, no individual drill-down Before NEW-08 API/retention and privacy review; threshold alone does not guarantee anonymity
OD-10 Job-seeker intent intake Optional, skippable desired role/work preferences vs retaining only current onboarding checklist Before NEW-13 profile/personalization storage
OD-11 Weekly-goal measurement Recommend optional user-chosen application target, disabled until set; broader effort goals need their own recorded facts Before NEW-05. No universal default number or punitive state

Ordinary route grouping, MUI reuse, current language defaults and current providers are answered by the repository and this scope; they do not require more questions. Current English fallback with EN/NB authenticated preference stays. No implicit change to Norwegian-first market focus or requirement for new users to speak English.

Stable new-requirement registry

NEW IDs do not replace or renumber PRES IDs. “Required” means part of the target brief, not approved to implement in Phase 3.

ID Requirement / classification Existing boundary / target implementation owner
NEW-01 Dashboard order/resize/reset and persisted layout — required Five visibility flags already exist; Phase 8, OD-04
NEW-02 Expanded command entities/actions — required, staged by data availability Jobs/companies + six commands exist; command owner
NEW-03 User-configured status definitions/mapping — required target Raw custom values exist; new server/UI semantics needed before configuration
NEW-04 Per-task due dates/reminders — required target Checklist has no due dates; separate scheduling contract
NEW-05 Optional editable/disableable weekly goals — required target No goal preference exists; OD-11 and period definition
NEW-06 Scheduled interviews / broader calendar events — conditional future Only job follow-up/deadline event actions and ICS proven
NEW-07 Shared contextual AI panel/access — required Existing domain actions/review retained, no general chat engine
NEW-08 Aggregate admin product dashboard — required target, metric-qualified Operational admin exists; new authorized aggregation/definitions, OD-09
NEW-09 Favourite/priority — conditional proposal No job-level field found; do not reuse operation Priority
NEW-10 Active quick-preview host — optional UX improvement Reusable workspace props exist, production host absent; read-only proposal
NEW-11 Bounded cross-job document/task/activity/metric reads — required where target needs them Existing job-scoped functions are not global query endpoints; separate read projections
NEW-12 Manual CV preview zoom — optional incremental control Automatic fit/page boundaries already exist
NEW-13 Intent-led onboarding and unsupported career preferences — conditional proposal Existing onboarding/completeness protected; no inferred personal facts
NEW-14 Comfortable/Compact application density — required Distinct from current CV document density and table page size
NEW-15 New logo/final identity — required logo; rename/color undecided Keep existing assets/name until OD-01–03
NEW-16 Consistent AI source explanation and unsupported-claim checks — required safety target Existing review/prompt context is partial evidence, not universal factual grounding/provenance

Contradictions resolved against source

Original suggestion / ambiguity Source-backed resolution
Calendar integration described as wholly future ApplicationCalendarActions already creates Google/Outlook follow-up/deadline events and ICS. Preserve these; broader scheduled events are new
Choose email provider as though mail does not exist SMTP account/reminder delivery plus Gmail/Graph/IMAP connections exist; deployment provider remains open, no replacement here
“Active applications” and conversion funnel stats.active = non-deleted jobs; current-stage counts ≠ historical conversions. Use precise catalogue definitions
Upcoming interviews widget Interview-prep task/status is not a dated appointment; new schedule data required
Shared quick overlay already in production Phase 2 call-site check finds only full-page host. Preserve reusable props; add/test real preview deliberately
Short CV customization list Full C08/C09 controls stay under Advanced; no silent removal
Suggested stages include Accepted/Screening/Final Interview Preserve ten current stages, Waiting/Ghosted and raw custom values; new mapping needs explicit contract
Career Profile versus account Profile /career owns canonical facts; /profile owns identity/security, organized under Settings
Simplified menu omits mail, companies, offers, reminders/operations Each has an explicit primary/secondary/utility home; none deleted
CV “used by jobs” suggests arbitrary many-to-many reuse Current CvVariant has optional single job reference; attach may repoint, detach preserves CV
API metadata implies native package success P2-D01 capture/tailoring fails on SQLite; expected failure is not frozen-package proof
Earlier Phase 1 docs say TypeScript gate missing Phase 2 added gate; TS2571 corrected earlier. Remote gate execution still unverified
Phase 2 C06 gap row calls the preview issue F15 The validated accessibility finding and queue A01–A03 are F14; use F14 here. Preserve the historical row rather than renumbering audit findings
Phase 1 describes TanStack Table as used Dependency exists, but current src search finds no @tanstack/useReactTable/useTable import or call. JobTable uses MUI Table directly; preserve its actual owner, not an assumed engine
Latest brief mentions pre-Phase-4 layout work Phase 4 remains shared foundations; broad shell/screens are Phase 5 after contracts/gates

Separately recorded baseline debt

P3-O01 — analytics presentation semantics, source-confirmed limitations. Dashboard currently labels non-deleted tracked count as active applications, an interview-prep count as upcoming, and uses datasets with different windows. Source: DashboardView, AnalyticsService, JobApplicationAnalyticsController. Future chart migration must use definitions in Dashboard architecture, explicitly separate snapshots/cohorts/periods and avoid summing truncated breakdowns. This is not a new production incident or a fix performed in Phase 3. Aggregate data quality and timezone corrections remain separately scoped.

P3-O02 — navigation metadata retention, source observation. ApplicationWorkspace go() replaces search with only section, so followMode may be lost; QuickCommandDialog maps fetch failure to empty results. Preserve current successful workflows but target explicit query retention and error states when those owners migrate. No incident, severity escalation or implementation is claimed.

Keep P2-D01/P2-O01 and intentional gaps separate. F01/data concurrency, D04 creation idempotency, timezone, storage/recovery, billing and worker/release issues retain the validated queue owners. No schema before restore/rollback readiness. F04 remains open pending actual ingress runtime/production evidence; no operator/credential action was taken in this phase.