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.
Files changed (50) hide show
  1. package/README.md +16 -1
  2. package/crates/sks-core/Cargo.lock +1 -1
  3. package/crates/sks-core/Cargo.toml +1 -1
  4. package/crates/sks-core/src/main.rs +1 -1
  5. package/dist/.sks-build-stamp.json +4 -4
  6. package/dist/build-manifest.json +19 -9
  7. package/dist/cli/feature-commands.js +16 -5
  8. package/dist/commands/image-ux-review.d.ts +58 -7
  9. package/dist/commands/ppt.d.ts +58 -7
  10. package/dist/core/agents/agent-cleanup-executor.d.ts +67 -0
  11. package/dist/core/agents/agent-cleanup-executor.js +343 -0
  12. package/dist/core/agents/agent-command-surface.d.ts +4 -0
  13. package/dist/core/agents/agent-command-surface.js +6 -2
  14. package/dist/core/agents/agent-orchestrator.d.ts +58 -7
  15. package/dist/core/agents/agent-orchestrator.js +14 -3
  16. package/dist/core/agents/agent-output-validator.d.ts +13 -0
  17. package/dist/core/agents/agent-output-validator.js +12 -1
  18. package/dist/core/agents/agent-proof-evidence.d.ts +26 -0
  19. package/dist/core/agents/agent-proof-evidence.js +42 -0
  20. package/dist/core/agents/agent-runner-codex-exec.js +16 -1
  21. package/dist/core/agents/agent-trust-report.d.ts +30 -0
  22. package/dist/core/agents/agent-trust-report.js +60 -2
  23. package/dist/core/agents/agent-work-partition.d.ts +3 -7
  24. package/dist/core/agents/agent-work-partition.js +11 -2
  25. package/dist/core/agents/intelligent-work-graph.d.ts +51 -0
  26. package/dist/core/agents/intelligent-work-graph.js +369 -0
  27. package/dist/core/agents/route-collaboration-ledger.d.ts +58 -7
  28. package/dist/core/agents/tmux-physical-proof.d.ts +272 -0
  29. package/dist/core/agents/tmux-physical-proof.js +338 -0
  30. package/dist/core/agents/work-partition/repo-inventory.js +1 -1
  31. package/dist/core/codex-hooks/codex-hook-actual-discovery.d.ts +1 -0
  32. package/dist/core/codex-hooks/codex-hook-actual-discovery.js +6 -2
  33. package/dist/core/codex-hooks/codex-hook-trust-doctor.d.ts +29 -0
  34. package/dist/core/codex-hooks/codex-hook-trust-doctor.js +12 -2
  35. package/dist/core/commands/agent-command.js +23 -5
  36. package/dist/core/commands/image-ux-review-command.d.ts +58 -7
  37. package/dist/core/commands/ppt-command.d.ts +58 -7
  38. package/dist/core/fsx.d.ts +1 -1
  39. package/dist/core/fsx.js +1 -1
  40. package/dist/core/hooks-runtime.js +12 -1
  41. package/dist/core/image-ux-review/imagegen-adapter.js +210 -10
  42. package/dist/core/proof/fake-real-proof-policy.d.ts +16 -0
  43. package/dist/core/proof/fake-real-proof-policy.js +75 -0
  44. package/dist/core/routes.js +1 -1
  45. package/dist/core/version.d.ts +1 -1
  46. package/dist/core/version.js +1 -1
  47. package/dist/scripts/release-parallel-check.d.ts +3 -0
  48. package/dist/scripts/release-parallel-check.js +204 -0
  49. package/package.json +20 -4
  50. 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.3** closes the route-truth Dynamic Worker Pool runtime: `agents=5` means five target active worker slots, while `--work-items N` controls the route work queue. Pending work backfills empty slots immediately, tmux lanes persist as worker-slot UI until scheduler drain, follow-up work items are schema-bound, and Agent/Team/Research/QA blackboxes now execute the actual route commands while proving task graph, work queue, scheduler, terminal, Source Intelligence, Goal, and tmux supervisor evidence.
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)
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "sks-core"
79
- version = "1.18.3"
79
+ version = "1.18.5"
80
80
  dependencies = [
81
81
  "serde_json",
82
82
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sks-core"
3
- version = "1.18.3"
3
+ version = "1.18.5"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
@@ -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.3"),
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.3",
5
- "source_digest": "5aefcff7c0119b0c22dc3ca2d50edd2dbd5f069ea1a9838cee14700f0ede28de",
6
- "source_file_count": 1370,
7
- "built_at_source_time": 1779767703495
4
+ "package_version": "1.18.5",
5
+ "source_digest": "25698b68e8f9d6ff16ac94f404e60d99db9841e8e85a0f8c5831069a744434cc",
6
+ "source_file_count": 1430,
7
+ "built_at_source_time": 1779807721873
8
8
  }
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "schema": "sks.dist-build.v2",
3
- "version": "1.18.3",
4
- "package_version": "1.18.3",
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": 864,
8
- "compiled_js_count": 432,
9
- "compiled_dts_count": 432,
10
- "source_digest": "5aefcff7c0119b0c22dc3ca2d50edd2dbd5f069ea1a9838cee14700f0ede28de",
11
- "source_file_count": 1370,
12
- "source_files_hash": "1807c675876cb62160e1f8e2fb69a846610ba2a34fa01154263805337a98c149",
13
- "source_list_hash": "1807c675876cb62160e1f8e2fb69a846610ba2a34fa01154263805337a98c149",
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 report = await installManagedCodexHooks(root);
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: ['requirements_toml_managed_install_default']
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: ${report.ok ? 'ok' : 'blocked'}`);
185
- if (!report.ok)
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: number;
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;
@@ -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: number;
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