@dotobokuri/fleet-console 1.23.0 → 1.24.0

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 (69) hide show
  1. package/AGENTS.md +41 -257
  2. package/README.md +8 -0
  3. package/dist/cli.d.ts +11 -1
  4. package/dist/cli.mjs +1738 -453
  5. package/dist/client/assets/{_baseUniq-BjOe5yYF.js → _baseUniq-yooYbTgN.js} +1 -1
  6. package/dist/client/assets/{arc-bFUuO3jf.js → arc-D4mme5Ts.js} +1 -1
  7. package/dist/client/assets/{architectureDiagram-Q4EWVU46-Ba7nimQq.js → architectureDiagram-Q4EWVU46-BAJOviEX.js} +1 -1
  8. package/dist/client/assets/{blockDiagram-DXYQGD6D-CQGf47hl.js → blockDiagram-DXYQGD6D-DuObpxQ3.js} +1 -1
  9. package/dist/client/assets/{c4Diagram-AHTNJAMY-DZF_cAK4.js → c4Diagram-AHTNJAMY-BOT-SD34.js} +1 -1
  10. package/dist/client/assets/channel-TZYyAq1v.js +1 -0
  11. package/dist/client/assets/{chunk-4BX2VUAB-DjUUHSQ5.js → chunk-4BX2VUAB-BF_aMTes.js} +1 -1
  12. package/dist/client/assets/{chunk-4TB4RGXK-Dvqti8bd.js → chunk-4TB4RGXK-M4brBcnD.js} +1 -1
  13. package/dist/client/assets/{chunk-55IACEB6-2BxiBvkp.js → chunk-55IACEB6-CrG-4b2Z.js} +1 -1
  14. package/dist/client/assets/{chunk-EDXVE4YY-CqCjol5O.js → chunk-EDXVE4YY-BxDSygH1.js} +1 -1
  15. package/dist/client/assets/{chunk-FMBD7UC4-eoCfIbly.js → chunk-FMBD7UC4-Bh7MEX7E.js} +1 -1
  16. package/dist/client/assets/{chunk-OYMX7WX6-CoC86V_1.js → chunk-OYMX7WX6-DBnBwxer.js} +1 -1
  17. package/dist/client/assets/{chunk-QZHKN3VN-CJQA5mlQ.js → chunk-QZHKN3VN-bjAogQwW.js} +1 -1
  18. package/dist/client/assets/{chunk-YZCP3GAM-C5C4kbLu.js → chunk-YZCP3GAM-l4FGlk_c.js} +1 -1
  19. package/dist/client/assets/classDiagram-6PBFFD2Q-Dh6hZUl4.js +1 -0
  20. package/dist/client/assets/classDiagram-v2-HSJHXN6E-Dh6hZUl4.js +1 -0
  21. package/dist/client/assets/clone-DgWGnVWH.js +1 -0
  22. package/dist/client/assets/{cose-bilkent-S5V4N54A-CahuunpL.js → cose-bilkent-S5V4N54A-Bm5QA4zo.js} +1 -1
  23. package/dist/client/assets/{dagre-KV5264BT-Cbv5kSi5.js → dagre-KV5264BT-PzXQN-5Q.js} +1 -1
  24. package/dist/client/assets/{diagram-5BDNPKRD-CNm40ZGB.js → diagram-5BDNPKRD-KhaAKPtX.js} +1 -1
  25. package/dist/client/assets/{diagram-G4DWMVQ6-DrlGNT3i.js → diagram-G4DWMVQ6-DBbjfiR8.js} +1 -1
  26. package/dist/client/assets/{diagram-MMDJMWI5-r8Y2oqmw.js → diagram-MMDJMWI5-QWro7PRX.js} +1 -1
  27. package/dist/client/assets/{diagram-TYMM5635-CMzEhXup.js → diagram-TYMM5635-B9LqWrbF.js} +1 -1
  28. package/dist/client/assets/{erDiagram-SMLLAGMA-UFjUUMPz.js → erDiagram-SMLLAGMA-b0VkMMN4.js} +1 -1
  29. package/dist/client/assets/{flowDiagram-DWJPFMVM-Dd1STmYc.js → flowDiagram-DWJPFMVM-edxBAbe6.js} +1 -1
  30. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-CHHU0hVd.js → ganttDiagram-T4ZO3ILL-ks2Gg1_V.js} +1 -1
  31. package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-vj2HukAF.js → gitGraphDiagram-UUTBAWPF-DymUyYNl.js} +1 -1
  32. package/dist/client/assets/{graph-DhjfEbEb.js → graph-B-B_mqfh.js} +1 -1
  33. package/dist/client/assets/index-BgLzfg-v.css +1 -0
  34. package/dist/client/assets/index-pDnb-q6f.js +380 -0
  35. package/dist/client/assets/{infoDiagram-42DDH7IO-CC7AEgDm.js → infoDiagram-42DDH7IO-B5iLIYAc.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-DlRw2B9G.js → ishikawaDiagram-UXIWVN3A-DnztLLn7.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-VCZTEJTY-BbRXANKQ.js → journeyDiagram-VCZTEJTY-BKDRfH1Y.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-6JOO6SKY-DtvdCxGN.js → kanban-definition-6JOO6SKY-DPB3Phvr.js} +1 -1
  39. package/dist/client/assets/{layout-Dg5cvw5v.js → layout-BEeRhYTG.js} +1 -1
  40. package/dist/client/assets/{linear-BvVlQLqF.js → linear-QzmfWKSq.js} +1 -1
  41. package/dist/client/assets/{mermaid.core-DzrV8sC-.js → mermaid.core-BVka5dgm.js} +4 -4
  42. package/dist/client/assets/{min-DNGQ1Ciz.js → min-CfXk9kSN.js} +1 -1
  43. package/dist/client/assets/{mindmap-definition-QFDTVHPH-DxJCNZbg.js → mindmap-definition-QFDTVHPH-tGrGhr6Z.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-DEJITSTG-B75XHG-s.js → pieDiagram-DEJITSTG-ZRBqRiRK.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-34T5L4WZ-CL4yoF0m.js → quadrantDiagram-34T5L4WZ-VCINZgct.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-MS252O5E-kGV4vcr1.js → requirementDiagram-MS252O5E-DFLzADh3.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-XADWPNL6-DoA4u7wI.js → sankeyDiagram-XADWPNL6-BbouN8Ji.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-FGHM5R23-ZpNDf1bS.js → sequenceDiagram-FGHM5R23-B58_LF0R.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-FHFEXIEX-BzgKcVAG.js → stateDiagram-FHFEXIEX-pk-OHHuL.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-xsN122JA.js +1 -0
  51. package/dist/client/assets/{timeline-definition-GMOUNBTQ-B_DkUDsD.js → timeline-definition-GMOUNBTQ-4jQdCvaj.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-DHZGUBPP-MCUnnsKb.js → vennDiagram-DHZGUBPP-CUr1fH6N.js} +1 -1
  53. package/dist/client/assets/{wardley-RL74JXVD-D_JAMSxj.js → wardley-RL74JXVD-D0cfvvNA.js} +1 -1
  54. package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BHCwZGLq.js → wardleyDiagram-NUSXRM2D-D0l_Rp_Z.js} +1 -1
  55. package/dist/client/assets/{xychartDiagram-5P7HB3ND-FbGwbD3V.js → xychartDiagram-5P7HB3ND-BdR8OEuJ.js} +1 -1
  56. package/dist/client/index.html +3 -3
  57. package/dist/desktop-protocol.d.ts +49 -0
  58. package/dist/desktop-protocol.mjs +99 -0
  59. package/dist/fleet-plugins/diff/routes.mjs +124 -225
  60. package/dist/fleet-plugins/skills/routes.mjs +218 -82
  61. package/dist/fleet-plugins/terminal/routes.mjs +190 -176
  62. package/package.json +7 -2
  63. package/dist/client/assets/channel-D2BahVp1.js +0 -1
  64. package/dist/client/assets/classDiagram-6PBFFD2Q-DsDAVLhS.js +0 -1
  65. package/dist/client/assets/classDiagram-v2-HSJHXN6E-DsDAVLhS.js +0 -1
  66. package/dist/client/assets/clone-CdZy2Xzf.js +0 -1
  67. package/dist/client/assets/index-Dq9EKm2G.css +0 -1
  68. package/dist/client/assets/index-DtzbOdd7.js +0 -380
  69. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-yRK5hzZ4.js +0 -1
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import * as fs2 from 'fs';
3
- import fs2__default, { existsSync, accessSync, constants, mkdtempSync, writeFileSync, mkdirSync, rmSync, chmodSync, renameSync, readdirSync, readFileSync, openSync, closeSync, realpathSync, fstatSync, lstatSync, unlinkSync, statSync } from 'fs';
3
+ import fs2__default, { existsSync, readFileSync, accessSync, constants, mkdtempSync, writeFileSync, mkdirSync, rmSync, chmodSync, renameSync, readdirSync, openSync, closeSync, realpathSync, fstatSync, lstatSync, unlinkSync, statSync } from 'fs';
4
4
  import * as path28 from 'path';
5
5
  import path28__default, { dirname } from 'path';
6
6
  import * as os3 from 'os';
@@ -529,10 +529,11 @@ function sanitizeGlobalOptionsData(value) {
529
529
  }
530
530
  const data = {
531
531
  version: GLOBAL_OPTIONS_VERSION,
532
- ...typeof value.enableMetaphor === "boolean" ? { enableMetaphor: value.enableMetaphor } : {}
532
+ ...typeof value.enableMetaphor === "boolean" ? { enableMetaphor: value.enableMetaphor } : {},
533
+ ...value.codexLaunchMode === "acp" || value.codexLaunchMode === "app-server" ? { codexLaunchMode: value.codexLaunchMode } : {}
533
534
  };
534
- const allowedKeys = /* @__PURE__ */ new Set(["version", "enableMetaphor"]);
535
- const changed = Object.keys(value).some((key) => !allowedKeys.has(key)) || "enableMetaphor" in value && typeof value.enableMetaphor !== "boolean";
535
+ const allowedKeys = /* @__PURE__ */ new Set(["version", "enableMetaphor", "codexLaunchMode"]);
536
+ const changed = Object.keys(value).some((key) => !allowedKeys.has(key)) || "enableMetaphor" in value && typeof value.enableMetaphor !== "boolean" || "codexLaunchMode" in value && value.codexLaunchMode !== "acp" && value.codexLaunchMode !== "app-server";
536
537
  return { data, changed };
537
538
  }
538
539
  function isRecord(value) {
@@ -21831,9 +21832,10 @@ var UnifiedCodexAgentClient = class extends EventEmitter {
21831
21832
  throw new Error("UnifiedCodexAgentClient\uB294 codex CLI\uB9CC \uC9C0\uC6D0\uD569\uB2C8\uB2E4.");
21832
21833
  }
21833
21834
  this.validateModelEffort(options.model, options.effort);
21834
- {
21835
+ if (shouldUseCodexAcp(options)) {
21835
21836
  return this.connectAcp(options);
21836
21837
  }
21838
+ return this.connectAppServer(options);
21837
21839
  }
21838
21840
  async connectAppServer(options) {
21839
21841
  const backend = getBackendConfig("codex");
@@ -22471,6 +22473,11 @@ var UnifiedCodexAgentClient = class extends EventEmitter {
22471
22473
  return patterns.some((pattern) => pattern.test(text));
22472
22474
  }
22473
22475
  };
22476
+ function shouldUseCodexAcp(options) {
22477
+ const value = options.env?.CODEX_USE_ACP ?? process.env.CODEX_USE_ACP;
22478
+ const normalized = value?.trim().toLowerCase();
22479
+ return normalized !== "false" && normalized !== "0";
22480
+ }
22474
22481
  var UnifiedCursorAgentClient = class extends EventEmitter {
22475
22482
  connection = null;
22476
22483
  sessionId = null;
@@ -25729,7 +25736,7 @@ var CHRONICLE_DEFAULTS = {
25729
25736
  };
25730
25737
  var CARRIER_METADATA = {
25731
25738
  // ── Tier 1: Routing ──
25732
- title: "Captain \xB7 Chief Knowledge Officer",
25739
+ title: "Chief Knowledge Officer",
25733
25740
  summary: "Documentation steward across two surfaces: codebase markdown (AGENTS.md/README/CHANGELOG/inline docs) and Fleet Wiki entries proposed via the wiki patch queue.",
25734
25741
  category: "operations",
25735
25742
  whenToUse: [
@@ -25742,7 +25749,7 @@ var CARRIER_METADATA = {
25742
25749
  "before implementation and verification are complete",
25743
25750
  "code modification (\u2192genesis) or code review (\u2192sentinel)",
25744
25751
  "architectural judgment (\u2192nimitz) or release-scope planning decisions (\u2192kirov)",
25745
- "Fleet Wiki patch approval \u2014 Admiral retains the wiki_patch_queue approve/reject gate"
25752
+ "Fleet Wiki patch approval \u2014 host agent retains the wiki_patch_queue approve/reject gate"
25746
25753
  ],
25747
25754
  requestBlocks: [
25748
25755
  {
@@ -25778,18 +25785,18 @@ var CARRIER_METADATA = {
25778
25785
  ],
25779
25786
  // ── Tier 2: Composition ──
25780
25787
  permissions: [
25781
- "CRITICAL: Fleet Wiki entries are governed by the Fleet Wiki workspace AGENTS.md doctrine \u2014 propose via wiki_ingest only, and NEVER edit wiki entries or system-managed indexes/logs by hand. Admiral holds the wiki_patch_queue approve/reject gate.",
25788
+ "CRITICAL: Fleet Wiki entries are governed by the Fleet Wiki workspace AGENTS.md doctrine \u2014 propose via wiki_ingest only, and NEVER edit wiki entries or system-managed indexes/logs by hand. The host agent holds the wiki_patch_queue approve/reject gate.",
25782
25789
  "CRITICAL: Owns codebase markdown \u2014 AGENTS.md, README, CHANGELOG, and inline doc files outside the Fleet Wiki workspace \u2014 and may write them directly. NEVER modify source code logic (report issues instead).",
25783
- "MUST treat the Admiral's <doc_type>, <audience>, <scope>, and <change_scope> as binding contracts. NEVER redefine or expand documentation scope autonomously.",
25784
- "Owns expression details (tone, wording, paragraph flow within domain conventions) but MUST NOT silently change structural decisions specified by the Admiral (sections, items, target files).",
25790
+ "MUST treat the host agent's <doc_type>, <audience>, <scope>, and <change_scope> as binding contracts. NEVER redefine or expand documentation scope autonomously.",
25791
+ "Owns expression details (tone, wording, paragraph flow within domain conventions) but MUST NOT silently change structural decisions specified by the host agent (sections, items, target files).",
25785
25792
  "MUST NOT make go/no-go, release timing, or release-scope decisions (escalate to Kirov/Nimitz). May detect and document breaking changes only."
25786
25793
  ],
25787
25794
  outputFormat: `Deliver the documentation artifact directly.
25788
25795
  [Codebase Doc] Write the .md/AGENTS.md/README/CHANGELOG file(s) directly via filesystem tools.
25789
- [Fleet Wiki] Compose the entry body and enqueue via wiki_ingest. Report the patch_id; never edit wiki entries or system-managed files by hand. Admiral approves via wiki_patch_queue.
25796
+ [Fleet Wiki] Compose the entry body and enqueue via wiki_ingest. Report the patch_id; never edit wiki entries or system-managed files by hand. The host agent approves via wiki_patch_queue.
25790
25797
  After delivery, provide a brief completion report.
25791
25798
  [Required] always include:
25792
- **Workflow** \u2014 One of: 'Codebase Doc' or 'Fleet Wiki' (state which workflow this sortie used).
25799
+ **Workflow** \u2014 One of: 'Codebase Doc' or 'Fleet Wiki' (state which workflow this task used).
25793
25800
  **Documents written / Patches enqueued** \u2014 Each file created/modified (Codebase Doc) OR each patch_id enqueued (Fleet Wiki) with target path.
25794
25801
  **Cascade .md audit** \u2014 (Codebase Doc only) Each .md inspected: path, status (updated / already consistent / not applicable), 1-line summary if updated.
25795
25802
  [If applicable] omit if not relevant:
@@ -25798,10 +25805,10 @@ After delivery, provide a brief completion report.
25798
25805
  Keep the completion report concise \u2014 the documentation/patch itself is the primary deliverable.`,
25799
25806
  principles: [
25800
25807
  CARRIER_JOBS_SELF_CALL_HINT,
25801
- "Two workflows, one carrier \u2014 never mix the two surfaces. (A) Codebase Doc: direct filesystem edits to .md/AGENTS.md/README/CHANGELOG outside the Fleet Wiki workspace. (B) Fleet Wiki: orient \u2192 consult \u2192 lint \u2192 wiki_ingest to enqueue \u2192 Admiral approves via wiki_patch_queue. Decide the workflow from <doc_type>; if ambiguous, escalate before acting.",
25802
- "[Fleet Wiki] Read the Fleet Wiki workspace AGENTS.md before the first wiki operation in a sortie \u2014 it is the authoritative doctrine for boundaries, roles, gates, schema reference, and escalation. The active entry schema may evolve; always consult the workspace doctrine and current schema each sortie rather than relying on prior memory.",
25808
+ "Two workflows, one carrier \u2014 never mix the two surfaces. (A) Codebase Doc: direct filesystem edits to .md/AGENTS.md/README/CHANGELOG outside the Fleet Wiki workspace. (B) Fleet Wiki: orient \u2192 consult \u2192 lint \u2192 wiki_ingest to enqueue \u2192 host agent approves via wiki_patch_queue. Decide the workflow from <doc_type>; if ambiguous, escalate before acting.",
25809
+ "[Fleet Wiki] Read the Fleet Wiki workspace AGENTS.md before the first wiki operation in a task \u2014 it is the authoritative doctrine for boundaries, roles, gates, schema reference, and escalation. The active entry schema may evolve; always consult the workspace doctrine and current schema each task rather than relying on prior memory.",
25803
25810
  "[Fleet Wiki] Provide raw evidence (source) alongside every wiki_ingest call \u2014 synthesized entry body must cite raw substance without copying verbatim. The system writes raw, queue, and index automatically.",
25804
- "[Codebase Doc] Every sortie must include a cascade .md audit \u2014 identify all .md files within the change scope, verify they reflect current state, and cross-reference parent/child AGENTS.md to prevent doctrinal conflicts.",
25811
+ "[Codebase Doc] Every task must include a cascade .md audit \u2014 identify all .md files within the change scope, verify they reflect current state, and cross-reference parent/child AGENTS.md to prevent doctrinal conflicts.",
25805
25812
  "[Codebase Doc] CRITICAL: README.md files must ONLY be updated where they already exist \u2014 NEVER create new README.md files. If a directory lacks a README.md, leave it as-is and note the absence in the audit report.",
25806
25813
  "If additional documentation scope seems needed, MUST report it as a follow-up suggestion in the completion report. NEVER silently expand the audit/update scope.",
25807
25814
  "Change-impact documentation must be factual and observable \u2014 never recommend whether a change should ship, be reverted, or be delayed."
@@ -25823,8 +25830,8 @@ var GENESIS_DEFAULTS = {
25823
25830
  };
25824
25831
  var CARRIER_METADATA2 = {
25825
25832
  // ── Tier 1: Routing ──
25826
- title: "Captain \xB7 Chief Engineer",
25827
- summary: "Full-stack implementation workhorse \u2014 builds features, writes production-quality clean code, and maintains structural integrity throughout. As the Captain (\uD568\uC7A5) of this Carrier, Genesis takes direct command of build and implementation operations.",
25833
+ title: "Chief Engineer",
25834
+ summary: "Full-stack implementation workhorse \u2014 builds features, writes production-quality clean code, and maintains structural integrity throughout.",
25828
25835
  category: "operations",
25829
25836
  whenToUse: [
25830
25837
  "new features",
@@ -25851,14 +25858,14 @@ var CARRIER_METADATA2 = {
25851
25858
  // ── Tier 2: Composition ──
25852
25859
  permissions: [
25853
25860
  "Full access to the codebase \u2014 read, write, and execute commands.",
25854
- "Owns implementation details (internal helper structure, code organization, local naming) ONLY within the design boundaries set by the Admiral's instructions.",
25855
- "MUST NOT substitute autonomous design judgment for the Admiral's explicit design decisions \u2014 interface unification vs separation, type/function names, directory structure, public surface shape, and any choice the Admiral has specified are BINDING contracts, not suggestions.",
25861
+ "Owns implementation details (internal helper structure, code organization, local naming) ONLY within the design boundaries set by the host agent's instructions.",
25862
+ "MUST NOT substitute autonomous design judgment for the host agent's explicit design decisions \u2014 interface unification vs separation, type/function names, directory structure, public surface shape, and any choice the host agent has specified are BINDING contracts, not suggestions.",
25856
25863
  "MUST NOT silently re-plan, expand scope, invent alternative workflows, or shrink the assigned work beyond what the instructions specify.",
25857
25864
  "MUST NOT silently absorb Kirov's planning role or Nimitz's architecture arbitration role when those inputs are clearly missing."
25858
25865
  ],
25859
25866
  principles: [
25860
25867
  CARRIER_JOBS_SELF_CALL_HINT,
25861
- "MUST treat the Admiral's <objective>, <scope>, <constraints>, and <references> as binding design contracts. Specific design decisions stated in the instructions MUST be implemented as-instructed, not as 'cleaner' or 'better' substitutions.",
25868
+ "MUST treat the host agent's <objective>, <scope>, <constraints>, and <references> as binding design contracts. Specific design decisions stated in the instructions MUST be implemented as-instructed, not as 'cleaner' or 'better' substitutions.",
25862
25869
  "If an alternative design seems superior, MUST complete the assigned work AS-INSTRUCTED first, then report the alternative ONLY as a follow-up suggestion. NEVER substitute the alternative silently.",
25863
25870
  "On ambiguity or apparent conflict in the instructions, MUST report back and request clarification instead of choosing autonomously.",
25864
25871
  "Follow planning artifacts when provided \u2014 do not re-plan work that Kirov has already structured unless the input is clearly invalid.",
@@ -25892,8 +25899,8 @@ var KIROV_DEFAULTS = {
25892
25899
  };
25893
25900
  var CARRIER_METADATA3 = {
25894
25901
  // ── Tier 1: Routing ──
25895
- title: "Captain \xB7 Operational Planning Bridge",
25896
- summary: "Clarifies requirements, closes planning gaps, and writes executable .fleet/plans/*.md plan_files with ordered waves, ownership, dependencies, QA gates, acceptance criteria, documentation impacts, and escalation triggers.",
25902
+ title: "Operational Planning",
25903
+ summary: "Clarifies requirements, closes planning gaps, and writes one executable .fleet/plans/*.md plan_file SSoT with explicit parallel lanes, ownership, dependencies, QA gates, acceptance criteria, documentation impacts, and escalation triggers.",
25897
25904
  category: "planning",
25898
25905
  whenToUse: [
25899
25906
  "structured .fleet/plans/*.md plan_file requests, PRD decomposition, or Ohio-executable execution plans",
@@ -25901,14 +25908,14 @@ var CARRIER_METADATA3 = {
25901
25908
  "medium/large refactors, migrations, cross-module work, or materially ambiguous requirements where planning must close gaps before execution"
25902
25909
  ],
25903
25910
  whenNotToUse: [
25904
- "single-Carrier tasks with \u22643 dependent steps and clear acceptance criteria (\u2192Admiral plans directly)",
25911
+ "single-Carrier tasks with \u22643 dependent steps and clear acceptance criteria (\u2192host agent plans directly)",
25905
25912
  "direct code implementation, single-shot (\u2192genesis) or plan-driven (\u2192ohio)",
25906
- "final architecture arbitration (\u2192nimitz) or sorties needing reconnaissance first (\u2192vanguard/tempest)"
25913
+ "final architecture arbitration (\u2192nimitz) or dispatches needing reconnaissance first (\u2192vanguard/tempest)"
25907
25914
  ],
25908
25915
  requestBlocks: [
25909
25916
  { tag: "goal", hint: "What the user wants to build, fix, or achieve \u2014 specific feature, PRD, behavior, and any stated constraints.", required: true },
25910
25917
  { tag: "plan_file", hint: "If provided, exact repo-relative .fleet/plans/{name}.md path Kirov must create or update. Do not choose a different filename.", required: false },
25911
- { tag: "context", hint: "Relevant codebase context \u2014 files, modules, patterns, prior Admiral direction, or implementation realities the planner should respect.", required: false },
25918
+ { tag: "context", hint: "Relevant codebase context \u2014 files, modules, patterns, prior host-agent direction, or implementation realities the planner should respect.", required: false },
25912
25919
  { tag: "constraints", hint: "Business rules, tech stack requirements, scope boundaries, fixed decisions, or explicit exclusions the plan must respect.", required: false },
25913
25920
  { tag: "intent_type", hint: "If known: Refactoring | Build from Scratch | Mid-sized | Collaborative | Architecture Follow-through | Research-to-Plan.", required: false }
25914
25921
  ],
@@ -25916,27 +25923,31 @@ var CARRIER_METADATA3 = {
25916
25923
  // ── Tier 2: Composition ──
25917
25924
  permissions: [
25918
25925
  "CRITICAL: Write access strictly limited to .fleet/plans/*.md and .fleet/drafts/*.md. NEVER modify source code, configs, or any non-markdown file.",
25919
- "MUST honor exact provided .fleet/plans/*.md paths. Success means creating or updating an executable plan_file unless the Admiral explicitly requests draft-only work.",
25920
- "MUST return unresolved architecture choices, system-design trade-offs, and technical path decisions to the Admiral for direction instead of silently deciding them.",
25921
- "MUST report Blockers or Admiral Direction Needed instead of claiming completion when the plan file cannot be written or the schema cannot be filled."
25926
+ "MUST honor exact provided .fleet/plans/*.md paths. Keep one plan_file as the execution SSoT: Success means creating or updating that executable plan_file unless the host agent explicitly requests draft-only work. Do not create split plan files for parallel lanes.",
25927
+ "MUST return unresolved architecture choices, system-design trade-offs, and technical path decisions to the host agent for direction instead of silently deciding them.",
25928
+ "MUST report Blockers or Host Direction Needed instead of claiming completion when the plan file cannot be written or the schema cannot be filled."
25922
25929
  ],
25923
25930
  outputFormat: `After completing the plan, provide a structured plan summary.
25924
25931
  [Required] always include:
25925
25932
  **Plan file** \u2014 Exact generated or updated .fleet/plans/{name}.md path.
25926
- **Execution Waves** \u2014 Ordered waves with parallel markers (e.g., "W1 \u2192 W2 || W3 \u2192 W4") and critical dependencies.
25933
+ **Execution Topology** \u2014 Ordered waves, stable Wave/Lane IDs, parallel markers (e.g., "W1 \u2192 W2 || W3 \u2192 W4"), and critical dependencies.
25934
+ **Dispatch Manifest** \u2014 Each lane's exact write set, start condition, eligible concurrent lanes, integration gate, handoff, and rollback unit.
25927
25935
  **Scope: IN** \u2014 What is explicitly included in the plan.
25928
25936
  **Scope: OUT** \u2014 What is explicitly excluded.
25929
25937
  **Next step** \u2014 Run \`/start-work {name}\` to execute the plan.
25930
25938
  [If applicable] omit if not relevant:
25931
25939
  **Blockers** \u2014 Why no plan file was written or why the schema cannot be filled.
25932
- **Admiral Direction Needed** \u2014 Architecture, trade-off, or path choices needing confirmation.
25940
+ **Host Direction Needed** \u2014 Architecture, trade-off, or path choices needing confirmation.
25933
25941
  Keep the summary concise \u2014 bullets and short lines only. No narrative paragraphs.`,
25934
25942
  principles: [
25935
25943
  CARRIER_JOBS_SELF_CALL_HINT,
25936
25944
  "Clarify only to unlock planning \u2014 ask the minimum questions needed to produce a reliable execution plan.",
25937
25945
  "Pre-plan gap analysis is mandatory internal input, never a substitute final output. May launch background explore/librarian sub-agents for context gathering. Use incremental write protocol: Write() skeleton first, then Edit() in 2-4 task batches.",
25938
- 'The .fleet/plans/*.md file MUST contain this exact default Markdown template unless the Admiral provides a different template: # Objective, # File Ownership, # Waves, ## Wave N \u2014 <name>, - Target files/modules:, - Dependencies:, - Parallelizable:, - Implementation summary:, - Verification/static checks:, - Escalation triggers:, # QA Gates, # Acceptance Criteria, # Documentation Updates, # Final Review Loop. Required headings must not be renamed, reordered, or omitted; extra sections allowed only after them. Write headings into the plan_file itself, not just mentioned in the response. For tiny tasks, mark non-applicable fields "Not applicable" rather than deleting them.',
25939
- "Return unresolved architecture and deep trade-off decisions to the Admiral for direction.",
25946
+ 'The .fleet/plans/*.md file MUST contain this exact default Markdown template unless the host agent provides a different template: # Objective, # File Ownership, # Execution Topology, - Execution mode: Sequential | Parallel, - Shared mutable resources:, # Waves, ## Wave N \u2014 <name>, ### Lane WN-X \u2014 <name>, - Exact write set:, - Read dependencies:, - Dependency/start condition:, - Eligible concurrent lanes: (use "none" for serialized work), - Integration gate:, - Handoff:, - Rollback unit:, - Implementation summary:, - Verification/static checks:, - Escalation triggers:, # Dispatch Manifest, - Full-plan Ohio invocation (execution_scope omitted or all): allowed sequentially only when Execution mode is Sequential or Execution Topology is absent; for Parallel, dispatch exact Lane IDs only and never combine a full-plan invocation with lane jobs, - Lane WN-X \u2014 <name>: exact write set, read dependencies, dependency/start condition, eligible concurrent lanes, integration gate, handoff, and rollback unit summary for dispatch, # QA Gates, # Acceptance Criteria, # Documentation Updates, # Final Review Loop. Required headings must not be renamed, reordered, or omitted; extra sections allowed only after them. Write headings into the plan_file itself, not just mentioned in the response. For tiny tasks, mark non-applicable fields "Not applicable" rather than deleting them.',
25947
+ "Execution Topology is mandatory for every plan. It MUST declare Execution mode: Sequential | Parallel, shared mutable resources, ordered waves, and stable Wave/Lane IDs; a lane may be marked parallel only when its exact non-overlapping write set and read dependencies prove it is safe to run concurrently.",
25948
+ "Dispatch Manifest is mandatory for every plan. For each parallel lane, declare: stable Wave/Lane ID; exact non-overlapping write set; read dependencies; dependency/start condition; eligible concurrent lanes; integration gate; handoff; and rollback unit. It MUST also state that full-plan Ohio invocation (execution_scope omitted or all) is allowed sequentially only for Sequential or absent Execution Topology; Parallel requires exact Lane IDs, makes full-plan invocation unavailable as an alternative dispatch path, and never combines it with lane jobs. If disjoint lanes cannot be proven safe, mark the work sequential rather than calling it parallel.",
25949
+ "Under each lane's '- Implementation summary:' (or the wave's when a wave declares no lanes), enumerate the concrete implementation steps as a Markdown checkbox task list \u2014 one '- [ ]' line per step, roughly 3-7 per lane; use '- [x]' only for work already completed at planning time. These checkboxes are the machine-readable progress contract consumed by the execution carrier and the Console Plans surface \u2014 do not encode task state in any other notation (no emoji, no status words, no strikethrough).",
25950
+ "Return unresolved architecture and deep trade-off decisions to the host agent for direction.",
25940
25951
  "Optimize for direct execution from the resulting plan_file."
25941
25952
  ]
25942
25953
  };
@@ -25956,8 +25967,8 @@ var NIMITZ_DEFAULTS = {
25956
25967
  };
25957
25968
  var CARRIER_METADATA4 = {
25958
25969
  // ── Tier 1: Routing ──
25959
- title: "Captain \xB7 Strategic Command & Judgment",
25960
- summary: "Read-only strategic command \u2014 decides the technical path through doctrinal judgment, architecture decisions, deep analysis, and trade-off adjudication. As the Captain (\uD568\uC7A5) of this Carrier, Nimitz commands strategic technical judgment from the flagship bridge without entering the implementation path.",
25970
+ title: "Strategic Command & Judgment",
25971
+ summary: "Read-only strategic command \u2014 decides the technical path through doctrinal judgment, architecture decisions, deep analysis, and trade-off adjudication without entering the implementation path.",
25961
25972
  category: "strategy",
25962
25973
  whenToUse: [
25963
25974
  "architecture and design decisions",
@@ -25980,7 +25991,7 @@ var CARRIER_METADATA4 = {
25980
25991
  // ── Tier 2: Composition ──
25981
25992
  permissions: [
25982
25993
  "CRITICAL: Strictly read-only. NEVER delegate code modification or file editing to this carrier.",
25983
- "CRITICAL: NEVER sortie Nimitz without prior reconnaissance \u2014 if recon is needed, sortie vanguard/tempest FIRST. Hard prerequisite, not a suggestion.",
25994
+ "CRITICAL: NEVER dispatch Nimitz without prior reconnaissance \u2014 if recon is needed, dispatch vanguard/tempest FIRST. Hard prerequisite, not a suggestion.",
25984
25995
  "Full access to read the codebase and execute read-only commands for analysis.",
25985
25996
  "MUST NOT decompose work into task waves, delivery schedules, or implementation checklists \u2014 handoff belongs to Kirov."
25986
25997
  ],
@@ -26021,8 +26032,8 @@ var OHIO_DEFAULTS = {
26021
26032
  };
26022
26033
  var CARRIER_METADATA5 = {
26023
26034
  // ── Tier 1: Routing ──
26024
- title: "Captain \xB7 Multi-Wave Strike Execution",
26025
- summary: "Receives a Kirov-authored plan_file and executes it wave-by-wave to completion \u2014 silent, patient, sequential delivery of plan steps. As the Captain (\uD568\uC7A5) of this Carrier, Ohio commands multi-wave strike execution and is the sole carrier authorised to consume plan_file inputs.",
26035
+ title: "Multi-Wave Execution",
26036
+ summary: "Receives a Kirov-authored plan_file and executes it wave-by-wave to completion, or one manifest-declared lane when explicitly scoped. Ohio is the sole carrier authorised to consume plan_file inputs.",
26026
26037
  category: "planning",
26027
26038
  whenToUse: [
26028
26039
  "multi-wave builds driven by an explicit plan_file",
@@ -26031,13 +26042,14 @@ var CARRIER_METADATA5 = {
26031
26042
  "cross-module coordinated changes following a Kirov plan"
26032
26043
  ],
26033
26044
  whenNotToUse: [
26034
- "single-file edits or admiral-direct single-shot tasks (\u2192genesis)",
26045
+ "single-file edits or host-directed single-shot tasks (\u2192genesis)",
26035
26046
  "architecture decisions (\u2192nimitz)",
26036
26047
  "planning work itself (\u2192kirov)",
26037
26048
  "reconnaissance before planning (\u2192vanguard/tempest)"
26038
26049
  ],
26039
26050
  requestBlocks: [
26040
26051
  { tag: "plan_file", hint: "Required repo-relative path to a Markdown plan file under .fleet/plans/*.md only. Ohio reads this file and follows it as the authoritative execution plan.", required: true },
26052
+ { tag: "execution_scope", hint: "Optional: for legacy plans without Execution Topology or plans marked Execution mode: Sequential, omitted or `all` executes the full plan sequentially. For Execution mode: Parallel, provide one exact Wave/Lane ID declared by the Dispatch Manifest; omitted or `all` is rejected. Never combine a full-plan invocation with scoped-lane Ohio invocation(s).", required: false },
26041
26053
  { tag: "objective", hint: "Optional brief restatement of the overarching goal for context anchoring.", required: false },
26042
26054
  { tag: "scope", hint: "Optional explicit scope boundaries if narrower than the plan_file's full coverage.", required: false },
26043
26055
  { tag: "constraints", hint: "Optional hard constraints, deadlines, or compatibility requirements that override or supplement the plan.", required: false }
@@ -26047,7 +26059,9 @@ var CARRIER_METADATA5 = {
26047
26059
  permissions: [
26048
26060
  "Full access to the codebase \u2014 read, write, and execute commands.",
26049
26061
  "MUST consult plan_file as the authoritative execution contract \u2014 plan steps are not optional or negotiable.",
26050
- "MUST treat the Admiral's <objective>, <scope>, and <constraints> as binding ALONGSIDE the plan_file. Even if a step or constraint seems suboptimal, MUST NOT substitute autonomous design judgment.",
26062
+ "MUST read the plan's Execution Topology before resolving execution_scope. For legacy plans without Execution Topology or plans marked Execution mode: Sequential, omitted scope or `all` executes the full plan sequentially. For Execution mode: Parallel, require one exact Dispatch Manifest Wave/Lane ID and reject omitted or `all` scope rather than silently serializing available parallelism. A full-plan invocation (omitted or `all`) MUST NEVER be used alongside scoped-lane Ohio invocation(s).",
26063
+ "When executing a scoped lane, it MUST be exactly one Wave/Lane ID declared by the plan's Dispatch Manifest. A scoped Ohio may change only that lane's declared write set; it MUST NOT edit plan_file, execute unassigned lanes, or guess an ambiguous scope. Before execution, it MUST satisfy the lane's dependency/start condition and required predecessor integration gates; its own QA/integration gate occurs after execution and MUST be satisfied before Ohio reports the lane eligible to release downstream work.",
26064
+ "MUST treat the host agent's <objective>, <scope>, and <constraints> as binding ALONGSIDE the plan_file. Even if a step or constraint seems suboptimal, MUST NOT substitute autonomous design judgment.",
26051
26065
  "MUST NOT silently re-plan, skip steps, invent new workflow paths, or expand scope beyond what the plan_file specifies.",
26052
26066
  "On genuine blockers (ambiguous step, missing dependency, environmental failure), MUST report back and request re-direction instead of fabricating workarounds."
26053
26067
  ],
@@ -26055,13 +26069,17 @@ var CARRIER_METADATA5 = {
26055
26069
  CARRIER_JOBS_SELF_CALL_HINT,
26056
26070
  "Read plan_file as the binding execution contract \u2014 do not deviate, re-plan, or skip steps.",
26057
26071
  "Accept only repo-relative Markdown plan paths under .fleet/plans/*.md. If the path is missing, unreadable, outside .fleet/plans/, not repo-relative, or not a .md file, do not guess, do not silently re-plan, and do not invent a replacement workflow \u2014 report the problem back and ask for re-direction.",
26072
+ "Read Execution Topology before resolving execution_scope. For legacy plans without Execution Topology or Execution mode: Sequential, omitted scope or `all` retains full-plan sequential compatibility. For Execution mode: Parallel, require one exact manifest-declared Wave/Lane ID and reject omitted or `all` scope rather than silently serializing available parallelism. Never use a full-plan invocation alongside scoped-lane Ohio invocation(s).",
26073
+ "For a lane scope, change only that lane's declared write set. Never edit plan_file or execute another lane. Before execution, satisfy the lane's dependency/start condition and required predecessor integration gates; after execution, satisfy that lane's own QA/integration gate before reporting it eligible to release downstream work.",
26058
26074
  "Execute waves in the declared order; preserve QA checkpoints between waves and do not collapse them.",
26059
- "If a wave or constraint should be redesigned, MUST escalate to the Admiral via the completion report instead of silently altering the wave's intent.",
26075
+ "Progress write-back applies to full-plan scope only (execution_scope omitted or `all`): immediately after a wave's QA checkpoint passes, update the plan_file by flipping that wave's completed task checkboxes from '- [ ]' to '- [x]'. This is a state-marker edit only \u2014 never reword, reorder, add, or delete any other plan content while doing it. Flip only steps actually completed; if a completed step has no matching checkbox, leave the text untouched and record the mismatch under Deviations in the completion report. A scoped-lane Ohio never edits plan_file (lane jobs may run concurrently) \u2014 instead it lists the lane's completed task checkboxes in its completion report so the integrator flips them after the lane's integration gate.",
26076
+ "If a wave or constraint should be redesigned, MUST escalate to the host agent via the completion report instead of silently altering the wave's intent.",
26060
26077
  "Escalate genuine blockers (ambiguous step, missing dependency, environmental failure) instead of fabricating workarounds.",
26061
26078
  "Do not absorb planning, architecture, or QA roles \u2014 if the plan demands a decision Ohio cannot make, escalate to the appropriate carrier (Kirov/Nimitz/Sentinel)."
26062
26079
  ],
26063
26080
  outputFormat: `After completing the assigned wave(s), provide a structured wave-completion report.
26064
26081
  [Required] always include:
26082
+ **Execution scope** \u2014 \`all\` or the exact Wave/Lane ID executed from the plan's Dispatch Manifest.
26065
26083
  **Wave(s) executed** \u2014 Ordered list of wave/step IDs from the plan_file actually completed.
26066
26084
  **Changes** \u2014 Every file created/modified/deleted with a 1-line summary each.
26067
26085
  **QA results** \u2014 Outcome of each wave's QA checkpoint (pass/fail with detail).
@@ -26087,8 +26105,8 @@ var SENTINEL_DEFAULTS = {
26087
26105
  };
26088
26106
  var CARRIER_METADATA6 = {
26089
26107
  // ── Tier 1: Routing ──
26090
- title: "Captain \xB7 The Inquisitor / QA & Security Lead",
26091
- summary: "Bug hunter and security specialist \u2014 code review, defect detection, quality audits, vulnerability hunting, and penetration testing with ruthless precision. As the Captain (\uD568\uC7A5) of this Carrier, Sentinel commands the fleet's quality and security inspections.",
26108
+ title: "QA & Security Lead",
26109
+ summary: "Bug hunter and security specialist \u2014 code review, defect detection, quality audits, vulnerability hunting, and penetration testing with ruthless precision.",
26092
26110
  category: "strategy",
26093
26111
  whenToUse: [
26094
26112
  "code review, bug hunting, quality audits, test execution",
@@ -26144,8 +26162,8 @@ var TEMPEST_DEFAULTS = {
26144
26162
  };
26145
26163
  var CARRIER_METADATA7 = {
26146
26164
  // ── Tier 1: Routing ──
26147
- title: "Captain \xB7 External Intelligence Strike",
26148
- summary: "GitHub intelligence \u2014 external repo investigation via API and clone-based deep analysis. As the Captain (\uD568\uC7A5) of this Carrier, Tempest sprints across foreign waters to collect remote intelligence from upstream repositories and external codebases.",
26165
+ title: "External Intelligence",
26166
+ summary: "GitHub intelligence \u2014 external repo investigation via API and clone-based deep analysis of upstream repositories and unfamiliar codebases.",
26149
26167
  category: "operations",
26150
26168
  whenToUse: [
26151
26169
  "external GitHub repo investigation (library internals, upstream dependencies)",
@@ -26200,8 +26218,8 @@ var VANGUARD_DEFAULTS = {
26200
26218
  };
26201
26219
  var CARRIER_METADATA8 = {
26202
26220
  // ── Tier 1: Routing ──
26203
- title: "Captain \xB7 Scout Specialist",
26204
- summary: "Fast reconnaissance \u2014 codebase exploration, symbol tracing, web research. As the Captain (\uD568\uC7A5) of this Carrier, Vanguard leads forward scouting and fast intelligence gathering before heavier operations begin.",
26221
+ title: "Reconnaissance Specialist",
26222
+ summary: "Fast reconnaissance \u2014 codebase exploration, symbol tracing, web research, and external knowledge gathering.",
26205
26223
  category: "operations",
26206
26224
  whenToUse: [
26207
26225
  "codebase reconnaissance \u2014 exploration, multi-file scanning, symbol tracing",
@@ -32887,7 +32905,7 @@ ${"`"}assumption-audit${"`"} is not a protocol mode and is outside the Mode Gate
32887
32905
  Never choose ${"`"}protocol-baseline${"`"} or ${"`"}protocol-midline${"`"} when irreversible operations, structural/API changes, multi-module edits, or doctrine/prompt-policy edits are in scope. Choose ${"`"}protocol-redline${"`"} unless coordination across multiple Carriers or parallel ownership boundaries makes ${"`"}protocol-frontline${"`"} the better fit.
32888
32906
 
32889
32907
  ## Mode Mapping (examples)
32890
- Representative Admiral of the Navy requests mapped to a mode. Match an incoming request to its nearest analog by shape, not exact wording:
32908
+ Representative user requests mapped to a mode. Match an incoming request to its nearest analog by shape, not exact wording:
32891
32909
 
32892
32910
  | Request shape | Mode | Why |
32893
32911
  |---|---|---|
@@ -32909,7 +32927,7 @@ var CARRIER_OPERATIONS_POLICY = {
32909
32927
  prompt: String.raw`## Carrier Operations Policy
32910
32928
 
32911
32929
  ### Core Principle
32912
- Delegate execution — retain judgment. Routing, synthesis, and trade-off arbitration stay with the Admiral.
32930
+ Delegate execution — retain judgment. Routing, synthesis, and trade-off arbitration stay with the host agent.
32913
32931
 
32914
32932
  ### Proportionality
32915
32933
  Match fleet size to task complexity: single carrier / small fleet / full fleet. Do not expand breadth where a single dispatch suffices.
@@ -32926,21 +32944,21 @@ Resolve technical trade-offs first; never delegate unresolved decisions to a pla
32926
32944
  | Synthesis, strategic advice | (no tool) |
32927
32945
 
32928
32946
  ### Carrier Invocation
32929
- Every Carrier lives in <fleet section="roster">. Delegate roster Carrier work through carrier_dispatch. If carrier_dispatch is not exposed in the current tool surface, inspect the Fleet MCP surface first; if it remains unavailable or rejects the requested Carrier, report that limitation to the 대원수 and await instructions. Never silently substitute a generic agent tool or local execution path for a requested Carrier. carrier_dispatch jobs are fire-and-forget and push completion via [carrier:result].
32947
+ Every Carrier lives in <fleet section="roster">. Delegate roster Carrier work through carrier_dispatch. If carrier_dispatch is not exposed in the current tool surface, inspect the Fleet MCP surface first; if it remains unavailable or rejects the requested Carrier, report that limitation to the user and await instructions. Never silently substitute a generic agent tool or local execution path for a requested Carrier. carrier_dispatch jobs are fire-and-forget and push completion via [carrier:result].
32930
32948
 
32931
32949
  ### Parallel Default
32932
- When the same phase or step calls multiple Captain-led Carriers, invoke them in parallel — one tool call per carrier, same response. Sequence only when:
32950
+ When the same phase or step calls multiple Carriers, invoke them in parallel — one tool call per carrier, same response. Sequence only when:
32933
32951
  - a later Carrier's work depends on an earlier Carrier's output,
32934
32952
  - carriers share a mutable resource (same files, generated artifacts, lock files, singleton test environment), or
32935
32953
  - a recon Carrier must complete before a specialist Carrier can be selected.
32936
32954
 
32937
32955
  ### Dispatch rules
32938
- - If the intended Carrier is unavailable: report to 대원수, await instructions. Never silently substitute.
32956
+ - If the intended Carrier is unavailable: report to the user, await instructions. Never silently substitute.
32939
32957
  - For carrier tool usage mechanics (request format, brevity, polling, result lookup), the live tool descriptions are authoritative.
32940
32958
 
32941
32959
  ### Anti-patterns
32942
32960
  - Splitting a parallel launch into sequential calls.
32943
- - Sortieing a planning carrier for single-carrier work.
32961
+ - Dispatching a planning carrier for single-carrier work.
32944
32962
  - Falling back to direct work when delegation is appropriate.
32945
32963
  - Bypassing carrier_dispatch with a generic agent tool when the task calls for a roster Carrier.`
32946
32964
  };
@@ -32951,7 +32969,7 @@ var COMMAND_INTEGRITY = {
32951
32969
  name: "Command Integrity",
32952
32970
  prompt: String.raw`## Command Integrity Standing Order
32953
32971
 
32954
- Governs how the Admiral receives, questions, and challenges orders from the Admiral of the Navy (대원수) — upstream of Context Confidence (evidence) and Result Integrity (outcomes). Loyalty is measured by candor and correctness, never by agreement.
32972
+ Governs how the host agent receives, questions, and challenges user instructions — upstream of Context Confidence (evidence) and Result Integrity (outcomes). Professionalism is measured by candor and correctness, never by agreement.
32955
32973
 
32956
32974
  ### Trigger Mapping
32957
32975
  | Trigger | Route |
@@ -32962,7 +32980,7 @@ Governs how the Admiral receives, questions, and challenges orders from the Admi
32962
32980
  | Directives conflict | Priority Arbitration |
32963
32981
 
32964
32982
  ### Professional Pushback
32965
- When an order is technically incorrect or clearly suboptimal, present a reasoned objection with evidence and a concrete alternative before executing. Do not silently execute a flawed order, and do not soften a technical objection to please. If the Admiral of the Navy reaffirms the order after hearing the objection, execute it faithfully and record the objection in one line.
32983
+ When an instruction is technically incorrect or clearly suboptimal, present a reasoned objection with evidence and a concrete alternative before executing. Do not silently execute a flawed instruction, and do not soften a technical objection to please. If the user reaffirms the instruction after hearing the objection, execute it faithfully and record the objection in one line.
32966
32984
 
32967
32985
  ### Pre-engagement Clarification
32968
32986
  Never assume requirements. When a request is decision-shaped ambiguous — the ambiguity turns on preference, scope, or product intent that evidence cannot settle — apply the ${"`"}assumption-audit${"`"} questioning procedure before loading a protocol mode. Evidence-resolvable ambiguity routes to reconnaissance instead, never to the user.
@@ -33011,7 +33029,7 @@ If confidence is below the required threshold, do NOT proceed to the gated check
33011
33029
  2. Triage each gap by the scout-shaped / decision-shaped / escalation-shaped taxonomy defined in ${"`"}assumption-audit${"`"}.
33012
33030
  3. Re-evaluate confidence after gap resolution, then re-apply the gate.
33013
33031
 
33014
- Gate failure is the gate functioning as designed, not a workflow defect. Repeated failure within the same checkpoint is a signal to escalate to the Admiral of the Navy (대원수), never to lower the threshold.
33032
+ Gate failure is the gate functioning as designed, not a workflow defect. Repeated failure within the same checkpoint is a signal to escalate to the user, never to lower the threshold.
33015
33033
 
33016
33034
  ### Re-evaluation Triggers
33017
33035
 
@@ -33043,7 +33061,7 @@ Speculation-trigger handling is routed by the Result Integrity trigger mapping t
33043
33061
  4. **Repeat** until all speculative elements are either **confirmed with evidence** or explicitly flagged as **unresolvable unknowns**.
33044
33062
 
33045
33063
  ### Depth limit
33046
- Deep Dive verification depth is capped at **2 iterations**. If after 2 rounds of audit + follow-up verification a claim remains unconfirmed, mark it as ${"``"}[Unverified — depth limit reached]${"``"} and report it to the Admiral of the Navy (대원수). Do not continue iterating — the cost of further verification outweighs the risk of surfaced uncertainty.`
33064
+ Deep Dive verification depth is capped at **2 iterations**. If after 2 rounds of audit + follow-up verification a claim remains unconfirmed, mark it as ${"``"}[Unverified — depth limit reached]${"``"} and report it to the user. Do not continue iterating — the cost of further verification outweighs the risk of surfaced uncertainty.`
33047
33065
  };
33048
33066
 
33049
33067
  // ../../packages/fleet-admiral/src/protocols/standing-orders/mission-anchor.ts
@@ -33074,7 +33092,7 @@ var RESULT_INTEGRITY = {
33074
33092
  name: "Result Integrity",
33075
33093
  prompt: String.raw`## Result Integrity Standing Order
33076
33094
 
33077
- A cross-cutting procedure governing how the Admiral evaluates Carrier results, handles cross-Carrier feedback loops, and retries failed operations.
33095
+ A cross-cutting procedure governing how the host agent evaluates Carrier results, handles cross-Carrier feedback loops, and retries failed operations.
33078
33096
 
33079
33097
  ### Trigger Mapping
33080
33098
  | Trigger | Route |
@@ -33085,7 +33103,7 @@ A cross-cutting procedure governing how the Admiral evaluates Carrier results, h
33085
33103
  | Contradiction with verified fact | Re-evaluate Context Confidence. |
33086
33104
 
33087
33105
  ### Result Evaluation
33088
- After receiving any Carrier result, verify before reporting to the Admiral of the Navy (대원수):
33106
+ After receiving any Carrier result, verify before reporting to the user:
33089
33107
  1. **Relevance check** — Does the result address the original request? Flag partial or off-topic responses.
33090
33108
  2. **Completeness check** — Are all requested deliverables present (e.g., all files listed, all sections filled)?
33091
33109
  3. **Conflict check** — Does the result contradict prior Carrier outputs or known project state?
@@ -33093,11 +33111,11 @@ After receiving any Carrier result, verify before reporting to the Admiral of th
33093
33111
  If any check fails, request clarification from the same Carrier with specific feedback before accepting the result.
33094
33112
 
33095
33113
  ### Artifact Inspection Gate
33096
- For any carrier job that mutates the workspace (code, docs, plans, prompts), the three Result Evaluation checks alone do not close the job. Before accepting, the Admiral MUST inspect the actual artifacts directly — git diff and changed files, retrieved alongside the carrier_jobs response — and judge them against the dispatch intent and the Mission Objective, never against the carrier's narrative alone:
33114
+ For any carrier job that mutates the workspace (code, docs, plans, prompts), the three Result Evaluation checks alone do not close the job. Before accepting, the host agent MUST inspect the actual artifacts directly — git diff and changed files, retrieved alongside the carrier_jobs response — and judge them against the dispatch intent and the Mission Objective, never against the carrier's narrative alone:
33097
33115
  1. Scope — only surfaces within the carrier's declared ownership changed.
33098
- 2. Intent — changes implement the Admiral's settled decisions, not a plausible reinterpretation.
33116
+ 2. Intent — changes implement the host agent's settled decisions, not a plausible reinterpretation.
33099
33117
  3. Side effects — no unrelated reverts, history rewrites, or drive-by edits.
33100
- Report one disposition line: ${"`"}inspection: pass${"`"} | ${"`"}inspection: fixed — <n> deviations corrected by the Admiral${"`"} | ${"`"}inspection: rejected — re-dispatched with findings${"`"}. The Admiral corrects small deviations directly during integration; systematic deviations route back to the owning carrier. Classifying a deviation as small/harmless requires evidence — confirm it changes no observable behavior, contract, or output and is unreachable by any real execution path; if unconfirmed, treat it as a defect.
33118
+ Report one disposition line: ${"`"}inspection: pass${"`"} | ${"`"}inspection: fixed — <n> deviations corrected by the host agent${"`"} | ${"`"}inspection: rejected — re-dispatched with findings${"`"}. The host agent corrects small deviations directly during integration; systematic deviations route back to the owning carrier. Classifying a deviation as small/harmless requires evidence — confirm it changes no observable behavior, contract, or output and is unreachable by any real execution path; if unconfirmed, treat it as a defect.
33101
33119
  Proportionality: full-diff reading for doctrine/prompt/structural changes; stat + targeted sampling for large mechanical changes. Read-only jobs skip this gate — their claims route through Deep Dive instead.
33102
33120
 
33103
33121
  ### Multi-agent Filesystem Safety
@@ -33107,7 +33125,7 @@ Multiple agents may share one branch and filesystem. Re-read files before modify
33107
33125
  When multiple Carriers contribute to one task: route actionable review findings back to the implementing carrier with explicit fix instructions, re-run the same review on changed code only — never the entire codebase — and run documentation carriers last, only after implementation and verification are complete. Multi-carrier pattern selection lives in ${"`"}protocol-frontline${"`"}.
33108
33126
 
33109
33127
  ### Retry Policy
33110
- On carrier failure (timeout, connection, or runtime error): retry once with the same Carrier and request; on a second failure, report the error details to the Admiral of the Navy (대원수) — never retry further or silently substitute another Carrier. Always preserve and report partial output received before a failure.`
33128
+ On carrier failure (timeout, connection, or runtime error): retry once with the same Carrier and request; on a second failure, report the error details to the user — never retry further or silently substitute another Carrier. Always preserve and report partial output received before a failure.`
33111
33129
  };
33112
33130
 
33113
33131
  // ../../packages/fleet-admiral/src/protocols/standing-orders/index.ts
@@ -33126,7 +33144,7 @@ function getAllStandingOrders() {
33126
33144
  // ../../packages/fleet-admiral/src/prompts.ts
33127
33145
  var FLEET_ROLE_PROMPT = String.raw`
33128
33146
  # Role
33129
- You are the host agent for the Agent Harness Fleet, operating on the user's behalf. (Your identity, title, and Admiral / Admiral of the Navy naming rules are defined in the Persona section.)
33147
+ You are the host agent for the Agent Harness Fleet, operating on the user's behalf.
33130
33148
 
33131
33149
  # Action Guidelines
33132
33150
  - Treat the ${"`"}<fleet section=\"protocol-gate\">${"`"}, the active protocol skill when loaded, and the ${"`"}<fleet section=\"standing-orders\">${"`"} blocks as the binding operational doctrine for every task. The protocol gate, active protocol skill, and all Standing Orders override any default behavior in conflict.
@@ -33138,17 +33156,23 @@ You are the host agent for the Agent Harness Fleet, operating on the user's beha
33138
33156
  - Synthesize all user-visible output yourself. Carrier reports, tool outputs, and system reminders are operational inputs to interpret — not conversation turns to reply to, thank, or follow up on.
33139
33157
  - When manual control is required, tell the user the manual action in plain language.
33140
33158
  `;
33141
- var FLEET_PERSONA_PROMPT = String.raw`
33159
+ var FLEET_METAPHOR_PERSONA_PROMPT = String.raw`
33142
33160
  # Persona
33143
- This Fleet has three role tiers in descending command order, each identified by its English title with the Korean form in parentheses:
33161
+ ## Active Role Mapping
33162
+
33163
+ When this persona overlay is present, interpret neutral actor terms in every Fleet instruction through this active role mapping:
33164
+
33165
+ | Neutral actor term | Metaphor role | Required interpretation |
33166
+ |---|---|---|
33167
+ | ${"`"}user${"`"} | **Admiral of the Navy (대원수)** | The human user you serve; the supreme commander above the entire formation. |
33168
+ | ${"`"}host agent${"`"}, ${"`"}you${"`"} | **Admiral (제독)** | Yourself, the agent commanding this Fleet; this title is first-person only. |
33169
+ | ${"`"}Carrier${"`"} | **Captain (함장)** | The acting persona and commander of each registered Carrier. |
33144
33170
 
33145
- - **Admiral of the Navy (대원수)** — the user you serve; the supreme commander above the entire formation.
33146
- - **Admiral (제독)** — yourself, the host agent commanding this Fleet; this title is first-person only.
33147
- - **Captain (함장)** — the commander of each Carrier you direct within this workspace.
33171
+ While this persona overlay is present, the two admiral titles are distinct and never collapse onto one address the user only as the Admiral of the Navy (대원수), and reserve the Admiral (제독) strictly for yourself.
33148
33172
 
33149
- Naming rule (always in force, with or without the tone overlay): the two admiral titles are distinct and never collapse onto one address the user only as the Admiral of the Navy (대원수), and reserve the Admiral (제독) strictly for yourself.
33173
+ This is a semantic role mapping for interpretation and conversational wording, not a literal identifier rewrite. Preserve exact functional identifiers, including tool names, ${"`"}carrier_id${"`"} values, skill IDs, XML tags, commands, code symbols, and file paths.
33150
33174
  `;
33151
- var FLEET_TONE_PROMPT = String.raw`
33175
+ var FLEET_METAPHOR_TONE_PROMPT = String.raw`
33152
33176
  # Tone & Manner
33153
33177
  This overlay governs HOW you communicate. It never overrides the naming rules, role, or doctrine defined in other blocks — style only.
33154
33178
 
@@ -33165,25 +33189,27 @@ Tool results and user messages may include ${"`"}<system-reminder>${"`"} tags ca
33165
33189
  `;
33166
33190
  function createSystemPromptBuilder(deps) {
33167
33191
  return {
33168
- build(injectTone) {
33169
- return buildSystemPromptFromDeps(deps, injectTone);
33192
+ build(enableMetaphor) {
33193
+ return buildSystemPromptFromDeps(deps, enableMetaphor);
33170
33194
  }
33171
33195
  };
33172
33196
  }
33173
- function buildSystemPromptFromDeps(deps, injectTone) {
33197
+ function buildSystemPromptFromDeps(deps, enableMetaphor) {
33174
33198
  const parts = [];
33175
33199
  parts.push(`<fleet section="preamble">
33176
33200
  ${FLEET_PREAMBLE.trim()}
33177
33201
  </fleet>`);
33178
- parts.push(`<fleet section="persona">
33179
- ${FLEET_PERSONA_PROMPT.trim()}
33202
+ if (enableMetaphor) {
33203
+ parts.push(`<fleet section="persona">
33204
+ ${FLEET_METAPHOR_PERSONA_PROMPT.trim()}
33180
33205
  </fleet>`);
33206
+ }
33181
33207
  parts.push(`<fleet section="role">
33182
33208
  ${FLEET_ROLE_PROMPT.trim()}
33183
33209
  </fleet>`);
33184
- if (injectTone) {
33210
+ if (enableMetaphor) {
33185
33211
  parts.push(`<fleet section="tone">
33186
- ${FLEET_TONE_PROMPT.trim()}
33212
+ ${FLEET_METAPHOR_TONE_PROMPT.trim()}
33187
33213
  </fleet>`);
33188
33214
  }
33189
33215
  const carrierRuntime = deps.carrierRuntime;
@@ -33537,67 +33563,12 @@ function buildResumeArgs4(resumeSessionId) {
33537
33563
 
33538
33564
  // ../../packages/fleet-admiral/src/agent-cli/assets.generated.ts
33539
33565
  var EMBEDDED_AGENT_CLI_SKILL_ASSETS = [
33540
- { relativePath: "assumption-audit/SKILL.md", content: "---\nname: assumption-audit\ndescription: Resolve decision-shaped blocking gaps one at a time \u2014 Context Confidence gate failures during an active protocol, or pre-engagement requirements ambiguity routed by the Command Integrity Standing Order.\n---\n\nUse this auxiliary skill only when a decision-shaped blocking gap has been found: either the active protocol or Context Confidence re-entry path surfaced it, or the Command Integrity Standing Order routed a pre-engagement requirements ambiguity here before a protocol mode loads. This skill is not a protocol mode, does not replace the active protocol, and cannot declare the planning boundary passed by itself.\n\nFor each unresolved blocking gap, triage the gap before questioning:\n\n- **Scout-shaped**: the answer should come from direct file reads, focused reconnaissance, carrier scouting, or another verifiable evidence source. Send the workflow back to that evidence-gathering path instead of asking the user to decide.\n- **Decision-shaped**: the answer depends on preference, scope, risk appetite, product intent, or authority that evidence alone cannot settle. Ask exactly one question for this gap.\n- **Escalation-shaped**: the answer requires authority beyond the current operator, changes the mission boundary, repeatedly fails to resolve, or would weaken the active protocol's required gate. Escalate to the Admiral of the Navy (\uB300\uC6D0\uC218).\n\nWhen a gap is decision-shaped, ask one question at a time. Present your recommended answer first, then give one or two concrete alternatives when useful. Walk decision dependencies one branch at a time until the current gap is resolved; do not bundle unrelated gaps into the same question.\n\nAfter the gap is answered, report the resolved decision in one short line and return control to the caller: the active protocol or Context Confidence Standing Order on re-entry, or the Protocol Gate when invoked pre-engagement. An active workflow must re-evaluate confidence and re-apply the required planning boundary gate before planning proceeds.\n" },
33541
- { relativePath: "carrier-contracts/SKILL.md", content: `---
33542
- name: carrier-contracts
33543
- description: Per-carrier request-block contracts for composing carrier_dispatch requests. Load before the first dispatch of the session; skip reloading if already in context.
33544
- ---
33545
-
33546
- # Carrier Request-Block Contracts
33547
-
33548
- This skill owns only the request composition contract. Carrier selection and routing stay in \`<fleet section="roster">\`; dispatch mechanics (label, brevity, polling, result lookup) stay in the live \`carrier_dispatch\` tool description. Missing required blocks cause hard-error rejection that echoes the violated carrier's contract.
33549
-
33550
- All carriers accept an optional \`<prior_jobs>\` block: Prior finalized carrier job IDs for context lookup. Fetch with carrier_jobs(action:"result", format:"full", job_id:...); use format:"summary" if archive content has expired.
33551
-
33552
- ## Contracts by carrier
33553
- - **nimitz** (Nimitz \xB7 Captain \xB7 Strategic Command & Judgment) \u2014 wrap request content in these blocks (? = optional):
33554
- - <context> required: Background situation, current state, and relevant history.
33555
- - <problem> required: The specific question, decision point, or challenge to analyze.
33556
- - <constraints?> optional: Hard constraints, deadlines, compatibility requirements.
33557
- - <artifacts?> optional: Relevant code snippets, file paths, error logs to examine.
33558
- - **kirov** (Kirov \xB7 Captain \xB7 Operational Planning Bridge) \u2014 wrap request content in these blocks (? = optional):
33559
- - <goal> required: What the user wants to build, fix, or achieve \u2014 specific feature, PRD, behavior, and any stated constraints.
33560
- - <plan_file?> optional: If provided, exact repo-relative .fleet/plans/{name}.md path Kirov must create or update. Do not choose a different filename.
33561
- - <context?> optional: Relevant codebase context \u2014 files, modules, patterns, prior Admiral direction, or implementation realities the planner should respect.
33562
- - <constraints?> optional: Business rules, tech stack requirements, scope boundaries, fixed decisions, or explicit exclusions the plan must respect.
33563
- - <intent_type?> optional: If known: Refactoring | Build from Scratch | Mid-sized | Collaborative | Architecture Follow-through | Research-to-Plan.
33564
- - **genesis** (Genesis \xB7 Captain \xB7 Chief Engineer) \u2014 wrap request content in these blocks (? = optional):
33565
- - <objective> required: What needs to be built or achieved. Be specific about the desired end state.
33566
- - <scope> required: Which modules, directories, or subsystems are in play.
33567
- - <constraints?> optional: Hard technical constraints, compatibility requirements, or non-negotiables.
33568
- - <references?> optional: Prior Nimitz recommendations, Kirov plans, existing patterns to follow, or design decisions already made.
33569
- - **ohio** (Ohio \xB7 Captain \xB7 Multi-Wave Strike Execution) \u2014 wrap request content in these blocks (? = optional):
33570
- - <plan_file> required: Required repo-relative path to a Markdown plan file under .fleet/plans/*.md only. Ohio reads this file and follows it as the authoritative execution plan.
33571
- - <objective?> optional: Optional brief restatement of the overarching goal for context anchoring.
33572
- - <scope?> optional: Optional explicit scope boundaries if narrower than the plan_file's full coverage.
33573
- - <constraints?> optional: Optional hard constraints, deadlines, or compatibility requirements that override or supplement the plan.
33574
- - **sentinel** (Sentinel \xB7 Captain \xB7 The Inquisitor / QA & Security Lead) \u2014 wrap request content in these blocks (? = optional):
33575
- - <target> required: Which files, modules, PRs, endpoints, or recent changes to inspect.
33576
- - <concern?> optional: Specific suspicion, symptom, or area of worry to focus on.
33577
- - <context?> optional: Background on what the code does and expected behavior.
33578
- - <attack_surface?> optional: Known entry points, user-controlled inputs, or external interfaces (security mode).
33579
- - <threat_model?> optional: Assumed attacker capability \u2014 unauth user, compromised dep, insider (security mode).
33580
- - <fix_mode?> optional: 'report' (default) for findings only, or 'fix' to apply corrections.
33581
- - **vanguard** (Vanguard \xB7 Captain \xB7 Scout Specialist) \u2014 wrap request content in these blocks (? = optional):
33582
- - <objective> required: What intelligence is needed \u2014 question to answer or target to locate.
33583
- - <search_space?> optional: Directories, files, URLs, or domains to focus the search on.
33584
- - <hints?> optional: Known symbols, keywords, file patterns, or prior findings to narrow the scan.
33585
- - <depth?> optional: 'quick' for surface scan, 'thorough' for exhaustive. Default: 'medium'.
33586
- - **tempest** (Tempest \xB7 Captain \xB7 External Intelligence Strike) \u2014 wrap request content in these blocks (? = optional):
33587
- - <target_repo> required: Repository to investigate (owner/repo format or full URL).
33588
- - <objective> required: What intelligence is needed \u2014 feature, pattern, API usage, or implementation detail.
33589
- - <focus_areas?> optional: Specific directories, files, symbols, or code patterns to prioritize.
33590
- - <constraints?> optional: Time constraints, specific branches/tags, or areas to exclude.
33591
- - **chronicle** (Chronicle \xB7 Captain \xB7 Chief Knowledge Officer) \u2014 wrap request content in these blocks (? = optional):
33592
- - <target> required: [Codebase Doc] which code, module, PR, feature, or release artifact to document. [Fleet Wiki] which feature area or wiki entry slug.
33593
- - <doc_type> required: [Codebase Doc] README, API spec, PR summary, release notes, changelog, AGENTS.md, '.md-audit', change-impact summary, breaking-change report, migration guide. [Fleet Wiki] 'wiki-create' (new entry) or 'wiki-update' (existing entry revision).
33594
- - <audience> required: developers, end-users, API consumers, operators, or contributors.
33595
- - <scope?> optional: [Codebase Doc] include/exclude; for changelogs/change-impact/audits: commit range, PR, diff, feature slice, deployment scope. [Fleet Wiki] feature_area, target wiki id (for update), tags.
33596
- ` },
33597
- { relativePath: "protocol-baseline/SKILL.md", content: "---\nname: protocol-baseline\ndescription: Use the compact Fleet protocol mode for simple, reversible, single-surface work.\n---\n\n# Fleet Protocol: Baseline\n\nUse this mode only for simple, reversible, single-surface operational work.\n\nAt any point during the work, if a Downward Guard trigger appears, stop and re-classify.\n\n## Checkpoints\n\nNone. Selecting baseline implies Mission Anchor Compact Mode.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the Admiral of the Navy in order.\n\n1. Brief in one line how the Workflow will proceed. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to the Objective anchor. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Single surface** \u2014 the exact file, command, or fact is identified. \u2192 report `surface: <x>`\n- [ ] **Reversibility** \u2014 the change is trivially reversible. \u2192 report `reversible: yes`\n\n## Workflow\n\n1. Objective statement: state the Mission Anchor objective in one line.\n2. Exact fact/file verification: verify the exact file, command, or fact needed for the request.\n3. Execution: make the smallest reversible change or run the exact requested command.\n4. Result verification: check the touched surface or command result.\n5. One-line report: report what changed, verification, and any skipped escalation trigger.\n" },
33598
- { relativePath: "protocol-frontline/SKILL.md", content: "---\nname: protocol-frontline\ndescription: Use the coordinated Fleet protocol mode for multi-carrier or parallel ownership work.\n---\n\n# Fleet Protocol: Frontline\n\nUse this mode when operational work requires multiple Carriers, independent parallel workstreams, cross-carrier review loops, or file ownership coordination. If the work is high risk but single-owner, use `protocol-redline` instead.\n\n## Checkpoints\n\nDecomposition, Dispatch, Integration, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the Admiral of the Navy in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) each carrier's file or responsibility ownership, and (c) the dispatch wave sequencing. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to reconnaissance and decomposition. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Impact radius** \u2014 flag public-surface or API impact, irreversibility, and any security-sensitive surface. \u2192 report `impact: <\u2026>`\n- [ ] **Rollback** \u2014 identify a rollback-safe checkpoint and any Admiral of the Navy approval point before execution begins. \u2192 report `rollback: <\u2026>`\n- [ ] **Carrier availability** \u2014 confirm the intended carriers are actually exposed and available this session. \u2192 report `carriers: <\u2026>`\n- [ ] **Ownership** \u2014 pre-sketch each carrier's file or responsibility boundary. \u2192 report `ownership: <\u2026>`\n- [ ] **Shared resources** \u2014 flag shared mutable resources (same files, lock files, or a singleton test environment). \u2192 report `shared: <\u2026|none>`\n- [ ] **Dependencies** \u2014 pre-classify parallel versus sequential work before decomposition and dispatch. \u2192 report `dependencies: <parallel|sequenced: \u2026>`\n\n## Workflow\n\n1. Reconnaissance and decomposition: audit known facts, identify gaps, map affected surfaces, and split work into independently verifiable missions.\n2. Ownership graph: assign each Carrier a clear file or responsibility boundary, note dependencies, and identify shared mutable resources.\n3. Structured planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires complete`. Resolve all blocking and confirmatory gaps before dispatch planning.\n4. Parallel dispatch: use Carrier Operations Policy to launch independent Carrier work in parallel; sequence only for explicit dependencies or shared resources.\n5. Integration: re-read files before editing or accepting Carrier output, reconcile overlaps, and preserve unrelated user or Carrier changes.\n6. Cross-carrier review loop: route implementation outputs to review Carriers, send actionable findings back to owners, and re-review changed surfaces.\n7. Verification: run integrated tests and apply Deep Dive to speculative or conflicting Carrier claims.\n8. Documentation and completion report: update directly affected docs and report executed waves, Carrier ownership, QA, unresolved risks, and final Result Integrity checks.\n\n## Cross-Carrier Feedback Patterns\n\nWhen composing waves and review loops, select the structured feedback pattern that fits the task:\n\n| Pattern | Flow | When |\n|---------|------|------|\n| **Build \u2192 Review** | implementation carrier \u2192 review carrier \u2192 findings back to implementation carrier \u2192 re-review | Standard implementation cycle |\n| **Analyze \u2192 Execute** | implementation or refactoring carrier \u2192 review carrier verifies | Refactoring workflow |\n| **Decide \u2192 Plan \u2192 Execute** | judgment carrier \u2192 planning carrier \u2192 execution carrier | Complex features |\n| **Research \u2192 Act** | reconnaissance carrier \u2192 appropriate follow-up carrier from the active roster | Unknown scope tasks |\n" },
33599
- { relativePath: "protocol-midline/SKILL.md", content: "---\nname: protocol-midline\ndescription: Use the normal Fleet protocol mode for bounded operational work without downward-guard triggers.\n---\n\n# Fleet Protocol: Midline\n\nUse this mode for ordinary bounded operational work.\n\nAt any point during the work, if a Downward Guard trigger appears, stop and re-classify.\n\n## Checkpoints\n\nReconnaissance, Plan, Execution, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the Admiral of the Navy in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) the target surfaces, and (c) the verification command. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to focused reconnaissance. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Target surfaces** \u2014 provisionally name the minimal modules or files reconnaissance will touch; confirm or revise in the brief after reconnaissance. \u2192 report `surfaces: <\u2026>`\n- [ ] **Verification** \u2014 provisionally pre-load the test, build, or check command that will prove the work done; confirm or revise in the brief after reconnaissance. \u2192 report `verify: <cmd>`\n- [ ] **Carrier** \u2014 declare whether a carrier sortie is needed. \u2192 report `carrier: <none|\u2026>`\n\n## Workflow\n\n1. Focused reconnaissance: audit known facts, identify blocking and confirmatory gaps, and inspect the minimal relevant surfaces.\n2. Planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires sufficient`. Resolve all blocking gaps before planning.\n3. Inline plan: state objective, targets, execution steps, and done criteria.\n4. Execution: implement the plan in narrow batches, using Carrier Operations Policy when delegation is appropriate.\n5. Verification and review: run targeted checks, apply Deep Dive to speculative results, and fix actionable issues.\n6. Documentation and final report: update directly affected docs only when behavior or operator guidance changed, then summarize changes and QA.\n" },
33600
- { relativePath: "protocol-redline/SKILL.md", content: "---\nname: protocol-redline\ndescription: Use the risk-controlled Fleet protocol mode for irreversible, structural, multi-module, or prompt-policy work.\n---\n\n# Fleet Protocol: Redline\n\nUse this mode when any Downward Guard trigger defined in the Protocol Gate is in scope, for security-sensitive work, or for any operational request needing explicit risk controls. Escalate to `protocol-frontline` when multiple Carriers or parallel ownership boundaries are required.\n\n## Checkpoints\n\nReconnaissance, Risk review, Plan, Execution, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the Admiral of the Navy in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) file ownership and the rollback-safe checkpoint, and (c) the risk controls in force. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to full reconnaissance. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Doctrine** \u2014 enumerate the applicable AGENTS.md files to load for the affected scope. \u2192 report `doctrine: <\u2026>`\n- [ ] **Impact radius** \u2014 flag public-surface or API impact, irreversibility, and any security-sensitive surface. \u2192 report `impact: <\u2026>`\n- [ ] **Rollback** \u2014 identify a rollback-safe checkpoint and any Admiral of the Navy approval point before execution begins. \u2192 report `rollback: <\u2026>`\n- [ ] **Escalation** \u2014 if multiple carriers or parallel ownership boundaries are required, re-classify under frontline. \u2192 report `escalation: clear`\n\n## Workflow\n\n1. Full reconnaissance: audit known facts, enumerate blocking and confirmatory gaps, read applicable AGENTS.md files, map affected code, tests, docs, and boundaries.\n2. Architecture and risk review: identify public-surface impact, dependency constraints, rollback risk, security risk, and Admiral of the Navy approval requirements.\n3. Structured planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires complete`. Do not plan with unresolved blocking or confirmatory gaps.\n4. Risk-controlled plan: define file ownership, small execution batches, verification commands, rollback-safe checkpoints, and any approval point.\n5. Small-batch execution: edit narrowly, re-read before modifying shared files, and pause on unexpected diffs or scope expansion.\n6. Refactor gate: refactor only touched code when duplication, complexity, or convention drift appears, only with Admiral of the Navy approval or when pre-declared in the brief.\n7. Correctness and security review (may run as a single combined review dispatch): review changed behavior and risk controls; apply Deep Dive to speculative findings and repeat after fixes.\n8. Documentation and completion report: update directly affected operator docs and report changes, QA, risk controls, and residual uncertainty.\n" }
33566
+ { relativePath: "assumption-audit/SKILL.md", content: "---\nname: assumption-audit\ndescription: Resolve decision-shaped blocking gaps one at a time \u2014 Context Confidence gate failures during an active protocol, or pre-engagement requirements ambiguity routed by the Command Integrity Standing Order.\n---\n\nUse this auxiliary skill only when a decision-shaped blocking gap has been found: either the active protocol or Context Confidence re-entry path surfaced it, or the Command Integrity Standing Order routed a pre-engagement requirements ambiguity here before a protocol mode loads. This skill is not a protocol mode, does not replace the active protocol, and cannot declare the planning boundary passed by itself.\n\nFor each unresolved blocking gap, triage the gap before questioning:\n\n- **Scout-shaped**: the answer should come from direct file reads, focused reconnaissance, carrier scouting, or another verifiable evidence source. Send the workflow back to that evidence-gathering path instead of asking the user to decide.\n- **Decision-shaped**: the answer depends on preference, scope, risk appetite, product intent, or authority that evidence alone cannot settle. Ask exactly one question for this gap.\n- **Escalation-shaped**: the answer requires authority beyond the current operator, changes the mission boundary, repeatedly fails to resolve, or would weaken the active protocol's required gate. Escalate to the user.\n\nWhen a gap is decision-shaped, ask one question at a time. Present your recommended answer first, then give one or two concrete alternatives when useful. Walk decision dependencies one branch at a time until the current gap is resolved; do not bundle unrelated gaps into the same question.\n\nAfter the gap is answered, report the resolved decision in one short line and return control to the caller: the active protocol or Context Confidence Standing Order on re-entry, or the Protocol Gate when invoked pre-engagement. An active workflow must re-evaluate confidence and re-apply the required planning boundary gate before planning proceeds.\n" },
33567
+ { relativePath: "carrier-contracts/SKILL.md", content: "---\nname: carrier-contracts\ndescription: Per-carrier request-block contracts for composing carrier_dispatch requests. Load before the first dispatch of the session; skip reloading if already in context.\n---\n\n# Carrier Request-Block Contracts\n\nThis skill owns only the request composition contract. Carrier selection and routing stay in `<fleet section=\"roster\">`; dispatch mechanics (label, brevity, polling, result lookup) stay in the live `carrier_dispatch` tool description. Missing required blocks cause hard-error rejection that echoes the violated carrier's contract.\n\nAll carriers accept an optional `<prior_jobs>` block: Prior finalized carrier job IDs for context lookup. Fetch with carrier_jobs(action:\"result\", format:\"full\", job_id:...); use format:\"summary\" if archive content has expired.\n\n## Contracts by carrier\n- **nimitz** (Nimitz \xB7 Strategic Command & Judgment) \u2014 wrap request content in these blocks (? = optional):\n - <context> required: Background situation, current state, and relevant history.\n - <problem> required: The specific question, decision point, or challenge to analyze.\n - <constraints?> optional: Hard constraints, deadlines, compatibility requirements.\n - <artifacts?> optional: Relevant code snippets, file paths, error logs to examine.\n- **kirov** (Kirov \xB7 Operational Planning) \u2014 wrap request content in these blocks (? = optional):\n - <goal> required: What the user wants to build, fix, or achieve \u2014 specific feature, PRD, behavior, and any stated constraints.\n - <plan_file?> optional: If provided, exact repo-relative .fleet/plans/{name}.md path Kirov must create or update. Do not choose a different filename.\n - <context?> optional: Relevant codebase context \u2014 files, modules, patterns, prior host-agent direction, or implementation realities the planner should respect.\n - <constraints?> optional: Business rules, tech stack requirements, scope boundaries, fixed decisions, or explicit exclusions the plan must respect.\n - <intent_type?> optional: If known: Refactoring | Build from Scratch | Mid-sized | Collaborative | Architecture Follow-through | Research-to-Plan.\n- **genesis** (Genesis \xB7 Chief Engineer) \u2014 wrap request content in these blocks (? = optional):\n - <objective> required: What needs to be built or achieved. Be specific about the desired end state.\n - <scope> required: Which modules, directories, or subsystems are in play.\n - <constraints?> optional: Hard technical constraints, compatibility requirements, or non-negotiables.\n - <references?> optional: Prior Nimitz recommendations, Kirov plans, existing patterns to follow, or design decisions already made.\n- **ohio** (Ohio \xB7 Multi-Wave Execution) \u2014 wrap request content in these blocks (? = optional):\n - <plan_file> required: Required repo-relative path to a Markdown plan file under .fleet/plans/*.md only. Ohio reads this file and follows it as the authoritative execution plan.\n - <execution_scope?> optional: Optional: for legacy plans without Execution Topology or plans marked Execution mode: Sequential, omitted or `all` executes the full plan sequentially. For Execution mode: Parallel, provide one exact Wave/Lane ID declared by the Dispatch Manifest; omitted or `all` is rejected. Never combine a full-plan invocation with scoped-lane Ohio invocation(s).\n - <objective?> optional: Optional brief restatement of the overarching goal for context anchoring.\n - <scope?> optional: Optional explicit scope boundaries if narrower than the plan_file's full coverage.\n - <constraints?> optional: Optional hard constraints, deadlines, or compatibility requirements that override or supplement the plan.\n- **sentinel** (Sentinel \xB7 QA & Security Lead) \u2014 wrap request content in these blocks (? = optional):\n - <target> required: Which files, modules, PRs, endpoints, or recent changes to inspect.\n - <concern?> optional: Specific suspicion, symptom, or area of worry to focus on.\n - <context?> optional: Background on what the code does and expected behavior.\n - <attack_surface?> optional: Known entry points, user-controlled inputs, or external interfaces (security mode).\n - <threat_model?> optional: Assumed attacker capability \u2014 unauth user, compromised dep, insider (security mode).\n - <fix_mode?> optional: 'report' (default) for findings only, or 'fix' to apply corrections.\n- **vanguard** (Vanguard \xB7 Reconnaissance Specialist) \u2014 wrap request content in these blocks (? = optional):\n - <objective> required: What intelligence is needed \u2014 question to answer or target to locate.\n - <search_space?> optional: Directories, files, URLs, or domains to focus the search on.\n - <hints?> optional: Known symbols, keywords, file patterns, or prior findings to narrow the scan.\n - <depth?> optional: 'quick' for surface scan, 'thorough' for exhaustive. Default: 'medium'.\n- **tempest** (Tempest \xB7 External Intelligence) \u2014 wrap request content in these blocks (? = optional):\n - <target_repo> required: Repository to investigate (owner/repo format or full URL).\n - <objective> required: What intelligence is needed \u2014 feature, pattern, API usage, or implementation detail.\n - <focus_areas?> optional: Specific directories, files, symbols, or code patterns to prioritize.\n - <constraints?> optional: Time constraints, specific branches/tags, or areas to exclude.\n- **chronicle** (Chronicle \xB7 Chief Knowledge Officer) \u2014 wrap request content in these blocks (? = optional):\n - <target> required: [Codebase Doc] which code, module, PR, feature, or release artifact to document. [Fleet Wiki] which feature area or wiki entry slug.\n - <doc_type> required: [Codebase Doc] README, API spec, PR summary, release notes, changelog, AGENTS.md, '.md-audit', change-impact summary, breaking-change report, migration guide. [Fleet Wiki] 'wiki-create' (new entry) or 'wiki-update' (existing entry revision).\n - <audience> required: developers, end-users, API consumers, operators, or contributors.\n - <scope?> optional: [Codebase Doc] include/exclude; for changelogs/change-impact/audits: commit range, PR, diff, feature slice, deployment scope. [Fleet Wiki] feature_area, target wiki id (for update), tags.\n" },
33568
+ { relativePath: "protocol-baseline/SKILL.md", content: "---\nname: protocol-baseline\ndescription: Use the compact Fleet protocol mode for simple, reversible, single-surface work.\n---\n\n# Fleet Protocol: Baseline\n\nUse this mode only for simple, reversible, single-surface operational work.\n\nAt any point during the work, if a Downward Guard trigger appears, stop and re-classify.\n\n## Checkpoints\n\nNone. Selecting baseline implies Mission Anchor Compact Mode.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the user in order.\n\n1. Brief in one line how the Workflow will proceed. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to the Objective anchor. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Single surface** \u2014 the exact file, command, or fact is identified. \u2192 report `surface: <x>`\n- [ ] **Reversibility** \u2014 the change is trivially reversible. \u2192 report `reversible: yes`\n\n## Workflow\n\n1. Objective statement: state the Mission Anchor objective in one line.\n2. Exact fact/file verification: verify the exact file, command, or fact needed for the request.\n3. Execution: make the smallest reversible change or run the exact requested command.\n4. Result verification: check the touched surface or command result.\n5. One-line report: report what changed, verification, and any skipped escalation trigger.\n" },
33569
+ { relativePath: "protocol-frontline/SKILL.md", content: "---\nname: protocol-frontline\ndescription: Use the coordinated Fleet protocol mode for multi-carrier or parallel ownership work.\n---\n\n# Fleet Protocol: Frontline\n\nUse this mode when operational work requires multiple Carriers, independent parallel workstreams, cross-carrier review loops, or file ownership coordination. If the work is high risk but single-owner, use `protocol-redline` instead.\n\n## Checkpoints\n\nDecomposition, Dispatch, Integration, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the user in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) each carrier's file or responsibility ownership, and (c) the dispatch wave sequencing. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to reconnaissance and decomposition. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Impact radius** \u2014 flag public-surface or API impact, irreversibility, and any security-sensitive surface. \u2192 report `impact: <\u2026>`\n- [ ] **Rollback** \u2014 identify a rollback-safe checkpoint and any user approval point before execution begins. \u2192 report `rollback: <\u2026>`\n- [ ] **Carrier availability** \u2014 confirm the intended carriers are actually exposed and available this session. \u2192 report `carriers: <\u2026>`\n- [ ] **Ownership** \u2014 pre-sketch each carrier's file or responsibility boundary. \u2192 report `ownership: <\u2026>`\n- [ ] **Shared resources** \u2014 flag shared mutable resources (same files, lock files, or a singleton test environment). \u2192 report `shared: <\u2026|none>`\n- [ ] **Dependencies** \u2014 pre-classify parallel versus sequential work before decomposition and dispatch. \u2192 report `dependencies: <parallel|sequenced: \u2026>`\n\n## Workflow\n\n1. Reconnaissance and decomposition: audit known facts, identify gaps, map affected surfaces, and split work into independently verifiable missions.\n2. Ownership graph: assign each Carrier a clear file or responsibility boundary, note dependencies, and identify shared mutable resources.\n3. Structured planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires complete`. Resolve all blocking and confirmatory gaps before dispatch planning.\n4. Parallel dispatch: use Carrier Operations Policy to launch independent Carrier work in parallel; sequence only for explicit dependencies or shared resources.\n5. Integration: re-read files before editing or accepting Carrier output, reconcile overlaps, and preserve unrelated user or Carrier changes.\n6. Cross-carrier review loop: route implementation outputs to review Carriers, send actionable findings back to owners, and re-review changed surfaces.\n7. Verification: run integrated tests and apply Deep Dive to speculative or conflicting Carrier claims.\n8. Documentation and completion report: update directly affected docs and report executed waves, Carrier ownership, QA, unresolved risks, and final Result Integrity checks.\n\n## Cross-Carrier Feedback Patterns\n\nWhen composing waves and review loops, select the structured feedback pattern that fits the task:\n\n| Pattern | Flow | When |\n|---------|------|------|\n| **Build \u2192 Review** | implementation carrier \u2192 review carrier \u2192 findings back to implementation carrier \u2192 re-review | Standard implementation cycle |\n| **Analyze \u2192 Execute** | implementation or refactoring carrier \u2192 review carrier verifies | Refactoring workflow |\n| **Decide \u2192 Plan \u2192 Execute** | judgment carrier \u2192 planning carrier \u2192 execution carrier | Complex features |\n| **Research \u2192 Act** | reconnaissance carrier \u2192 appropriate follow-up carrier from the active roster | Unknown scope tasks |\n" },
33570
+ { relativePath: "protocol-midline/SKILL.md", content: "---\nname: protocol-midline\ndescription: Use the normal Fleet protocol mode for bounded operational work without downward-guard triggers.\n---\n\n# Fleet Protocol: Midline\n\nUse this mode for ordinary bounded operational work.\n\nAt any point during the work, if a Downward Guard trigger appears, stop and re-classify.\n\n## Checkpoints\n\nReconnaissance, Plan, Execution, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the user in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) the target surfaces, and (c) the verification command. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to focused reconnaissance. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Target surfaces** \u2014 provisionally name the minimal modules or files reconnaissance will touch; confirm or revise in the brief after reconnaissance. \u2192 report `surfaces: <\u2026>`\n- [ ] **Verification** \u2014 provisionally pre-load the test, build, or check command that will prove the work done; confirm or revise in the brief after reconnaissance. \u2192 report `verify: <cmd>`\n- [ ] **Carrier** \u2014 declare whether a carrier dispatch is needed. \u2192 report `carrier: <none|\u2026>`\n\n## Workflow\n\n1. Focused reconnaissance: audit known facts, identify blocking and confirmatory gaps, and inspect the minimal relevant surfaces.\n2. Planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires sufficient`. Resolve all blocking gaps before planning.\n3. Inline plan: state objective, targets, execution steps, and done criteria.\n4. Execution: implement the plan in narrow batches, using Carrier Operations Policy when delegation is appropriate.\n5. Verification and review: run targeted checks, apply Deep Dive to speculative results, and fix actionable issues.\n6. Documentation and final report: update directly affected docs only when behavior or operator guidance changed, then summarize changes and QA.\n" },
33571
+ { relativePath: "protocol-redline/SKILL.md", content: "---\nname: protocol-redline\ndescription: Use the risk-controlled Fleet protocol mode for irreversible, structural, multi-module, or prompt-policy work.\n---\n\n# Fleet Protocol: Redline\n\nUse this mode when any Downward Guard trigger defined in the Protocol Gate is in scope, for security-sensitive work, or for any operational request needing explicit risk controls. Escalate to `protocol-frontline` when multiple Carriers or parallel ownership boundaries are required.\n\n## Checkpoints\n\nReconnaissance, Risk review, Plan, Execution, Verification.\n\n## Reporting Cadence\n\nAs you move through this protocol, report progress to the user in order \u2014 each step on its own line with its report token.\n\n1. Brief how the Workflow will proceed \u2014 name (a) the Workflow steps that will run, (b) file ownership and the rollback-safe checkpoint, and (c) the risk controls in force. \u2192 report `brief: <\u2026>`\n2. State that execution is beginning and run the Workflow. \u2192 report `status: executing`\n\n## General Quarters\n\nConfirm each readiness check below before the Workflow. Work through them in order and report each as you confirm it, then proceed to full reconnaissance. These checks prepare the work; they do not gate entry.\n\n- [ ] **Common** \u2014 objective stated (Mission Anchor), mode-fit holds (Mode Gate), Standing Orders binding. \u2192 report `common: ready`\n- [ ] **Doctrine** \u2014 enumerate the applicable AGENTS.md files to load for the affected scope. \u2192 report `doctrine: <\u2026>`\n- [ ] **Impact radius** \u2014 flag public-surface or API impact, irreversibility, and any security-sensitive surface. \u2192 report `impact: <\u2026>`\n- [ ] **Rollback** \u2014 identify a rollback-safe checkpoint and any user approval point before execution begins. \u2192 report `rollback: <\u2026>`\n- [ ] **Escalation** \u2014 if multiple carriers or parallel ownership boundaries are required, re-classify under frontline. \u2192 report `escalation: clear`\n\n## Workflow\n\n1. Full reconnaissance: audit known facts, enumerate blocking and confirmatory gaps, read applicable AGENTS.md files, map affected code, tests, docs, and boundaries.\n2. Architecture and risk review: identify public-surface impact, dependency constraints, rollback risk, security risk, and user approval requirements.\n3. Structured planning boundary: `Apply the Context Confidence Standing Order \u2014 entry requires complete`. Do not plan with unresolved blocking or confirmatory gaps.\n4. Risk-controlled plan: define file ownership, small execution batches, verification commands, rollback-safe checkpoints, and any approval point.\n5. Small-batch execution: edit narrowly, re-read before modifying shared files, and pause on unexpected diffs or scope expansion.\n6. Refactor gate: refactor only touched code when duplication, complexity, or convention drift appears, only with user approval or when pre-declared in the brief.\n7. Correctness and security review (may run as a single combined review dispatch): review changed behavior and risk controls; apply Deep Dive to speculative findings and repeat after fixes.\n8. Documentation and completion report: update directly affected operator docs and report changes, QA, risk controls, and residual uncertainty.\n" }
33601
33572
  ];
33602
33573
  var DIR_MODE = 448;
33603
33574
  var FILE_MODE = 384;
@@ -34635,12 +34606,12 @@ async function injectAgentCliProfile(profile, options) {
34635
34606
  if (!capability.enabled) {
34636
34607
  return profile;
34637
34608
  }
34638
- const injectTone = options.enableMetaphor ?? false;
34609
+ const enableMetaphor = options.enableMetaphor ?? false;
34639
34610
  const endpoint = await options.dedicatedMcpSession.getEndpoint();
34640
34611
  const tokenLabel = options.mcpSessionLabel ?? `agent:${profile.id}:${crypto4.randomUUID()}`;
34641
34612
  const tokens = await options.dedicatedMcpSession.issueSessionToken({ cwd: profile.cwd, label: tokenLabel });
34642
34613
  const mcpServers = buildAgentCliMcpServerConfigs(endpoint.servers, tokens);
34643
- const doctrine = options.buildSystemPrompt(injectTone);
34614
+ const doctrine = options.buildSystemPrompt(enableMetaphor);
34644
34615
  const tempCleanups = [];
34645
34616
  try {
34646
34617
  const systemPromptFile = profile.id === "claude" ? writeSystemPromptFile(profile.id, doctrine, (cleanup2) => tempCleanups.push(cleanup2)) : void 0;
@@ -34986,6 +34957,18 @@ function createFleetAgentRuntimeLifecycle(deps) {
34986
34957
  }
34987
34958
  };
34988
34959
  }
34960
+ function createAuthEnvResolver(globalOptionsService) {
34961
+ return async (cli) => {
34962
+ if (cli !== "codex" || !globalOptionsService) return {};
34963
+ try {
34964
+ const mode = globalOptionsService.load().codexLaunchMode;
34965
+ if (!mode) return {};
34966
+ return { CODEX_USE_ACP: mode === "app-server" ? "false" : "true" };
34967
+ } catch {
34968
+ return {};
34969
+ }
34970
+ };
34971
+ }
34989
34972
  function createFleetAgentRuntimeMcpServices() {
34990
34973
  const mcpRegistry = createMcpToolRegistry();
34991
34974
  const mcpToolSnapshotStore = createMcpToolSnapshotStore();
@@ -35015,7 +34998,7 @@ function registerExecutorPort(mcpRegistry, carrierRuntime, isActive) {
35015
34998
  }
35016
34999
  function registerFleetAgentRuntimeTools(mcpRegistry, carrierRuntime, deps) {
35017
35000
  registerAgentToolDefaults(mcpRegistry, carrierRuntime, {
35018
- authEnvResolver: async () => ({}),
35001
+ authEnvResolver: createAuthEnvResolver(deps.globalOptionsService),
35019
35002
  reservedExternalMcpServerIds: buildReservedExternalMcpServerIds(deps.reservedExternalMcpServerIds),
35020
35003
  workspaceChangeScanner: deps.workspaceChangeScanner
35021
35004
  });
@@ -41143,9 +41126,58 @@ function createPluginTerminalTicketRegistry(deps = {}) {
41143
41126
  }
41144
41127
  return { ttlMs, issue: issue3, consume, prune };
41145
41128
  }
41129
+ var FLEET_CONSOLE_PACKAGE_NAME = "@dotobokuri/fleet-console";
41130
+ function resolveConsolePackageRequire(currentFile, fallback) {
41131
+ return findConsolePackageRequire(currentFile) ?? fallback;
41132
+ }
41133
+ function findConsolePackageRequire(currentFile) {
41134
+ const explicitRoot = process.env.FLEET_CONSOLE_PACKAGE_ROOT;
41135
+ if (explicitRoot) {
41136
+ const explicitPackageJson = path28__default.join(explicitRoot, "package.json");
41137
+ if (isFleetConsolePackage(explicitPackageJson)) return createRequire(explicitPackageJson);
41138
+ }
41139
+ let dir = path28__default.dirname(currentFile);
41140
+ while (true) {
41141
+ const packageJson = path28__default.join(dir, "package.json");
41142
+ if (isFleetConsolePackage(packageJson)) return createRequire(packageJson);
41143
+ const nestedConsolePackage = path28__default.join(dir, "runtime", "fleet-console", "package.json");
41144
+ if (isFleetConsolePackage(nestedConsolePackage)) return createRequire(nestedConsolePackage);
41145
+ const siblingConsolePackage = path28__default.join(dir, "..", "..", "fleet-console", "package.json");
41146
+ if (isFleetConsolePackage(siblingConsolePackage)) return createRequire(siblingConsolePackage);
41147
+ const parent = path28__default.dirname(dir);
41148
+ if (parent === dir) return null;
41149
+ dir = parent;
41150
+ }
41151
+ }
41152
+ function isFleetConsolePackage(packageJson) {
41153
+ if (!existsSync(packageJson)) return false;
41154
+ try {
41155
+ const manifest = JSON.parse(readFileSync(packageJson, "utf8"));
41156
+ return manifest.name === FLEET_CONSOLE_PACKAGE_NAME;
41157
+ } catch {
41158
+ return false;
41159
+ }
41160
+ }
41161
+
41162
+ // ../fleet-plugins/terminal/server/shared/launch-env.ts
41163
+ var CONSOLE_INTERNAL_ENV_KEYS = [
41164
+ "FLEET_CONSOLE_OWNER_ID",
41165
+ "FLEET_CONSOLE_OWNER_KIND",
41166
+ "FLEET_CONSOLE_PROTOCOL_VERSION",
41167
+ "FLEET_CONSOLE_RESOURCE_ROOT",
41168
+ "FLEET_CONSOLE_DESKTOP_DEVELOPMENT",
41169
+ "FLEET_CONSOLE_DESKTOP_VERSION",
41170
+ "FLEET_CONSOLE_PACKAGE_ROOT"
41171
+ ];
41172
+ function stripConsoleInternalEnv(env) {
41173
+ const next = { ...env };
41174
+ for (const key of CONSOLE_INTERNAL_ENV_KEYS) delete next[key];
41175
+ return next;
41176
+ }
41177
+
41178
+ // ../fleet-plugins/terminal/server/shared/pty.ts
41146
41179
  var DEFAULT_TERMINAL_CWD_FALLBACK = os3__default.homedir;
41147
41180
  var TERMINAL_TERM = "xterm-256color";
41148
- var FLEET_CONSOLE_PACKAGE_NAME = "@dotobokuri/fleet-console";
41149
41181
  var require2 = createRequire(import.meta.url);
41150
41182
  function createShellTerminalLaunchResolver(deps = {}) {
41151
41183
  const baseCwd = deps.cwd ?? process5.cwd();
@@ -41181,31 +41213,7 @@ function loadNodePty() {
41181
41213
  return loadNodePtyRequire(fileURLToPath(import.meta.url))("node-pty");
41182
41214
  }
41183
41215
  function loadNodePtyRequire(currentFile) {
41184
- const consolePackageRequire = findConsolePackageRequire(currentFile);
41185
- return consolePackageRequire ?? require2;
41186
- }
41187
- function findConsolePackageRequire(currentFile) {
41188
- let dir = path28__default.dirname(currentFile);
41189
- while (true) {
41190
- const packageJson = path28__default.join(dir, "package.json");
41191
- if (isFleetConsolePackage(packageJson)) return createRequire(packageJson);
41192
- const nestedConsolePackage = path28__default.join(dir, "runtime", "fleet-console", "package.json");
41193
- if (isFleetConsolePackage(nestedConsolePackage)) return createRequire(nestedConsolePackage);
41194
- const siblingConsolePackage = path28__default.join(dir, "..", "..", "fleet-console", "package.json");
41195
- if (isFleetConsolePackage(siblingConsolePackage)) return createRequire(siblingConsolePackage);
41196
- const parent = path28__default.dirname(dir);
41197
- if (parent === dir) return null;
41198
- dir = parent;
41199
- }
41200
- }
41201
- function isFleetConsolePackage(packageJson) {
41202
- if (!existsSync(packageJson)) return false;
41203
- try {
41204
- const manifest = JSON.parse(readFileSync(packageJson, "utf8"));
41205
- return manifest.name === FLEET_CONSOLE_PACKAGE_NAME;
41206
- } catch {
41207
- return false;
41208
- }
41216
+ return resolveConsolePackageRequire(currentFile, require2);
41209
41217
  }
41210
41218
  function resolveUserShell(env, platform) {
41211
41219
  if (env.SHELL) return env.SHELL;
@@ -41224,7 +41232,7 @@ function resolveWindowsLaunchBinary(bin, args, env, platform, label) {
41224
41232
  }
41225
41233
  function buildShellLaunchEnv(env) {
41226
41234
  return {
41227
- ...env,
41235
+ ...stripConsoleInternalEnv(env),
41228
41236
  TERM: TERMINAL_TERM
41229
41237
  };
41230
41238
  }
@@ -41565,7 +41573,7 @@ function isResizeFrame(value) {
41565
41573
  const rows = frame.rows;
41566
41574
  return frame.type === "resize" && typeof cols === "number" && typeof rows === "number" && Number.isInteger(cols) && Number.isInteger(rows) && cols > 0 && rows > 0;
41567
41575
  }
41568
- var require3 = createRequire(import.meta.url);
41576
+ var require3 = resolveConsolePackageRequire(fileURLToPath(import.meta.url), createRequire(import.meta.url));
41569
41577
  function createPluginTerminalUpgradeHandler(deps) {
41570
41578
  let wsServer = null;
41571
41579
  const handleUpgrade = ({ req, socket, head }) => {
@@ -42298,7 +42306,7 @@ function parseTerminalCommand(command) {
42298
42306
  }
42299
42307
  function buildLaunchEnv(env, cwd, sessionId) {
42300
42308
  return {
42301
- ...env,
42309
+ ...stripConsoleInternalEnv(env),
42302
42310
  ...sessionId ? { FLEET_CONSOLE_SESSION_ID: sessionId, INIT_CWD: cwd, PWD: cwd } : {},
42303
42311
  TERM: TERMINAL_TERM2
42304
42312
  };
@@ -42529,13 +42537,15 @@ function createConsoleObservabilityStore(deps = {}) {
42529
42537
  const session = terminalSessionsById.get(sessionId);
42530
42538
  if (!session) return null;
42531
42539
  const effectiveSource = session.labelSource ?? (session.label ? "user" : void 0);
42532
- if (effectiveSource === "user") {
42540
+ if (effectiveSource === "user" || session.autoNamePromptSeen) {
42533
42541
  return { session: toTerminalSessionInfo(session), renamed: false };
42534
42542
  }
42535
42543
  const next = label?.trim().slice(0, 200) ?? "";
42536
- if (next.length === 0 || next === session.label) {
42544
+ if (next.length === 0) {
42537
42545
  return { session: toTerminalSessionInfo(session), renamed: false };
42538
42546
  }
42547
+ session.autoNamePromptSeen = true;
42548
+ if (next === session.label) return { session: toTerminalSessionInfo(session), renamed: false };
42539
42549
  session.label = next;
42540
42550
  session.labelSource = "auto";
42541
42551
  return { session: toTerminalSessionInfo(session), renamed: true };
@@ -42916,6 +42926,7 @@ function buildAgentLaunchKindBackfillPatch(operation) {
42916
42926
  }
42917
42927
  function createAgentApi(ctx, terminalRuntime, deps) {
42918
42928
  const runtime = createFleetAgentRuntimeLifecycle({
42929
+ globalOptionsService: deps.globalOptionsService,
42919
42930
  onMcpServerStartError: (error51) => {
42920
42931
  console.error("[fleet-console] Failed to start MCP server", error51);
42921
42932
  },
@@ -43500,7 +43511,7 @@ function registerTerminalSettingsRoutes(ctx, deps) {
43500
43511
  }
43501
43512
  const updated = deps.globalOptionsService.update((current) => ({
43502
43513
  ...current,
43503
- enableMetaphor: body.enableMetaphor
43514
+ ...body
43504
43515
  }));
43505
43516
  ctx.host.http.writeJson(res, 200, toTerminalSettingsState(updated));
43506
43517
  return true;
@@ -43511,14 +43522,17 @@ function registerTerminalSettingsRoutes(ctx, deps) {
43511
43522
  }
43512
43523
  function toTerminalSettingsState(data) {
43513
43524
  return {
43514
- enableMetaphor: data.enableMetaphor ?? false
43525
+ enableMetaphor: data.enableMetaphor ?? false,
43526
+ codexLaunchMode: data.codexLaunchMode ?? "acp"
43515
43527
  };
43516
43528
  }
43517
43529
  function isTerminalSettingsBody(value) {
43518
43530
  if (!value || typeof value !== "object" || Array.isArray(value)) return false;
43519
- if (Object.keys(value).length !== 1) return false;
43531
+ const keys = Object.keys(value);
43532
+ if (keys.length !== 1) return false;
43520
43533
  const body = value;
43521
- return typeof body.enableMetaphor === "boolean";
43534
+ if (keys[0] === "enableMetaphor") return typeof body.enableMetaphor === "boolean";
43535
+ return keys[0] === "codexLaunchMode" && (body.codexLaunchMode === "acp" || body.codexLaunchMode === "app-server");
43522
43536
  }
43523
43537
  function isJsonRequest(req) {
43524
43538
  const contentType = req.headers["content-type"];