Migrate all repos into monorepo context folders

Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
This commit is contained in:
2026-06-30 20:39:52 +02:00
parent 2f2b295531
commit a5f8fb49ab
1717 changed files with 447332 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
// Session
export interface Session {
id: string;
status: 'setup' | 'active' | 'ended';
startedAt: string | null;
endedAt: string | null;
config: SessionConfig;
}
export interface SessionConfig {
criteria: Criterion[];
scaleMin: number; // default: 1
scaleMax: number; // default: 10
}
// Team
export interface Team {
id: string; // kebab-case slug
number: number; // original number
name: string; // display name
description: string; // short description
contact?: string; // contact person
}
// Juror
export interface Juror {
id: string; // lowercase name
name: string; // display name
active: boolean; // currently has active session
}
// Criterion
export interface Criterion {
id: string; // kebab-case
nameDE: string; // German name
nameEN: string; // English name
}
// Score
export interface Score {
jurorId: string;
teamId: string;
criterionId: string;
value: number; // 110
updatedAt: string; // ISO timestamp
}
// Per-criterion stats
export interface CriterionStats {
criterionId: string;
criterionName: string;
mean: number;
stddev: number;
scores: number[];
}
// Aggregated Result
export interface TeamResult {
teamId: string;
teamName: string;
total: number;
average: number;
stddev: number;
rank: number;
jurorCount: number;
complete: boolean;
criteriaStats?: CriterionStats[];
}
// Offline queue
export interface PendingScore {
jurorId: string;
teamId: string;
criterionId: string;
value: number;
timestamp: string;
synced: boolean;
}
// Store data (JSON file structure)
export interface StoreData {
session: Session;
teams: Team[];
jurors: Juror[];
scores: Score[];
}