sneakoscope 1.18.2 → 1.18.4
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 +14 -2
- 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/bin/sks.js +1 -1
- package/dist/build-manifest.json +17 -9
- package/dist/cli/feature-commands.js +16 -5
- package/dist/commands/image-ux-review.d.ts +67 -7
- package/dist/commands/ppt.d.ts +67 -7
- package/dist/core/agents/agent-cleanup-executor.d.ts +47 -0
- package/dist/core/agents/agent-cleanup-executor.js +211 -0
- package/dist/core/agents/agent-command-surface.d.ts +3 -0
- package/dist/core/agents/agent-command-surface.js +4 -1
- package/dist/core/agents/agent-orchestrator.d.ts +67 -7
- package/dist/core/agents/agent-orchestrator.js +72 -6
- package/dist/core/agents/agent-proof-evidence.d.ts +46 -1
- package/dist/core/agents/agent-proof-evidence.js +76 -1
- package/dist/core/agents/agent-runner-codex-exec.js +10 -0
- package/dist/core/agents/agent-runner-tmux.js +35 -1
- package/dist/core/agents/agent-schema.d.ts +2 -0
- package/dist/core/agents/agent-trust-report.d.ts +20 -0
- package/dist/core/agents/agent-trust-report.js +28 -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 +40 -0
- package/dist/core/agents/intelligent-work-graph.js +217 -0
- package/dist/core/agents/route-collaboration-ledger.d.ts +67 -7
- package/dist/core/agents/tmux-lane-supervisor.d.ts +3 -0
- package/dist/core/agents/tmux-lane-supervisor.js +58 -2
- package/dist/core/agents/tmux-physical-proof.d.ts +184 -0
- package/dist/core/agents/tmux-physical-proof.js +269 -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 +13 -6
- package/dist/core/commands/image-ux-review-command.d.ts +67 -7
- package/dist/core/commands/ppt-command.d.ts +67 -7
- package/dist/core/commands/qa-loop-command.js +7 -3
- package/dist/core/commands/research-command.js +6 -3
- package/dist/core/commands/team-command.js +9 -1
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/proof/fake-real-proof-policy.d.ts +15 -0
- package/dist/core/proof/fake-real-proof-policy.js +52 -0
- package/dist/core/routes.js +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/package.json +18 -2
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.4** closes the runtime-truth gap left after the route-truth Dynamic Worker Pool work: real tmux mode now requires physical pane evidence from `tmux list-panes`, `tmux capture-pane`, pane-id reconciliation, and drain-close checks; real Codex dynamic smoke is opt-in through `SKS_TEST_REAL_DYNAMIC_AGENTS=1`; `sks agent close/cleanup` now writes executor proof for stale process, tmux, temp, and lock cleanup; and the task graph carries an intelligent work graph score, test ownership, critical path, and integration bottleneck artifacts. Fake fixture evidence remains useful for hermetic release gates, but it is explicitly separated from real runtime proof.
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
sks mad-sks plan --target-root <path> --json
|
|
@@ -23,7 +23,13 @@ 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:intelligent-work-graph
|
|
28
|
+
npm run proof:fake-vs-real-policy
|
|
29
|
+
npm run route:blackbox-realism
|
|
30
|
+
npm run release:real-check
|
|
26
31
|
npm run agent:backfill-route-blackbox
|
|
32
|
+
npm run team:actual-route-backfill
|
|
27
33
|
npm run release:readiness
|
|
28
34
|
```
|
|
29
35
|
|
|
@@ -57,6 +63,12 @@ Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release
|
|
|
57
63
|
- Main no-Scout / worker Scout policy: [docs/main-no-scout-worker-scout-policy.md](docs/main-no-scout-worker-scout-policy.md)
|
|
58
64
|
- Agent terminal lanes: [docs/agent-terminal-lanes.md](docs/agent-terminal-lanes.md)
|
|
59
65
|
- tmux right-lane cockpit: [docs/tmux-right-lane-cockpit.md](docs/tmux-right-lane-cockpit.md)
|
|
66
|
+
- Real tmux pane proof: [docs/real-tmux-pane-proof.md](docs/real-tmux-pane-proof.md)
|
|
67
|
+
- Real Codex dynamic smoke: [docs/real-codex-dynamic-smoke.md](docs/real-codex-dynamic-smoke.md)
|
|
68
|
+
- Agent cleanup executor: [docs/agent-cleanup-executor.md](docs/agent-cleanup-executor.md)
|
|
69
|
+
- Intelligent work graph: [docs/intelligent-work-graph.md](docs/intelligent-work-graph.md)
|
|
70
|
+
- Fake vs real proof policy: [docs/fake-vs-real-proof-policy.md](docs/fake-vs-real-proof-policy.md)
|
|
71
|
+
- Migration 1.18.3 to 1.18.4: [docs/migration-1.18.3-to-1.18.4.md](docs/migration-1.18.3-to-1.18.4.md)
|
|
60
72
|
- Codex official Goal mode: [docs/codex-official-goal-mode.md](docs/codex-official-goal-mode.md)
|
|
61
73
|
- Release parallel full coverage: [docs/release-parallel-full-coverage.md](docs/release-parallel-full-coverage.md)
|
|
62
74
|
- Priority closure P0-P4: [docs/priority-closure-p0-p4.md](docs/priority-closure-p0-p4.md)
|
|
@@ -613,7 +625,7 @@ npm run release:check
|
|
|
613
625
|
npm run publish:dry
|
|
614
626
|
```
|
|
615
627
|
|
|
616
|
-
`release:check` runs the 1.18.
|
|
628
|
+
`release:check` runs the 1.18.3 route-truth dynamic scheduler closure DAG, writes a source digest stamp under `.sneakoscope/reports/`, then refreshes release readiness so publish commands can verify the same stamp. The DAG preserves the 1.18 baseline gates and adds task graph expansion, schema-bound follow-up work, actual Agent/Team/Research/QA route backfill blackboxes, scheduler proof hardening, persistent tmux lane supervisor integration, no-flicker lane proof, session generation, terminal generation, dynamic cockpit, Source Intelligence propagation, and Goal mode propagation checks. Broader live or historical gates remain explicit scripts such as `release:real-check`. Generate the human-readable registry with `sks features inventory --write-docs`. Plain `npm publish` uses the `latest` dist-tag. npm's `prepublishOnly` verifies the fresh release stamp instead of rerunning the full gate, and `prepack` only rebuilds `dist`; publish no longer repeats the expensive release suite during packaging. `npm run publish:dry` remains the explicit dry-run helper.
|
|
617
629
|
|
|
618
630
|
Version bumps are manual. Run `sks versioning bump` only when preparing release metadata; SKS will not create `.git/hooks/pre-commit` or auto-bump during ordinary commits.
|
|
619
631
|
|
|
@@ -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.4"),
|
|
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.4",
|
|
5
|
+
"source_digest": "33109bbaf2af23979db84be40e35c9d47e2b35618270ab31547bfda9b59f590f",
|
|
6
|
+
"source_file_count": 1405,
|
|
7
|
+
"built_at_source_time": 1779777408842
|
|
8
8
|
}
|
package/dist/bin/sks.js
CHANGED
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.4",
|
|
4
|
+
"package_version": "1.18.4",
|
|
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": 872,
|
|
8
|
+
"compiled_js_count": 436,
|
|
9
|
+
"compiled_dts_count": 436,
|
|
10
|
+
"source_digest": "33109bbaf2af23979db84be40e35c9d47e2b35618270ab31547bfda9b59f590f",
|
|
11
|
+
"source_file_count": 1405,
|
|
12
|
+
"source_files_hash": "eef20a281a31010636ae8b25a6e03acd3ac4564fb9870beed34653150250e3fe",
|
|
13
|
+
"source_list_hash": "eef20a281a31010636ae8b25a6e03acd3ac4564fb9870beed34653150250e3fe",
|
|
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",
|
|
@@ -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
|
}
|
|
@@ -385,6 +385,8 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
385
385
|
ok: boolean;
|
|
386
386
|
mission_id: any;
|
|
387
387
|
route: string;
|
|
388
|
+
route_command: string;
|
|
389
|
+
route_blackbox_kind: string;
|
|
388
390
|
backend: "tmux" | "fake" | "process" | "codex-exec";
|
|
389
391
|
ledger_root: string;
|
|
390
392
|
roster: {
|
|
@@ -436,12 +438,11 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
436
438
|
lease_count: number;
|
|
437
439
|
blockers: string[];
|
|
438
440
|
};
|
|
439
|
-
task_graph:
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
};
|
|
441
|
+
task_graph: any;
|
|
442
|
+
requested_work_items: number;
|
|
443
|
+
actual_total_work_items: any;
|
|
444
|
+
target_active_slots: number;
|
|
445
|
+
minimum_work_items: number;
|
|
445
446
|
scheduler: {
|
|
446
447
|
schema: string;
|
|
447
448
|
ok: boolean;
|
|
@@ -572,6 +573,26 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
572
573
|
pane_survival_checked: boolean;
|
|
573
574
|
unexpected_close_count: number;
|
|
574
575
|
lane_count: number;
|
|
576
|
+
physical_tmux_verified: boolean;
|
|
577
|
+
physical_proof_status: any;
|
|
578
|
+
list_panes_artifact: any;
|
|
579
|
+
capture_pane_artifacts: any;
|
|
580
|
+
};
|
|
581
|
+
cleanup_executor: {
|
|
582
|
+
status: string;
|
|
583
|
+
proof: string | null;
|
|
584
|
+
stale_processes_killed: any;
|
|
585
|
+
stale_tmux_panes_closed: any;
|
|
586
|
+
orphan_temp_dirs_removed: any;
|
|
587
|
+
stale_locks_removed: any;
|
|
588
|
+
skipped_active_sessions: any;
|
|
589
|
+
};
|
|
590
|
+
intelligent_work_graph: {
|
|
591
|
+
status: string;
|
|
592
|
+
score: any;
|
|
593
|
+
test_ownership: string;
|
|
594
|
+
critical_path: string;
|
|
595
|
+
integration_bottlenecks: string;
|
|
575
596
|
};
|
|
576
597
|
output_schema_ok: boolean;
|
|
577
598
|
output_tail_report: string;
|
|
@@ -600,6 +621,10 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
600
621
|
generated_at: string;
|
|
601
622
|
mission_id: string;
|
|
602
623
|
backend: string;
|
|
624
|
+
route: string;
|
|
625
|
+
route_command: string;
|
|
626
|
+
route_blackbox_kind: string;
|
|
627
|
+
real_route_command_used: boolean;
|
|
603
628
|
real_parallel_claim: boolean;
|
|
604
629
|
fake_backend_disclaimer: string | null;
|
|
605
630
|
agent_count: any;
|
|
@@ -615,26 +640,61 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
615
640
|
session_generation_count: number;
|
|
616
641
|
all_generations_closed: boolean;
|
|
617
642
|
scheduler_state: string;
|
|
618
|
-
target_active_slots:
|
|
643
|
+
target_active_slots: number;
|
|
644
|
+
requested_work_items: number;
|
|
645
|
+
actual_total_work_items: number;
|
|
646
|
+
minimum_work_items: number;
|
|
647
|
+
task_graph_total_work_items: number;
|
|
648
|
+
work_queue_total_work_items: number;
|
|
649
|
+
scheduler_total_work_items: number;
|
|
650
|
+
task_graph_matches_cli_options: boolean;
|
|
651
|
+
work_queue_matches_task_graph: boolean;
|
|
652
|
+
scheduler_matches_work_queue: boolean;
|
|
619
653
|
max_observed_active_slots: any;
|
|
620
654
|
pending_queue_drained: boolean;
|
|
621
655
|
backfill_count: any;
|
|
622
656
|
expected_backfill_count: any;
|
|
657
|
+
backfill_expected_for_route: boolean;
|
|
623
658
|
slot_count: any;
|
|
624
659
|
generation_count: number;
|
|
625
660
|
all_slots_closed_after_drain: boolean;
|
|
626
661
|
generated_work_item_count: any;
|
|
627
662
|
source_intelligence_generation_refs_ok: boolean;
|
|
628
663
|
goal_mode_generation_refs_ok: boolean;
|
|
664
|
+
task_graph_source_refs_ok: any;
|
|
665
|
+
task_graph_goal_refs_ok: any;
|
|
666
|
+
work_queue_source_refs_ok: any;
|
|
667
|
+
work_queue_goal_refs_ok: any;
|
|
629
668
|
tmux_lane_manifest: string;
|
|
630
669
|
tmux_lane_manifest_ok: boolean;
|
|
631
670
|
tmux_lane_supervisor: string;
|
|
671
|
+
lane_supervisor_integrated: boolean;
|
|
632
672
|
tmux_lane_no_flicker_verified: boolean;
|
|
633
673
|
tmux_lane_survival_checked: boolean;
|
|
634
674
|
tmux_lane_unexpected_close_count: number;
|
|
635
675
|
tmux_lane_auto_reopen_count: number;
|
|
636
676
|
tmux_pane_launch_ledger: string;
|
|
637
677
|
tmux_pane_launch_count: number;
|
|
678
|
+
physical_tmux_verified: boolean;
|
|
679
|
+
tmux_physical_proof: string;
|
|
680
|
+
tmux_list_panes_artifact: any;
|
|
681
|
+
tmux_capture_pane_artifacts: any;
|
|
682
|
+
tmux_pane_id_reconciled: boolean;
|
|
683
|
+
real_truth_summary: {
|
|
684
|
+
fake_backend: boolean;
|
|
685
|
+
physical_tmux_verified: boolean;
|
|
686
|
+
real_tmux_status: any;
|
|
687
|
+
cleanup_executor_status: string;
|
|
688
|
+
work_graph_quality_score: number;
|
|
689
|
+
fake_vs_real_policy: string;
|
|
690
|
+
};
|
|
691
|
+
intelligent_work_graph: string;
|
|
692
|
+
test_ownership_map: string;
|
|
693
|
+
critical_path: string;
|
|
694
|
+
integration_bottlenecks: string;
|
|
695
|
+
work_graph_quality_score: number;
|
|
696
|
+
work_graph_quality_partial: boolean;
|
|
697
|
+
terminal_reports_match_generations: boolean;
|
|
638
698
|
ledger_hash_chain_ok: boolean;
|
|
639
699
|
no_overlap_ok: boolean;
|
|
640
700
|
consensus_ok: boolean;
|
package/dist/commands/ppt.d.ts
CHANGED
|
@@ -237,6 +237,8 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
237
237
|
ok: boolean;
|
|
238
238
|
mission_id: any;
|
|
239
239
|
route: string;
|
|
240
|
+
route_command: string;
|
|
241
|
+
route_blackbox_kind: string;
|
|
240
242
|
backend: "tmux" | "fake" | "process" | "codex-exec";
|
|
241
243
|
ledger_root: string;
|
|
242
244
|
roster: {
|
|
@@ -288,12 +290,11 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
288
290
|
lease_count: number;
|
|
289
291
|
blockers: string[];
|
|
290
292
|
};
|
|
291
|
-
task_graph:
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
};
|
|
293
|
+
task_graph: any;
|
|
294
|
+
requested_work_items: number;
|
|
295
|
+
actual_total_work_items: any;
|
|
296
|
+
target_active_slots: number;
|
|
297
|
+
minimum_work_items: number;
|
|
297
298
|
scheduler: {
|
|
298
299
|
schema: string;
|
|
299
300
|
ok: boolean;
|
|
@@ -424,6 +425,26 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
424
425
|
pane_survival_checked: boolean;
|
|
425
426
|
unexpected_close_count: number;
|
|
426
427
|
lane_count: number;
|
|
428
|
+
physical_tmux_verified: boolean;
|
|
429
|
+
physical_proof_status: any;
|
|
430
|
+
list_panes_artifact: any;
|
|
431
|
+
capture_pane_artifacts: any;
|
|
432
|
+
};
|
|
433
|
+
cleanup_executor: {
|
|
434
|
+
status: string;
|
|
435
|
+
proof: string | null;
|
|
436
|
+
stale_processes_killed: any;
|
|
437
|
+
stale_tmux_panes_closed: any;
|
|
438
|
+
orphan_temp_dirs_removed: any;
|
|
439
|
+
stale_locks_removed: any;
|
|
440
|
+
skipped_active_sessions: any;
|
|
441
|
+
};
|
|
442
|
+
intelligent_work_graph: {
|
|
443
|
+
status: string;
|
|
444
|
+
score: any;
|
|
445
|
+
test_ownership: string;
|
|
446
|
+
critical_path: string;
|
|
447
|
+
integration_bottlenecks: string;
|
|
427
448
|
};
|
|
428
449
|
output_schema_ok: boolean;
|
|
429
450
|
output_tail_report: string;
|
|
@@ -452,6 +473,10 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
452
473
|
generated_at: string;
|
|
453
474
|
mission_id: string;
|
|
454
475
|
backend: string;
|
|
476
|
+
route: string;
|
|
477
|
+
route_command: string;
|
|
478
|
+
route_blackbox_kind: string;
|
|
479
|
+
real_route_command_used: boolean;
|
|
455
480
|
real_parallel_claim: boolean;
|
|
456
481
|
fake_backend_disclaimer: string | null;
|
|
457
482
|
agent_count: any;
|
|
@@ -467,26 +492,61 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
467
492
|
session_generation_count: number;
|
|
468
493
|
all_generations_closed: boolean;
|
|
469
494
|
scheduler_state: string;
|
|
470
|
-
target_active_slots:
|
|
495
|
+
target_active_slots: number;
|
|
496
|
+
requested_work_items: number;
|
|
497
|
+
actual_total_work_items: number;
|
|
498
|
+
minimum_work_items: number;
|
|
499
|
+
task_graph_total_work_items: number;
|
|
500
|
+
work_queue_total_work_items: number;
|
|
501
|
+
scheduler_total_work_items: number;
|
|
502
|
+
task_graph_matches_cli_options: boolean;
|
|
503
|
+
work_queue_matches_task_graph: boolean;
|
|
504
|
+
scheduler_matches_work_queue: boolean;
|
|
471
505
|
max_observed_active_slots: any;
|
|
472
506
|
pending_queue_drained: boolean;
|
|
473
507
|
backfill_count: any;
|
|
474
508
|
expected_backfill_count: any;
|
|
509
|
+
backfill_expected_for_route: boolean;
|
|
475
510
|
slot_count: any;
|
|
476
511
|
generation_count: number;
|
|
477
512
|
all_slots_closed_after_drain: boolean;
|
|
478
513
|
generated_work_item_count: any;
|
|
479
514
|
source_intelligence_generation_refs_ok: boolean;
|
|
480
515
|
goal_mode_generation_refs_ok: boolean;
|
|
516
|
+
task_graph_source_refs_ok: any;
|
|
517
|
+
task_graph_goal_refs_ok: any;
|
|
518
|
+
work_queue_source_refs_ok: any;
|
|
519
|
+
work_queue_goal_refs_ok: any;
|
|
481
520
|
tmux_lane_manifest: string;
|
|
482
521
|
tmux_lane_manifest_ok: boolean;
|
|
483
522
|
tmux_lane_supervisor: string;
|
|
523
|
+
lane_supervisor_integrated: boolean;
|
|
484
524
|
tmux_lane_no_flicker_verified: boolean;
|
|
485
525
|
tmux_lane_survival_checked: boolean;
|
|
486
526
|
tmux_lane_unexpected_close_count: number;
|
|
487
527
|
tmux_lane_auto_reopen_count: number;
|
|
488
528
|
tmux_pane_launch_ledger: string;
|
|
489
529
|
tmux_pane_launch_count: number;
|
|
530
|
+
physical_tmux_verified: boolean;
|
|
531
|
+
tmux_physical_proof: string;
|
|
532
|
+
tmux_list_panes_artifact: any;
|
|
533
|
+
tmux_capture_pane_artifacts: any;
|
|
534
|
+
tmux_pane_id_reconciled: boolean;
|
|
535
|
+
real_truth_summary: {
|
|
536
|
+
fake_backend: boolean;
|
|
537
|
+
physical_tmux_verified: boolean;
|
|
538
|
+
real_tmux_status: any;
|
|
539
|
+
cleanup_executor_status: string;
|
|
540
|
+
work_graph_quality_score: number;
|
|
541
|
+
fake_vs_real_policy: string;
|
|
542
|
+
};
|
|
543
|
+
intelligent_work_graph: string;
|
|
544
|
+
test_ownership_map: string;
|
|
545
|
+
critical_path: string;
|
|
546
|
+
integration_bottlenecks: string;
|
|
547
|
+
work_graph_quality_score: number;
|
|
548
|
+
work_graph_quality_partial: boolean;
|
|
549
|
+
terminal_reports_match_generations: boolean;
|
|
490
550
|
ledger_hash_chain_ok: boolean;
|
|
491
551
|
no_overlap_ok: boolean;
|
|
492
552
|
consensus_ok: boolean;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const AGENT_CLEANUP_PROOF_SCHEMA = "sks.agent-cleanup-proof.v1";
|
|
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
|
+
}
|
|
20
|
+
export declare function runAgentCleanupExecutor(opts: AgentCleanupExecutorOptions): Promise<{
|
|
21
|
+
schema: string;
|
|
22
|
+
generated_at: string;
|
|
23
|
+
ok: boolean;
|
|
24
|
+
mission_id: string | null;
|
|
25
|
+
project_namespace: string | null;
|
|
26
|
+
action: string;
|
|
27
|
+
dry_run: boolean;
|
|
28
|
+
apply: boolean;
|
|
29
|
+
stale_processes_found: string[];
|
|
30
|
+
stale_processes_killed: string[];
|
|
31
|
+
stale_tmux_panes_found: string[];
|
|
32
|
+
stale_tmux_panes_closed: string[];
|
|
33
|
+
orphan_temp_dirs_found: string[];
|
|
34
|
+
orphan_temp_dirs_removed: string[];
|
|
35
|
+
stale_locks_found: string[];
|
|
36
|
+
stale_locks_removed: string[];
|
|
37
|
+
skipped_active_sessions: string[];
|
|
38
|
+
skipped_foreign_namespace: string[];
|
|
39
|
+
terminal_transcripts_preserved: string[];
|
|
40
|
+
action_count: number;
|
|
41
|
+
applied_count: number;
|
|
42
|
+
failed_count: number;
|
|
43
|
+
actions: CleanupAction[];
|
|
44
|
+
blockers: string[];
|
|
45
|
+
}>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=agent-cleanup-executor.d.ts.map
|