@walwal-harness/cli 7.1.16 → 7.1.17

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 CHANGED
@@ -223,6 +223,7 @@ harness-hiring → register and onboard worker
223
223
 
224
224
  | Version | Summary |
225
225
  |---|---|
226
+ | 7.1.17 | Dashboard: fix /submission and /hot-fix missions displaying as /goal; runtime strip shows live owner command in mission flow tab |
226
227
  | 7.1.16 | `migrate` now always fully replaces /goal, /submission, /hot-fix commands regardless of current state |
227
228
  | 7.1.15 | Dashboard: reset embedded View Doc state when the selected mission or document target changes |
228
229
  | 7.1.14 | Owner acceptance gate: Owner is final reviewer, not tester; dashboard org-node clicks initialize the detail pane |
@@ -986,7 +986,7 @@ function buildRuntime(progress: RawProgress | null): RuntimeSnapshot {
986
986
  };
987
987
  }
988
988
 
989
- function readMissions(rootDir: string, limit = 15): MissionDoc[] {
989
+ function readMissions(rootDir: string, progress: RawProgress | null = null, limit = 15): MissionDoc[] {
990
990
  const docsDir = path.join(rootDir, ".harness", "documents");
991
991
  if (!existsSync(docsDir)) return [];
992
992
 
@@ -1083,6 +1083,19 @@ function readMissions(rootDir: string, limit = 15): MissionDoc[] {
1083
1083
  .sort((a, b) => new Date(b.ts).getTime() - new Date(a.ts).getTime())
1084
1084
  .slice(0, limit);
1085
1085
 
1086
+ // When the CEO updates a goal directory in-place for a submission or hot-fix
1087
+ // (instead of creating a submission-* or hotfix-* subdirectory), the most
1088
+ // recently modified mission still has type "goal" from its directory name.
1089
+ // Override it using owner_prompt.command so the display reflects the actual
1090
+ // command the Owner issued, not just the directory prefix.
1091
+ const cmd = progress?.owner_prompt?.command;
1092
+ if (missions.length > 0 && (cmd === "submission" || cmd === "hot-fix")) {
1093
+ const top = missions[0];
1094
+ if (top.type === "goal") {
1095
+ missions[0] = { ...top, type: cmd === "hot-fix" ? "hotfix" : "submission" };
1096
+ }
1097
+ }
1098
+
1086
1099
  return missions;
1087
1100
  }
1088
1101
 
@@ -1165,7 +1178,7 @@ export function readHarnessState(rootDir: string): HarnessSnapshot {
1165
1178
  };
1166
1179
  const snapshot = emptySnapshot(banner, rootDir);
1167
1180
  snapshot.archive = buildArchive(rootDir);
1168
- snapshot.missions = readMissions(rootDir);
1181
+ snapshot.missions = readMissions(rootDir, null);
1169
1182
  snapshot.ownerHistory = readOwnerHistory(rootDir);
1170
1183
  snapshot.gotchas = readGotchas(rootDir);
1171
1184
  return snapshot;
@@ -1217,7 +1230,7 @@ export function readHarnessState(rootDir: string): HarnessSnapshot {
1217
1230
  errorBanner: null,
1218
1231
  dashboard,
1219
1232
  runtime: buildRuntime(progress),
1220
- missions: readMissions(rootDir),
1233
+ missions: readMissions(rootDir, progress),
1221
1234
  ownerHistory: readOwnerHistory(rootDir),
1222
1235
  gotchas: readGotchas(rootDir),
1223
1236
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walwal-harness/cli",
3
- "version": "7.1.16",
3
+ "version": "7.1.17",
4
4
  "description": "Company-style AI agent harness for Claude and Codex. Installs commands, CXX agents, skills, HR-Resource hiring pool, and project-local .harness runtime state.",
5
5
  "bin": {
6
6
  "walwal-harness": "bin/init.js"