docs: consolidate repository guides and preserve audit history

This commit is contained in:
cesnimda
2026-09-11 14:22:41 +02:00
parent 115441a409
commit 682a3028bb
404 changed files with 3402 additions and 2621 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ namespace JobTrackerApi.Models;
// Unlike AiWorkspaceNote (one row per (owner, job, type), overwritten on regenerate — a cache), this
// keeps EVERY generation so the user can restore, compare, reuse, or delete past outputs. Suggestion
// only: an interaction never mutates the master profile, a CV variant, or the application itself.
// docs/architecture/ai-career-assistant.md.
// docs/ai/architecture.md.
public sealed class AiInteraction
{
public int Id { get; set; }
@@ -9,7 +9,7 @@ namespace JobTrackerApi.Models;
// System items carry a stable SystemKey and (usually) an AutoSignal: the same readiness signal the
// /readiness endpoint already computes. When the signal is satisfied the item auto-completes, so the
// checklist and readiness can never disagree — readiness became the calculation, this is the surface.
// docs/architecture/application-workspace.md.
// docs/architecture/overview.md.
public sealed class ApplicationChecklistItem
{
public int Id { get; set; }
+1 -1
View File
@@ -4,7 +4,7 @@ using System.Text.Json;
namespace JobTrackerApi.Models;
// Phase 3: relational children of CareerProfile — the editable master career profile.
// See docs/architecture/career-profile-model.md.
// See docs/architecture/overview.md.
//
// Design notes shared by all child entities:
// - OwnerUserId is denormalized so the tenant global query filter applies directly (same pattern
+1 -1
View File
@@ -12,7 +12,7 @@ public sealed class CareerProfile
// Phase 3: ProfileJson is now a DERIVED projection of the relational children + LongTailJson,
// serialized into the StructuredCvProfile shape and kept in sync on every save so the legacy
// read paths (CV rendering, tailoring, match-score) keep working unchanged. It is no longer an
// independently editable source. See docs/architecture/career-profile-model.md §4.
// independently editable source. See docs/architecture/overview.md.
public string ProfileJson { get; set; } = string.Empty;
// The editable long tail that is not worth a relational table: contact, summary, interests,
+1 -1
View File
@@ -3,7 +3,7 @@ namespace JobTrackerApi.Models;
// A theme is DATA, not code. The renderer (ThemedCvRenderer) has one render path; every visual
// difference between themes is expressed by the fields below. Adding a theme = adding one CvTheme to
// CvThemeCatalog — no renderer changes. This is the core Phase 4 architectural rule
// ("Do NOT hardcode HTML templates"). docs/architecture/cv-theme-engine.md.
// ("Do NOT hardcode HTML templates"). docs/architecture/frontend.md.
public sealed class CvTheme
{
public string Id { get; init; } = string.Empty;
+1 -1
View File
@@ -6,7 +6,7 @@ namespace JobTrackerApi.Models;
// sections show, in what order, with what per-item overrides, rendered through a chosen theme with
// layout/colour/font settings. The career data is never duplicated here — the variant stores only
// selections + overrides keyed by the master profile's stable ItemKeys, plus builder preferences.
// docs/architecture/cv-builder.md.
// docs/architecture/overview.md.
public sealed class CvVariant
{
public int Id { get; set; }