@bradheitmann/odin-sentinel 0.2.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/src/mcp/server.js +57 -1
  2. package/dist/src/mcp/server.js.map +1 -1
  3. package/dist/src/protocol/index.d.ts +2 -0
  4. package/dist/src/protocol/index.js +1 -0
  5. package/dist/src/protocol/index.js.map +1 -1
  6. package/dist/src/protocol/repository.d.ts +1 -0
  7. package/dist/src/protocol/repository.js +4 -2
  8. package/dist/src/protocol/repository.js.map +1 -1
  9. package/dist/src/protocol/schemas.d.ts +30 -0
  10. package/dist/src/protocol/schemas.js +30 -0
  11. package/dist/src/protocol/schemas.js.map +1 -1
  12. package/dist/src/protocol/service.js +28 -1
  13. package/dist/src/protocol/service.js.map +1 -1
  14. package/dist/src/protocol/surface-layout.d.ts +29 -0
  15. package/dist/src/protocol/surface-layout.js +136 -0
  16. package/dist/src/protocol/surface-layout.js.map +1 -0
  17. package/dist/src/telemetry/config.d.ts +8 -0
  18. package/dist/src/telemetry/config.js +11 -0
  19. package/dist/src/telemetry/config.js.map +1 -0
  20. package/dist/src/telemetry/index.d.ts +7 -0
  21. package/dist/src/telemetry/index.js +5 -0
  22. package/dist/src/telemetry/index.js.map +1 -0
  23. package/dist/src/telemetry/redactor.d.ts +2 -0
  24. package/dist/src/telemetry/redactor.js +48 -0
  25. package/dist/src/telemetry/redactor.js.map +1 -0
  26. package/dist/src/telemetry/report.d.ts +30 -0
  27. package/dist/src/telemetry/report.js +10 -0
  28. package/dist/src/telemetry/report.js.map +1 -0
  29. package/dist/src/telemetry/submit.d.ts +14 -0
  30. package/dist/src/telemetry/submit.js +50 -0
  31. package/dist/src/telemetry/submit.js.map +1 -0
  32. package/package.json +1 -1
  33. package/protocol/SCP.md +48 -2
  34. package/protocol/bootstrap-skill.md +1488 -0
  35. package/protocol/delegation.yaml +4 -1
  36. package/protocol/receipts/boot-receipt.yaml +17 -0
  37. package/protocol/roles.yaml +106 -1
  38. package/protocol/topology.yaml +35 -1
  39. package/scripts/audit/public-surface.mjs +12 -3
  40. package/scripts/audit/verify-pack.mjs +2 -1
@@ -1,7 +1,9 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import YAML from "yaml";
3
3
  import { VERSION, exportProtocolSnapshot, getCloseoutChecklist, getDelegationPacket, getRoleProfile, getRuntimeNotice, getStartupPacket, loadProtocolData, validateBootReceipt, validateDelegationPacket, validateTeamManifest } from "../protocol/service.js";
4
- import { bootReceiptInputShape, closeoutChecklistInputShape, delegationPacketInputShape, recordInputShape, roleProfileInputShape, startupPacketInputShape, teamManifestInputShape } from "../protocol/schemas.js";
4
+ import { computeSurfaceLayout, computeSurfaceLayoutGate, renderSurfaceLayoutAscii } from "../protocol/surface-layout.js";
5
+ import { compileSessionReport, readTelemetryConfig, redactPayload, submitSessionReport } from "../telemetry/index.js";
6
+ import { bootReceiptInputShape, closeoutChecklistInputShape, delegationPacketInputShape, recordInputShape, reportRecordInputShape, roleProfileInputShape, sessionReportInputShape, startupPacketInputShape, surfaceLayoutGateInputShape, surfaceLayoutInputShape, teamManifestInputShape } from "../protocol/schemas.js";
5
7
  function jsonText(value) {
6
8
  return {
7
9
  content: [
@@ -91,6 +93,14 @@ function registerProtocolResources(server) {
91
93
  description: "Continuity parking and full shutdown checklists.",
92
94
  mimeType: "application/yaml",
93
95
  read: () => yamlResource(loadProtocolData().closeout)
96
+ },
97
+ {
98
+ name: "bootstrap-skill",
99
+ uri: "odin://protocol/bootstrap-skill",
100
+ title: "Sentinel Coordination Protocol Skill",
101
+ description: "Full SCP governance skill: self-bootstrap, role topology, EXEC/TEAM/WORKER assignment, boot receipts, delegation, delivery proof, heartbeat cadence, adversarial QA, finish audit. Read this resource at session start.",
102
+ mimeType: "text/markdown",
103
+ read: () => loadProtocolData().bootstrapSkill
94
104
  }
95
105
  ];
96
106
  for (const resource of resources) {
@@ -154,6 +164,52 @@ export function createServer() {
154
164
  title: "Export Protocol Snapshot",
155
165
  description: "Return generated fallback protocol files for clients that cannot use MCP."
156
166
  }, () => jsonText({ version: VERSION, files: exportProtocolSnapshot() }));
167
+ server.registerTool("odin.compute_surface_layout", {
168
+ title: "Compute Surface Layout",
169
+ description: "Return the deterministic CMUX surface layout for a given team count. EXEC PM must call this before any spawn beyond A/EXEC to honor the surface custodianship contract.",
170
+ inputSchema: surfaceLayoutInputShape
171
+ }, (input) => {
172
+ const layout = computeSurfaceLayout(input.teamCount);
173
+ return jsonText({
174
+ ...layout,
175
+ ascii: renderSurfaceLayoutAscii(layout)
176
+ });
177
+ });
178
+ server.registerTool("odin.compute_surface_layout_gate", {
179
+ title: "Compute Surface Layout Gate",
180
+ description: "Return the pre-staffing checklist EXEC PM must complete when growing the team roster from fromTeamCount to toTeamCount.",
181
+ inputSchema: surfaceLayoutGateInputShape
182
+ }, (input) => jsonText(computeSurfaceLayoutGate(input.fromTeamCount, input.toTeamCount)));
183
+ server.registerTool("odin.get_bootstrap_skill", {
184
+ title: "Get Bootstrap Skill",
185
+ description: "Return the full Sentinel Coordination Protocol skill content. Agents on any MCP-capable host can invoke this at session start to load the SCP governance contract, self-bootstrap procedure, and role topology rules without needing a Claude Code skill installed locally."
186
+ }, () => ({
187
+ content: [
188
+ {
189
+ type: "text",
190
+ text: loadProtocolData().bootstrapSkill
191
+ }
192
+ ]
193
+ }));
194
+ server.registerTool("odin.get_telemetry_config", {
195
+ title: "Get Telemetry Config",
196
+ description: "Return current telemetry configuration. Telemetry is opt-in; reports are never sent unless ODIN_TELEMETRY_ENDPOINT is set in the environment."
197
+ }, () => jsonText(readTelemetryConfig()));
198
+ server.registerTool("odin.compile_session_report", {
199
+ title: "Compile Session Report",
200
+ description: "Build a structured end-of-session report from counts and class labels. EXEC PM should call this at closeout. The compiled report is returned to the caller; user review and explicit submission are required before any network transmission.",
201
+ inputSchema: sessionReportInputShape
202
+ }, (input) => jsonText(compileSessionReport(input, VERSION)));
203
+ server.registerTool("odin.preview_telemetry_redaction", {
204
+ title: "Preview Telemetry Redaction",
205
+ description: "Return the redacted form of a report payload (file paths, emails, and common secret tokens replaced). Use this for user-facing consent flows before any submission.",
206
+ inputSchema: reportRecordInputShape
207
+ }, (input) => jsonText(redactPayload(input.report)));
208
+ server.registerTool("odin.submit_session_report", {
209
+ title: "Submit Session Report",
210
+ description: "Submit a redacted session report to the configured telemetry endpoint. Telemetry is disabled by default; this tool returns {submitted: false, reason: ...} unless ODIN_TELEMETRY_ENDPOINT is set. Only invoke after explicit user consent for the current session.",
211
+ inputSchema: reportRecordInputShape
212
+ }, async (input) => jsonText(await submitSessionReport(input.report)));
157
213
  return server;
158
214
  }
159
215
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export { VERSION, createProtocolService, exportProtocolSnapshot, getCloseoutChecklist, getDelegationPacket, getRoleProfile, getRuntimeNotice, getStartupPacket, validateBootReceipt, validateDelegationPacket, validateTeamManifest } from "./service.js";
2
2
  export type { CloseoutMode, DelegationPacketInput, ProtocolData, RuntimeNotice, StartupPacket, StartupPacketInput, ValidationResult } from "./service.js";
3
+ export { computeSurfaceLayout, computeSurfaceLayoutGate, renderSurfaceLayoutAscii } from "./surface-layout.js";
4
+ export type { SurfaceLayout, SurfaceLayoutColumn, SurfaceLayoutSurface, SurfaceLayoutGate } from "./surface-layout.js";
@@ -1,2 +1,3 @@
1
1
  export { VERSION, createProtocolService, exportProtocolSnapshot, getCloseoutChecklist, getDelegationPacket, getRoleProfile, getRuntimeNotice, getStartupPacket, validateBootReceipt, validateDelegationPacket, validateTeamManifest } from "./service.js";
2
+ export { computeSurfaceLayout, computeSurfaceLayoutGate, renderSurfaceLayoutAscii } from "./surface-layout.js";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAYtB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC"}
@@ -8,6 +8,7 @@ export type ProtocolData = {
8
8
  delegation: Record<string, unknown>;
9
9
  bootReceipt: Record<string, unknown>;
10
10
  teamManifest: Record<string, unknown>;
11
+ bootstrapSkill: string;
11
12
  };
12
13
  export type ProtocolRepository = {
13
14
  load(): ProtocolData;
@@ -12,7 +12,8 @@ export const REQUIRED_PROTOCOL_FILES = [
12
12
  "protocol/closeout.yaml",
13
13
  "protocol/delegation.yaml",
14
14
  "protocol/receipts/boot-receipt.yaml",
15
- "protocol/receipts/team-manifest.yaml"
15
+ "protocol/receipts/team-manifest.yaml",
16
+ "protocol/bootstrap-skill.md"
16
17
  ];
17
18
  function missingProtocolFiles(root) {
18
19
  return REQUIRED_PROTOCOL_FILES.filter((file) => !existsSync(join(root, file)));
@@ -93,7 +94,8 @@ export function createFileProtocolRepository(rootDir = findRootDir()) {
93
94
  closeout: readYaml(protocolPath("closeout.yaml")),
94
95
  delegation: readYaml(protocolPath("delegation.yaml")),
95
96
  bootReceipt: readYaml(protocolPath("receipts", "boot-receipt.yaml")),
96
- teamManifest: readYaml(protocolPath("receipts", "team-manifest.yaml"))
97
+ teamManifest: readYaml(protocolPath("receipts", "team-manifest.yaml")),
98
+ bootstrapSkill: readFileSync(protocolPath("bootstrap-skill.md"), "utf8")
97
99
  });
98
100
  cache = { fingerprint, data };
99
101
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/protocol/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/protocol/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,8BAA8B;IAC9B,wBAAwB;IACxB,0BAA0B;IAC1B,qCAAqC;IACrC,sCAAsC;IACtC,6BAA6B;CAC9B,CAAC;AAwBF,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa;IACtD,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wCAAwC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjC,OAAO,CAAC,GAAG,EAAE;KACd,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAChH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAI,KAAQ;IAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,OAAO,GAAG,WAAW,EAAE;IAClE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACvE,IAAI,KAAqC,CAAC;IAC1C,MAAM,YAAY,GAAG,CAAC,GAAG,QAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEhG,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,WAAW,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC;gBACtB,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBACtD,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBAC3C,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACjD,aAAa,EAAE,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;gBAC5D,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBACjD,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBACrD,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;gBACpE,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;gBACtE,cAAc,EAAE,YAAY,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;aACzE,CAAC,CAAC;YAEH,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -62,3 +62,33 @@ export declare const closeoutChecklistInputShape: {
62
62
  FULL_SESSION_SHUTDOWN: "FULL_SESSION_SHUTDOWN";
63
63
  }>;
64
64
  };
65
+ export declare const surfaceLayoutInputShape: {
66
+ readonly teamCount: z.ZodNumber;
67
+ };
68
+ export declare const surfaceLayoutGateInputShape: {
69
+ readonly fromTeamCount: z.ZodNumber;
70
+ readonly toTeamCount: z.ZodNumber;
71
+ };
72
+ export declare const sessionReportInputShape: {
73
+ readonly teamCount: z.ZodNumber;
74
+ readonly violations: z.ZodArray<z.ZodObject<{
75
+ class: z.ZodString;
76
+ description: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>>;
78
+ readonly halts: z.ZodArray<z.ZodObject<{
79
+ source: z.ZodString;
80
+ target: z.ZodString;
81
+ trigger: z.ZodString;
82
+ }, z.core.$strip>>;
83
+ readonly layoutDriftEvents: z.ZodNumber;
84
+ readonly peakContextPct: z.ZodNumber;
85
+ readonly closeoutClean: z.ZodBoolean;
86
+ readonly modelSignals: z.ZodArray<z.ZodObject<{
87
+ role: z.ZodString;
88
+ model: z.ZodString;
89
+ violations: z.ZodNumber;
90
+ }, z.core.$strip>>;
91
+ };
92
+ export declare const reportRecordInputShape: {
93
+ readonly report: z.ZodRecord<z.ZodString, z.ZodUnknown>;
94
+ };
@@ -36,4 +36,34 @@ export const closeoutModeSchema = z.enum(["PARK_FOR_CONTINUITY", "FULL_SESSION_S
36
36
  export const closeoutChecklistInputShape = {
37
37
  mode: closeoutModeSchema
38
38
  };
39
+ export const surfaceLayoutInputShape = {
40
+ teamCount: z.number().int().min(0).max(26)
41
+ };
42
+ export const surfaceLayoutGateInputShape = {
43
+ fromTeamCount: z.number().int().min(0).max(26),
44
+ toTeamCount: z.number().int().min(1).max(26)
45
+ };
46
+ export const sessionReportInputShape = {
47
+ teamCount: z.number().int().min(0).max(26),
48
+ violations: z.array(z.object({
49
+ class: z.string(),
50
+ description: z.string().optional()
51
+ })),
52
+ halts: z.array(z.object({
53
+ source: z.string(),
54
+ target: z.string(),
55
+ trigger: z.string()
56
+ })),
57
+ layoutDriftEvents: z.number().int().min(0),
58
+ peakContextPct: z.number().int().min(0).max(100),
59
+ closeoutClean: z.boolean(),
60
+ modelSignals: z.array(z.object({
61
+ role: z.string(),
62
+ model: z.string(),
63
+ violations: z.number().int().min(0)
64
+ }))
65
+ };
66
+ export const reportRecordInputShape = {
67
+ report: z.record(z.string(), z.unknown())
68
+ };
39
69
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/protocol/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAG1E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzB,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAGhF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACjC,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CAClC,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACnC,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,kBAAkB;CAChB,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/protocol/schemas.ts"],"names":[],"mappings":"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"}
@@ -215,7 +215,10 @@ export function validateBootReceipt(receipt, repository = getDefaultRepository()
215
215
  reports_to: "string",
216
216
  write_scope: "string_array",
217
217
  evidence_path: "string",
218
- current_task: "string"
218
+ current_task: "string",
219
+ staffed_by: "string",
220
+ parent_surface_ref: "string",
221
+ team_letter: "string"
219
222
  });
220
223
  const warnings = [];
221
224
  if (receipt.may_implement === true && receipt.may_qa_accept === true) {
@@ -225,6 +228,30 @@ export function validateBootReceipt(receipt, repository = getDefaultRepository()
225
228
  if (typeof receipt.model_harness === "string" && /token|key|secret/i.test(receipt.model_harness)) {
226
229
  warnings.push("model_harness appears to contain secret-like wording");
227
230
  }
231
+ if (receipt.column_index !== undefined && receipt.column_index !== null) {
232
+ if (typeof receipt.column_index !== "number" || !Number.isInteger(receipt.column_index) || receipt.column_index < 0) {
233
+ invalid.push("column_index");
234
+ }
235
+ }
236
+ const staffingAuditAudit = asRecord(data.bootReceipt.staffing_audit);
237
+ const team = typeof receipt.team === "string" ? receipt.team : undefined;
238
+ if (team && team !== "A") {
239
+ const requiredForNonExec = Array.isArray(staffingAuditAudit.required_for_non_exec_team)
240
+ ? staffingAuditAudit.required_for_non_exec_team.filter((field) => typeof field === "string")
241
+ : ["staffed_by", "parent_surface_ref", "column_index", "team_letter"];
242
+ for (const field of requiredForNonExec) {
243
+ const current = receipt[field];
244
+ if (current === undefined || current === null || (typeof current === "string" && current.trim() === "")) {
245
+ warnings.push(`staffing audit field missing on non-exec receipt: ${field}`);
246
+ }
247
+ }
248
+ const canonicalStaffer = typeof staffingAuditAudit.staffed_by_canonical_value === "string"
249
+ ? staffingAuditAudit.staffed_by_canonical_value
250
+ : "A/EXEC-PM";
251
+ if (typeof receipt.staffed_by === "string" && receipt.staffed_by !== canonicalStaffer) {
252
+ warnings.push(`staffed_by is "${receipt.staffed_by}" but staffing authority belongs solely to ${canonicalStaffer}`);
253
+ }
254
+ }
228
255
  return buildValidationResult(missing, invalid, warnings);
229
256
  }
230
257
  export function validateTeamManifest(manifest, repository = getDefaultRepository()) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/protocol/service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,4BAA4B,EAG7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAElB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,MAAM,qBAAqB,GAAG;IAC5B,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;CACf,CAAC;AAIF,OAAO,EAAE,OAAO,EAAE,CAAC;AAyBnB,IAAI,iBAAiD,CAAC;AAEtD,SAAS,oBAAoB;IAC3B,iBAAiB,KAAK,4BAA4B,EAAE,CAAC;IACrD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAG,QAAkB;IAChD,OAAO,oBAAoB,EAAE,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,YAAY,CAAC;IACtD,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC;IACpD,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC9D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB;IACjD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,aAAiC,oBAAoB,EAAE;IACtF,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,aAAiC,oBAAoB,EAAE;IAClG,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;IAExC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA4B,EAAE,EAC9B,aAAiC,oBAAoB,EAAE;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC;IAC7C,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,0BAA0B;QAC1B,gCAAgC;QAChC,0BAA0B;QAC1B,4BAA4B;QAC5B,+BAA+B;QAC/B,wCAAwC;QACxC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,qBAAqB,CAAC;KACjD,CAAC;IAEF,MAAM,eAAe,GAAG;QACtB,qEAAqE;QACrE,6DAA6D;QAC7D,mCAAmC,IAAI,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;QACjF,kDAAkD;QAClD,gGAAgG;KACjG,CAAC;IAEF,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC;SAC5C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI;QACJ,IAAI;QACJ,eAAe;QACf,eAAe;QACf,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;QAC/C,YAAY,EAAE,gBAAgB;QAC9B,yBAAyB,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe;QAC3D,aAAa,EAAE;YACb,iCAAiC;YACjC,EAAE;YACF,WAAW,IAAI,GAAG;YAClB,0HAA0H;YAC1H,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,sDAAsD;YACzG,mCAAmC,IAAI,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qDAAqD;YACpI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,iDAAiD;SACzH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA4B;IAC9D,OAAO;QACL,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,gBAAgB,EAAE,KAAK,CAAC,cAAc;QACtC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,kFAAkF;QACxG,SAAS,EAAE;YACT,aAAa,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;YAC1C,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK;YACzC,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YACnC,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YACjC,gBAAgB,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;SAC9C;QACD,UAAU,EAAE;YACV,0BAA0B,EAAE,IAAI;YAChC,qBAAqB,EAAE,KAAK;YAC5B,uBAAuB,EAAE,IAAI;SAC9B;QACD,WAAW,EAAE,KAAK,CAAC,UAAU,IAAI,mFAAmF;QACpH,wBAAwB,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,qBAAqB,CAAC;KACzI,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA+B,EAC/B,aAAiC,oBAAoB,EAAE;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,CAAC;IACtG,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,eAAe,EAAE,gDAAgD,CAAC,CAAC;IAChH,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iDAAiD,CAAC,CAAC;IAC3H,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kDAAkD,CAAC,CAAC;IAC9H,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,aAAa,EAAE,8CAA8C,CAAC,CAAC;IAChH,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG;QACd,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3C,GAAG,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,KAAK,EAAE,CAAC;QAC5F,GAAG,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,EAAE,CAAC;KAChG,CAAC;IACF,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB,CAAC,MAAM,EAAE;YAC5B,YAAY,EAAE,QAAQ;YACtB,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,QAAQ;YAC1B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,QAAQ;SACrB,CAAC;QACF,GAAG,kBAAkB,CAAC,SAAS,EAAE;YAC/B,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,cAAc;YAC1B,gBAAgB,EAAE,cAAc;SACjC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,KAAK,EAAE,CAAC;QACvC,GAAG,kBAAkB,CAAC,UAAU,EAAE;YAChC,0BAA0B,EAAE,SAAS;YACrC,qBAAqB,EAAE,SAAS;YAChC,uBAAuB,EAAE,SAAS;SACnC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,EAAE,CAAC;KACzC,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,UAAU,EAAE,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,UAAU,EAAE,0BAA0B,KAAK,KAAK,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,UAAU,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,SAAS,EAAE,aAAa,KAAK,IAAI,IAAI,SAAS,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAgC,EAChC,aAAiC,oBAAoB,EAAE;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE;QAC1C,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,QAAQ;QACzB,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;QAC1B,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,QAAQ;QACb,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,cAAc;QAC3B,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjG,QAAQ,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAiC,EACjC,aAAiC,oBAAoB,EAAE;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE;QAC3C,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,QAAQ;QAClB,gBAAgB,EAAE,cAAc;QAChC,gBAAgB,EAAE,cAAc;QAChC,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,cAAc;QAC/B,kBAAkB,EAAE,cAAc;KACnC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,OAAO,CAAC,IAAI,CACV,GAAG,sBAAsB,CAAC,QAAQ,EAAE;QAClC,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;KACrB,CAAC,CACH,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAChE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAkB,EAClB,aAAiC,oBAAoB,EAAE;IAEvD,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,iBAAiB,EAAE,MAAM;QACzB,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,KAAK;QACnB,8BAA8B,EAAE,KAAK;QACrC,2BAA2B,EAAE,IAAI;QACjC,4BAA4B,EAAE,KAAK;QACnC,KAAK,EAAE;YACL,4CAA4C;YAC5C,mFAAmF;YACnF,8EAA8E;YAC9E,mFAAmF;SACpF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,aAAiC,oBAAoB,EAAE;IAC5F,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO;QACL,kBAAkB,EAAE;YAClB,mCAAmC;YACnC,EAAE;YACF,YAAY,OAAO,EAAE;YACrB,EAAE;YACF,mFAAmF;YACnF,EAAE;YACF,IAAI,CAAC,QAAQ;SACd,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvD,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;QAClE,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvD,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3D,qCAAqC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QACvE,sCAAsC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,aAAiC,4BAA4B,EAAE;IACnG,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,QAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACrE,gBAAgB,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACpD,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;QAClE,gBAAgB,EAAE,CAAC,QAA4B,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACzF,mBAAmB;QACnB,wBAAwB,EAAE,CAAC,MAA+B,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC3G,mBAAmB,EAAE,CAAC,OAAgC,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC;QACnG,oBAAoB,EAAE,CAAC,QAAiC,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC;QACvG,oBAAoB,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC;QACpF,gBAAgB;QAChB,sBAAsB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC;KACjE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/protocol/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export type SurfaceLayoutSurface = {
2
+ rowIndex: number;
3
+ team: string;
4
+ isExec: boolean;
5
+ };
6
+ export type SurfaceLayoutColumn = {
7
+ columnIndex: number;
8
+ surfaces: SurfaceLayoutSurface[];
9
+ };
10
+ export type SurfaceLayout = {
11
+ teamCount: number;
12
+ totalColumns: number;
13
+ maxSurfacesPerColumn: number;
14
+ isBalanced: boolean;
15
+ execColumnIndex: number;
16
+ execColumnIsTall: boolean;
17
+ columns: SurfaceLayoutColumn[];
18
+ };
19
+ export declare function computeSurfaceLayout(teamCount: number): SurfaceLayout;
20
+ export declare function renderSurfaceLayoutAscii(layout: SurfaceLayout): string;
21
+ export type SurfaceLayoutGate = {
22
+ fromTeamCount: number;
23
+ toTeamCount: number;
24
+ requiresNewColumn: boolean;
25
+ requiresExecColumnSplit: boolean;
26
+ requiresMoveOperations: boolean;
27
+ preStaffingCheck: string;
28
+ };
29
+ export declare function computeSurfaceLayoutGate(fromTeamCount: number, toTeamCount: number): SurfaceLayoutGate;
@@ -0,0 +1,136 @@
1
+ const MAX_TEAMS = 26;
2
+ const MAX_SURFACES_PER_COLUMN = 2;
3
+ function teamLetter(index) {
4
+ return String.fromCharCode(65 + index);
5
+ }
6
+ function buildEmpty() {
7
+ return {
8
+ teamCount: 0,
9
+ totalColumns: 0,
10
+ maxSurfacesPerColumn: MAX_SURFACES_PER_COLUMN,
11
+ isBalanced: true,
12
+ execColumnIndex: 0,
13
+ execColumnIsTall: false,
14
+ columns: []
15
+ };
16
+ }
17
+ export function computeSurfaceLayout(teamCount) {
18
+ if (!Number.isInteger(teamCount) || teamCount < 0) {
19
+ throw new Error(`Invalid teamCount: ${teamCount} (must be a non-negative integer)`);
20
+ }
21
+ if (teamCount > MAX_TEAMS) {
22
+ throw new Error(`teamCount ${teamCount} exceeds MAX_TEAMS=${MAX_TEAMS}`);
23
+ }
24
+ if (teamCount === 0)
25
+ return buildEmpty();
26
+ const columns = [];
27
+ if (teamCount === 1) {
28
+ columns.push({
29
+ columnIndex: 0,
30
+ surfaces: [{ rowIndex: 0, team: "A", isExec: true }]
31
+ });
32
+ return {
33
+ teamCount: 1,
34
+ totalColumns: 1,
35
+ maxSurfacesPerColumn: MAX_SURFACES_PER_COLUMN,
36
+ isBalanced: true,
37
+ execColumnIndex: 0,
38
+ execColumnIsTall: false,
39
+ columns
40
+ };
41
+ }
42
+ if (teamCount === 2) {
43
+ columns.push({
44
+ columnIndex: 0,
45
+ surfaces: [{ rowIndex: 0, team: "A", isExec: true }]
46
+ });
47
+ columns.push({
48
+ columnIndex: 1,
49
+ surfaces: [{ rowIndex: 0, team: "B", isExec: false }]
50
+ });
51
+ return {
52
+ teamCount: 2,
53
+ totalColumns: 2,
54
+ maxSurfacesPerColumn: MAX_SURFACES_PER_COLUMN,
55
+ isBalanced: true,
56
+ execColumnIndex: 0,
57
+ execColumnIsTall: false,
58
+ columns
59
+ };
60
+ }
61
+ const execIsAlone = teamCount % 2 === 1;
62
+ const nonExecColumnCount = execIsAlone ? (teamCount - 1) / 2 : teamCount / 2 - 1;
63
+ const execColumnSurfaces = [{ rowIndex: 0, team: "A", isExec: true }];
64
+ if (!execIsAlone) {
65
+ execColumnSurfaces.push({
66
+ rowIndex: 1,
67
+ team: teamLetter(teamCount - 1),
68
+ isExec: false
69
+ });
70
+ }
71
+ columns.push({ columnIndex: 0, surfaces: execColumnSurfaces });
72
+ for (let k = 1; k <= nonExecColumnCount; k++) {
73
+ const topLetterIndex = 2 * k - 1;
74
+ const bottomLetterIndex = 2 * k;
75
+ columns.push({
76
+ columnIndex: k,
77
+ surfaces: [
78
+ { rowIndex: 0, team: teamLetter(topLetterIndex), isExec: false },
79
+ { rowIndex: 1, team: teamLetter(bottomLetterIndex), isExec: false }
80
+ ]
81
+ });
82
+ }
83
+ return {
84
+ teamCount,
85
+ totalColumns: columns.length,
86
+ maxSurfacesPerColumn: MAX_SURFACES_PER_COLUMN,
87
+ isBalanced: !execIsAlone,
88
+ execColumnIndex: 0,
89
+ execColumnIsTall: execIsAlone,
90
+ columns
91
+ };
92
+ }
93
+ export function renderSurfaceLayoutAscii(layout) {
94
+ if (layout.totalColumns === 0)
95
+ return "[]";
96
+ return layout.columns
97
+ .map((column) => {
98
+ const teams = column.surfaces.map((surface) => surface.team).join("/");
99
+ return `[${teams}]`;
100
+ })
101
+ .join(" ");
102
+ }
103
+ export function computeSurfaceLayoutGate(fromTeamCount, toTeamCount) {
104
+ if (toTeamCount <= fromTeamCount) {
105
+ throw new Error(`Gate requires toTeamCount > fromTeamCount (got ${fromTeamCount} -> ${toTeamCount})`);
106
+ }
107
+ const before = computeSurfaceLayout(fromTeamCount);
108
+ const after = computeSurfaceLayout(toTeamCount);
109
+ const requiresNewColumn = after.totalColumns > before.totalColumns;
110
+ const requiresExecColumnSplit = before.columns[0]?.surfaces.length === 1 && after.columns[0]?.surfaces.length === 2;
111
+ const beforeNonExec = before.columns.slice(1).flatMap((column) => column.surfaces.map((s) => s.team));
112
+ const afterNonExec = after.columns.slice(1).flatMap((column) => column.surfaces.map((s) => s.team));
113
+ const requiresMoveOperations = beforeNonExec.length > 0 && !afterNonExec.join(",").startsWith(beforeNonExec.join(","));
114
+ return {
115
+ fromTeamCount,
116
+ toTeamCount,
117
+ requiresNewColumn,
118
+ requiresExecColumnSplit,
119
+ requiresMoveOperations,
120
+ preStaffingCheck: [
121
+ "EXEC PM must complete surface layout before dispatching any new spawn:",
122
+ `1. Compute target layout for teamCount=${toTeamCount}.`,
123
+ `2. ${requiresNewColumn
124
+ ? "Add a new rightmost column via `cmux new-split right`."
125
+ : "No new column required."}`,
126
+ `3. ${requiresExecColumnSplit
127
+ ? "Split A's column via `cmux new-split down --pane <A>`."
128
+ : requiresMoveOperations
129
+ ? "Rearrange existing non-exec surfaces to match the target layout (move-surface operations may be required)."
130
+ : "No internal rearrangement required."}`,
131
+ "4. Confirm the new surface exists and is empty via `cmux list-pane-surfaces`.",
132
+ "5. Only then dispatch the spawn to the new surface."
133
+ ].join("\n")
134
+ };
135
+ }
136
+ //# sourceMappingURL=surface-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-layout.js","sourceRoot":"","sources":["../../../src/protocol/surface-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type TelemetryConfig = {
2
+ enabled: boolean;
3
+ endpoint: string | undefined;
4
+ source: "env" | "default";
5
+ };
6
+ declare const ENDPOINT_ENV_VAR = "ODIN_TELEMETRY_ENDPOINT";
7
+ export declare function readTelemetryConfig(env?: NodeJS.ProcessEnv): TelemetryConfig;
8
+ export { ENDPOINT_ENV_VAR };
@@ -0,0 +1,11 @@
1
+ const ENDPOINT_ENV_VAR = "ODIN_TELEMETRY_ENDPOINT";
2
+ export function readTelemetryConfig(env = process.env) {
3
+ const raw = env[ENDPOINT_ENV_VAR];
4
+ const endpoint = typeof raw === "string" ? raw.trim() : "";
5
+ if (endpoint.length === 0) {
6
+ return { enabled: false, endpoint: undefined, source: "default" };
7
+ }
8
+ return { enabled: true, endpoint, source: "env" };
9
+ }
10
+ export { ENDPOINT_ENV_VAR };
11
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/telemetry/config.ts"],"names":[],"mappings":"AAMA,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD,MAAM,UAAU,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { readTelemetryConfig, ENDPOINT_ENV_VAR } from "./config.js";
2
+ export type { TelemetryConfig } from "./config.js";
3
+ export { redactString, redactPayload } from "./redactor.js";
4
+ export { compileSessionReport } from "./report.js";
5
+ export type { HaltEntry, ModelSignal, SessionReport, SessionReportInput, ViolationEntry } from "./report.js";
6
+ export { submitSessionReport } from "./submit.js";
7
+ export type { SubmitOptions, SubmitResult } from "./submit.js";
@@ -0,0 +1,5 @@
1
+ export { readTelemetryConfig, ENDPOINT_ENV_VAR } from "./config.js";
2
+ export { redactString, redactPayload } from "./redactor.js";
3
+ export { compileSessionReport } from "./report.js";
4
+ export { submitSessionReport } from "./submit.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function redactString(value: string): string;
2
+ export declare function redactPayload<T>(payload: T): T;