sneakoscope 1.18.3 → 1.18.5
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/README.md +16 -1
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/.sks-build-stamp.json +4 -4
- package/dist/build-manifest.json +19 -9
- package/dist/cli/feature-commands.js +16 -5
- package/dist/commands/image-ux-review.d.ts +58 -7
- package/dist/commands/ppt.d.ts +58 -7
- package/dist/core/agents/agent-cleanup-executor.d.ts +67 -0
- package/dist/core/agents/agent-cleanup-executor.js +343 -0
- package/dist/core/agents/agent-command-surface.d.ts +4 -0
- package/dist/core/agents/agent-command-surface.js +6 -2
- package/dist/core/agents/agent-orchestrator.d.ts +58 -7
- package/dist/core/agents/agent-orchestrator.js +14 -3
- package/dist/core/agents/agent-output-validator.d.ts +13 -0
- package/dist/core/agents/agent-output-validator.js +12 -1
- package/dist/core/agents/agent-proof-evidence.d.ts +26 -0
- package/dist/core/agents/agent-proof-evidence.js +42 -0
- package/dist/core/agents/agent-runner-codex-exec.js +16 -1
- package/dist/core/agents/agent-trust-report.d.ts +30 -0
- package/dist/core/agents/agent-trust-report.js +60 -2
- package/dist/core/agents/agent-work-partition.d.ts +3 -7
- package/dist/core/agents/agent-work-partition.js +11 -2
- package/dist/core/agents/intelligent-work-graph.d.ts +51 -0
- package/dist/core/agents/intelligent-work-graph.js +369 -0
- package/dist/core/agents/route-collaboration-ledger.d.ts +58 -7
- package/dist/core/agents/tmux-physical-proof.d.ts +272 -0
- package/dist/core/agents/tmux-physical-proof.js +338 -0
- package/dist/core/agents/work-partition/repo-inventory.js +1 -1
- package/dist/core/codex-hooks/codex-hook-actual-discovery.d.ts +1 -0
- package/dist/core/codex-hooks/codex-hook-actual-discovery.js +6 -2
- package/dist/core/codex-hooks/codex-hook-trust-doctor.d.ts +29 -0
- package/dist/core/codex-hooks/codex-hook-trust-doctor.js +12 -2
- package/dist/core/commands/agent-command.js +23 -5
- package/dist/core/commands/image-ux-review-command.d.ts +58 -7
- package/dist/core/commands/ppt-command.d.ts +58 -7
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/hooks-runtime.js +12 -1
- package/dist/core/image-ux-review/imagegen-adapter.js +210 -10
- package/dist/core/proof/fake-real-proof-policy.d.ts +16 -0
- package/dist/core/proof/fake-real-proof-policy.js +75 -0
- package/dist/core/routes.js +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/scripts/release-parallel-check.d.ts +3 -0
- package/dist/scripts/release-parallel-check.js +204 -0
- package/package.json +20 -4
- package/schemas/codex/agent-result.schema.json +53 -17
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ SKS does not try to clone every other harness. It focuses on one thing: making C
|
|
|
10
10
|
|
|
11
11
|
## Current Release
|
|
12
12
|
|
|
13
|
-
SKS **1.18.
|
|
13
|
+
SKS **1.18.5** wires the 1.18.4 real-proof tools into the runtime lifecycle: real tmux mode now writes before-drain, after-drain, and final physical pane proof artifacts; real Codex dynamic smoke validates output-schema/result-file/process cleanup and reports `fixture_instrumented_real` honestly; `sks agent close/cleanup` performs process-tree-aware SIGTERM/SIGKILL cleanup; and the task graph carries AST/import/test ownership, critical path, and runtime truth matrix evidence.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
sks mad-sks plan --target-root <path> --json
|
|
@@ -23,6 +23,15 @@ sks agent run "release review" --agents 8 --work-items 16 --concurrency 4 --mock
|
|
|
23
23
|
npm run source-intelligence:all-modes
|
|
24
24
|
npm run agent:background-terminals
|
|
25
25
|
npm run agent:tmux-lane-no-flicker
|
|
26
|
+
npm run agent:cleanup-executor
|
|
27
|
+
npm run agent:cleanup-executor-v2
|
|
28
|
+
npm run agent:intelligent-work-graph
|
|
29
|
+
npm run agent:ast-aware-work-graph
|
|
30
|
+
npm run proof:fake-vs-real-policy
|
|
31
|
+
npm run proof:fake-real-policy-v2
|
|
32
|
+
npm run release:runtime-truth-matrix
|
|
33
|
+
npm run route:blackbox-realism
|
|
34
|
+
npm run release:real-check
|
|
26
35
|
npm run agent:backfill-route-blackbox
|
|
27
36
|
npm run team:actual-route-backfill
|
|
28
37
|
npm run release:readiness
|
|
@@ -58,6 +67,12 @@ Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release
|
|
|
58
67
|
- Main no-Scout / worker Scout policy: [docs/main-no-scout-worker-scout-policy.md](docs/main-no-scout-worker-scout-policy.md)
|
|
59
68
|
- Agent terminal lanes: [docs/agent-terminal-lanes.md](docs/agent-terminal-lanes.md)
|
|
60
69
|
- tmux right-lane cockpit: [docs/tmux-right-lane-cockpit.md](docs/tmux-right-lane-cockpit.md)
|
|
70
|
+
- Real tmux pane proof: [docs/real-tmux-pane-proof.md](docs/real-tmux-pane-proof.md)
|
|
71
|
+
- Real Codex dynamic smoke: [docs/real-codex-dynamic-smoke.md](docs/real-codex-dynamic-smoke.md)
|
|
72
|
+
- Agent cleanup executor: [docs/agent-cleanup-executor.md](docs/agent-cleanup-executor.md)
|
|
73
|
+
- Intelligent work graph: [docs/intelligent-work-graph.md](docs/intelligent-work-graph.md)
|
|
74
|
+
- Fake vs real proof policy: [docs/fake-vs-real-proof-policy.md](docs/fake-vs-real-proof-policy.md)
|
|
75
|
+
- Migration 1.18.4 to 1.18.5: [docs/migration-1.18.4-to-1.18.5.md](docs/migration-1.18.4-to-1.18.5.md)
|
|
61
76
|
- Codex official Goal mode: [docs/codex-official-goal-mode.md](docs/codex-official-goal-mode.md)
|
|
62
77
|
- Release parallel full coverage: [docs/release-parallel-full-coverage.md](docs/release-parallel-full-coverage.md)
|
|
63
78
|
- Priority closure P0-P4: [docs/priority-closure-p0-p4.md](docs/priority-closure-p0-p4.md)
|
|
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
|
|
|
4
4
|
fn main() {
|
|
5
5
|
let mut args = std::env::args().skip(1);
|
|
6
6
|
match args.next().as_deref() {
|
|
7
|
-
Some("--version") => println!("sks-rs 1.18.
|
|
7
|
+
Some("--version") => println!("sks-rs 1.18.5"),
|
|
8
8
|
Some("compact-info") => {
|
|
9
9
|
let mut input = String::new();
|
|
10
10
|
let _ = io::stdin().read_to_string(&mut input);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build-stamp.v1",
|
|
3
3
|
"package_name": "sneakoscope",
|
|
4
|
-
"package_version": "1.18.
|
|
5
|
-
"source_digest": "
|
|
6
|
-
"source_file_count":
|
|
7
|
-
"built_at_source_time":
|
|
4
|
+
"package_version": "1.18.5",
|
|
5
|
+
"source_digest": "25698b68e8f9d6ff16ac94f404e60d99db9841e8e85a0f8c5831069a744434cc",
|
|
6
|
+
"source_file_count": 1430,
|
|
7
|
+
"built_at_source_time": 1779807721873
|
|
8
8
|
}
|
package/dist/build-manifest.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build.v2",
|
|
3
|
-
"version": "1.18.
|
|
4
|
-
"package_version": "1.18.
|
|
3
|
+
"version": "1.18.5",
|
|
4
|
+
"package_version": "1.18.5",
|
|
5
5
|
"typescript": true,
|
|
6
6
|
"mjs_runtime_files": 0,
|
|
7
|
-
"compiled_file_count":
|
|
8
|
-
"compiled_js_count":
|
|
9
|
-
"compiled_dts_count":
|
|
10
|
-
"source_digest": "
|
|
11
|
-
"source_file_count":
|
|
12
|
-
"source_files_hash": "
|
|
13
|
-
"source_list_hash": "
|
|
7
|
+
"compiled_file_count": 874,
|
|
8
|
+
"compiled_js_count": 437,
|
|
9
|
+
"compiled_dts_count": 437,
|
|
10
|
+
"source_digest": "25698b68e8f9d6ff16ac94f404e60d99db9841e8e85a0f8c5831069a744434cc",
|
|
11
|
+
"source_file_count": 1430,
|
|
12
|
+
"source_files_hash": "f8db0c06ebed73d7f4ee1f33117ef1dc633b59312f6d976ca6abf2e525d527fe",
|
|
13
|
+
"source_list_hash": "f8db0c06ebed73d7f4ee1f33117ef1dc633b59312f6d976ca6abf2e525d527fe",
|
|
14
14
|
"src_mjs_runtime_files": 0,
|
|
15
15
|
"dist_stamp_schema": "sks.dist-build-stamp.v1",
|
|
16
16
|
"files": [
|
|
@@ -186,6 +186,8 @@
|
|
|
186
186
|
"commands/wiki.js",
|
|
187
187
|
"core/agents/agent-central-ledger.d.ts",
|
|
188
188
|
"core/agents/agent-central-ledger.js",
|
|
189
|
+
"core/agents/agent-cleanup-executor.d.ts",
|
|
190
|
+
"core/agents/agent-cleanup-executor.js",
|
|
189
191
|
"core/agents/agent-cleanup.d.ts",
|
|
190
192
|
"core/agents/agent-cleanup.js",
|
|
191
193
|
"core/agents/agent-codex-cockpit.d.ts",
|
|
@@ -262,12 +264,16 @@
|
|
|
262
264
|
"core/agents/agent-worker-slot.js",
|
|
263
265
|
"core/agents/agent-wrongness.d.ts",
|
|
264
266
|
"core/agents/agent-wrongness.js",
|
|
267
|
+
"core/agents/intelligent-work-graph.d.ts",
|
|
268
|
+
"core/agents/intelligent-work-graph.js",
|
|
265
269
|
"core/agents/route-collaboration-ledger.d.ts",
|
|
266
270
|
"core/agents/route-collaboration-ledger.js",
|
|
267
271
|
"core/agents/scout-policy.d.ts",
|
|
268
272
|
"core/agents/scout-policy.js",
|
|
269
273
|
"core/agents/tmux-lane-supervisor.d.ts",
|
|
270
274
|
"core/agents/tmux-lane-supervisor.js",
|
|
275
|
+
"core/agents/tmux-physical-proof.d.ts",
|
|
276
|
+
"core/agents/tmux-physical-proof.js",
|
|
271
277
|
"core/agents/tmux-right-lane-cockpit.d.ts",
|
|
272
278
|
"core/agents/tmux-right-lane-cockpit.js",
|
|
273
279
|
"core/agents/work-partition/conflict-detector.d.ts",
|
|
@@ -713,6 +719,8 @@
|
|
|
713
719
|
"core/proof/command-ledger.js",
|
|
714
720
|
"core/proof/evidence-collector.d.ts",
|
|
715
721
|
"core/proof/evidence-collector.js",
|
|
722
|
+
"core/proof/fake-real-proof-policy.d.ts",
|
|
723
|
+
"core/proof/fake-real-proof-policy.js",
|
|
716
724
|
"core/proof/file-change-ledger.d.ts",
|
|
717
725
|
"core/proof/file-change-ledger.js",
|
|
718
726
|
"core/proof/proof-reader.d.ts",
|
|
@@ -879,6 +887,8 @@
|
|
|
879
887
|
"core/wiki-image/visual-anchor.js",
|
|
880
888
|
"core/work-order-ledger.d.ts",
|
|
881
889
|
"core/work-order-ledger.js",
|
|
890
|
+
"scripts/release-parallel-check.d.ts",
|
|
891
|
+
"scripts/release-parallel-check.js",
|
|
882
892
|
"vendor/openai-codex/latest/hooks/permission-request.command.input.schema.json",
|
|
883
893
|
"vendor/openai-codex/latest/hooks/permission-request.command.output.schema.json",
|
|
884
894
|
"vendor/openai-codex/latest/hooks/post-compact.command.input.schema.json",
|
|
@@ -171,18 +171,29 @@ export async function hooksCommand(sub = 'explain', args = []) {
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
const
|
|
174
|
+
const projectReport = await installManagedCodexHooks(root);
|
|
175
|
+
const userReport = await installManagedCodexHooks(root, {
|
|
176
|
+
requirementsPath: path.join(os.homedir(), '.codex', 'requirements.toml'),
|
|
177
|
+
managedDir: path.join(os.homedir(), '.codex', 'managed-hooks')
|
|
178
|
+
});
|
|
179
|
+
const actual = await codexHookTrustDoctor(root, { actual: true });
|
|
175
180
|
const result = {
|
|
176
|
-
...report,
|
|
177
181
|
schema: 'sks.codex-hooks-repair.v1',
|
|
182
|
+
ok: Boolean(projectReport.ok && userReport.ok && actual.ok),
|
|
178
183
|
mode: 'managed',
|
|
184
|
+
root,
|
|
185
|
+
project_install: projectReport,
|
|
186
|
+
user_install: userReport,
|
|
187
|
+
actual_trust: actual.trust,
|
|
188
|
+
managed_dirs: actual.managed_dirs || [],
|
|
189
|
+
blockers: actual.blockers || [],
|
|
179
190
|
next_command: 'sks hooks trust-doctor --actual --json',
|
|
180
|
-
actions: ['
|
|
191
|
+
actions: ['project_requirements_toml_managed_install', 'user_requirements_toml_managed_install']
|
|
181
192
|
};
|
|
182
193
|
if (flag(args, '--json'))
|
|
183
194
|
return console.log(JSON.stringify(result, null, 2));
|
|
184
|
-
console.log(`Hooks managed repair: ${
|
|
185
|
-
if (!
|
|
195
|
+
console.log(`Hooks managed repair: ${result.ok ? 'ok' : 'blocked'}`);
|
|
196
|
+
if (!result.ok)
|
|
186
197
|
process.exitCode = 1;
|
|
187
198
|
return;
|
|
188
199
|
}
|
|
@@ -438,14 +438,9 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
438
438
|
lease_count: number;
|
|
439
439
|
blockers: string[];
|
|
440
440
|
};
|
|
441
|
-
task_graph:
|
|
442
|
-
target_active_slots: number;
|
|
443
|
-
total_work_items: number;
|
|
444
|
-
generated_from_route: string;
|
|
445
|
-
work_items_exceed_active_slots: boolean;
|
|
446
|
-
};
|
|
441
|
+
task_graph: any;
|
|
447
442
|
requested_work_items: number;
|
|
448
|
-
actual_total_work_items:
|
|
443
|
+
actual_total_work_items: any;
|
|
449
444
|
target_active_slots: number;
|
|
450
445
|
minimum_work_items: number;
|
|
451
446
|
scheduler: {
|
|
@@ -578,6 +573,30 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
578
573
|
pane_survival_checked: boolean;
|
|
579
574
|
unexpected_close_count: number;
|
|
580
575
|
lane_count: number;
|
|
576
|
+
physical_tmux_verified: boolean;
|
|
577
|
+
physical_proof_status: any;
|
|
578
|
+
physical_proof_summary: string | null;
|
|
579
|
+
before_drain_proof: string | null;
|
|
580
|
+
after_drain_proof: string | null;
|
|
581
|
+
final_proof: string | null;
|
|
582
|
+
list_panes_artifact: any;
|
|
583
|
+
capture_pane_artifacts: any;
|
|
584
|
+
};
|
|
585
|
+
cleanup_executor: {
|
|
586
|
+
status: string;
|
|
587
|
+
proof: string | null;
|
|
588
|
+
stale_processes_killed: any;
|
|
589
|
+
stale_tmux_panes_closed: any;
|
|
590
|
+
orphan_temp_dirs_removed: any;
|
|
591
|
+
stale_locks_removed: any;
|
|
592
|
+
skipped_active_sessions: any;
|
|
593
|
+
};
|
|
594
|
+
intelligent_work_graph: {
|
|
595
|
+
status: string;
|
|
596
|
+
score: any;
|
|
597
|
+
test_ownership: string;
|
|
598
|
+
critical_path: string;
|
|
599
|
+
integration_bottlenecks: string;
|
|
581
600
|
};
|
|
582
601
|
output_schema_ok: boolean;
|
|
583
602
|
output_tail_report: string;
|
|
@@ -586,6 +605,12 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
586
605
|
killed_timed_out_sessions: any;
|
|
587
606
|
fake_backend_disclaimer: string | null;
|
|
588
607
|
};
|
|
608
|
+
runtime_truth_groups: {
|
|
609
|
+
Fake: string[];
|
|
610
|
+
Optional: string[];
|
|
611
|
+
Proven: string[];
|
|
612
|
+
Blocked: string[];
|
|
613
|
+
};
|
|
589
614
|
blockers: any;
|
|
590
615
|
};
|
|
591
616
|
wrongness: {
|
|
@@ -660,6 +685,32 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
660
685
|
tmux_lane_auto_reopen_count: number;
|
|
661
686
|
tmux_pane_launch_ledger: string;
|
|
662
687
|
tmux_pane_launch_count: number;
|
|
688
|
+
physical_tmux_verified: boolean;
|
|
689
|
+
tmux_physical_proof: string;
|
|
690
|
+
tmux_physical_proof_summary: string;
|
|
691
|
+
tmux_physical_proof_before_drain: string;
|
|
692
|
+
tmux_physical_proof_after_drain: string;
|
|
693
|
+
tmux_physical_proof_final: string;
|
|
694
|
+
tmux_physical_before_drain_ok: boolean;
|
|
695
|
+
tmux_physical_after_drain_ok: boolean;
|
|
696
|
+
tmux_physical_final_ok: boolean;
|
|
697
|
+
tmux_list_panes_artifact: any;
|
|
698
|
+
tmux_capture_pane_artifacts: any;
|
|
699
|
+
tmux_pane_id_reconciled: boolean;
|
|
700
|
+
real_truth_summary: {
|
|
701
|
+
fake_backend: boolean;
|
|
702
|
+
physical_tmux_verified: boolean;
|
|
703
|
+
real_tmux_status: any;
|
|
704
|
+
cleanup_executor_status: string;
|
|
705
|
+
work_graph_quality_score: number;
|
|
706
|
+
fake_vs_real_policy: string;
|
|
707
|
+
};
|
|
708
|
+
intelligent_work_graph: string;
|
|
709
|
+
test_ownership_map: string;
|
|
710
|
+
critical_path: string;
|
|
711
|
+
integration_bottlenecks: string;
|
|
712
|
+
work_graph_quality_score: number;
|
|
713
|
+
work_graph_quality_partial: boolean;
|
|
663
714
|
terminal_reports_match_generations: boolean;
|
|
664
715
|
ledger_hash_chain_ok: boolean;
|
|
665
716
|
no_overlap_ok: boolean;
|
package/dist/commands/ppt.d.ts
CHANGED
|
@@ -290,14 +290,9 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
290
290
|
lease_count: number;
|
|
291
291
|
blockers: string[];
|
|
292
292
|
};
|
|
293
|
-
task_graph:
|
|
294
|
-
target_active_slots: number;
|
|
295
|
-
total_work_items: number;
|
|
296
|
-
generated_from_route: string;
|
|
297
|
-
work_items_exceed_active_slots: boolean;
|
|
298
|
-
};
|
|
293
|
+
task_graph: any;
|
|
299
294
|
requested_work_items: number;
|
|
300
|
-
actual_total_work_items:
|
|
295
|
+
actual_total_work_items: any;
|
|
301
296
|
target_active_slots: number;
|
|
302
297
|
minimum_work_items: number;
|
|
303
298
|
scheduler: {
|
|
@@ -430,6 +425,30 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
430
425
|
pane_survival_checked: boolean;
|
|
431
426
|
unexpected_close_count: number;
|
|
432
427
|
lane_count: number;
|
|
428
|
+
physical_tmux_verified: boolean;
|
|
429
|
+
physical_proof_status: any;
|
|
430
|
+
physical_proof_summary: string | null;
|
|
431
|
+
before_drain_proof: string | null;
|
|
432
|
+
after_drain_proof: string | null;
|
|
433
|
+
final_proof: string | null;
|
|
434
|
+
list_panes_artifact: any;
|
|
435
|
+
capture_pane_artifacts: any;
|
|
436
|
+
};
|
|
437
|
+
cleanup_executor: {
|
|
438
|
+
status: string;
|
|
439
|
+
proof: string | null;
|
|
440
|
+
stale_processes_killed: any;
|
|
441
|
+
stale_tmux_panes_closed: any;
|
|
442
|
+
orphan_temp_dirs_removed: any;
|
|
443
|
+
stale_locks_removed: any;
|
|
444
|
+
skipped_active_sessions: any;
|
|
445
|
+
};
|
|
446
|
+
intelligent_work_graph: {
|
|
447
|
+
status: string;
|
|
448
|
+
score: any;
|
|
449
|
+
test_ownership: string;
|
|
450
|
+
critical_path: string;
|
|
451
|
+
integration_bottlenecks: string;
|
|
433
452
|
};
|
|
434
453
|
output_schema_ok: boolean;
|
|
435
454
|
output_tail_report: string;
|
|
@@ -438,6 +457,12 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
438
457
|
killed_timed_out_sessions: any;
|
|
439
458
|
fake_backend_disclaimer: string | null;
|
|
440
459
|
};
|
|
460
|
+
runtime_truth_groups: {
|
|
461
|
+
Fake: string[];
|
|
462
|
+
Optional: string[];
|
|
463
|
+
Proven: string[];
|
|
464
|
+
Blocked: string[];
|
|
465
|
+
};
|
|
441
466
|
blockers: any;
|
|
442
467
|
};
|
|
443
468
|
wrongness: {
|
|
@@ -512,6 +537,32 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
512
537
|
tmux_lane_auto_reopen_count: number;
|
|
513
538
|
tmux_pane_launch_ledger: string;
|
|
514
539
|
tmux_pane_launch_count: number;
|
|
540
|
+
physical_tmux_verified: boolean;
|
|
541
|
+
tmux_physical_proof: string;
|
|
542
|
+
tmux_physical_proof_summary: string;
|
|
543
|
+
tmux_physical_proof_before_drain: string;
|
|
544
|
+
tmux_physical_proof_after_drain: string;
|
|
545
|
+
tmux_physical_proof_final: string;
|
|
546
|
+
tmux_physical_before_drain_ok: boolean;
|
|
547
|
+
tmux_physical_after_drain_ok: boolean;
|
|
548
|
+
tmux_physical_final_ok: boolean;
|
|
549
|
+
tmux_list_panes_artifact: any;
|
|
550
|
+
tmux_capture_pane_artifacts: any;
|
|
551
|
+
tmux_pane_id_reconciled: boolean;
|
|
552
|
+
real_truth_summary: {
|
|
553
|
+
fake_backend: boolean;
|
|
554
|
+
physical_tmux_verified: boolean;
|
|
555
|
+
real_tmux_status: any;
|
|
556
|
+
cleanup_executor_status: string;
|
|
557
|
+
work_graph_quality_score: number;
|
|
558
|
+
fake_vs_real_policy: string;
|
|
559
|
+
};
|
|
560
|
+
intelligent_work_graph: string;
|
|
561
|
+
test_ownership_map: string;
|
|
562
|
+
critical_path: string;
|
|
563
|
+
integration_bottlenecks: string;
|
|
564
|
+
work_graph_quality_score: number;
|
|
565
|
+
work_graph_quality_partial: boolean;
|
|
515
566
|
terminal_reports_match_generations: boolean;
|
|
516
567
|
ledger_hash_chain_ok: boolean;
|
|
517
568
|
no_overlap_ok: boolean;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
export declare const AGENT_CLEANUP_PROOF_SCHEMA = "sks.agent-cleanup-proof.v2";
|
|
2
|
+
export declare const AGENT_CLEANUP_ACTION_LEDGER_SCHEMA = "sks.agent-cleanup-action-ledger.v1";
|
|
3
|
+
export interface AgentCleanupExecutorOptions {
|
|
4
|
+
missionDir: string;
|
|
5
|
+
missionId?: string | null;
|
|
6
|
+
action?: 'cleanup' | 'close';
|
|
7
|
+
apply?: boolean;
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
drain?: boolean;
|
|
10
|
+
staleMs?: number;
|
|
11
|
+
}
|
|
12
|
+
type CleanupActionKind = 'terminate_process' | 'close_tmux_pane' | 'remove_temp_dir' | 'remove_lock' | 'skip_active_session' | 'skip_foreign_namespace' | 'archive_transcript_keep';
|
|
13
|
+
interface CleanupAction {
|
|
14
|
+
kind: CleanupActionKind;
|
|
15
|
+
target: string;
|
|
16
|
+
status: 'planned' | 'applied' | 'skipped' | 'failed';
|
|
17
|
+
reason: string;
|
|
18
|
+
error?: string;
|
|
19
|
+
process_tree?: ProcessTreeEntry[];
|
|
20
|
+
before?: Record<string, unknown>;
|
|
21
|
+
after?: Record<string, unknown>;
|
|
22
|
+
signal_sequence?: string[];
|
|
23
|
+
grace_ms?: number;
|
|
24
|
+
verified_exited?: boolean;
|
|
25
|
+
escalated_to_sigkill?: boolean;
|
|
26
|
+
}
|
|
27
|
+
interface ProcessTreeEntry {
|
|
28
|
+
pid: number;
|
|
29
|
+
ppid: number;
|
|
30
|
+
command: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function runAgentCleanupExecutor(opts: AgentCleanupExecutorOptions): Promise<{
|
|
33
|
+
schema: string;
|
|
34
|
+
generated_at: string;
|
|
35
|
+
ok: boolean;
|
|
36
|
+
mission_id: string | null;
|
|
37
|
+
project_namespace: string | null;
|
|
38
|
+
action: string;
|
|
39
|
+
dry_run: boolean;
|
|
40
|
+
apply: boolean;
|
|
41
|
+
stale_processes_found: string[];
|
|
42
|
+
stale_processes_killed: string[];
|
|
43
|
+
process_trees: {
|
|
44
|
+
target: string;
|
|
45
|
+
tree: ProcessTreeEntry[];
|
|
46
|
+
}[];
|
|
47
|
+
sigterm_planned: string[];
|
|
48
|
+
sigterm_sent: string[];
|
|
49
|
+
sigkill_escalations: string[];
|
|
50
|
+
process_exit_verified: string[];
|
|
51
|
+
stale_tmux_panes_found: string[];
|
|
52
|
+
stale_tmux_panes_closed: string[];
|
|
53
|
+
orphan_temp_dirs_found: string[];
|
|
54
|
+
orphan_temp_dirs_removed: string[];
|
|
55
|
+
stale_locks_found: string[];
|
|
56
|
+
stale_locks_removed: string[];
|
|
57
|
+
skipped_active_sessions: string[];
|
|
58
|
+
skipped_foreign_namespace: string[];
|
|
59
|
+
terminal_transcripts_preserved: string[];
|
|
60
|
+
action_count: number;
|
|
61
|
+
applied_count: number;
|
|
62
|
+
failed_count: number;
|
|
63
|
+
actions: CleanupAction[];
|
|
64
|
+
blockers: string[];
|
|
65
|
+
}>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=agent-cleanup-executor.d.ts.map
|