Career Quest
Полноценный карьерный навигатор: считает разрыв между профилем сотрудника и целевой ролью/грейдом, строит дорожную карту и объяснимые…
О проекте
Команда: AIVIOM
Кейс HackAlem.ai: Менеджмент — Halyk Bank · кейс 1
Стадия: Доведённый продукт
Задача кейса: «Career Quest»: AI-навигатор, связывающий навыки сотрудника с шагами развития
Суть
Полноценный карьерный навигатор: считает разрыв между профилем сотрудника и целевой ролью/грейдом, строит дорожную карту и объяснимые AI-рекомендации, принимает подтверждения выполненной работы и начисляет навыки и XP после верификации. Есть отдельные рабочие места для пяти ролей (сотрудник, эдвайзер, менеджер, супервайзер, HR) и HR-аналитика.
Как устроено
Модульный монолит на TypeScript: React 19 + Vite, сервер на Express и SQLite (better-sqlite3). Чистые доменные функции считают эффективные навыки, пробелы, допустимость активностей, предпросмотр, дорожную карту и аналитику. Слой рекомендаций вызывает OpenAI (gpt-5.4-mini) только среди активностей, которые сервер признал допустимыми; ответ проверяется, есть режимы live_ai / cached_live_ai / rules_fallback / unavailable, а также лимит расходов на AI и шлюз для жюри. Навыки и XP меняются только после принятого подтверждения; права ролей проверяются на сервере, все действия пишутся в журнал аудита.
Ключевые решения
- анализ пробелов в навыках
- правила допустимости активностей
- дорожная карта развития
- ролевой доступ на сервере (RBAC)
- журнал XP и наград
- Zod-валидация
- откат на правила без LLM
- локализация RU/KK/EN
- журнал аудита
Особенности
Рекомендация строго отделена от действий, меняющих состояние: предпросмотр ничего не меняет, а навыки начисляются только после принятого подтверждения и защищены от повторного зачисления. AI выбирает только среди активностей, одобренных сервером, а источник каждого ответа помечен (live AI / кеш / правила). Есть задеплоенное демо и интерфейс на трёх языках.
Стек
TypeScript · React 19 · Vite 6 · Express 4 · SQLite · better-sqlite3 · Zod · OpenAI Node SDK · Docker
Модели
gpt-5.4-mini
Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-6ee0248f-aiviom.
README
README.mdCareer Quest · AIVIOM
AI-powered career development navigator for HackAlem AI · Case 1 — Halyk Bank.
Deployed demo: https://career.aiviom.ai
Career Quest helps an employee understand the gap between their current profile and a target role/grade, build a feasible development path, receive explainable AI-assisted recommendations, submit evidence of completed work, and see verified progress. Managers, advisors, supervisors, and HR receive role-specific workflows for approvals, assignments, analytics, imports, and audit.
The repository contains the complete application, source dataset, demo seed, API/server code, frontend, tests, Docker configuration, and technical documentation required to run and inspect the solution independently.
1. What the solution does
The main product flow is:
Employee profile
↓
Target role / grade
↓
Skill gaps and eligibility rules
↓
Roadmap + explainable recommendation
↓
Preview / plan / completion evidence
↓
Advisor or manager verification where required
↓
Skill recalculation + XP/reward ledger
↓
HR analytics + audit trail
The application supports the following demo roles:
- Employee — profile, goal, roadmap, recommendations, plan, completion requests, side quests, help requests, rewards.
- Advisor — completion verification and side-quest review.
- Manager — team-scoped actions, assignments, resource approvals, help resolution, analytics.
- Supervisor — policy approvals, audit access, analytics.
- HR — organization-wide analytics, import preview/commit, assignments, audit.
The application intentionally separates recommendation from state-changing actions. A preview or AI recommendation does not grant skills. Skills/XP change only after a permitted completion or accepted side quest.
2. Architecture
Career Quest is implemented as a TypeScript modular monolith.
Browser
│
│ React 19 + Vite 6
▼
Express 4 application server
│
├── Session / demo workspace isolation
├── Server-side RBAC and scope checks
├── Domain calculations
│ ├── effective skills
│ ├── gaps
│ ├── eligibility
│ ├── preview
│ ├── roadmap
│ └── analytics
├── Workflows
│ ├── completions
│ ├── assignments
│ ├── side quests
│ ├── approvals
│ ├── rewards
│ └── audit
├── Import validation
└── AI recommendation layer
├── direct OpenAI API when OPENAI_API_KEY is configured
├── team judge gateway when configured
└── explicit rules fallback when live AI is unavailable
│
▼
SQLite / better-sqlite3
Main source directories
| Path | Responsibility |
|---|---|
src/client/ | React UI, screens, API client, localization |
src/server/ | Express API, sessions, RBAC, SQLite persistence, workflows, audit, AI budget/gateway |
src/domain/ | Pure domain calculations, roadmap, analytics, import validation |
src/ai/ | Recommendation orchestration and external opportunity search |
src/shared/ | Shared types and RU/KK/EN localization contracts |
data/source/ | Source case dataset |
data/demo/ | Demo/import fixture |
tests/ | Domain, server, integration, AI and localization tests |
docs/ | Detailed technical/reviewer documentation |
For a deeper implementation-oriented description, see docs/TECHNICAL_DOCUMENTATION.md.
3. Technologies
Runtime and application
- Node.js 20.19+; Node 22 LTS is recommended.
- TypeScript 5.8
- React 19
- Vite 6
- Express 4
- SQLite through
better-sqlite3 - Zod 3 for request/data validation
- OpenAI Node SDK 6 for optional live AI
- csv-parse for source/import parsing
- Lucide React for UI icons
Development and delivery
- npm + lockfile (
package-lock.json) - Node built-in test runner executed through
tsx - Docker / Docker Compose
- Local SQLite persistence
Exact dependency versions are pinned by package-lock.json.
4. Requirements
For a normal local run:
- Git
- Node.js >= 20.19
- npm
- Internet access while installing npm dependencies
No separate database server is required.
On systems where better-sqlite3 cannot use a prebuilt binary, compilation may additionally require:
- Python 3
make- a C/C++ compiler
The provided Docker image installs the native build toolchain automatically.
5. Installation
Option A — local Node.js
git clone https://github.com/BAITC-Hacks/hack-6ee0248f-aiviom.git
cd hack-6ee0248f-aiviom
npm ci
Optional environment configuration:
cp .env.example .env
A .env file is not required for the basic demo flow.
Option B — Docker
cp .env.example .env
docker compose build
docker compose up -d
The supplied Compose configuration publishes the application on:
http://127.0.0.1:3500
The container itself listens on port 3000.
6. Running the application
Development mode
npm run dev
Production-style local run
npm run build
npm start
By default open:
http://127.0.0.1:3000
Health check:
curl http://127.0.0.1:3000/health
Expected shape:
{
"ok": true,
"service": "career-quest",
"version": "development"
}
7. Environment variables
All supported variables are listed in .env.example.
| Variable | Default / example | Purpose |
|---|---|---|
PORT | 3000 | HTTP port used by the Node server |
HOST | 127.0.0.1 locally | Interface to bind to |
DATABASE_PATH | .runtime/career-quest.sqlite | SQLite database file |
OPENAI_API_KEY | empty | Optional server-side live OpenAI access |
OPENAI_MODEL | gpt-5.4-mini | Model requested by the AI layer |
AI_BUDGET_USD | 30 | Conservative application-side AI reservation budget |
DEMO_ENABLED | true | Enables demo workspace/session APIs |
JUDGE_GATEWAY_URL | https://career.aiviom.ai | Team recommendation gateway; use off to disable |
AI_MODE | unset | Set to offline to disable remote AI calls |
TRUST_PROXY | usually unset locally | Set by deployment when running behind a trusted proxy |
RELEASE_SHA | development/local | Version returned by /health |
AI behavior
The recommendation endpoint has explicit modes:
live_ai— validated response from a live model.cached_live_ai— validated cached live result.rules_fallback— deterministic domain fallback; not presented as an LLM response.unavailable— no meaningful recommendation can be produced, e.g. no goal or no gaps/candidates.
A personal OpenAI key is therefore not required to inspect the main product and domain flows.
Never commit .env, API keys, SQLite runtime files, logs, or tokens. The repository .gitignore excludes these files.
8. Main API surface
The browser UI uses the same server API that can be inspected manually.
Key endpoints include:
GET /healthGET /api/sessionPOST /api/session/switchPOST /api/demo/resetPOST /api/demo/dateGET /api/catalogGET /api/employeesGET /api/employees/:id/profilePUT /api/employees/:id/goalGET /api/employees/:id/roadmapPOST /api/employees/:id/previewPOST /api/employees/:id/recommendationsPOST /api/planPOST /api/completion-requestsPOST /api/completion-requests/:id/acceptGET/POST /api/side-questsPOST /api/side-quests/:id/reviewPOST /api/side-quests/:id/resourcePOST /api/side-quests/:id/policyPOST /api/side-quests/:id/evidencePOST /api/side-quests/:id/acceptGET/POST /api/helpPOST /api/assignmentsGET /api/hr/analyticsPOST /api/import/previewPOST /api/import/commitGET /api/rewardsPOST /api/rewards/:id/redeemGET /api/audit
Detailed request examples are in docs/DEMO_API.md.
9. How to verify the main scenario
The following sequence is the recommended reviewer path.
Step 1 — open the deployed or local application
Deployed version:
Local version after npm start:
http://127.0.0.1:3000
Step 2 — Employee: inspect profile and target
- Keep or select the Employee demo identity.
- Open the employee profile.
- Inspect current role/grade, target role/grade, skills and gaps.
- Open the roadmap.
- Request recommendations.
- Inspect the recommendation explanation and alternative.
Expected result: recommendations refer to real catalog activities and are constrained by server-computed eligibility and current profile facts.
Step 3 — verify preview is non-mutating
- Select an eligible activity.
- Open its preview.
- Observe projected skill/gap changes.
- Refresh or reopen the real profile.
Expected result: preview does not permanently change skills or history.
Step 4 — submit a completion for verification
- As Employee, submit evidence for an eligible/completable activity.
- Switch to the Advisor identity.
- Open the pending completion request and accept it with a reason.
- Switch back to Employee.
- Reopen the profile/rewards.
Expected result: accepted completion can update effective skills and XP once. Repeating the same accepted operation must not grant a duplicate credit.
Step 5 — verify the side-quest workflow
- As Employee, create a side quest with deliverables and skill IDs.
- As Advisor, review it and define criteria plus allowed gain/cap.
- If the quest requires resources, switch to Manager and approve/reject the resource request.
- If it requires policy approval, switch to Supervisor and process that decision.
- As Employee, submit evidence.
- As Advisor, accept the evidence.
Expected result: approval of a proposal alone does not grant skills. Credit is created only after accepted evidence.
Step 6 — verify HR functions
- Switch to HR.
- Open HR analytics.
- Inspect gaps, participation, mandatory assignments and no-next-step cases.
- Use import preview with
data/demo/import-example.json. - Commit only after a valid preview.
- Verify that the imported employee appears and can be opened.
- Inspect the audit view.
Expected result: invalid imports do not partially mutate state; valid imports are committed through the server workflow.
Step 7 — verify persistence and reset
- Perform a state-changing demo action.
- Restart the application without deleting the SQLite file/volume.
- Confirm the state is still present.
- Use the UI demo reset only when you intentionally want to reset the current workspace.
For the extended reviewer sequence, see docs/13_REVIEWER_GUIDE.md.
10. Tests and technical checks
Run:
npm test
npm run typecheck
npm run build
npm run verify:source
Optional dependency security inspection:
npm audit
The test suite includes coverage for:
- domain skill/gap calculations;
- roadmap and prerequisite sequencing;
- import validation and atomicity;
- workspace isolation;
- role/scope enforcement;
- completion idempotency;
- reward idempotency and overspend protection;
- side-quest approval/evidence flows;
- recommendation validation/fallback/cache behavior;
- RU/KK/EN server/client localization.
The repository also includes reviewer/live smoke scripts under scripts/.
11. Data and persistence
The case dataset is stored under data/source/ and contains employees, events, skills, role profiles and activity history.
Runtime state is persisted in SQLite. Default local path:
.runtime/career-quest.sqlite
Docker uses a named volume mounted at:
/app/.runtime
The application creates isolated demo workspaces backed by an HTTP-only cq_session cookie. Switching demo identities changes the active identity inside the same demo workspace; it does not represent production SSO.
12. Security and integrity controls implemented in the demo
The code includes:
- server-side role and employee/team scope checks;
- isolated demo workspaces;
- HTTP-only session cookie;
- same-site request protections and same-origin write validation;
- JSON body limit;
- request validation with Zod;
- idempotency guards for credits/rewards;
- audit events for state-changing workflows;
- AI output validation against server-side candidates/facts;
- restricted judge gateway payload and model flow;
- API keys kept on the server side.
This remains a competition/demo application. It does not claim production enterprise authentication or production SSO.
13. Known limitations
- Demo identity switching is intentionally provided for judging and is not production authentication.
- SQLite is appropriate for this self-contained demo deployment; a large production deployment would normally use a managed transactional database and a production identity provider.
- External/live AI availability depends on configured credentials/gateway/network. The application exposes fallback modes instead of presenting fallback output as live AI.
- Rewards and some demo policies are product demonstration policies, not Halyk Bank commitments.
- Recommendations support career development decisions; they do not automatically promote, grade, or rank employees.
See docs/15_RELEASE_AND_LIMITATIONS.md for additional project-specific caveats.
14. Documentation map
Start here:
docs/TECHNICAL_DOCUMENTATION.md— implementation-oriented technical documentation.docs/13_REVIEWER_GUIDE.md— independent reviewer scenario.docs/11_DEPLOYMENT.md— deployment details.docs/DEMO_API.md— API verification examples.docs/02_ARCHITECTURE.md— architecture and component boundaries.docs/04_DOMAIN_CALCULATIONS.md— domain calculations.docs/05_RECOMMENDATIONS_AND_AI.md— AI recommendation design.docs/07_ROLES_AND_SECURITY.md— roles and security model.docs/08_API_AND_STORAGE.md— API/storage detail.docs/12_TESTING.md— testing strategy.
15. Deployment
The public demo is available at:
Docker deployment is included in the repository:
cp .env.example .env
docker compose build
docker compose up -d
Check health:
curl http://127.0.0.1:3500/health
Stop without deleting persistent data:
docker compose down
Do not add -v unless you intentionally want to delete the Docker volume and its SQLite state.
16. Quick reviewer checklist
- Open https://career.aiviom.ai.
- Verify employee profile, target and gaps.
- Generate recommendation and inspect its mode/evidence.
- Run a preview and confirm it does not mutate state.
- Submit + approve a completion and confirm exactly one credit.
- Exercise a side-quest approval/evidence path.
- Open manager/supervisor/HR role views.
- Preview and commit an HR import.
- Inspect analytics and audit.
- For local reproduction, run
npm ci,npm run build,npm start. - Run
npm testandnpm run typecheck.
Team AIVIOM · HackAlem AI 2026
Авторы коммитов
История коммитов
- 2026-09-23 17:40Use exact README from docs/full-documentationAzat Kabiden
- 2026-09-23 17:38Merge full documentation while preserving latest main functionalityAzat Kabiden
- 2026-09-23 17:28Record verified final HackAlem release and judge evidenceAzat Kabiden
- 2026-09-23 17:24Constrain AI choices with candidate-scoped schemaAzat Kabiden
- 2026-09-23 17:21Guide AI to copy candidate-supported evidenceAzat Kabiden
- 2026-09-23 17:13Document final judge workflow and add real conflict acceptanceAzat Kabiden
- 2026-09-23 17:13Localize confirmed results and honor missing-skill zero semanticsAzat Kabiden
- 2026-09-23 17:09Compare recommendation alternatives with verified evidenceAzat Kabiden
Все коммиты (116)
- 2026-09-23 17:08Keep HR inspection selection stable during refreshAzat Kabiden
- 2026-09-23 17:08Distinguish unassessed skills and clarify plan progressAzat Kabiden
- 2026-09-23 17:08Update project documentation and READMEaskhat aubakirov
- 2026-09-23 17:06Keep HR inspection selection stable during refreshAzat Kabiden
- 2026-09-23 17:06Expose complete career path and HR evidence in UIAzat Kabiden
- 2026-09-23 17:05Expose complete career path and HR evidence in UIAzat Kabiden
- 2026-09-23 17:05Tighten localized and supported AI explanationsAzat Kabiden
- 2026-09-23 17:04Tighten localized and supported AI explanationsAzat Kabiden
- 2026-09-23 17:03Use full catalog evidence in local AI and gateway fallbacksAzat Kabiden
- 2026-09-23 17:03Check roadmap unlocks at projected finish dateAzat Kabiden
- 2026-09-23 17:02Check roadmap unlocks at projected finish dateAzat Kabiden
- 2026-09-23 17:02Verify AI recommendations against full relevant historyAzat Kabiden
- 2026-09-23 16:59Verify AI recommendations against full relevant historyAzat Kabiden
- 2026-09-23 16:58Preserve plan budget edits and persist verified completion effectsAzat Kabiden
- 2026-09-23 16:57Fix same-day credits and employee-skill analyticsAzat Kabiden
- 2026-09-23 16:57Document pair-level catalog coverageAzat Kabiden
- 2026-09-23 16:56Document pair-level catalog coverageAzat Kabiden
- 2026-09-23 16:56Fix same-day credits and employee-skill analyticsAzat Kabiden
- 2026-09-23 16:54Expose roadmap step effects for employee trajectoryAzat Kabiden
- 2026-09-23 16:54Define trusted application credits and confirmed progress receiptsAzat Kabiden
- 2026-09-23 16:53Expose roadmap step effects for employee trajectoryAzat Kabiden
- 2026-09-23 16:53Define trusted application credits and confirmed progress receiptsAzat Kabiden
- 2026-09-23 16:22Exclude owner private specification from working branchAzat Kabiden
- 2026-09-23 16:22Document verified Atlas production release and compatibilityAzat Kabiden
- 2026-09-23 16:21Merge remote-tracking branch 'origin/docs/full-documentation'Azat Kabiden
- 2026-09-23 16:19Promote accepted Atlas release to main for immediate deploymentAzat Kabiden
- 2026-09-23 16:17Record atlas acceptance and guarded post-hackathon rolloutAzat Kabiden
- 2026-09-23 16:16Fit selector popup within dialog and viewportAzat Kabiden
- 2026-09-23 16:14Clarify compact mobile labels and full section namesAzat Kabiden
- 2026-09-23 16:14Let single quest detail fill narrow desktop gridAzat Kabiden
- 2026-09-23 16:12Make selector value and tab exit accessibleAzat Kabiden
- 2026-09-23 16:12Align product context with trilingual atlas releaseAzat Kabiden
- 2026-09-23 16:11Align product context with trilingual atlas releaseAzat Kabiden
- 2026-09-23 16:11Make selector value and tab exit accessibleAzat Kabiden
- 2026-09-23 16:10Use one accessible styled selector throughout atlas UIAzat Kabiden
- 2026-09-23 16:08Cover shared picker translations in the UI key auditAzat Kabiden
- 2026-09-23 16:08Merge teammate documentation history and retain verified Atlas release factsAzat Kabiden
- 2026-09-23 16:06Keep mobile progress captions above twelve pixelsAzat Kabiden
- 2026-09-23 16:06Polish atlas language picker and document shipped designAzat Kabiden
- 2026-09-23 16:05Verify localized oversized-import rejectionAzat Kabiden
- 2026-09-23 16:05updating README for judges to easily readAskhat Aubakirov
- 2026-09-23 16:04Remove internal gateway and workflow jargon from localized messagesAzat Kabiden
- 2026-09-23 16:04Fix formatting in README.meAskhat Aubakirov
- 2026-09-23 16:00Keep AI explanations in the requested languageAzat Kabiden
- 2026-09-23 15:59Guard localized imports at the two-megabyte request limitAzat Kabiden
- 2026-09-23 15:57Reflow atlas header and panels on narrow phonesAzat Kabiden
- 2026-09-23 15:54Test all UI language keys and calendar formattingAzat Kabiden
- 2026-09-23 15:54Use native button group for analytics sectionsAzat Kabiden
- 2026-09-23 15:54Complete atlas localization and design contractAzat Kabiden
- 2026-09-23 15:49Add atlas favicon assetAzat Kabiden
- 2026-09-23 15:49Document separate Atlas release and reproducible multilingual verificationAzat Kabiden
- 2026-09-23 15:49Build multilingual Career Quest atlas interfaceAzat Kabiden
- 2026-09-23 15:49Keep AI rationale on localized labels and format countsAzat Kabiden
- 2026-09-23 15:47Give import validation stable localized issue codes and structured warningsAzat Kabiden
- 2026-09-23 15:47Polish Kazakh catalog and localize seeded demo evidenceAzat Kabiden
- 2026-09-23 15:47Separate AI diagnostics from localized user messagesAzat Kabiden
- 2026-09-23 15:46Separate AI diagnostics from localized user messagesAzat Kabiden
- 2026-09-23 15:46Add explicit three-language live and independent gateway verificationAzat Kabiden
- 2026-09-23 15:45Keep AI warning diagnostics separate from user-facing textAzat Kabiden
- 2026-09-23 15:45Localize server recommendations, gateway and API errorsAzat Kabiden
- 2026-09-23 15:45Polish Kazakh catalog and localize seeded demo evidenceAzat Kabiden
- 2026-09-23 15:44Document localized contracts and refine Kazakh import copyAzat Kabiden
- 2026-09-23 15:43Verify language negotiation and localized transport failuresAzat Kabiden
- 2026-09-23 15:43Localize source catalog and demo labels for RU KK ENAzat Kabiden
- 2026-09-23 15:42Bundle verified local font and record rebrand direction with locale testsAzat Kabiden
- 2026-09-23 15:42Expose stable analytics caveat codes for localized presentationAzat Kabiden
- 2026-09-23 15:42Add backward-compatible locale and recommendation presentation contractsAzat Kabiden
- 2026-09-23 15:42Localize transport failures and capture each request languageAzat Kabiden
- 2026-09-23 15:41Bundle verified local font and record rebrand direction with locale testsAzat Kabiden
- 2026-09-23 15:40Give import validation stable localized issue codes and structured warningsAzat Kabiden
- 2026-09-23 15:39Add backward-compatible locale and recommendation presentation contractsAzat Kabiden
- 2026-09-23 15:29Record verified release and independent hosted jury accessAzat Kabiden
- 2026-09-23 15:23Merge remote-tracking branch 'origin/main'Azat Kabiden
- 2026-09-23 15:23Harden final workflows and jury gateway after independent auditAzat Kabiden
- 2026-09-23 15:22Merge pull request #1 from BAITC-Hacks/docs/full-documentationAzat Kabiden
- 2026-09-23 15:19docs: additional project documentationaskhat aubakirov
- 2026-09-23 14:47Make jury import and clean-start checks reproducibleAzat Kabiden
- 2026-09-23 14:35Refine verified evidence disclosure and advisor gain reviewAzat Kabiden
- 2026-09-23 14:34Clarify evidence and per-skill review decisionsAzat Kabiden
- 2026-09-23 14:31Complete responsive role actions and evidence revisionsAzat Kabiden
- 2026-09-23 14:30Correct mandatory assignment audit fixtureAzat Kabiden
- 2026-09-23 14:29Complete review revisions and readable mobile analyticsAzat Kabiden
- 2026-09-23 14:25Align audit assignment fixture with completed-event ruleAzat Kabiden
- 2026-09-23 14:22Harden review loops, scoped analytics, input safety and roadmap timingAzat Kabiden
- 2026-09-23 14:22Add independent adversarial HTTP acceptance testsAzat Kabiden
- 2026-09-23 14:22Make live recommendation explanations explicit and conciseAzat Kabiden
- 2026-09-23 14:21Explain all AI factors and bound external searchAzat Kabiden
- 2026-09-23 14:21Add independent adversarial HTTP audit testsAzat Kabiden
- 2026-09-23 14:18Complete role workflows and actionable HR analyticsAzat Kabiden
- 2026-09-23 14:17Refine employee route, analytics and external opportunitiesAzat Kabiden
- 2026-09-23 14:17Add scoped judge gateway and reproducible verification guideAzat Kabiden
- 2026-09-23 14:16Strengthen import chronology and duplicate completion validationAzat Kabiden
- 2026-09-23 14:16Improve AI history evidence and low-latency model configurationAzat Kabiden
- 2026-09-23 14:16Reject conflicting completion imports and invalid goalsAzat Kabiden
- 2026-09-23 14:16Filter AI choices to useful goal activitiesAzat Kabiden
- 2026-09-23 14:15Harden as-of calculations and recurring sessionsAzat Kabiden
- 2026-09-23 14:15Implement isolated SQLite workflows with server authorization and atomic creditsAzat Kabiden
- 2026-09-23 14:14Constrain AI model and include history preference factsAzat Kabiden
- 2026-09-23 14:14Handle as-of completions and recurring sessionsAzat Kabiden
- 2026-09-23 14:14Integrate five-role Career Quest interfaceAzat Kabiden
- 2026-09-23 14:14Build Career Quest role workspace and core flowsAzat Kabiden
- 2026-09-23 14:13Integrate tested source domain and import engineAzat Kabiden
- 2026-09-23 14:13Integrate validated AI recommendationsAzat Kabiden
- 2026-09-23 14:13Add reproducible locked install and isolated deployment configurationAzat Kabiden
- 2026-09-23 14:13Implement Career Quest domain calculations and import validationAzat Kabiden
- 2026-09-23 14:13Add validated AI recommendations and safe external searchAzat Kabiden
- 2026-09-23 14:08Initialize Career Quest contracts and verified source datasetAzat Kabiden
- 2026-09-23 13:44Add files via uploadAskhat Aubakirov
Структура репозитория (128 файлов)
.dockerignore .env.example .gitignore .impeccable/design.json AGENTS.md DESIGN.md Dockerfile PRODUCT.md PROJECT_STATE.md README.md compose.yml data/demo/import-example.json data/source-manifest.json data/source/README.kz.md data/source/README.md data/source/README.ru.md data/source/activity_history.csv data/source/employees.json data/source/events.json data/source/skills.json docs/00_NAVIGATION.md docs/01_REQUIREMENTS.md docs/02_ARCHITECTURE.md docs/03_DATA_AND_IMPORT.md docs/04_DOMAIN_CALCULATIONS.md docs/05_RECOMMENDATIONS_AND_AI.md docs/06_ROADMAP_AND_SIDE_QUESTS.md docs/07_ROLES_AND_SECURITY.md docs/08_API_AND_STORAGE.md docs/09_INTERFACE.md docs/10_HR_AND_REWARDS.md docs/11_DEPLOYMENT.md docs/12_TESTING.md docs/13_REVIEWER_GUIDE.md docs/14_JURY_FAQ.md docs/15_RELEASE_AND_LIMITATIONS.md docs/ACCEPTANCE.md docs/AI.md docs/AUDIT.md docs/CONTRACT.md docs/DATASET_INSPECTION.md docs/DEMO_API.md docs/DEPLOY.md docs/DOCUMENTATION_CHECKS.md docs/FORMULAS.md docs/GLOSSARY.md docs/REBRAND.md docs/RELEASE_MANIFEST.json docs/SOURCES.md docs/TECHNICAL_DOCUMENTATION.md docs/THIRD_PARTY.md docs/UI_ATLAS.md docs/contracts/recommendation.schema.json docs/evidence/README.md docs/evidence/TEST_RUN_TEMPLATE.md docs/evidence/performance_template.csv docs/examples/README.md docs/examples/jury_employee.example.json docs/examples/jury_history.example.csv index.html package-lock.json package.json public/brand/cq-mark-inverse.svg public/brand/cq-mark-mono.svg public/brand/cq-mark.svg public/brand/cq-wordmark.svg public/brand/favicon.svg public/fonts/OFL.txt public/fonts/noto-sans.woff2 scripts/acceptance-journey.ts scripts/conflict-smoke.ts scripts/external-smoke.ts scripts/judge-smoke.ts scripts/live-smoke.ts scripts/rebrand-live-smoke.ts scripts/verify-source.mjs src/ai/external.ts src/ai/index.ts src/client/LanguagePicker.tsx src/client/Select.tsx src/client/api.ts src/client/i18n.tsx src/client/main.tsx src/client/screens/AuditView.tsx src/client/screens/CatalogView.tsx src/client/screens/EmployeePath.tsx src/client/screens/ExternalSearch.tsx src/client/screens/Insights.tsx src/client/screens/People.tsx src/client/screens/Quests.tsx src/client/screens/RewardsView.tsx src/client/styles.css src/client/ui.tsx src/domain/analytics.ts src/domain/calculation.ts src/domain/import.ts src/domain/index.ts src/domain/roadmap.ts src/domain/source.ts src/server/access.ts src/server/ai-budget.ts src/server/app.ts src/server/errors.ts src/server/gateway.ts src/server/index.ts src/server/store.ts src/server/workflows.ts src/shared/catalog-i18n.ts src/shared/catalog-translations/en.ts src/shared/catalog-translations/kk.ts src/shared/catalog-translations/labels.ts src/shared/catalog-translations/ru.ts src/shared/import-i18n.ts src/shared/locale.ts src/shared/server-i18n.ts src/shared/types.ts tests/ai.test.ts tests/audit.integration.test.ts tests/catalog-i18n.test.ts tests/client-api-locale.test.ts tests/domain.test.ts tests/locale-import.test.ts tests/locale-server.test.ts tests/must-have.integration.test.ts tests/server.test.ts tests/ui-i18n.test.ts tsconfig.json vite.config.ts
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.