feat(shared): add core domain types

Pod/Engineer, EngineerContext (live pre-push signal), Collision, and
Intervention — the type contract between frontend and backend.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kartikeya
2026-06-27 14:07:11 -07:00
parent 7dd613d250
commit 42c0de52b7
8 changed files with 134 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
/**
* What PodMan currently believes an engineer is doing, derived from vision on
* their shared screen and refreshed every few seconds. This is the live,
* pre-push signal that the GitHub API cannot see.
*/
export interface EngineerContext {
engineerId: string;
podId: string;
/** File path PodMan sees open/active in the editor, e.g. "src/auth.ts". */
currentFile?: string;
/** Function/class/symbol being edited, if vision can resolve it. */
currentSymbol?: string;
/** Higher-level feature/action inferred from the screen. */
activity?: string;
/** Whether the screen shows uncommitted/unpushed changes (gutter/diff). */
hasUnpushedChanges?: boolean;
/** 01 confidence in this read of the screen. */
confidence: number;
/** ISO timestamp of the observation this context came from. */
observedAt: string;
}