Skip to main content

Objectives - Redesign technical guide

Scope and architecture​

This page covers past/future performance objectives in nextgen interviews for implementers and platform operators. Form configuration, participant-specific answers, objective records and campaign workflow are separate layers:

Verified in code: the front-end builder uses performance_goals; its mapper maps to backend performance_goal structures. The renderer under Reviews/modules/FormRender/components/renderers/PerformanceGoal/ has card, editor, key-result, weight and tutorial components. Back-end ReviewForm/Objective entities represent past/future questions; Review/Answer/Objective entities and DTOs represent participant answer details and key-result details. ObjectiveAnswerManager, PastObjectiveAnswerManager, FutureObjectiveAnswerManager, ObjectiveAnswerValidator and ObjectiveWeightValidator implement relevant persistence and checks.

Request and data flow​

The checked PerformanceGoal/api/performanceGoal.api.ts loads participant answers by step; saves key-result values against an answer ID; and calls operations for create, update, remove, decision, reopen, weights and import. Manual import and best-effort automatic past import are separate operations. A failed auto-import is deliberately handled so lists can still render; an empty list alone does not prove that no eligible historical goals exist.

The client constructs /api/v2/user-review/{userReviewId}/performance-goal/{questionId} operation paths and /api/v2/user-review/{userReviewId}/answer/{type}/{questionId} answer paths. Source discrepancy: those performance-goal operation routes were not located in the checked backend routing tree. Treat them as front-end expectations and verify the deployed backend revision/contracts before integrating or claiming end-to-end support. Do not infer that frontend and backend checkouts are deployed together.

Separately, checked backend routes include GET/POST /api/v2/objective, scoped objective detail/update/status operations, POST /api/v2/objective/import, and /api/v2/user/objective operations. The import route requires create-objective; the manager objective list uses read-objective. See the route YAML for method-specific permissions, OAuth scopes and repository scope. These general objective routes are not evidence that a participant may bypass review-specific authorization.

Configuration and lifecycle​

BuildPerformanceGoals.vue has enabled-step-specific mandatory flags, employee/reviewer creation controls and a required positive past-period duration with month/year units. A mandatory step forces creation switches on in the checked client. The backend validators check objective ownership, attachment, weights and key-result membership; inspect their call sites and deployed version for the exact applicable rule. The participant preparation endpoint validates the full contribution. Campaign status, objective status, participant completion and signature are separate states.

Operations and failure modes​

SymptomInvestigation
Missing past goalsConfigured period, participant scope, eligible source records and auto-import result.
Goal save or approval rejectedRole/ownership, review phase, typed payload, server route availability and goal state.
Cannot finishMandatory steps, rated key results, pending goals, weights and other form questions.
Blank skills sectionInspect client errors and review/answer data separately; this was observed in the test walkthrough and is not proof that objective validation failed.
Missing later-period carryoverTrace actual import/answer processing and deployment; automatic cross-generation migration is not established.

Keep answer payloads and employee details out of routine logs. Extend builder schema, mapper, question DTO/entity, renderer, answer persistence, authorization, validation and outputs together. Runtime delivery, deployment version, migration jobs and complete PDF parity were not verified. No AIHub dependency was established for this objective workflow.

Evidence and limitations​

Verified in code: nextgen front FormBuilder/components/Builder/BuildPerformanceGoals.vue, domain/formBuilder.mapper.ts, Reviews/modules/FormRender/components/renderers/PerformanceGoal/api/performanceGoal.api.ts; nextgen back Http/Api/Routing/V2/{objective,objective_import,user_objective,review_answer}.yaml, Domain/V2/Review/Validator/, Infrastructure/Persistence/Service/Review/Answer/. Observed in application: see the functional guide. Not verified: operation-route compatibility between checkouts and deployment, complete authorization chain, final signature/export and migration. Legacy uses separate questionnaire and goal models; see Legacy technical.

Last updated on 3 November 2026