docs: reorganize tree, restore architecture + research from archive, add Phase 0 reports
Active docs/ was stub scaffolding while the real docs sat in docs/_archive/. Restore and correct them, and record the Phase 0 work. - docs/architecture/current.md: verified system map (from archived SYSTEM_OVERVIEW, 9 corrections against code). - docs/research/competitors.md: sourced competitor analysis (from archived PRODUCT_RESEARCH, feature matrix corrected). - docs/decisions/ADR-002-job-application-model.md: the Job/JobApplication split. - docs/application-discovery-report.md, docs/implementation-roadmap.md, docs/phase-0-foundation-report.md, docs/career-workspace-branch-assessment.md. - Remove 10 zero-byte placeholder files that advertised content that never existed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# AI Principles
|
||||
|
||||
## 1. User First
|
||||
|
||||
The user owns all generated content.
|
||||
|
||||
---
|
||||
|
||||
## 2. Never Invent Facts
|
||||
|
||||
AI must not create:
|
||||
|
||||
- Jobs.
|
||||
- Companies.
|
||||
- Qualifications.
|
||||
- Skills.
|
||||
- Experience.
|
||||
|
||||
---
|
||||
|
||||
## 3. Explain Changes
|
||||
|
||||
Where possible show:
|
||||
|
||||
Before
|
||||
|
||||
↓
|
||||
|
||||
After
|
||||
|
||||
---
|
||||
|
||||
## 4. Preserve Context
|
||||
|
||||
AI should understand:
|
||||
|
||||
- User career.
|
||||
- Target job.
|
||||
- Industry.
|
||||
|
||||
---
|
||||
|
||||
## 5. Allow Manual Editing
|
||||
|
||||
Every AI output must be editable.
|
||||
|
||||
---
|
||||
|
||||
## 6. Fail Safely
|
||||
|
||||
If AI fails:
|
||||
|
||||
- Show error.
|
||||
- Allow retry.
|
||||
- Do not lose user data.
|
||||
@@ -0,0 +1,39 @@
|
||||
# AI Cost Control
|
||||
|
||||
## Purpose
|
||||
|
||||
Prevent uncontrolled AI expenses.
|
||||
|
||||
---
|
||||
|
||||
# Requirements
|
||||
|
||||
Track:
|
||||
|
||||
- User requests.
|
||||
- Tokens.
|
||||
- Provider usage.
|
||||
|
||||
---
|
||||
|
||||
# Future SaaS
|
||||
|
||||
Support:
|
||||
|
||||
Free:
|
||||
|
||||
Limited usage.
|
||||
|
||||
Premium:
|
||||
|
||||
Higher limits.
|
||||
|
||||
---
|
||||
|
||||
# Optimisation
|
||||
|
||||
Prefer:
|
||||
|
||||
- Smaller models for simple tasks.
|
||||
- Caching where appropriate.
|
||||
- Reusing generated results.
|
||||
@@ -0,0 +1,49 @@
|
||||
# Cover Letter AI
|
||||
|
||||
## Purpose
|
||||
|
||||
Generate personalised cover letters.
|
||||
|
||||
---
|
||||
|
||||
# Inputs
|
||||
|
||||
Use:
|
||||
|
||||
- Career Profile.
|
||||
- Master CV.
|
||||
- Job description.
|
||||
|
||||
---
|
||||
|
||||
# Features
|
||||
|
||||
Generate:
|
||||
|
||||
- First draft.
|
||||
- Improvements.
|
||||
- Tone changes.
|
||||
|
||||
---
|
||||
|
||||
# User Control
|
||||
|
||||
Allow:
|
||||
|
||||
- Editing.
|
||||
- Regeneration.
|
||||
- Manual writing.
|
||||
|
||||
---
|
||||
|
||||
# Rules
|
||||
|
||||
Avoid generic letters.
|
||||
|
||||
Focus on:
|
||||
|
||||
Why this person.
|
||||
|
||||
Why this company.
|
||||
|
||||
Why this role.
|
||||
@@ -0,0 +1,58 @@
|
||||
# CV AI Features
|
||||
|
||||
## Purpose
|
||||
|
||||
Improve CV creation.
|
||||
|
||||
---
|
||||
|
||||
# Features
|
||||
|
||||
## Improve Writing
|
||||
|
||||
Example:
|
||||
|
||||
Original:
|
||||
|
||||
"Worked on websites"
|
||||
|
||||
AI:
|
||||
|
||||
"Developed and maintained customer-facing web applications."
|
||||
|
||||
---
|
||||
|
||||
## Suggest Content
|
||||
|
||||
AI can suggest:
|
||||
|
||||
- Missing skills.
|
||||
- Better wording.
|
||||
|
||||
---
|
||||
|
||||
## Rewrite
|
||||
|
||||
Options:
|
||||
|
||||
- More professional.
|
||||
- More concise.
|
||||
- More technical.
|
||||
|
||||
---
|
||||
|
||||
## Generate
|
||||
|
||||
Create:
|
||||
|
||||
- Summary.
|
||||
- Bullet points.
|
||||
- Sections.
|
||||
|
||||
---
|
||||
|
||||
# Rules
|
||||
|
||||
AI suggestions require approval.
|
||||
|
||||
Never overwrite original content.
|
||||
@@ -0,0 +1,49 @@
|
||||
# Future AI Features
|
||||
|
||||
Possible future features:
|
||||
|
||||
---
|
||||
|
||||
## AI Career Assistant
|
||||
|
||||
A contextual assistant aware of:
|
||||
|
||||
- Career history.
|
||||
- Goals.
|
||||
- Applications.
|
||||
|
||||
---
|
||||
|
||||
## Interview Coach
|
||||
|
||||
Generate:
|
||||
|
||||
- Questions.
|
||||
- Answers.
|
||||
- Feedback.
|
||||
|
||||
---
|
||||
|
||||
## Career Recommendations
|
||||
|
||||
Suggest:
|
||||
|
||||
- Skills.
|
||||
- Roles.
|
||||
- Learning paths.
|
||||
|
||||
---
|
||||
|
||||
## Automatic Application Assistant
|
||||
|
||||
Potential:
|
||||
|
||||
- Find relevant jobs.
|
||||
- Prepare documents.
|
||||
- Track progress.
|
||||
|
||||
---
|
||||
|
||||
# Priority
|
||||
|
||||
Only build after core workflows are excellent.
|
||||
@@ -0,0 +1,48 @@
|
||||
# Job AI Features
|
||||
|
||||
## Purpose
|
||||
|
||||
Help users understand opportunities.
|
||||
|
||||
---
|
||||
|
||||
# Features
|
||||
|
||||
## Job Analysis
|
||||
|
||||
Extract:
|
||||
|
||||
- Required skills.
|
||||
- Responsibilities.
|
||||
- Seniority.
|
||||
- Keywords.
|
||||
|
||||
---
|
||||
|
||||
## Matching
|
||||
|
||||
Compare:
|
||||
|
||||
Job
|
||||
|
||||
against
|
||||
|
||||
Career Profile
|
||||
|
||||
---
|
||||
|
||||
Output:
|
||||
|
||||
- Strengths.
|
||||
- Gaps.
|
||||
- Suggestions.
|
||||
|
||||
---
|
||||
|
||||
## Application Assistance
|
||||
|
||||
Suggest:
|
||||
|
||||
- CV improvements.
|
||||
- Cover letter topics.
|
||||
- Interview preparation.
|
||||
@@ -0,0 +1,60 @@
|
||||
# AI Model Selection
|
||||
|
||||
## Goal
|
||||
|
||||
Use appropriate models for tasks.
|
||||
|
||||
---
|
||||
|
||||
# Task Categories
|
||||
|
||||
## Simple Tasks
|
||||
|
||||
Examples:
|
||||
|
||||
- Grammar correction.
|
||||
- Shortening text.
|
||||
|
||||
Use:
|
||||
|
||||
Fast/cheap models.
|
||||
|
||||
---
|
||||
|
||||
## Complex Tasks
|
||||
|
||||
Examples:
|
||||
|
||||
- CV generation.
|
||||
- Career analysis.
|
||||
|
||||
Use:
|
||||
|
||||
Higher quality models.
|
||||
|
||||
---
|
||||
|
||||
## Long Context Tasks
|
||||
|
||||
Examples:
|
||||
|
||||
- Analysing full CV.
|
||||
- Comparing job descriptions.
|
||||
|
||||
Use:
|
||||
|
||||
Large context models.
|
||||
|
||||
---
|
||||
|
||||
# Principles
|
||||
|
||||
Do not use expensive models unnecessarily.
|
||||
|
||||
Balance:
|
||||
|
||||
Quality.
|
||||
|
||||
Speed.
|
||||
|
||||
Cost.
|
||||
@@ -0,0 +1,72 @@
|
||||
# AI System Overview
|
||||
|
||||
## Purpose
|
||||
|
||||
AI enhances Jobjakt workflows.
|
||||
|
||||
It helps users:
|
||||
|
||||
- Create better applications.
|
||||
- Improve documents.
|
||||
- Understand opportunities.
|
||||
- Prepare for interviews.
|
||||
|
||||
AI does not replace user decisions.
|
||||
|
||||
---
|
||||
|
||||
# AI Philosophy
|
||||
|
||||
Jobjakt is not an AI chatbot.
|
||||
|
||||
AI should appear where it provides clear value.
|
||||
|
||||
Examples:
|
||||
|
||||
Good:
|
||||
|
||||
"Improve this CV bullet point"
|
||||
|
||||
Good:
|
||||
|
||||
"Tailor this CV for this job"
|
||||
|
||||
Good:
|
||||
|
||||
"Suggest interview questions"
|
||||
|
||||
Bad:
|
||||
|
||||
Empty chat window with no context.
|
||||
|
||||
---
|
||||
|
||||
# AI Sources
|
||||
|
||||
AI can use:
|
||||
|
||||
- Career Profile.
|
||||
- Master CV.
|
||||
- Job descriptions.
|
||||
- User-provided documents.
|
||||
- Application history.
|
||||
|
||||
---
|
||||
|
||||
# User Control
|
||||
|
||||
AI output must:
|
||||
|
||||
- Be visible.
|
||||
- Be editable.
|
||||
- Require approval before saving.
|
||||
|
||||
---
|
||||
|
||||
# Important Rule
|
||||
|
||||
Never silently modify:
|
||||
|
||||
- Career profile.
|
||||
- Master CV.
|
||||
- Application documents.
|
||||
@@ -0,0 +1,37 @@
|
||||
# AI Privacy
|
||||
|
||||
## Principles
|
||||
|
||||
Users control their data.
|
||||
|
||||
---
|
||||
|
||||
# External AI Providers
|
||||
|
||||
Before sending data:
|
||||
|
||||
Clearly communicate:
|
||||
|
||||
- What is sent.
|
||||
- Why it is needed.
|
||||
- Provider used.
|
||||
|
||||
---
|
||||
|
||||
# Future SaaS
|
||||
|
||||
Support:
|
||||
|
||||
- User consent.
|
||||
- Data deletion.
|
||||
- Export.
|
||||
|
||||
---
|
||||
|
||||
# Sensitive Information
|
||||
|
||||
Be careful with:
|
||||
|
||||
- Personal details.
|
||||
- Employment history.
|
||||
- Documents.
|
||||
@@ -0,0 +1,51 @@
|
||||
# AI Prompt Management
|
||||
|
||||
## Purpose
|
||||
|
||||
Centralise prompts.
|
||||
|
||||
Avoid random prompts scattered throughout code.
|
||||
|
||||
---
|
||||
|
||||
# Requirements
|
||||
|
||||
Prompts should:
|
||||
|
||||
- Be version controlled.
|
||||
- Be documented.
|
||||
- Have tests where possible.
|
||||
|
||||
---
|
||||
|
||||
# Prompt Structure
|
||||
|
||||
Every prompt should define:
|
||||
|
||||
Purpose.
|
||||
|
||||
Inputs.
|
||||
|
||||
Expected output.
|
||||
|
||||
Restrictions.
|
||||
|
||||
---
|
||||
|
||||
# Example
|
||||
|
||||
Task:
|
||||
|
||||
Improve CV bullet point.
|
||||
|
||||
Input:
|
||||
|
||||
Existing bullet.
|
||||
|
||||
Output:
|
||||
|
||||
Improved bullet.
|
||||
|
||||
Restrictions:
|
||||
|
||||
Do not add unsupported achievements.
|
||||
@@ -0,0 +1,66 @@
|
||||
# AI Providers
|
||||
|
||||
## Purpose
|
||||
|
||||
Support multiple AI providers.
|
||||
|
||||
---
|
||||
|
||||
# Current/Future Providers
|
||||
|
||||
Possible:
|
||||
|
||||
- OpenAI.
|
||||
- Anthropic.
|
||||
- Google Gemini.
|
||||
- Groq.
|
||||
- Ollama.
|
||||
- Other compatible APIs.
|
||||
|
||||
---
|
||||
|
||||
# Provider Architecture
|
||||
|
||||
Use abstraction:
|
||||
|
||||
AI Provider Interface
|
||||
|
||||
↓
|
||||
|
||||
Provider Implementation
|
||||
|
||||
↓
|
||||
|
||||
Model
|
||||
|
||||
---
|
||||
|
||||
# Requirements
|
||||
|
||||
Users should eventually be able to:
|
||||
|
||||
- Select provider.
|
||||
- Select model.
|
||||
- Configure API keys.
|
||||
|
||||
---
|
||||
|
||||
# Admin Controls
|
||||
|
||||
Admins should control:
|
||||
|
||||
- Available providers.
|
||||
- Allowed models.
|
||||
- Usage limits.
|
||||
|
||||
---
|
||||
|
||||
# SaaS Consideration
|
||||
|
||||
Different plans may have:
|
||||
|
||||
Free models.
|
||||
|
||||
Premium models.
|
||||
|
||||
BYO-key support.
|
||||
@@ -0,0 +1,3 @@
|
||||
# safety
|
||||
|
||||
TODO: Complete documentation.
|
||||
@@ -0,0 +1,44 @@
|
||||
# AI Security
|
||||
|
||||
## Purpose
|
||||
|
||||
Protect user data.
|
||||
|
||||
---
|
||||
|
||||
# Prompt Injection Protection
|
||||
|
||||
Job descriptions and uploaded documents are untrusted input.
|
||||
|
||||
Never allow external text to override system instructions.
|
||||
|
||||
---
|
||||
|
||||
# Data Protection
|
||||
|
||||
Protect:
|
||||
|
||||
- CV data.
|
||||
- Personal information.
|
||||
- Documents.
|
||||
|
||||
---
|
||||
|
||||
# Validation
|
||||
|
||||
Validate:
|
||||
|
||||
- AI outputs.
|
||||
- Generated files.
|
||||
- User inputs.
|
||||
|
||||
---
|
||||
|
||||
# File Processing
|
||||
|
||||
Uploaded files may contain:
|
||||
|
||||
- Malicious content.
|
||||
- Hidden instructions.
|
||||
|
||||
Treat all files as untrusted.
|
||||
Reference in New Issue
Block a user