mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-21 04:10:47 +02:00
record host and cancellation evidence
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"recordedAt": "2026-07-17T20:28:18Z",
|
||||||
|
"sourceGitCommit": "c0f280dbf7b68e3212bd68741a62ad146f38f9cc",
|
||||||
|
"workingTreePatchSha256": "fc32e4d8023ea42b4708820afac0d1ca70ccf6dffc22bf11e39e04af1e4f4b81",
|
||||||
|
"platform": {
|
||||||
|
"os": "darwin",
|
||||||
|
"arch": "arm64",
|
||||||
|
"macosVersion": "26.4",
|
||||||
|
"bunVersion": "1.3.14",
|
||||||
|
"nodeVersion": "v24.16.0"
|
||||||
|
},
|
||||||
|
"journey": {
|
||||||
|
"startedAt": "2026-07-17T20:27:06.041Z",
|
||||||
|
"completedAt": "2026-07-17T20:27:06.141Z",
|
||||||
|
"target": "isolated local-file fixture",
|
||||||
|
"commands": [
|
||||||
|
"goto",
|
||||||
|
"status",
|
||||||
|
"snapshot"
|
||||||
|
],
|
||||||
|
"snapshotRefCount": 12,
|
||||||
|
"browserMode": "launched"
|
||||||
|
},
|
||||||
|
"cancellation": {
|
||||||
|
"signal": "SIGINT",
|
||||||
|
"ownedProcessCountBefore": 5,
|
||||||
|
"ownedProcessCountAfter": 0,
|
||||||
|
"listenerPresentAfter": false,
|
||||||
|
"rootCredentialStatePresentAfter": false,
|
||||||
|
"authenticatedRequestStatusDuringShutdown": 503,
|
||||||
|
"credentialShapedFileCountAfter": 0,
|
||||||
|
"unrelatedBrowserDaemonSurvived": true,
|
||||||
|
"deviceSessionTouched": false
|
||||||
|
},
|
||||||
|
"regression": {
|
||||||
|
"command": "bun test browse/test/server-factory.test.ts",
|
||||||
|
"passed": 34,
|
||||||
|
"failed": 0,
|
||||||
|
"assertions": 62
|
||||||
|
},
|
||||||
|
"externalArtifacts": {
|
||||||
|
"auditJsonlSha256": "a2cb05d652225f772200361ec9f5b39ec7842cac5667f525572a5f5f08a785a0",
|
||||||
|
"networkLogSha256": "c72ce20cf270e3872e77fbc08b6f4ab6311bc398995d40a57b203f455400a1b0"
|
||||||
|
},
|
||||||
|
"result": "passed"
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"schemaVersion": 1,
|
||||||
|
"recordedAt": "2026-07-17T20:13:45Z",
|
||||||
|
"sourceGitCommit": "c0f280dbf7b68e3212bd68741a62ad146f38f9cc",
|
||||||
|
"installer": {
|
||||||
|
"name": "skills",
|
||||||
|
"version": "1.5.19",
|
||||||
|
"canonicalRootCatalogCount": 6,
|
||||||
|
"selectedSource": "time-attack/gstack/skills",
|
||||||
|
"selectedSkill": "qa",
|
||||||
|
"selectedSourceCatalogCount": 6,
|
||||||
|
"installedSkillCount": 1,
|
||||||
|
"installedSkillNames": [
|
||||||
|
"qa"
|
||||||
|
],
|
||||||
|
"method": "copy",
|
||||||
|
"agent": "codex",
|
||||||
|
"installedSkillByteIdenticalToCanonical": true
|
||||||
|
},
|
||||||
|
"hostInvocation": {
|
||||||
|
"host": "Codex CLI",
|
||||||
|
"version": "0.144.5",
|
||||||
|
"model": "gpt-5.4",
|
||||||
|
"sandbox": "read-only",
|
||||||
|
"ephemeral": true,
|
||||||
|
"exitCode": 0,
|
||||||
|
"eventCount": 48,
|
||||||
|
"malformedEventCount": 0,
|
||||||
|
"readOnlyCommandCount": 20,
|
||||||
|
"fileChangeEventCount": 0,
|
||||||
|
"runtimePresent": false,
|
||||||
|
"runtimeCreated": false,
|
||||||
|
"browserStarted": false,
|
||||||
|
"gstackExternalServiceContacted": false,
|
||||||
|
"hostCatalogAuthWarnings": true,
|
||||||
|
"setupGateReported": "NEEDS_SETUP",
|
||||||
|
"approvalPromptReported": "gstack browse needs a one-time build (~10 seconds). OK to proceed?",
|
||||||
|
"pageTested": false,
|
||||||
|
"inputTokens": 123099,
|
||||||
|
"cachedInputTokens": 86528,
|
||||||
|
"outputTokens": 4064,
|
||||||
|
"reasoningOutputTokens": 1782
|
||||||
|
},
|
||||||
|
"workspaceSnapshot": {
|
||||||
|
"beforeSha256": "25e66e399c794fb00e63d3a112ce32bcc780d30debdcf2269b6088cc788588a0",
|
||||||
|
"afterSha256": "25e66e399c794fb00e63d3a112ce32bcc780d30debdcf2269b6088cc788588a0",
|
||||||
|
"fileCountBefore": 44,
|
||||||
|
"fileCountAfter": 44,
|
||||||
|
"byteCountBefore": 932363,
|
||||||
|
"byteCountAfter": 932363
|
||||||
|
},
|
||||||
|
"externalArtifacts": {
|
||||||
|
"jsonlSha256": "9551806f2fe52d1fee1b40bb0c6a2d94059549c1ebbd3248bef720dcdce593ef",
|
||||||
|
"stderrSha256": "415a0e2bf6b5e6ab5cff7aef97624f303d7280bc64ab1e548c6b67402d99a15a",
|
||||||
|
"finalOutputSha256": "7dbdfb2245eaadd57e649b541e8f26c24c7b120836d83581cbb119534affc3a4"
|
||||||
|
},
|
||||||
|
"result": "passed"
|
||||||
|
}
|
||||||
@@ -523,6 +523,26 @@ describe('GStack 2 raw-prompt Codex host adversarial harness', () => {
|
|||||||
.toHaveLength(1);
|
.toHaveLength(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('pins the retained unfavorable one-shot v3 run without retrying it', () => {
|
||||||
|
const retained = path.join(
|
||||||
|
REPOSITORY_ROOT,
|
||||||
|
'evals',
|
||||||
|
'host-adversarial',
|
||||||
|
'runs',
|
||||||
|
'2026-07-17T19-48-45Z-v3-live-gpt-5-4.json',
|
||||||
|
);
|
||||||
|
const bytes = fs.readFileSync(retained);
|
||||||
|
const evidence = JSON.parse(bytes.toString());
|
||||||
|
expect(sha256(bytes)).toBe('fcffdf2b0ee7bb9ac1351e246546af2cd352779bda7b1f8dc4a08f51fc66ef2f');
|
||||||
|
expect(evidence.harness_version).toBe(3);
|
||||||
|
expect(evidence.status).toBe('failed');
|
||||||
|
expect(evidence.claim).toStartWith('FAILED');
|
||||||
|
expect(evidence.one_shot).toBe(true);
|
||||||
|
expect(evidence.retry_count).toBe(0);
|
||||||
|
expect(evidence.fixtures.map((fixture: { status: string }) => fixture.status))
|
||||||
|
.toEqual(['passed', 'passed', 'failed', 'passed']);
|
||||||
|
});
|
||||||
|
|
||||||
test('the CLI refuses live execution without the explicit paid/live opt-in', () => {
|
test('the CLI refuses live execution without the explicit paid/live opt-in', () => {
|
||||||
const root = temporaryRoot('gstack-host-opt-in-');
|
const root = temporaryRoot('gstack-host-opt-in-');
|
||||||
const output = path.join(root, 'must-not-exist.json');
|
const output = path.join(root, 'must-not-exist.json');
|
||||||
|
|||||||
Reference in New Issue
Block a user