harnex 0.7.12 → 0.7.14
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -0
- data/README.md +62 -17
- data/TECHNICAL.md +20 -1
- data/guides/01_dispatch.md +29 -9
- data/guides/04_monitoring.md +11 -5
- data/lib/harnex/adapters/base.rb +16 -0
- data/lib/harnex/adapters/codex.rb +4 -0
- data/lib/harnex/adapters/codex_appserver.rb +12 -0
- data/lib/harnex/adapters/pi.rb +46 -5
- data/lib/harnex/artifact_report.rb +522 -33
- data/lib/harnex/cli.rb +17 -0
- data/lib/harnex/commands/artifact_report.rb +94 -0
- data/lib/harnex/commands/orchestration.rb +170 -0
- data/lib/harnex/commands/run.rb +68 -5
- data/lib/harnex/commands/wait.rb +6 -1
- data/lib/harnex/commands/watch.rb +2 -0
- data/lib/harnex/context_telemetry.rb +104 -0
- data/lib/harnex/core.rb +2 -0
- data/lib/harnex/orchestration.rb +458 -0
- data/lib/harnex/runtime/session.rb +620 -30
- data/lib/harnex/terminal_status.rb +7 -0
- data/lib/harnex/version.rb +2 -2
- data/lib/harnex.rb +4 -0
- metadata +6 -2
|
@@ -48,6 +48,8 @@ module Harnex
|
|
|
48
48
|
"task_failed" => false,
|
|
49
49
|
"done" => false,
|
|
50
50
|
"work_state" => "unknown",
|
|
51
|
+
"outcome_class" => nil,
|
|
52
|
+
"artifact_report_status" => nil,
|
|
51
53
|
"exit" => nil,
|
|
52
54
|
"exit_code" => nil,
|
|
53
55
|
"summary_out" => nil,
|
|
@@ -130,6 +132,7 @@ module Harnex
|
|
|
130
132
|
def build_from_summary(record, summary_path, fallback_repo_root)
|
|
131
133
|
meta = record["meta"] || {}
|
|
132
134
|
actual = record["actual"] || {}
|
|
135
|
+
outcome = record["outcome"] || {}
|
|
133
136
|
state = classify_summary_state(actual)
|
|
134
137
|
task_complete = !!actual["task_complete"]
|
|
135
138
|
task_failed = state == "failed" && !task_complete
|
|
@@ -144,6 +147,8 @@ module Harnex
|
|
|
144
147
|
"task_failed" => task_failed,
|
|
145
148
|
"done" => Harnex.work_done_for(state, task_complete: task_complete),
|
|
146
149
|
"work_state" => Harnex.work_state_for(state, task_complete: task_complete),
|
|
150
|
+
"outcome_class" => blank_to_nil(outcome["class"]),
|
|
151
|
+
"artifact_report_status" => blank_to_nil(outcome["report_status"]),
|
|
147
152
|
"exit" => blank_to_nil(actual["exit"]),
|
|
148
153
|
"exit_code" => actual["exit_code"],
|
|
149
154
|
"summary_out" => summary_path,
|
|
@@ -188,6 +193,8 @@ module Harnex
|
|
|
188
193
|
"task_failed" => task_failed,
|
|
189
194
|
"done" => Harnex.work_done_for(state, task_complete: task_complete),
|
|
190
195
|
"work_state" => Harnex.work_state_for(state, task_complete: task_complete),
|
|
196
|
+
"outcome_class" => nil,
|
|
197
|
+
"artifact_report_status" => nil,
|
|
191
198
|
"exit" => history_exit(status),
|
|
192
199
|
"exit_code" => nil,
|
|
193
200
|
"summary_out" => blank_to_nil(record["summary_out_path"]),
|
data/lib/harnex/version.rb
CHANGED
data/lib/harnex.rb
CHANGED
|
@@ -7,6 +7,8 @@ require_relative "harnex/core"
|
|
|
7
7
|
require_relative "harnex/dispatch_history"
|
|
8
8
|
require_relative "harnex/terminal_status"
|
|
9
9
|
require_relative "harnex/artifact_report"
|
|
10
|
+
require_relative "harnex/context_telemetry"
|
|
11
|
+
require_relative "harnex/orchestration"
|
|
10
12
|
require_relative "harnex/watcher"
|
|
11
13
|
require_relative "harnex/adapters"
|
|
12
14
|
require_relative "harnex/runtime/session_state"
|
|
@@ -30,4 +32,6 @@ require_relative "harnex/commands/recipes"
|
|
|
30
32
|
require_relative "harnex/commands/guide"
|
|
31
33
|
require_relative "harnex/commands/agents_guide"
|
|
32
34
|
require_relative "harnex/commands/doctor"
|
|
35
|
+
require_relative "harnex/commands/orchestration"
|
|
36
|
+
require_relative "harnex/commands/artifact_report"
|
|
33
37
|
require_relative "harnex/cli"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: harnex
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jikku Jose
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-07-
|
|
11
|
+
date: 2026-07-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A local PTY harness that wraps terminal AI agents (Claude, Codex, Pi)
|
|
14
14
|
and adds a control plane for discovery, messaging, and coordination.
|
|
@@ -44,11 +44,13 @@ files:
|
|
|
44
44
|
- lib/harnex/cli.rb
|
|
45
45
|
- lib/harnex/codex/app_server/client.rb
|
|
46
46
|
- lib/harnex/commands/agents_guide.rb
|
|
47
|
+
- lib/harnex/commands/artifact_report.rb
|
|
47
48
|
- lib/harnex/commands/doctor.rb
|
|
48
49
|
- lib/harnex/commands/events.rb
|
|
49
50
|
- lib/harnex/commands/guide.rb
|
|
50
51
|
- lib/harnex/commands/history.rb
|
|
51
52
|
- lib/harnex/commands/logs.rb
|
|
53
|
+
- lib/harnex/commands/orchestration.rb
|
|
52
54
|
- lib/harnex/commands/pane.rb
|
|
53
55
|
- lib/harnex/commands/recipes.rb
|
|
54
56
|
- lib/harnex/commands/run.rb
|
|
@@ -58,8 +60,10 @@ files:
|
|
|
58
60
|
- lib/harnex/commands/wait.rb
|
|
59
61
|
- lib/harnex/commands/watch.rb
|
|
60
62
|
- lib/harnex/commands/watch_presets.rb
|
|
63
|
+
- lib/harnex/context_telemetry.rb
|
|
61
64
|
- lib/harnex/core.rb
|
|
62
65
|
- lib/harnex/dispatch_history.rb
|
|
66
|
+
- lib/harnex/orchestration.rb
|
|
63
67
|
- lib/harnex/runtime/api_server.rb
|
|
64
68
|
- lib/harnex/runtime/file_change_hook.rb
|
|
65
69
|
- lib/harnex/runtime/inbox.rb
|