engineering-behavior-observatory 0.2.1
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.
- package/LICENSE +202 -0
- package/README.md +151 -0
- package/contracts/codex-app-server-0.150.1/manifest.json +25 -0
- package/contracts/codex-app-server-0.150.1/schema/InitializeParams.json +84 -0
- package/contracts/codex-app-server-0.150.1/schema/JSONRPCMessage.json +137 -0
- package/contracts/codex-app-server-0.150.1/schema/v2/ThreadReadParams.json +17 -0
- package/contracts/codex-app-server-0.150.1/schema/v2/ThreadTokenUsageUpdatedNotification.json +82 -0
- package/contracts/codex-app-server-0.150.1/schema/v2/TurnInterruptParams.json +17 -0
- package/contracts/codex-app-server-0.150.1/types/AskForApproval.ts +5 -0
- package/contracts/codex-app-server-0.150.1/types/ClientNotification.ts +5 -0
- package/contracts/codex-app-server-0.150.1/types/SandboxMode.ts +5 -0
- package/contracts/codex-app-server-0.150.1/types/ThreadReadParams.ts +9 -0
- package/contracts/codex-app-server-0.150.1/types/TokenUsageBreakdown.ts +5 -0
- package/contracts/codex-app-server-0.150.1/types/TurnInterruptParams.ts +5 -0
- package/contracts/codex-app-server-0.153.4/manifest.json +27 -0
- package/contracts/codex-app-server-0.153.4/schema/JSONRPCMessage.json +137 -0
- package/contracts/codex-app-server-0.153.4/schema/v1/InitializeParams.json +84 -0
- package/contracts/codex-app-server-0.153.4/schema/v2/ThreadReadParams.json +17 -0
- package/contracts/codex-app-server-0.153.4/schema/v2/ThreadStartParams.json +515 -0
- package/contracts/codex-app-server-0.153.4/schema/v2/ThreadTokenUsageUpdatedNotification.json +82 -0
- package/contracts/codex-app-server-0.153.4/schema/v2/TurnInterruptParams.json +17 -0
- package/contracts/codex-app-server-0.153.4/schema/v2/TurnStartParams.json +921 -0
- package/contracts/codex-app-server-0.153.4/types/AskForApproval.ts +5 -0
- package/contracts/codex-app-server-0.153.4/types/ClientNotification.ts +5 -0
- package/contracts/codex-app-server-0.153.4/types/SandboxMode.ts +5 -0
- package/contracts/codex-app-server-0.153.4/types/ThreadReadParams.ts +12 -0
- package/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.ts +5 -0
- package/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.ts +5 -0
- package/contracts/openhands-agent-server-v1.44.1.json +65 -0
- package/contracts/openhands-agent-server-v1.46.0.json +46 -0
- package/dist/contracts/codex-app-server-0.153.4/types/AskForApproval.d.ts +9 -0
- package/dist/contracts/codex-app-server-0.153.4/types/AskForApproval.js +2 -0
- package/dist/contracts/codex-app-server-0.153.4/types/ClientNotification.d.ts +3 -0
- package/dist/contracts/codex-app-server-0.153.4/types/ClientNotification.js +2 -0
- package/dist/contracts/codex-app-server-0.153.4/types/SandboxMode.d.ts +1 -0
- package/dist/contracts/codex-app-server-0.153.4/types/SandboxMode.js +2 -0
- package/dist/contracts/codex-app-server-0.153.4/types/ThreadReadParams.d.ts +10 -0
- package/dist/contracts/codex-app-server-0.153.4/types/ThreadReadParams.js +2 -0
- package/dist/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.d.ts +8 -0
- package/dist/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.js +2 -0
- package/dist/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.d.ts +4 -0
- package/dist/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.js +2 -0
- package/dist/src/agent-sdk-normalizer.d.ts +22 -0
- package/dist/src/agent-sdk-normalizer.js +995 -0
- package/dist/src/agent-sdk-run.d.ts +31 -0
- package/dist/src/agent-sdk-run.js +242 -0
- package/dist/src/agent-sdk-runner.d.ts +96 -0
- package/dist/src/agent-sdk-runner.js +407 -0
- package/dist/src/agent-sdk.d.ts +294 -0
- package/dist/src/agent-sdk.js +644 -0
- package/dist/src/aggregation.d.ts +183 -0
- package/dist/src/aggregation.js +513 -0
- package/dist/src/artifacts.d.ts +36 -0
- package/dist/src/artifacts.js +1372 -0
- package/dist/src/atlas-grafana.d.ts +377 -0
- package/dist/src/atlas-grafana.js +47 -0
- package/dist/src/atlas-html.d.ts +2 -0
- package/dist/src/atlas-html.js +34 -0
- package/dist/src/atlas.d.ts +130 -0
- package/dist/src/atlas.js +235 -0
- package/dist/src/behavior-assertions.d.ts +95 -0
- package/dist/src/behavior-assertions.js +154 -0
- package/dist/src/cli.d.ts +5 -0
- package/dist/src/cli.js +957 -0
- package/dist/src/codex-judge.d.ts +44 -0
- package/dist/src/codex-judge.js +214 -0
- package/dist/src/codex-run.d.ts +114 -0
- package/dist/src/codex-run.js +519 -0
- package/dist/src/codex.d.ts +187 -0
- package/dist/src/codex.js +1028 -0
- package/dist/src/contracts.d.ts +155 -0
- package/dist/src/contracts.js +866 -0
- package/dist/src/corpus.d.ts +67 -0
- package/dist/src/corpus.js +540 -0
- package/dist/src/cursor-sdk-runner.d.ts +81 -0
- package/dist/src/cursor-sdk-runner.js +362 -0
- package/dist/src/cursor-sdk.d.ts +81 -0
- package/dist/src/cursor-sdk.js +1078 -0
- package/dist/src/deepseek-adapter.d.ts +152 -0
- package/dist/src/deepseek-adapter.js +777 -0
- package/dist/src/exports.d.ts +69 -0
- package/dist/src/exports.js +966 -0
- package/dist/src/human-calibration.d.ts +167 -0
- package/dist/src/human-calibration.js +618 -0
- package/dist/src/index.d.ts +71 -0
- package/dist/src/index.js +38 -0
- package/dist/src/lifecycle.d.ts +196 -0
- package/dist/src/lifecycle.js +1889 -0
- package/dist/src/normalization-integrity.d.ts +128 -0
- package/dist/src/normalization-integrity.js +429 -0
- package/dist/src/openhands-run.d.ts +36 -0
- package/dist/src/openhands-run.js +415 -0
- package/dist/src/openhands.d.ts +130 -0
- package/dist/src/openhands.js +859 -0
- package/dist/src/pi.d.ts +203 -0
- package/dist/src/pi.js +1345 -0
- package/dist/src/process-protocol.d.ts +245 -0
- package/dist/src/process-protocol.js +1261 -0
- package/dist/src/retained-evidence.d.ts +12 -0
- package/dist/src/retained-evidence.js +201 -0
- package/dist/src/run-bundles.d.ts +193 -0
- package/dist/src/run-bundles.js +993 -0
- package/dist/src/scheduler.d.ts +109 -0
- package/dist/src/scheduler.js +1080 -0
- package/dist/src/semantic-judge.d.ts +194 -0
- package/dist/src/semantic-judge.js +875 -0
- package/dist/src/structural-observations.d.ts +124 -0
- package/dist/src/structural-observations.js +671 -0
- package/dist/src/task-packets.d.ts +115 -0
- package/dist/src/task-packets.js +683 -0
- package/dist/src/uniform-events.d.ts +120 -0
- package/dist/src/uniform-events.js +158 -0
- package/dist/src/verifiers.d.ts +116 -0
- package/dist/src/verifiers.js +819 -0
- package/dist/src/workspaces.d.ts +56 -0
- package/dist/src/workspaces.js +1314 -0
- package/docs/README.md +60 -0
- package/docs/development/README.md +71 -0
- package/docs/development/documentation-sync.md +58 -0
- package/docs/development/extension-contracts.md +307 -0
- package/docs/evaluation/README.md +48 -0
- package/docs/evaluation/aggregation.md +112 -0
- package/docs/evaluation/behavior-assertions.md +45 -0
- package/docs/evaluation/human-calibration.md +170 -0
- package/docs/evaluation/normalization-integrity.md +80 -0
- package/docs/evaluation/semantic-judge.md +188 -0
- package/docs/evaluation/structural-observations.md +84 -0
- package/docs/evaluation/uniform-events.md +131 -0
- package/docs/guides/atlas.md +144 -0
- package/docs/guides/evidence-and-sharing.md +100 -0
- package/docs/guides/operator-guide.md +424 -0
- package/docs/guides/quickstart.md +152 -0
- package/docs/guides/telemetry.md +66 -0
- package/docs/harnesses/README.md +31 -0
- package/docs/harnesses/claude-agent-sdk.md +61 -0
- package/docs/harnesses/codex-harness.md +174 -0
- package/docs/harnesses/cursor-sdk.md +149 -0
- package/docs/harnesses/deepseek-harness.md +134 -0
- package/docs/harnesses/openhands-agent-server.md +153 -0
- package/docs/harnesses/pi-sdk.md +66 -0
- package/docs/reference/README.md +19 -0
- package/docs/reference/agent-sdk-operational-runner.md +118 -0
- package/docs/reference/cli.md +114 -0
- package/docs/reference/contracts.md +222 -0
- package/docs/reference/run-bundle-contract.md +354 -0
- package/docs/reference/run-lifecycle.md +54 -0
- package/examples/cursor-sdk/README.md +11 -0
- package/examples/cursor-sdk/capture-profile.json +1 -0
- package/examples/cursor-sdk/harness.json +1 -0
- package/examples/cursor-sdk/model.json +1 -0
- package/examples/cursor-sdk/native-limits.json +1 -0
- package/examples/cursor-sdk/native-tool-policy.json +1 -0
- package/ontology/behavior-categories.v1.json +46 -0
- package/package.json +66 -0
- package/release/0.1.0/KNOWN_LIMITATIONS.md +35 -0
- package/release/0.1.0/README.md +46 -0
- package/release/0.1.0/reproducibility.json +61 -0
- package/release/0.2.0/KNOWN_LIMITATIONS.md +40 -0
- package/release/0.2.0/README.md +42 -0
- package/release/0.2.0/reproducibility.json +73 -0
- package/release/0.2.1/KNOWN_LIMITATIONS.md +18 -0
- package/release/0.2.1/README.md +63 -0
- package/release/0.2.1/reproducibility.json +73 -0
- package/release/README.md +13 -0
- package/schemas/aggregation.v1.json +293 -0
- package/schemas/behavior-assertions.v1.json +220 -0
- package/schemas/deepseek-runtime-composition.v1.schema.json +122 -0
- package/schemas/experiment.v1.schema.json +188 -0
- package/schemas/human-calibration.v1.json +336 -0
- package/schemas/normalization-integrity.v1.json +302 -0
- package/schemas/run-bundles/v1.json +1040 -0
- package/schemas/run-queue.v1.schema.json +206 -0
- package/schemas/semantic-judge.v1.json +380 -0
- package/schemas/structural-observations.v1.json +131 -0
- package/schemas/task-packet-freeze.v1.schema.json +106 -0
- package/schemas/task-packet.v1.schema.json +234 -0
- package/schemas/uniform-events/v1.json +289 -0
- package/scripts/atlas-grafana.sh +18 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { TaskPacketFreezeRecord } from "./task-packets.js";
|
|
2
|
+
export type Digest = {
|
|
3
|
+
algorithm: "sha256";
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
export type ArtifactReference = {
|
|
7
|
+
locator: string;
|
|
8
|
+
digest: Digest;
|
|
9
|
+
};
|
|
10
|
+
export type AssessmentMode = "observational" | "verified";
|
|
11
|
+
export type BundleRootHandle = {
|
|
12
|
+
path: string;
|
|
13
|
+
descriptor: number;
|
|
14
|
+
};
|
|
15
|
+
export type ArchiveEntry = {
|
|
16
|
+
path: string;
|
|
17
|
+
kind: string;
|
|
18
|
+
};
|
|
19
|
+
export type TaskArchiveEntry = ArchiveEntry & {
|
|
20
|
+
bytes: Buffer;
|
|
21
|
+
mode: number;
|
|
22
|
+
};
|
|
23
|
+
export type ArchiveLimits = {
|
|
24
|
+
maxCompressedBytes: number;
|
|
25
|
+
maxExpandedBytes: number;
|
|
26
|
+
maxMembers: number;
|
|
27
|
+
};
|
|
28
|
+
export type ArchiveMeasurements = {
|
|
29
|
+
compressedBytes: number;
|
|
30
|
+
expandedBytes: number;
|
|
31
|
+
memberCount: number;
|
|
32
|
+
};
|
|
33
|
+
export declare const MAX_CONFIGURATION_BYTES = 1048576;
|
|
34
|
+
export type TaskCondition = {
|
|
35
|
+
packetRef: {
|
|
36
|
+
locator: string;
|
|
37
|
+
digest: Digest;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export type TaskConditionSet = Record<string, TaskCondition>;
|
|
41
|
+
export type ControlledPerturbationDeclaration = {
|
|
42
|
+
status: "referenced";
|
|
43
|
+
digest: Digest;
|
|
44
|
+
} | {
|
|
45
|
+
status: "not-applied" | "unsupported";
|
|
46
|
+
};
|
|
47
|
+
export type ReferenceSolutionDeclaration = {
|
|
48
|
+
status: "referenced";
|
|
49
|
+
digest: Digest;
|
|
50
|
+
} | {
|
|
51
|
+
status: "not-provided" | "unsupported";
|
|
52
|
+
};
|
|
53
|
+
export type ResolvedTaskPacket = {
|
|
54
|
+
assessmentMode: AssessmentMode;
|
|
55
|
+
/** Packet identity retained by the admission resolver for freeze binding. */
|
|
56
|
+
packetId?: string;
|
|
57
|
+
/** Resolved task-packet component digests retained for freeze binding. */
|
|
58
|
+
promptDigest?: Digest;
|
|
59
|
+
fixtureDigest?: Digest | null;
|
|
60
|
+
digest: Digest;
|
|
61
|
+
preAdmissionDigest: Digest | null;
|
|
62
|
+
reviewRecordDigest: Digest | null;
|
|
63
|
+
resolvedReviewRecordDigest: Digest | null;
|
|
64
|
+
reviewRecordPreAdmissionDigest: Digest | null;
|
|
65
|
+
controlledPerturbation: {
|
|
66
|
+
declaration: ControlledPerturbationDeclaration;
|
|
67
|
+
resolvedDigest: Digest | null;
|
|
68
|
+
};
|
|
69
|
+
referenceSolution: {
|
|
70
|
+
declaration: ReferenceSolutionDeclaration;
|
|
71
|
+
resolvedDigest: Digest | null;
|
|
72
|
+
};
|
|
73
|
+
verifierDigest: Digest | null;
|
|
74
|
+
resolvedVerifierDigest: Digest | null;
|
|
75
|
+
admission: {
|
|
76
|
+
status: "proposed" | "admitted" | "rejected";
|
|
77
|
+
reviewedAt: string | null;
|
|
78
|
+
};
|
|
79
|
+
/** Complete freeze evidence admitted alongside this packet resolution. */
|
|
80
|
+
freezeRecord?: TaskPacketFreezeRecord;
|
|
81
|
+
};
|
|
82
|
+
export type DeclaredOrder = {
|
|
83
|
+
taskIds: string[];
|
|
84
|
+
modelIds: string[];
|
|
85
|
+
harnessIds: string[];
|
|
86
|
+
};
|
|
87
|
+
export type DeclaredMatrixCell = {
|
|
88
|
+
taskId: string;
|
|
89
|
+
modelId: string;
|
|
90
|
+
harnessId: string;
|
|
91
|
+
trialIndex: number;
|
|
92
|
+
};
|
|
93
|
+
export type ExperimentOrdering = {
|
|
94
|
+
seed: string;
|
|
95
|
+
strategy: "declared";
|
|
96
|
+
declaredOrder: DeclaredOrder;
|
|
97
|
+
} | {
|
|
98
|
+
seed: string;
|
|
99
|
+
strategy: "sequential";
|
|
100
|
+
declaredOrder?: DeclaredOrder;
|
|
101
|
+
} | {
|
|
102
|
+
seed: string;
|
|
103
|
+
strategy: "permuted" | "seeded-shuffle";
|
|
104
|
+
declaredOrder?: DeclaredOrder;
|
|
105
|
+
permutationAlgorithmRef?: ArtifactReference;
|
|
106
|
+
} | {
|
|
107
|
+
seed: string;
|
|
108
|
+
strategy: "balanced" | "balanced-interleaved" | "interleaved";
|
|
109
|
+
declaredOrder?: DeclaredOrder;
|
|
110
|
+
balanceBy?: "task" | "model" | "harness";
|
|
111
|
+
};
|
|
112
|
+
export type ExperimentConfiguration = {
|
|
113
|
+
schemaVersion: "ebo.experiment/v1";
|
|
114
|
+
id: string;
|
|
115
|
+
taskSet: TaskConditionSet;
|
|
116
|
+
modelSet: Record<string, {
|
|
117
|
+
configurationRef: ArtifactReference;
|
|
118
|
+
}>;
|
|
119
|
+
harnessSet: Record<string, {
|
|
120
|
+
configurationRef: ArtifactReference;
|
|
121
|
+
nativeLimitsRef: ArtifactReference;
|
|
122
|
+
nativeToolPolicyRef: ArtifactReference;
|
|
123
|
+
}>;
|
|
124
|
+
trialCount: number;
|
|
125
|
+
coordinatorBudget: {
|
|
126
|
+
maxWallClockMs: number;
|
|
127
|
+
};
|
|
128
|
+
captureProfile: ArtifactReference;
|
|
129
|
+
ordering: ExperimentOrdering;
|
|
130
|
+
};
|
|
131
|
+
export declare function assertDeclaredOrder(conditionSets: {
|
|
132
|
+
taskSet: Record<string, unknown>;
|
|
133
|
+
modelSet: Record<string, unknown>;
|
|
134
|
+
harnessSet: Record<string, unknown>;
|
|
135
|
+
}, declaredOrder: DeclaredOrder): void;
|
|
136
|
+
export declare function declaredMatrixCells(declaredOrder: DeclaredOrder, trialCount: number): Generator<DeclaredMatrixCell>;
|
|
137
|
+
export declare function assertNoSelectedSymlinks(entries: readonly ArchiveEntry[], includePaths: readonly string[], archiveEntries?: readonly ArchiveEntry[]): void;
|
|
138
|
+
export declare function assertArchiveMeasurements(limits: ArchiveLimits, measurements: ArchiveMeasurements): void;
|
|
139
|
+
export declare function validateTaskArchive(bytes: Uint8Array, limits: ArchiveLimits, includePaths: readonly string[]): void;
|
|
140
|
+
export declare function readTaskArchive(bytes: Uint8Array, limits: ArchiveLimits, includePaths: readonly string[]): TaskArchiveEntry[];
|
|
141
|
+
export declare function resolveBundleConfiguration(bundleRoot: string, reference: ArtifactReference, maxBytes?: number, rootHandle?: BundleRootHandle): Buffer;
|
|
142
|
+
export declare function resolveTaskArchive(bundleRoot: string, source: ArtifactReference, maxCompressedBytes: number, rootHandle?: BundleRootHandle): Buffer;
|
|
143
|
+
export declare function resolveBundleArtifact(bundleRoot: string, reference: ArtifactReference, maxBytes?: number, rootHandle?: BundleRootHandle): Buffer;
|
|
144
|
+
export declare function resolveBundleArtifactDigest(bundleRoot: string, reference: ArtifactReference, rootHandle?: BundleRootHandle): Digest;
|
|
145
|
+
export declare function openBundleRoot(bundleRoot: string): BundleRootHandle;
|
|
146
|
+
export declare function closeBundleRoot(root: BundleRootHandle): void;
|
|
147
|
+
export declare function openBundleRegularFile(bundleRoot: string, locator: string, label: string, root: BundleRootHandle): number;
|
|
148
|
+
export declare function removeInterruptedPublicationLink(path: string, target: {
|
|
149
|
+
dev: number;
|
|
150
|
+
ino: number;
|
|
151
|
+
}): void;
|
|
152
|
+
export declare function assertControlledPerturbationDigest(reference: ArtifactReference, resolvedDigest: Digest): void;
|
|
153
|
+
export declare function assertResolvedExperimentConfigurationDigests(experiment: ExperimentConfiguration, resolvedDigests: Record<string, Digest>): void;
|
|
154
|
+
export declare function assertAdmittedTaskPackets(taskSet: TaskConditionSet, resolvedPackets: Record<string, ResolvedTaskPacket>): void;
|
|
155
|
+
export declare function isSafeArtifactRelativePath(path: string): boolean;
|