@ckanner/flywheel 0.30.2 → 0.31.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/CHANGELOG.md +58 -3
- package/CONTRIBUTING.md +19 -0
- package/LICENSE +21 -0
- package/README.en.md +4 -169
- package/README.md +152 -267
- package/README.zh-CN.md +116 -0
- package/bin/flywheel-claude-code-pro-worker.js +1 -1
- package/bin/flywheel-codex-pro-worker.js +1 -1
- package/bin/flywheel-dsh-worker.js +1 -1
- package/bin/flywheel.js +1 -1
- package/bin/runtime.js +1 -1
- package/docs/README.md +84 -0
- package/docs/README.zh-CN.md +64 -0
- package/docs/archive/README.md +13 -0
- package/docs/archive/codex-pro-adapter-handoff.md +197 -0
- package/docs/archive/design-v0.24.md +540 -0
- package/docs/design.md +681 -0
- package/docs/en/claude-code-pro.md +25 -16
- package/docs/en/configuration.md +306 -139
- package/docs/en/contributing.md +303 -0
- package/docs/en/flow-console.md +75 -13
- package/docs/en/getting-started.md +232 -126
- package/docs/en/investigation.md +219 -0
- package/docs/en/jev-shadow.md +67 -0
- package/docs/en/model-policy.md +147 -62
- package/docs/en/releasing.md +207 -0
- package/docs/en/session-evaluation.md +4 -2
- package/docs/en/session-recovery.md +49 -4
- package/docs/en/workflow.md +223 -113
- package/docs/evaluation/README.md +12 -0
- package/docs/evaluation/jev-historical-provisional.json +138 -0
- package/docs/evaluation/jev-historical-result-2026-11-10.json +174 -0
- package/docs/plans/2026-11-01-dsh-integration.md +67 -0
- package/docs/plans/2026-11-01-model-profiles-preflight.md +29 -0
- package/docs/plans/2026-11-01-npm-installation.md +19 -0
- package/docs/plans/2026-11-03-codex-pro-default.md +28 -0
- package/docs/plans/2026-11-06-adaptive-workflow.md +365 -0
- package/docs/plans/2026-11-07-session-lifecycle.en.md +424 -0
- package/docs/plans/2026-11-07-session-lifecycle.md +337 -0
- package/docs/plans/2026-11-08-flow-console.md +271 -0
- package/docs/plans/2026-11-10-jev-shadow.md +32 -0
- package/docs/plans/2026-11-10-task-discovery.md +17 -0
- package/docs/plans/2026-11-10-workbench-redesign.md +19 -0
- package/docs/plans/2026-11-12-feedback-driven-workflows.md +739 -0
- package/docs/plans/README.md +22 -0
- package/docs/reviews/2026-08-24-v0.18-review-fixplan.md +265 -0
- package/docs/reviews/2026-09-12-pr4-pr5-review.md +70 -0
- package/docs/reviews/README.md +12 -0
- package/docs/validation/2026-11-01-npm-installation.md +105 -0
- package/docs/validation/2026-11-01-profiles-preflight.md +67 -0
- package/docs/validation/2026-11-01-results.md +114 -0
- package/docs/validation/2026-11-03-codex-pro-default.md +90 -0
- package/docs/validation/2026-11-04-dsh-native-view.md +85 -0
- package/docs/validation/2026-11-04-release-0.28.1.md +33 -0
- package/docs/validation/2026-11-04-release-0.28.2.md +35 -0
- package/docs/validation/2026-11-05-dsh-0.2.2-compatibility.md +26 -0
- package/docs/validation/2026-11-05-registry-smoke-recovery.md +26 -0
- package/docs/validation/2026-11-05-release-0.28.3.md +32 -0
- package/docs/validation/2026-11-05-subscription-model-access.md +60 -0
- package/docs/validation/2026-11-05-view-order.md +14 -0
- package/docs/validation/2026-11-07-adaptive-workflow.md +79 -0
- package/docs/validation/2026-11-07-claude-code-pro.md +144 -0
- package/docs/validation/2026-11-07-session-lifecycle.md +136 -0
- package/docs/validation/2026-11-08-session-p3-p4.md +99 -0
- package/docs/validation/2026-11-09-flow-console.md +81 -0
- package/docs/validation/2026-11-10-jev-shadow.md +50 -0
- package/docs/validation/2026-11-10-task-discovery.md +45 -0
- package/docs/validation/2026-11-10-workbench-redesign.md +54 -0
- package/docs/validation/2026-11-11-release-0.30.2.md +65 -0
- package/docs/validation/2026-11-11-release-0.31.0.md +46 -0
- package/docs/validation/2026-11-12-dsh-0.2.2-rc.2.md +58 -0
- package/docs/validation/2026-11-12-feedback-driven-workflows.md +187 -0
- package/docs/validation/README.md +41 -0
- package/docs/validation/evidence/2026-11-08-session-p3-p4.json +5430 -0
- package/docs/validation/evidence/claude-node-bridges.txt +118 -0
- package/docs/validation/evidence/claude-npm-build.txt +15 -0
- package/docs/validation/evidence/claude-npm-candidate.json +54 -0
- package/docs/validation/evidence/claude-npm-install.txt +21 -0
- package/docs/validation/evidence/claude-npm-tests.txt +145 -0
- package/docs/validation/evidence/claude-plugin-tests.txt +205 -0
- package/docs/validation/evidence/claude-quality-gate.txt +29 -0
- package/docs/validation/evidence/claude-race.txt +7 -0
- package/docs/validation/evidence/codex-pro-070-probes.txt +4 -0
- package/docs/validation/evidence/dsh-bridge.txt +4 -0
- package/docs/validation/evidence/dsh-native-view-bridge-tests.txt +1 -0
- package/docs/validation/evidence/dsh-native-view-build.txt +15 -0
- package/docs/validation/evidence/dsh-native-view-candidate.json +54 -0
- package/docs/validation/evidence/dsh-native-view-inspect.txt +27 -0
- package/docs/validation/evidence/dsh-native-view-install-tests.txt +19 -0
- package/docs/validation/evidence/dsh-native-view-npm-tests.txt +143 -0
- package/docs/validation/evidence/dsh-native-view-plugin-tests.txt +99 -0
- package/docs/validation/evidence/dsh-native-view-quality-gate.txt +29 -0
- package/docs/validation/evidence/dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/function-coverage.txt +378 -0
- package/docs/validation/evidence/npm-build.txt +13 -0
- package/docs/validation/evidence/npm-contract-tests.txt +65 -0
- package/docs/validation/evidence/npm-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/npm-dsh-plugin-tests.txt +62 -0
- package/docs/validation/evidence/npm-function-coverage.txt +420 -0
- package/docs/validation/evidence/npm-install-tests.txt +20 -0
- package/docs/validation/evidence/npm-quality-gate.txt +29 -0
- package/docs/validation/evidence/npm-race.txt +7 -0
- package/docs/validation/evidence/pr-dsh-bridge.txt +4 -0
- package/docs/validation/evidence/pr-dsh-plugin-tests.txt +48 -0
- package/docs/validation/evidence/pr-function-coverage.txt +379 -0
- package/docs/validation/evidence/pr-quality-gate.txt +28 -0
- package/docs/validation/evidence/pr-race.txt +6 -0
- package/docs/validation/evidence/profiles-control-smoke.json +1 -0
- package/docs/validation/evidence/profiles-dsh-bridge.txt +18 -0
- package/docs/validation/evidence/profiles-dsh-plugin-tests.txt +59 -0
- package/docs/validation/evidence/profiles-function-coverage.txt +411 -0
- package/docs/validation/evidence/profiles-quality-gate.txt +29 -0
- package/docs/validation/evidence/profiles-race.txt +7 -0
- package/docs/validation/evidence/quality-gate.txt +28 -0
- package/docs/validation/evidence/race.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-after.txt +2 -0
- package/docs/validation/evidence/watchdog-startup-before.txt +6 -0
- package/docs/validation/evidence/watchdog-startup-quality-gate.txt +29 -0
- package/docs/validation/evidence/watchdog-startup-race.txt +7 -0
- package/docs/{claude-code-pro.md → zh-CN/claude-code-pro.md} +23 -17
- package/docs/{configuration.md → zh-CN/configuration.md} +323 -137
- package/docs/zh-CN/contributing.md +240 -0
- package/docs/{flow-console.md → zh-CN/flow-console.md} +63 -12
- package/docs/zh-CN/getting-started.md +352 -0
- package/docs/zh-CN/investigation.md +182 -0
- package/docs/zh-CN/jev-shadow.md +79 -0
- package/docs/zh-CN/model-policy.md +123 -0
- package/docs/zh-CN/releasing.md +120 -0
- package/docs/{session-evaluation.md → zh-CN/session-evaluation.md} +4 -2
- package/docs/{session-recovery.md → zh-CN/session-recovery.md} +46 -10
- package/docs/zh-CN/workflow.md +270 -0
- package/npm/install.js +1 -1
- package/package.json +12 -25
- package/docs/getting-started.md +0 -418
- package/docs/model-policy.md +0 -65
- package/docs/workflow.md +0 -312
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
github.com/ckanner/flywheel/internal/childenv/childenv.go:18: OSLookupEnv 100.0%
|
|
2
|
+
github.com/ckanner/flywheel/internal/childenv/childenv.go:22: BuildChildEnv 100.0%
|
|
3
|
+
github.com/ckanner/flywheel/internal/childenv/childenv.go:41: GateEnv 100.0%
|
|
4
|
+
github.com/ckanner/flywheel/internal/childenv/childenv.go:53: EnvSlice 100.0%
|
|
5
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:36: TodayKey 100.0%
|
|
6
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:42: CheckBudget 100.0%
|
|
7
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:76: Signature 100.0%
|
|
8
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:97: dedupSorted 100.0%
|
|
9
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:114: Jaccard 100.0%
|
|
10
|
+
github.com/ckanner/flywheel/internal/circuitbreaker/circuitbreaker.go:139: DetectSpin 100.0%
|
|
11
|
+
github.com/ckanner/flywheel/internal/cli/control.go:42: controlCmd 100.0%
|
|
12
|
+
github.com/ckanner/flywheel/internal/cli/control.go:107: writeControlJSON 100.0%
|
|
13
|
+
github.com/ckanner/flywheel/internal/cli/control.go:114: controlTaskArg 100.0%
|
|
14
|
+
github.com/ckanner/flywheel/internal/cli/control.go:126: controlDirectory 100.0%
|
|
15
|
+
github.com/ckanner/flywheel/internal/cli/control.go:146: controlSnapshot 100.0%
|
|
16
|
+
github.com/ckanner/flywheel/internal/cli/control.go:167: startControlledTask 100.0%
|
|
17
|
+
github.com/ckanner/flywheel/internal/cli/diagnostic.go:17: diagnosticContext 100.0%
|
|
18
|
+
github.com/ckanner/flywheel/internal/cli/diagnostic.go:21: configCmd 100.0%
|
|
19
|
+
github.com/ckanner/flywheel/internal/cli/diagnostic.go:49: printConfiguration 100.0%
|
|
20
|
+
github.com/ckanner/flywheel/internal/cli/diagnostic.go:61: doctorCmd 100.0%
|
|
21
|
+
github.com/ckanner/flywheel/internal/cli/diagnostic.go:88: printDiagnostic 100.0%
|
|
22
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:52: installEmbeddedSnapshot 100.0%
|
|
23
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:84: acquireSnapshotLock 100.0%
|
|
24
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:104: snapshotEntries 100.0%
|
|
25
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:145: ownedSnapshot 100.0%
|
|
26
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:193: publishSnapshot 100.0%
|
|
27
|
+
github.com/ckanner/flywheel/internal/cli/install_snapshot.go:203: installSkillSnapshot 100.0%
|
|
28
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:20: intakeCmd 100.0%
|
|
29
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:52: gardenCmd 100.0%
|
|
30
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:89: installSkillsCmd 100.0%
|
|
31
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:150: installJSONRequested 100.0%
|
|
32
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:167: skillInstallReport 100.0%
|
|
33
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:197: renderSkillInstall 100.0%
|
|
34
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:225: renderInstall 100.0%
|
|
35
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:249: materializeFS 100.0%
|
|
36
|
+
github.com/ckanner/flywheel/internal/cli/modules_cmd.go:269: repoRoot 100.0%
|
|
37
|
+
github.com/ckanner/flywheel/internal/cli/root.go:22: Execute 100.0%
|
|
38
|
+
github.com/ckanner/flywheel/internal/cli/root.go:32: Error 100.0%
|
|
39
|
+
github.com/ckanner/flywheel/internal/cli/root.go:40: runRoot 100.0%
|
|
40
|
+
github.com/ckanner/flywheel/internal/cli/root.go:65: logf 100.0%
|
|
41
|
+
github.com/ckanner/flywheel/internal/cli/root.go:69: newRootCmd 100.0%
|
|
42
|
+
github.com/ckanner/flywheel/internal/cli/root.go:95: versionCmd 100.0%
|
|
43
|
+
github.com/ckanner/flywheel/internal/cli/run.go:19: contains 100.0%
|
|
44
|
+
github.com/ckanner/flywheel/internal/cli/run.go:28: runCmd 100.0%
|
|
45
|
+
github.com/ckanner/flywheel/internal/cli/run.go:99: orEmptyStr 100.0%
|
|
46
|
+
github.com/ckanner/flywheel/internal/cli/run.go:109: printJSON 100.0%
|
|
47
|
+
github.com/ckanner/flywheel/internal/cli/skills.go:12: skillsCmd 100.0%
|
|
48
|
+
github.com/ckanner/flywheel/internal/cli/skills.go:21: skillsListCmd 100.0%
|
|
49
|
+
github.com/ckanner/flywheel/internal/cli/skills.go:34: skillsReadCmd 100.0%
|
|
50
|
+
github.com/ckanner/flywheel/internal/cli/status.go:25: signalZero 100.0%
|
|
51
|
+
github.com/ckanner/flywheel/internal/cli/status.go:27: statusCmd 100.0%
|
|
52
|
+
github.com/ckanner/flywheel/internal/cli/status.go:124: evidencePass 100.0%
|
|
53
|
+
github.com/ckanner/flywheel/internal/cli/status.go:136: evidenceVerdict 100.0%
|
|
54
|
+
github.com/ckanner/flywheel/internal/cli/status.go:146: orchestratorAlive 100.0%
|
|
55
|
+
github.com/ckanner/flywheel/internal/cli/status.go:170: warnIfStalled 100.0%
|
|
56
|
+
github.com/ckanner/flywheel/internal/cli/stop.go:23: stopCmd 100.0%
|
|
57
|
+
github.com/ckanner/flywheel/internal/cli/stop.go:50: stopTask 100.0%
|
|
58
|
+
github.com/ckanner/flywheel/internal/cli/stop.go:83: freezeStoppedTask 100.0%
|
|
59
|
+
github.com/ckanner/flywheel/internal/cli/template.go:14: templateCmd 100.0%
|
|
60
|
+
github.com/ckanner/flywheel/internal/cli/util.go:12: mustCwd 100.0%
|
|
61
|
+
github.com/ckanner/flywheel/internal/cli/util.go:20: resolveTaskDir 100.0%
|
|
62
|
+
github.com/ckanner/flywheel/internal/cli/util.go:33: Error 100.0%
|
|
63
|
+
github.com/ckanner/flywheel/internal/config/config.go:154: Default 100.0%
|
|
64
|
+
github.com/ckanner/flywheel/internal/config/config.go:176: boolPtr 100.0%
|
|
65
|
+
github.com/ckanner/flywheel/internal/config/config.go:179: Normalize 100.0%
|
|
66
|
+
github.com/ckanner/flywheel/internal/config/config.go:230: Validate 100.0%
|
|
67
|
+
github.com/ckanner/flywheel/internal/config/config.go:323: GlobalConfigPath 100.0%
|
|
68
|
+
github.com/ckanner/flywheel/internal/config/config.go:339: EmbeddedTable 100.0%
|
|
69
|
+
github.com/ckanner/flywheel/internal/config/config.go:346: MaterializeGlobal 100.0%
|
|
70
|
+
github.com/ckanner/flywheel/internal/config/config.go:370: Load 100.0%
|
|
71
|
+
github.com/ckanner/flywheel/internal/config/config.go:376: LoadReadOnly 100.0%
|
|
72
|
+
github.com/ckanner/flywheel/internal/config/config.go:380: load 100.0%
|
|
73
|
+
github.com/ckanner/flywheel/internal/config/config.go:399: loadFile 100.0%
|
|
74
|
+
github.com/ckanner/flywheel/internal/config/config.go:411: parseConfig 100.0%
|
|
75
|
+
github.com/ckanner/flywheel/internal/config/config.go:435: FindConfigFile 100.0%
|
|
76
|
+
github.com/ckanner/flywheel/internal/config/materialize.go:31: materializeGlobalFile 100.0%
|
|
77
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:22: configObject 100.0%
|
|
78
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:40: configJSON 100.0%
|
|
79
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:45: checkConfigFields 100.0%
|
|
80
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:54: configString 100.0%
|
|
81
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:62: validateModelFields 100.0%
|
|
82
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:83: expandModelBinding 100.0%
|
|
83
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:130: expandProfiles 100.0%
|
|
84
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:209: prepareConfigSections 100.0%
|
|
85
|
+
github.com/ckanner/flywheel/internal/config/profiles.go:280: validateBindingProvider 100.0%
|
|
86
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:31: Error 100.0%
|
|
87
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:38: errf 100.0%
|
|
88
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:52: Command 100.0%
|
|
89
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:67: Level 100.0%
|
|
90
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:144: Slug 100.0%
|
|
91
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:152: splitFrontmatter 100.0%
|
|
92
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:178: ParseFrontmatter 100.0%
|
|
93
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:212: compileAll 100.0%
|
|
94
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:251: compileSchemas 100.0%
|
|
95
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:260: flattenErrors 100.0%
|
|
96
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:276: schemaViolations 100.0%
|
|
97
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:291: validateAgainst 100.0%
|
|
98
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:309: MilestoneOfPacket 100.0%
|
|
99
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:320: ParseExpect 100.0%
|
|
100
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:333: ParsePacket 100.0%
|
|
101
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:358: ParseSpec 100.0%
|
|
102
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:392: LoadSpec 100.0%
|
|
103
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:403: LoadPackets 100.0%
|
|
104
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:445: StateSchema 100.0%
|
|
105
|
+
github.com/ckanner/flywheel/internal/contract/contract.go:453: ValidateStateValue 100.0%
|
|
106
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:60: DefaultRun 100.0%
|
|
107
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:64: managedRun 100.0%
|
|
108
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:92: incompleteReason 100.0%
|
|
109
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:115: ParsePatchFiles 100.0%
|
|
110
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:156: ShouldSample 100.0%
|
|
111
|
+
github.com/ckanner/flywheel/internal/defectinjection/defectinjection.go:194: RunDefectInjection 100.0%
|
|
112
|
+
github.com/ckanner/flywheel/internal/diagnostic/configuration.go:48: resolveDirectory 100.0%
|
|
113
|
+
github.com/ckanner/flywheel/internal/diagnostic/configuration.go:69: Inspect 100.0%
|
|
114
|
+
github.com/ckanner/flywheel/internal/diagnostic/configuration.go:75: InspectContext 100.0%
|
|
115
|
+
github.com/ckanner/flywheel/internal/diagnostic/configuration.go:82: inspect 100.0%
|
|
116
|
+
github.com/ckanner/flywheel/internal/diagnostic/configuration.go:175: projectRoot 100.0%
|
|
117
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:52: add 100.0%
|
|
118
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:61: Doctor 100.0%
|
|
119
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:152: taskScope 100.0%
|
|
120
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:204: credentials 100.0%
|
|
121
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:217: commandOptions 100.0%
|
|
122
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:222: cleanCommand 100.0%
|
|
123
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:227: command 100.0%
|
|
124
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:269: harnessCommand 100.0%
|
|
125
|
+
github.com/ckanner/flywheel/internal/diagnostic/doctor.go:287: probe 100.0%
|
|
126
|
+
github.com/ckanner/flywheel/internal/donereport/donereport.go:28: Parse 100.0%
|
|
127
|
+
github.com/ckanner/flywheel/internal/drivers/codex.go:63: ParseCodexEventStream 100.0%
|
|
128
|
+
github.com/ckanner/flywheel/internal/drivers/codex.go:142: defaultOpenCodexProject 100.0%
|
|
129
|
+
github.com/ckanner/flywheel/internal/drivers/codex.go:155: RegisterCodexProject 100.0%
|
|
130
|
+
github.com/ckanner/flywheel/internal/drivers/codex.go:167: RunCodex 100.0%
|
|
131
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:96: InvokeHarness 100.0%
|
|
132
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:226: invalidHarnessResult 100.0%
|
|
133
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:233: fromWatchdog 100.0%
|
|
134
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:246: Name 100.0%
|
|
135
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:248: harness 100.0%
|
|
136
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:253: Plan 100.0%
|
|
137
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:254: Execute 100.0%
|
|
138
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:255: Review 100.0%
|
|
139
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:256: Judge 100.0%
|
|
140
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:257: Intake 100.0%
|
|
141
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:258: Garden 100.0%
|
|
142
|
+
github.com/ckanner/flywheel/internal/drivers/drivers.go:262: CreateDrivers 100.0%
|
|
143
|
+
github.com/ckanner/flywheel/internal/drivers/dsh.go:37: DSHCommand 100.0%
|
|
144
|
+
github.com/ckanner/flywheel/internal/drivers/dsh.go:70: parseDSHStream 100.0%
|
|
145
|
+
github.com/ckanner/flywheel/internal/drivers/dsh.go:165: parseDSHUsage 100.0%
|
|
146
|
+
github.com/ckanner/flywheel/internal/drivers/dsh.go:194: RunDSH 100.0%
|
|
147
|
+
github.com/ckanner/flywheel/internal/drivers/jsonl.go:18: feed 100.0%
|
|
148
|
+
github.com/ckanner/flywheel/internal/drivers/jsonl.go:40: flush 100.0%
|
|
149
|
+
github.com/ckanner/flywheel/internal/drivers/jsonl.go:47: jsonErrorMessage 100.0%
|
|
150
|
+
github.com/ckanner/flywheel/internal/drivers/kimi.go:53: ParseKimiStreamJson 100.0%
|
|
151
|
+
github.com/ckanner/flywheel/internal/drivers/kimi.go:116: parseKimiUsage 100.0%
|
|
152
|
+
github.com/ckanner/flywheel/internal/drivers/kimi.go:150: RunKimi 100.0%
|
|
153
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:15: mockResult 100.0%
|
|
154
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:35: intPtr 100.0%
|
|
155
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:36: usagePtr 100.0%
|
|
156
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:50: NewMockDriver 100.0%
|
|
157
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:67: Name 100.0%
|
|
158
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:69: behavior 100.0%
|
|
159
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:74: MockResult 100.0%
|
|
160
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:76: Plan 100.0%
|
|
161
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:93: Execute 100.0%
|
|
162
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:126: Review 100.0%
|
|
163
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:138: Judge 100.0%
|
|
164
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:150: Intake 100.0%
|
|
165
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:156: Garden 100.0%
|
|
166
|
+
github.com/ckanner/flywheel/internal/drivers/mock.go:167: nilIfEmpty 100.0%
|
|
167
|
+
github.com/ckanner/flywheel/internal/drivers/omp.go:35: RunOmp 100.0%
|
|
168
|
+
github.com/ckanner/flywheel/internal/drivers/omp.go:88: ParseOmpEventStream 100.0%
|
|
169
|
+
github.com/ckanner/flywheel/internal/drivers/pi.go:51: ParsePiEventStream 100.0%
|
|
170
|
+
github.com/ckanner/flywheel/internal/drivers/pi.go:60: parseAgentEventStream 100.0%
|
|
171
|
+
github.com/ckanner/flywheel/internal/drivers/pi.go:165: RunPi 100.0%
|
|
172
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_desktop.go:26: zcodeDesktopBin 100.0%
|
|
173
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_desktop.go:33: defaultOpenZcodeWorkspace 100.0%
|
|
174
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_desktop.go:52: RegisterZcodeWorkspace 100.0%
|
|
175
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:68: defaultZcodeRuntimeCommand 100.0%
|
|
176
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:77: splitZcodeModel 100.0%
|
|
177
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:115: newZcodeProto 100.0%
|
|
178
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:127: attach 100.0%
|
|
179
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:137: sendLocked 100.0%
|
|
180
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:147: requestCreate 100.0%
|
|
181
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:167: maybeSendPrompt 100.0%
|
|
182
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:186: requestRead 100.0%
|
|
183
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:204: failLocked 100.0%
|
|
184
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:214: feedLine 100.0%
|
|
185
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:280: handleResponse 100.0%
|
|
186
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:301: consumeRead 100.0%
|
|
187
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:381: snapshot 100.0%
|
|
188
|
+
github.com/ckanner/flywheel/internal/drivers/zcode_rpc.go:392: RunZcode 100.0%
|
|
189
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:56: IsRetryable 100.0%
|
|
190
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:59: ShouldFallback 100.0%
|
|
191
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:74: statusCode 100.0%
|
|
192
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:95: timeoutNegated 100.0%
|
|
193
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:107: ClassifyError 100.0%
|
|
194
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:141: ExtractRetryAfterMs 100.0%
|
|
195
|
+
github.com/ckanner/flywheel/internal/errs/errs.go:163: ComputeBackoff 100.0%
|
|
196
|
+
github.com/ckanner/flywheel/internal/exitcontract/exitcontract.go:33: Evaluate 100.0%
|
|
197
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:31: ResolveBinding 100.0%
|
|
198
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:49: ResolveProvider 100.0%
|
|
199
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:63: NextChannel 100.0%
|
|
200
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:80: ModelForChannel 100.0%
|
|
201
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:97: EnvKeyForChannel 100.0%
|
|
202
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:109: MissingChannelEnv 100.0%
|
|
203
|
+
github.com/ckanner/flywheel/internal/fallback/fallback.go:124: AuthFallbackAllowed 100.0%
|
|
204
|
+
github.com/ckanner/flywheel/internal/ledger/ledger.go:42: IsLedgerTaskPath 100.0%
|
|
205
|
+
github.com/ckanner/flywheel/internal/machine/acceptance.go:20: acceptanceFingerprint 100.0%
|
|
206
|
+
github.com/ckanner/flywheel/internal/machine/acceptance.go:51: diffAcceptance 100.0%
|
|
207
|
+
github.com/ckanner/flywheel/internal/machine/acceptance.go:80: recordAcceptanceChanges 100.0%
|
|
208
|
+
github.com/ckanner/flywheel/internal/machine/acceptance.go:115: authoritativeChangedFiles 100.0%
|
|
209
|
+
github.com/ckanner/flywheel/internal/machine/context.go:94: nowISO 100.0%
|
|
210
|
+
github.com/ckanner/flywheel/internal/machine/context.go:99: err 100.0%
|
|
211
|
+
github.com/ckanner/flywheel/internal/machine/context.go:110: save 100.0%
|
|
212
|
+
github.com/ckanner/flywheel/internal/machine/context.go:124: recordRetry 100.0%
|
|
213
|
+
github.com/ckanner/flywheel/internal/machine/context.go:138: touchProgress 100.0%
|
|
214
|
+
github.com/ckanner/flywheel/internal/machine/context.go:145: recordSpawnMetrics 100.0%
|
|
215
|
+
github.com/ckanner/flywheel/internal/machine/context.go:297: reasoningCharsOf 100.0%
|
|
216
|
+
github.com/ckanner/flywheel/internal/machine/context.go:304: mathRound 100.0%
|
|
217
|
+
github.com/ckanner/flywheel/internal/machine/context.go:308: warnIfCacheCold 100.0%
|
|
218
|
+
github.com/ckanner/flywheel/internal/machine/context.go:327: containsString 100.0%
|
|
219
|
+
github.com/ckanner/flywheel/internal/machine/context.go:337: apiKeysFor 100.0%
|
|
220
|
+
github.com/ckanner/flywheel/internal/machine/context.go:352: taskDirPrefix 100.0%
|
|
221
|
+
github.com/ckanner/flywheel/internal/machine/context.go:365: ledgerExcludes 100.0%
|
|
222
|
+
github.com/ckanner/flywheel/internal/machine/context.go:378: commitExcludes 100.0%
|
|
223
|
+
github.com/ckanner/flywheel/internal/machine/context.go:389: partitionChangedFiles 100.0%
|
|
224
|
+
github.com/ckanner/flywheel/internal/machine/context.go:421: channelApiKey 100.0%
|
|
225
|
+
github.com/ckanner/flywheel/internal/machine/context.go:435: missingKeyForRealDriver 100.0%
|
|
226
|
+
github.com/ckanner/flywheel/internal/machine/context.go:444: budgetGate 100.0%
|
|
227
|
+
github.com/ckanner/flywheel/internal/machine/context.go:467: PidFile 100.0%
|
|
228
|
+
github.com/ckanner/flywheel/internal/machine/context.go:472: AssertNoRunningOrchestrator 100.0%
|
|
229
|
+
github.com/ckanner/flywheel/internal/machine/context.go:498: WarnIfForeignDirty 100.0%
|
|
230
|
+
github.com/ckanner/flywheel/internal/machine/context.go:513: unitCwd 100.0%
|
|
231
|
+
github.com/ckanner/flywheel/internal/machine/context.go:525: ProjectRoot 100.0%
|
|
232
|
+
github.com/ckanner/flywheel/internal/machine/context.go:542: canonicalDirectory 100.0%
|
|
233
|
+
github.com/ckanner/flywheel/internal/machine/context.go:551: CreateContext 100.0%
|
|
234
|
+
github.com/ckanner/flywheel/internal/machine/contract_revision.go:26: reconcileContractRevisions 100.0%
|
|
235
|
+
github.com/ckanner/flywheel/internal/machine/contract_revision.go:96: isPlannerContract 100.0%
|
|
236
|
+
github.com/ckanner/flywheel/internal/machine/contract_revision.go:108: planScopeIdentity 100.0%
|
|
237
|
+
github.com/ckanner/flywheel/internal/machine/contract_revision.go:118: checkPlanReanchor 100.0%
|
|
238
|
+
github.com/ckanner/flywheel/internal/machine/contract_revision.go:134: contractsComplete 100.0%
|
|
239
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:36: snapshotExcluded 100.0%
|
|
240
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:41: candidateFingerprint 100.0%
|
|
241
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:119: verificationIdentity 100.0%
|
|
242
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:156: evidenceIdentity 100.0%
|
|
243
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:164: currentL1Evidence 100.0%
|
|
244
|
+
github.com/ckanner/flywheel/internal/machine/evidence.go:174: invalidateEvidence 100.0%
|
|
245
|
+
github.com/ckanner/flywheel/internal/machine/lease.go:13: AcquireRunLease 100.0%
|
|
246
|
+
github.com/ckanner/flywheel/internal/machine/run.go:41: derefString 100.0%
|
|
247
|
+
github.com/ckanner/flywheel/internal/machine/run.go:48: milestoneByID 100.0%
|
|
248
|
+
github.com/ckanner/flywheel/internal/machine/run.go:57: shortSHA 100.0%
|
|
249
|
+
github.com/ckanner/flywheel/internal/machine/run.go:64: firstNonEmpty 100.0%
|
|
250
|
+
github.com/ckanner/flywheel/internal/machine/run.go:74: jsonNilable 100.0%
|
|
251
|
+
github.com/ckanner/flywheel/internal/machine/run.go:81: commitOutcomeMap 100.0%
|
|
252
|
+
github.com/ckanner/flywheel/internal/machine/run.go:112: derefStringPtr 100.0%
|
|
253
|
+
github.com/ckanner/flywheel/internal/machine/run.go:120: jsonToMap 100.0%
|
|
254
|
+
github.com/ckanner/flywheel/internal/machine/run.go:138: orTransport 100.0%
|
|
255
|
+
github.com/ckanner/flywheel/internal/machine/run.go:147: nextActionablePacket 100.0%
|
|
256
|
+
github.com/ckanner/flywheel/internal/machine/run.go:159: currentMilestone 100.0%
|
|
257
|
+
github.com/ckanner/flywheel/internal/machine/run.go:172: writePid 100.0%
|
|
258
|
+
github.com/ckanner/flywheel/internal/machine/run.go:192: clearPid 100.0%
|
|
259
|
+
github.com/ckanner/flywheel/internal/machine/run.go:200: registerSigterm 100.0%
|
|
260
|
+
github.com/ckanner/flywheel/internal/machine/run.go:219: unregisterSigterm 100.0%
|
|
261
|
+
github.com/ckanner/flywheel/internal/machine/run.go:246: strPtrAlways 100.0%
|
|
262
|
+
github.com/ckanner/flywheel/internal/machine/run.go:248: summary 100.0%
|
|
263
|
+
github.com/ckanner/flywheel/internal/machine/run.go:289: RunTask 100.0%
|
|
264
|
+
github.com/ckanner/flywheel/internal/machine/run.go:330: reloadPackets 100.0%
|
|
265
|
+
github.com/ckanner/flywheel/internal/machine/run.go:350: run 100.0%
|
|
266
|
+
github.com/ckanner/flywheel/internal/machine/run.go:522: milestoneSummaryLine 100.0%
|
|
267
|
+
github.com/ckanner/flywheel/internal/machine/run.go:587: RunSingleStep 100.0%
|
|
268
|
+
github.com/ckanner/flywheel/internal/machine/run.go:627: runSingle 100.0%
|
|
269
|
+
github.com/ckanner/flywheel/internal/machine/run.go:745: optStr 100.0%
|
|
270
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:21: strPtr 100.0%
|
|
271
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:29: toSpawnResult 100.0%
|
|
272
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:49: wdog 100.0%
|
|
273
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:59: appendFile 100.0%
|
|
274
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:68: appendInbox 100.0%
|
|
275
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:77: appendRetro 100.0%
|
|
276
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:81: baseRefOf 100.0%
|
|
277
|
+
github.com/ckanner/flywheel/internal/machine/steps.go:89: orHEAD 100.0%
|
|
278
|
+
github.com/ckanner/flywheel/internal/machine/steps_execute.go:31: executeStep 100.0%
|
|
279
|
+
github.com/ckanner/flywheel/internal/machine/steps_execute.go:302: readUnitReport 100.0%
|
|
280
|
+
github.com/ckanner/flywheel/internal/machine/steps_execute.go:335: l1Step 100.0%
|
|
281
|
+
github.com/ckanner/flywheel/internal/machine/steps_execute.go:408: errorText 100.0%
|
|
282
|
+
github.com/ckanner/flywheel/internal/machine/steps_execute.go:417: effectiveTestFilePatterns 100.0%
|
|
283
|
+
github.com/ckanner/flywheel/internal/machine/steps_plan.go:25: awaitCredentialsApproval 100.0%
|
|
284
|
+
github.com/ckanner/flywheel/internal/machine/steps_plan.go:144: milestoneGateStep 100.0%
|
|
285
|
+
github.com/ckanner/flywheel/internal/machine/steps_plan.go:208: planStep 100.0%
|
|
286
|
+
github.com/ckanner/flywheel/internal/machine/steps_plan.go:434: planUntilValid 100.0%
|
|
287
|
+
github.com/ckanner/flywheel/internal/machine/steps_plan.go:492: persistPlanContracts 100.0%
|
|
288
|
+
github.com/ckanner/flywheel/internal/machine/steps_verdict.go:23: agentVerdictStep 100.0%
|
|
289
|
+
github.com/ckanner/flywheel/internal/machine/steps_verdict.go:178: reviewStep 100.0%
|
|
290
|
+
github.com/ckanner/flywheel/internal/machine/steps_verdict.go:265: loopToBinding 100.0%
|
|
291
|
+
github.com/ckanner/flywheel/internal/machine/steps_verdict.go:274: judgeStep 100.0%
|
|
292
|
+
github.com/ckanner/flywheel/internal/machine/stop_control.go:35: StopRequestFile 100.0%
|
|
293
|
+
github.com/ckanner/flywheel/internal/machine/stop_control.go:39: RunLeaseHeld 100.0%
|
|
294
|
+
github.com/ckanner/flywheel/internal/machine/stop_control.go:59: ReadRunControl 100.0%
|
|
295
|
+
github.com/ckanner/flywheel/internal/machine/stop_control.go:76: WriteStopRequest 100.0%
|
|
296
|
+
github.com/ckanner/flywheel/internal/machine/stop_control.go:100: watchStopRequests 100.0%
|
|
297
|
+
github.com/ckanner/flywheel/internal/machine/units.go:24: commitUnitChangesIn 100.0%
|
|
298
|
+
github.com/ckanner/flywheel/internal/machine/units.go:28: mergeUnitWorktree 100.0%
|
|
299
|
+
github.com/ckanner/flywheel/internal/machine/units.go:32: removeUnitWorktree 100.0%
|
|
300
|
+
github.com/ckanner/flywheel/internal/machine/units.go:37: commitTaskDirChanges 100.0%
|
|
301
|
+
github.com/ckanner/flywheel/internal/machine/units.go:41: markInterruptedUnits 100.0%
|
|
302
|
+
github.com/ckanner/flywheel/internal/machine/units.go:51: failAttempt 100.0%
|
|
303
|
+
github.com/ckanner/flywheel/internal/machine/units.go:99: l1BoundaryChangedFiles 100.0%
|
|
304
|
+
github.com/ckanner/flywheel/internal/machine/units.go:127: executorSelfChangedFiles 100.0%
|
|
305
|
+
github.com/ckanner/flywheel/internal/machine/units.go:144: escalatePacket 100.0%
|
|
306
|
+
github.com/ckanner/flywheel/internal/machine/units.go:218: completeUnit 100.0%
|
|
307
|
+
github.com/ckanner/flywheel/internal/machine/units.go:361: maybeDefectInjection 100.0%
|
|
308
|
+
github.com/ckanner/flywheel/internal/machine/units.go:448: doneReportValid 100.0%
|
|
309
|
+
github.com/ckanner/flywheel/internal/machine/units.go:462: injectionStop 100.0%
|
|
310
|
+
github.com/ckanner/flywheel/internal/machine/units.go:500: runExecuteLoop 100.0%
|
|
311
|
+
github.com/ckanner/flywheel/internal/machine/units.go:559: processPacket 100.0%
|
|
312
|
+
github.com/ckanner/flywheel/internal/machine/units.go:766: l1PassTrue 100.0%
|
|
313
|
+
github.com/ckanner/flywheel/internal/machine/util.go:11: jsonUnmarshal 100.0%
|
|
314
|
+
github.com/ckanner/flywheel/internal/machine/util.go:13: fileExists 100.0%
|
|
315
|
+
github.com/ckanner/flywheel/internal/machine/util.go:20: processAlive 100.0%
|
|
316
|
+
github.com/ckanner/flywheel/internal/machine/util.go:24: verifyForeignDirty 100.0%
|
|
317
|
+
github.com/ckanner/flywheel/internal/metrics/metrics.go:19: PromptHash 100.0%
|
|
318
|
+
github.com/ckanner/flywheel/internal/metrics/metrics.go:27: Append 100.0%
|
|
319
|
+
github.com/ckanner/flywheel/internal/metrics/metrics.go:52: PriceForModel 100.0%
|
|
320
|
+
github.com/ckanner/flywheel/internal/metrics/metrics.go:87: EstimateCostUSD 100.0%
|
|
321
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:38: ExtractFailurePatterns 100.0%
|
|
322
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:78: collectInputs 100.0%
|
|
323
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:98: buildGardenPrompt 100.0%
|
|
324
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:157: orEmpty 100.0%
|
|
325
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:185: ValidateGardenProposals 100.0%
|
|
326
|
+
github.com/ckanner/flywheel/internal/modules/garden.go:244: RunGarden 100.0%
|
|
327
|
+
github.com/ckanner/flywheel/internal/modules/installskills.go:18: fileExists 100.0%
|
|
328
|
+
github.com/ckanner/flywheel/internal/modules/installskills.go:41: ListRepoSkills 100.0%
|
|
329
|
+
github.com/ckanner/flywheel/internal/modules/installskills.go:58: skillFrontmatterOk 100.0%
|
|
330
|
+
github.com/ckanner/flywheel/internal/modules/installskills.go:82: InstallSkills 100.0%
|
|
331
|
+
github.com/ckanner/flywheel/internal/modules/installskills.go:154: renderActionText 100.0%
|
|
332
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:25: Fingerprint 100.0%
|
|
333
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:42: whitespaceFold 100.0%
|
|
334
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:49: realExec 100.0%
|
|
335
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:58: FetchSourceCandidates 100.0%
|
|
336
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:133: orLimit 100.0%
|
|
337
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:140: truncate 100.0%
|
|
338
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:149: parseExistingFingerprints 100.0%
|
|
339
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:166: ParseTriageVerdict 100.0%
|
|
340
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:204: candidateSection 100.0%
|
|
341
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:229: writeTriageVerdict 100.0%
|
|
342
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:242: ListApprovedCandidates 100.0%
|
|
343
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:273: buildTriagePrompt 100.0%
|
|
344
|
+
github.com/ckanner/flywheel/internal/modules/intake.go:312: RunIntake 100.0%
|
|
345
|
+
github.com/ckanner/flywheel/internal/modules/module.go:53: NewContext 100.0%
|
|
346
|
+
github.com/ckanner/flywheel/internal/modules/module.go:79: ModuleWatchdogOpts 100.0%
|
|
347
|
+
github.com/ckanner/flywheel/internal/modules/module.go:88: ChannelAPIKey 100.0%
|
|
348
|
+
github.com/ckanner/flywheel/internal/modules/module.go:100: APIKeysFor 100.0%
|
|
349
|
+
github.com/ckanner/flywheel/internal/modules/module.go:115: recordModuleMetrics 100.0%
|
|
350
|
+
github.com/ckanner/flywheel/internal/modules/module.go:231: CallAgent 100.0%
|
|
351
|
+
github.com/ckanner/flywheel/internal/modules/module.go:351: dispatchRole 100.0%
|
|
352
|
+
github.com/ckanner/flywheel/internal/modules/module.go:369: exists 100.0%
|
|
353
|
+
github.com/ckanner/flywheel/internal/modules/module.go:374: nilIfEmpty 100.0%
|
|
354
|
+
github.com/ckanner/flywheel/internal/modules/module.go:381: firstNonEmpty 100.0%
|
|
355
|
+
github.com/ckanner/flywheel/internal/modules/module.go:390: round3 100.0%
|
|
356
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:25: ReadCacheScope 100.0%
|
|
357
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:59: joinNonEmpty 100.0%
|
|
358
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:74: BuildExecutePrompt 100.0%
|
|
359
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:148: BuildReviewPrompt 100.0%
|
|
360
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:216: BuildPlanPrompt 100.0%
|
|
361
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:261: evidenceFlag 100.0%
|
|
362
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:272: BuildJudgePrompt 100.0%
|
|
363
|
+
github.com/ckanner/flywheel/internal/prompts/prompts.go:347: ParseReviewVerdict 100.0%
|
|
364
|
+
github.com/ckanner/flywheel/internal/skillsembed/skillsembed.go:28: List 100.0%
|
|
365
|
+
github.com/ckanner/flywheel/internal/skillsembed/skillsembed.go:32: ListFrom 100.0%
|
|
366
|
+
github.com/ckanner/flywheel/internal/skillsembed/skillsembed.go:63: Read 100.0%
|
|
367
|
+
github.com/ckanner/flywheel/internal/skillsembed/skillsembed.go:75: DirFS 100.0%
|
|
368
|
+
github.com/ckanner/flywheel/internal/skillsembed/skillsembed.go:83: str 100.0%
|
|
369
|
+
github.com/ckanner/flywheel/internal/state/state.go:28: Error 100.0%
|
|
370
|
+
github.com/ckanner/flywheel/internal/state/state.go:35: Error 100.0%
|
|
371
|
+
github.com/ckanner/flywheel/internal/state/state.go:37: errf 100.0%
|
|
372
|
+
github.com/ckanner/flywheel/internal/state/state.go:40: NowISO 100.0%
|
|
373
|
+
github.com/ckanner/flywheel/internal/state/state.go:204: StateFile 100.0%
|
|
374
|
+
github.com/ckanner/flywheel/internal/state/state.go:207: Exists 100.0%
|
|
375
|
+
github.com/ckanner/flywheel/internal/state/state.go:213: Load 100.0%
|
|
376
|
+
github.com/ckanner/flywheel/internal/state/state.go:258: Save 100.0%
|
|
377
|
+
github.com/ckanner/flywheel/internal/state/state.go:305: EmptyPacketState 100.0%
|
|
378
|
+
github.com/ckanner/flywheel/internal/state/state.go:329: EnsurePacketStates 100.0%
|
|
379
|
+
github.com/ckanner/flywheel/internal/state/state.go:343: Init 100.0%
|
|
380
|
+
github.com/ckanner/flywheel/internal/state/state.go:389: MarkInterruptedUnits 100.0%
|
|
381
|
+
github.com/ckanner/flywheel/internal/state/state.go:404: RecordUsage 100.0%
|
|
382
|
+
github.com/ckanner/flywheel/internal/verify/git_semantics.go:25: checkGitSemantics 100.0%
|
|
383
|
+
github.com/ckanner/flywheel/internal/verify/report_restore.go:12: RestoreReservedReport 100.0%
|
|
384
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:44: envLookup 100.0%
|
|
385
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:56: envSlice 100.0%
|
|
386
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:102: RunGateCommands 100.0%
|
|
387
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:196: identityArgs 100.0%
|
|
388
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:206: ForeignDirtyFiles 100.0%
|
|
389
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:229: unescapePorcelain 100.0%
|
|
390
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:243: WorktreeNames 100.0%
|
|
391
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:257: EnsureUnitWorktree 100.0%
|
|
392
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:271: MergeUnitWorktree 100.0%
|
|
393
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:285: RemoveUnitWorktree 100.0%
|
|
394
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:339: GetBaseRef 100.0%
|
|
395
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:353: PersistedHead 100.0%
|
|
396
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:391: AheadCount 100.0%
|
|
397
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:399: GetChangedFiles 100.0%
|
|
398
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:431: listUntracked 100.0%
|
|
399
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:456: GetDiffText 100.0%
|
|
400
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:495: appendUntrackedSections 100.0%
|
|
401
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:567: CommitUnitChanges 100.0%
|
|
402
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:629: CommitTaskDirChanges 100.0%
|
|
403
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:679: excludedCommitPath 100.0%
|
|
404
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:708: globToRegExp 100.0%
|
|
405
|
+
github.com/ckanner/flywheel/internal/verify/verify.go:728: CheckBoundaries 100.0%
|
|
406
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:81: register 100.0%
|
|
407
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:87: unregister 100.0%
|
|
408
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:96: KillActiveChildren 100.0%
|
|
409
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:124: killGroup 100.0%
|
|
410
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:134: cleanProcessGroup 100.0%
|
|
411
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:167: Write 100.0%
|
|
412
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:184: String 100.0%
|
|
413
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:190: isTruncated 100.0%
|
|
414
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:213: ReadFrom 100.0%
|
|
415
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:223: Write 100.0%
|
|
416
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:240: Run 100.0%
|
|
417
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:395: msDur 100.0%
|
|
418
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:402: exitCodeOf 100.0%
|
|
419
|
+
github.com/ckanner/flywheel/internal/watchdog/watchdog.go:411: signalOf 100.0%
|
|
420
|
+
total: (statements) 100.0%
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
|
2
|
+
|
|
3
|
+
> @ckanner/flywheel@0.27.0 test:install
|
|
4
|
+
> node --test npm/test/install.integration.js
|
|
5
|
+
|
|
6
|
+
▶ the six packaged npm candidates install and run from a clean agent environment
|
|
7
|
+
✔ same-version setup is repeatable and preserves configuration (356.177079ms)
|
|
8
|
+
✔ installed npm shim forwards cancellation through the real Go watchdog (73.33046ms)
|
|
9
|
+
✔ DSH registration failure is reported and a retry repairs that step (592.122975ms)
|
|
10
|
+
✔ explicit CLI-only installation keeps DSH skipped (241.197185ms)
|
|
11
|
+
✔ user-edited skill content is preserved and prevents false installation success (149.623054ms)
|
|
12
|
+
✔ the six packaged npm candidates install and run from a clean agent environment (3142.978659ms)
|
|
13
|
+
ℹ tests 6
|
|
14
|
+
ℹ suites 0
|
|
15
|
+
ℹ pass 6
|
|
16
|
+
ℹ fail 0
|
|
17
|
+
ℹ cancelled 0
|
|
18
|
+
ℹ skipped 0
|
|
19
|
+
ℹ todo 0
|
|
20
|
+
ℹ duration_ms 3205.839754
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
go vet ./...
|
|
2
|
+
test -z "$(gofmt -l . | grep -v '^$')" || (echo "gofmt needed:"; gofmt -l .; exit 1)
|
|
3
|
+
go test github.com/ckanner/flywheel/internal/build github.com/ckanner/flywheel/internal/childenv github.com/ckanner/flywheel/internal/circuitbreaker github.com/ckanner/flywheel/internal/cli github.com/ckanner/flywheel/internal/config github.com/ckanner/flywheel/internal/contract github.com/ckanner/flywheel/internal/defectinjection github.com/ckanner/flywheel/internal/diagnostic github.com/ckanner/flywheel/internal/donereport github.com/ckanner/flywheel/internal/drivers github.com/ckanner/flywheel/internal/errs github.com/ckanner/flywheel/internal/exitcontract github.com/ckanner/flywheel/internal/fallback github.com/ckanner/flywheel/internal/ledger github.com/ckanner/flywheel/internal/machine github.com/ckanner/flywheel/internal/metrics github.com/ckanner/flywheel/internal/modules github.com/ckanner/flywheel/internal/prompts github.com/ckanner/flywheel/internal/skillsembed github.com/ckanner/flywheel/internal/state github.com/ckanner/flywheel/internal/verify github.com/ckanner/flywheel/internal/watchdog github.com/ckanner/flywheel/skills github.com/ckanner/flywheel/templates -count=1 -coverprofile=cover.out
|
|
4
|
+
? github.com/ckanner/flywheel/internal/build [no test files]
|
|
5
|
+
ok github.com/ckanner/flywheel/internal/childenv 0.017s coverage: 100.0% of statements
|
|
6
|
+
ok github.com/ckanner/flywheel/internal/circuitbreaker 0.016s coverage: 100.0% of statements
|
|
7
|
+
ok github.com/ckanner/flywheel/internal/cli 6.417s coverage: 100.0% of statements
|
|
8
|
+
ok github.com/ckanner/flywheel/internal/config 0.057s coverage: 100.0% of statements
|
|
9
|
+
ok github.com/ckanner/flywheel/internal/contract 0.100s coverage: 100.0% of statements
|
|
10
|
+
ok github.com/ckanner/flywheel/internal/defectinjection 1.850s coverage: 100.0% of statements
|
|
11
|
+
ok github.com/ckanner/flywheel/internal/diagnostic 1.191s coverage: 100.0% of statements
|
|
12
|
+
ok github.com/ckanner/flywheel/internal/donereport 0.010s coverage: 100.0% of statements
|
|
13
|
+
ok github.com/ckanner/flywheel/internal/drivers 1.559s coverage: 100.0% of statements
|
|
14
|
+
ok github.com/ckanner/flywheel/internal/errs 0.024s coverage: 100.0% of statements
|
|
15
|
+
ok github.com/ckanner/flywheel/internal/exitcontract 0.010s coverage: 100.0% of statements
|
|
16
|
+
ok github.com/ckanner/flywheel/internal/fallback 0.017s coverage: 100.0% of statements
|
|
17
|
+
ok github.com/ckanner/flywheel/internal/ledger 0.016s coverage: 100.0% of statements
|
|
18
|
+
ok github.com/ckanner/flywheel/internal/machine 38.954s coverage: 100.0% of statements
|
|
19
|
+
ok github.com/ckanner/flywheel/internal/metrics 0.013s coverage: 100.0% of statements
|
|
20
|
+
ok github.com/ckanner/flywheel/internal/modules 25.167s coverage: 100.0% of statements
|
|
21
|
+
ok github.com/ckanner/flywheel/internal/prompts 0.029s coverage: 100.0% of statements
|
|
22
|
+
ok github.com/ckanner/flywheel/internal/skillsembed 0.015s coverage: 100.0% of statements
|
|
23
|
+
ok github.com/ckanner/flywheel/internal/state 0.036s coverage: 100.0% of statements
|
|
24
|
+
ok github.com/ckanner/flywheel/internal/verify 4.555s coverage: 100.0% of statements
|
|
25
|
+
ok github.com/ckanner/flywheel/internal/watchdog 7.839s coverage: 100.0% of statements
|
|
26
|
+
? github.com/ckanner/flywheel/skills [no test files]
|
|
27
|
+
? github.com/ckanner/flywheel/templates [no test files]
|
|
28
|
+
total: (statements) 100.0%
|
|
29
|
+
OK: coverage 100% (every function)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
ok github.com/ckanner/flywheel/internal/machine 46.169s
|
|
2
|
+
ok github.com/ckanner/flywheel/internal/verify 4.809s
|
|
3
|
+
ok github.com/ckanner/flywheel/internal/watchdog 8.484s
|
|
4
|
+
ok github.com/ckanner/flywheel/internal/drivers 14.658s
|
|
5
|
+
ok github.com/ckanner/flywheel/internal/cli 11.130s
|
|
6
|
+
ok github.com/ckanner/flywheel/internal/modules 27.089s
|
|
7
|
+
ok github.com/ckanner/flywheel/internal/diagnostic 1.235s
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
|
2
|
+
|
|
3
|
+
> @ckanner/dsh-plugin-flywheel@0.1.0 check
|
|
4
|
+
> npm run build && npm test
|
|
5
|
+
|
|
6
|
+
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
|
7
|
+
|
|
8
|
+
> @ckanner/dsh-plugin-flywheel@0.1.0 build
|
|
9
|
+
> node scripts/build.mjs
|
|
10
|
+
|
|
11
|
+
Built host plugin, rc.5 client module, and native SDK worker.
|
|
12
|
+
npm warn Unknown env config "http-proxy". This will stop working in the next major version of npm.
|
|
13
|
+
|
|
14
|
+
> @ckanner/dsh-plugin-flywheel@0.1.0 test
|
|
15
|
+
> node --test test/*.test.js
|
|
16
|
+
|
|
17
|
+
✔ control invokes only the Go JSON CLI using literal argv, including paths with shell syntax (75.309958ms)
|
|
18
|
+
✔ slash command and model tool use the same validated engine control boundary (143.636424ms)
|
|
19
|
+
✔ policy uses the shipped shell probe and pins effective session facts, rejecting partial enforcement (2.558496ms)
|
|
20
|
+
✔ browser module registers the actual rc.5 dock and calls existing command Remote (4.806536ms)
|
|
21
|
+
✔ start normalizes cwd and rejects resume, extra write roots, implicit permission, and empty route (14.978398ms)
|
|
22
|
+
✔ only unique committed model calls count; cache is included in aggregate input, reasoning is a subset (1.854776ms)
|
|
23
|
+
✔ missing or malformed usage remains unknown, not free or partial cost (0.447495ms)
|
|
24
|
+
✔ an idle or max-token interval is not successful completion (0.741548ms)
|
|
25
|
+
✔ permission acknowledgement must match actual cwd, policy, approval and full confinement (11.9208ms)
|
|
26
|
+
✔ full worker handshake, durable result, usage and SDK shutdown agree with the Go contract (90.710687ms)
|
|
27
|
+
✔ wrong-policy: fail before submitting a paid prompt (67.230554ms)
|
|
28
|
+
✔ wrong-cwd: fail before submitting a paid prompt (55.150724ms)
|
|
29
|
+
✔ missing-policy: fail before submitting a paid prompt (65.600417ms)
|
|
30
|
+
✔ malformed: fail before submitting a paid prompt (52.237007ms)
|
|
31
|
+
✔ empty: session/wait alone never establishes success (49.338369ms)
|
|
32
|
+
✔ missing-terminal: session/wait alone never establishes success (54.913217ms)
|
|
33
|
+
✔ max-tokens: session/wait alone never establishes success (57.705085ms)
|
|
34
|
+
✔ corrupt-tail: session/wait alone never establishes success (60.52473ms)
|
|
35
|
+
✔ unknown provider usage survives a successful call as null (63.997315ms)
|
|
36
|
+
✔ full lifecycle deadline includes a stalled initialize; no model prompt is sent (163.828757ms)
|
|
37
|
+
✔ external cancellation settles a stalled turn through SDK shutdown (138.003277ms)
|
|
38
|
+
✔ forced SDK shutdown cannot claim successful settlement of native managed ranges (701.524408ms)
|
|
39
|
+
✔ doctor exercises runtime and permission handshake but never prompts a model (49.63821ms)
|
|
40
|
+
✔ overlay pins real native confinement and disables model-owned delegation and auxiliary model calls (0.406833ms)
|
|
41
|
+
ℹ tests 24
|
|
42
|
+
ℹ suites 0
|
|
43
|
+
ℹ pass 24
|
|
44
|
+
ℹ fail 0
|
|
45
|
+
ℹ cancelled 0
|
|
46
|
+
ℹ skipped 0
|
|
47
|
+
ℹ todo 0
|
|
48
|
+
ℹ duration_ms 1812.808918
|